failed to emerge eieio
李玉北 <[email protected]> Sat, 8 Aug 2009 15:16:18 +0800
| Newsgroups | gmane.emacs.eieio |
|---|---|
| Message-ID | <[email protected]> |
--00163646d97908727104709c2140 Content-Type: multipart/alternative; boundary=00163646d97908726a04709c213e --00163646d97908726a04709c213e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit i'm using gentoo, and installed app-editors/emacs-cvs-23.0.9998 but i failed to emerge cedet(CVS version) the error message is in the attached file how can i fix this problem? thanks a lot --00163646d97908726a04709c213e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable i'm using gentoo, and installed=C2=A0app-editors/emacs-cvs-23.0.9998 <div>but i failed to emerge cedet(CVS version)</div><div><br></div><div>the= error message is in the attached file</div><div><br></div><div>how can i f= ix this problem?</div><div><br></div><div>thanks a lot</div> --00163646d97908726a04709c213e-- --00163646d97908727104709c2140 Content-Type: application/octet-stream; name=error-log Content-Disposition: attachment; filename=error-log Content-Transfer-Encoding: base64 X-Attachment-Id: f_fy40h56x0 ZmluZCAiL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldCIvY29tbW9uIC10eXBlIGYgXAoJLW5hbWUg IiotbG9hZGRlZnMuZWwiIFwKCS1wcmludCAtZXhlYyBybSAtZiB7fSBcOwovaG9tZS9sZWVpZ2h0 L2ZpbGVzL2NlZGV0L2NvbW1vbi9jZWRldC1sb2FkZGVmcy5lbApmaW5kICIvaG9tZS9sZWVpZ2h0 L2ZpbGVzL2NlZGV0Ii9laWVpbyAtdHlwZSBmIFwKCS1uYW1lICIqLWxvYWRkZWZzLmVsIiBcCgkt cHJpbnQgLWV4ZWMgcm0gLWYge30gXDsKL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9laWVpby9l aWVpby1sb2FkZGVmcy5lbApmaW5kICIvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0Ii9zcGVlZGJh ciAtdHlwZSBmIFwKCS1uYW1lICIqLWxvYWRkZWZzLmVsIiBcCgktcHJpbnQgLWV4ZWMgcm0gLWYg e30gXDsKZmluZCAiL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldCIvc2VtYW50aWMgLXR5cGUgZiBc CgktbmFtZSAiKi1sb2FkZGVmcy5lbCIgXAoJLXByaW50IC1leGVjIHJtIC1mIHt9IFw7CmZpbmQg Ii9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQiL3NyZWNvZGUgLXR5cGUgZiBcCgktbmFtZSAiKi1s b2FkZGVmcy5lbCIgXAoJLXByaW50IC1leGVjIHJtIC1mIHt9IFw7CmZpbmQgIi9ob21lL2xlZWln aHQvZmlsZXMvY2VkZXQiL2VkZSAtdHlwZSBmIFwKCS1uYW1lICIqLWxvYWRkZWZzLmVsIiBcCgkt cHJpbnQgLWV4ZWMgcm0gLWYge30gXDsKZmluZCAiL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldCIv Y29ncmUgLXR5cGUgZiBcCgktbmFtZSAiKi1sb2FkZGVmcy5lbCIgXAoJLXByaW50IC1leGVjIHJt IC1mIHt9IFw7CmZpbmQgIi9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQiL2NvbnRyaWIgLXR5cGUg ZiBcCgktbmFtZSAiKi1sb2FkZGVmcy5lbCIgXAoJLXByaW50IC1leGVjIHJtIC1mIHt9IFw7CmNk ICIvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0Ii9jb21tb24gJiYgbWFrZSAgRU1BQ1M9ImVtYWNz IiBFTUFDU0ZMQUdTPSItYmF0Y2ggLS1uby1zaXRlLWZpbGUiIFNIRUxMPSIvYmluL3NoIgptYWtl WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQvY29tbW9u Jwpmb3IgbG9hZHBhdGggaW4gLiAuLzsgZG8gXAoJICAgZWNobyAiKGFkZC10by1saXN0ICdsb2Fk LXBhdGggXCIkbG9hZHBhdGhcIikiID4+IGF1dG9sb2Fkcy1jb21waWxlLXNjcmlwdDsgXAoJZG9u ZTsKImVtYWNzIiAtYmF0Y2ggLS1uby1zaXRlLWZpbGUgLWwgYXV0b2xvYWRzLWNvbXBpbGUtc2Ny aXB0IC1mIGNlZGV0LWJhdGNoLXVwZGF0ZS1hdXRvbG9hZHMgY2VkZXQtbG9hZGRlZnMuZWwgLgpX cm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9jZWRldC1sb2FkZGVmcy5lbApH ZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgY2VkZXQtYXV0b2dlbi5lbC4uLgpHZW5lcmF0aW5nIGF1 dG9sb2FkcyBmb3IgY2VkZXQtYXV0b2dlbi5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMg Zm9yIGNlZGV0LWNvbXBhdC5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgY2VkZXQtY29t cGF0LmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgY2VkZXQtY3Njb3BlLmVsLi4u CkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBjZWRldC1jc2NvcGUuZWwuLi5kb25lCkdlbmVyYXRp bmcgYXV0b2xvYWRzIGZvciBjZWRldC1lZGVidWcuZWwuLi4KR2VuZXJhdGluZyBhdXRvbG9hZHMg Zm9yIGNlZGV0LWVkZWJ1Zy5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNlZGV0 LWZpbGVzLmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBjZWRldC1maWxlcy5lbC4uLmRv bmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNlZGV0LWdsb2JhbC5lbC4uLgpHZW5lcmF0aW5n IGF1dG9sb2FkcyBmb3IgY2VkZXQtZ2xvYmFsLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2Fk cyBmb3IgY2VkZXQtZ3JhcGh2aXouZWwuLi4KR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNlZGV0 LWdyYXBodml6LmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgY2VkZXQtaWR1dGls cy5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgY2VkZXQtaWR1dGlscy5lbC4uLmRvbmUK R2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNlZGV0LWxvYWQuZWwuLi4KR2VuZXJhdGluZyBhdXRv bG9hZHMgZm9yIGNlZGV0LWxvYWQuZWwuLi5kb25lCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBj ZWRldC11dGVzdHMuZWwuLi4KR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNlZGV0LXV0ZXN0cy5l bC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNlZGV0LmVsLi4uCkdlbmVyYXRpbmcg YXV0b2xvYWRzIGZvciBjZWRldC5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGRh dGEtZGVidWcuZWwuLi4KR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGRhdGEtZGVidWcuZWwuLi5k b25lCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlemltYWdlLmVsLi4uCkdlbmVyYXRpbmcgYXV0 b2xvYWRzIGZvciBlemltYWdlLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZmFt ZS5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZmFtZS5lbC4uLmRvbmUKR2VuZXJhdGlu ZyBhdXRvbG9hZHMgZm9yIGludmVyc2lvbi5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3Ig aW52ZXJzaW9uLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgbW9kZS1sb2NhbC5l bC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgbW9kZS1sb2NhbC5lbC4uLmRvbmUKR2VuZXJh dGluZyBhdXRvbG9hZHMgZm9yIHBwcmludC5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3Ig cHByaW50LmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgcHVsc2UuZWwuLi4KR2Vu ZXJhdGluZyBhdXRvbG9hZHMgZm9yIHB1bHNlLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2Fk cyBmb3Igc2Zvcm1hdC5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3Igc2Zvcm1hdC5lbC4u LmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIHdvcmtpbmcuZWwuLi4KR2VuZXJhdGluZyBh dXRvbG9hZHMgZm9yIHdvcmtpbmcuZWwuLi5kb25lClNhdmluZyBmaWxlIC9ob21lL2xlZWlnaHQv ZmlsZXMvY2VkZXQvY29tbW9uL2NlZGV0LWxvYWRkZWZzLmVsLi4uCkxvYWRpbmcgdmMtY3ZzLi4u ClVwZGF0aW5nIGhlYWRlci4uLgpVcGRhdGluZyBoZWFkZXIuLi5kb25lCldyb3RlIC9ob21lL2xl ZWlnaHQvZmlsZXMvY2VkZXQvY29tbW9uL2NlZGV0LWxvYWRkZWZzLmVsCihObyBjaGFuZ2VzIG5l ZWQgdG8gYmUgc2F2ZWQpCmZvciBsb2FkcGF0aCBpbiAuIC4vOyBkbyBcCgkgICBlY2hvICIoYWRk LXRvLWxpc3QgJ2xvYWQtcGF0aCBcIiRsb2FkcGF0aFwiKSIgPj4gaW5pdC1jb21waWxlLXNjcmlw dDsgXAoJZG9uZTsKImVtYWNzIiAtYmF0Y2ggLS1uby1zaXRlLWZpbGUgLWwgaW5pdC1jb21waWxl LXNjcmlwdCAtZiBiYXRjaC1ieXRlLWNvbXBpbGUgY2VkZXQtbG9hZC5lbApXcm90ZSAvaG9tZS9s ZWVpZ2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9jZWRldC1sb2FkLmVsYwpmb3IgbG9hZHBhdGggaW4g LiAuLzsgZG8gXAoJICAgZWNobyAiKGFkZC10by1saXN0ICdsb2FkLXBhdGggXCIkbG9hZHBhdGhc IikiID4+IHNldHVwLWNvbXBpbGUtc2NyaXB0OyBcCglkb25lOwoiZW1hY3MiIC1iYXRjaCAtLW5v LXNpdGUtZmlsZSAtbCBzZXR1cC1jb21waWxlLXNjcmlwdCAtZiBiYXRjaC1ieXRlLWNvbXBpbGUg Y2VkZXQuZWwKCkluIHRvcGxldmVsIGZvcm06CmNlZGV0LmVsOjc5OjQ1Oldhcm5pbmc6IHJlZmVy ZW5jZSB0byBmcmVlIHZhcmlhYmxlIGBjZWRldC12ZXJzaW9uJwoKSW4gZW5kIG9mIGRhdGE6CmNl ZGV0LmVsOjIyODoxOldhcm5pbmc6IHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIG1pZ2h0IG5vdCBi ZSBkZWZpbmVkIGF0CiAgICBydW50aW1lOiBpbnZlcnNpb24tcmVxdWlyZS1lbWFjcywgaW52ZXJz aW9uLWFkZC10by1sb2FkLXBhdGgKY2VkZXQuZWw6MjI4OjE6V2FybmluZzogdGhlIGZ1bmN0aW9u IGBpbmZvLWluaXRpYWxpemUnIGlzIG5vdCBrbm93biB0byBiZQogICAgZGVmaW5lZC4KV3JvdGUg L2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9jb21tb24vY2VkZXQuZWxjCmZvciBsb2FkcGF0aCBp biAuIC4vOyBkbyBcCgkgICBlY2hvICIoYWRkLXRvLWxpc3QgJ2xvYWQtcGF0aCBcIiRsb2FkcGF0 aFwiKSIgPj4gY29tbW9uLWNvbXBpbGUtc2NyaXB0OyBcCglkb25lOwoiZW1hY3MiIC1iYXRjaCAt LW5vLXNpdGUtZmlsZSAtbCBjb21tb24tY29tcGlsZS1zY3JpcHQgLWYgYmF0Y2gtYnl0ZS1jb21w aWxlIGNlZGV0LWF1dG9nZW4uZWwgY2VkZXQtY29tcGF0LmVsIGV6aW1hZ2UuZWwgaW52ZXJzaW9u LmVsIHBwcmludC5lbCBzZm9ybWF0LmVsIGZhbWUuZWwgd29ya2luZy5lbCBjZWRldC1lZGVidWcu ZWwgbW9kZS1sb2NhbC5lbCBjZWRldC1maWxlcy5lbCBwdWxzZS5lbCBkYXRhLWRlYnVnLmVsIGNl ZGV0LWdsb2JhbC5lbCBjZWRldC1pZHV0aWxzLmVsIGNlZGV0LWNzY29wZS5lbCBjZWRldC1ncmFw aHZpei5lbAoKSW4gdG9wbGV2ZWwgZm9ybToKY2VkZXQtYXV0b2dlbi5lbDo2Mjo5Oldhcm5pbmc6 IGBmaW5kLWZpbGUtaG9va3MnIGlzIGFuIG9ic29sZXRlIHZhcmlhYmxlIChhcwogICAgb2YgRW1h Y3MgMjIuMSk7IHVzZSBgZmluZC1maWxlLWhvb2snIGluc3RlYWQuCgpJbiBjZWRldC11cGRhdGUt YXV0b2xvYWRzOgpjZWRldC1hdXRvZ2VuLmVsOjIwNToxMTpXYXJuaW5nOiBgd3JpdGUtY29udGVu dHMtaG9va3MnIGlzIGFuIG9ic29sZXRlCiAgICB2YXJpYWJsZSAoYXMgb2YgRW1hY3MgMjIuMSk7 IHVzZSBgd3JpdGUtY29udGVudHMtZnVuY3Rpb25zJyBpbnN0ZWFkLgpXcm90ZSAvaG9tZS9sZWVp Z2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9jZWRldC1hdXRvZ2VuLmVsYwpXcm90ZSAvaG9tZS9sZWVp Z2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9jZWRldC1jb21wYXQuZWxjCgpJbiBlbmQgb2YgZGF0YToK ZXppbWFnZS5lbDozNjg6MTpXYXJuaW5nOiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgbm90 IGtub3duIHRvIGJlIGRlZmluZWQ6CiAgICBsb2NhdGUtZGF0YS1kaXJlY3RvcnksIGV6aW1hZ2Ut ZmluZC1pbWFnZS1vbi1sb2FkLXBhdGgKV3JvdGUgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9j b21tb24vZXppbWFnZS5lbGMKV3JvdGUgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9jb21tb24v aW52ZXJzaW9uLmVsYwpXcm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9wcHJp bnQuZWxjCldyb3RlIC9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQvY29tbW9uL3Nmb3JtYXQuZWxj Cldyb3RlIC9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQvY29tbW9uL2ZhbWUuZWxjCldyb3RlIC9o b21lL2xlZWlnaHQvZmlsZXMvY2VkZXQvY29tbW9uL3dvcmtpbmcuZWxjCgpJbiB0b3BsZXZlbCBm b3JtOgpjZWRldC1lZGVidWcuZWw6MTE0OjI1Oldhcm5pbmc6IHJlZmVyZW5jZSB0byBmcmVlIHZh cmlhYmxlIGBlZGVidWctbW9kZS1tYXAnCmNlZGV0LWVkZWJ1Zy5lbDoxMjQ6MjU6V2FybmluZzog cmVmZXJlbmNlIHRvIGZyZWUgdmFyaWFibGUgYGRlYnVnZ2VyLW1vZGUtbWFwJwoKSW4gZW5kIG9m IGRhdGE6CmNlZGV0LWVkZWJ1Zy5lbDoxMzA6MTpXYXJuaW5nOiB0aGUgZnVuY3Rpb24KICAgIGBj ZWRldC1lZGVidWctcHJpbjEtdG8tc3RyaW5nLWlubmVyJyBpcyBub3Qga25vd24gdG8gYmUgZGVm aW5lZC4KV3JvdGUgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9jb21tb24vY2VkZXQtZWRlYnVn LmVsYwpXcm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9tb2RlLWxvY2FsLmVs YwpXcm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9jZWRldC1maWxlcy5lbGMK CkluIGVuZCBvZiBkYXRhOgpwdWxzZS5lbDo0MTA6MTpXYXJuaW5nOiB0aGUgZm9sbG93aW5nIGZ1 bmN0aW9ucyBhcmUgbm90IGtub3duIHRvIGJlIGRlZmluZWQ6CiAgICBwdWxzZS1tYWtlLW92ZXJs YXksIHB1bHNlLW92ZXJsYXktbGl2ZS1wLCBwdWxzZS1vdmVybGF5LWRlbGV0ZSwKICAgIHB1bHNl LW92ZXJsYXktcHV0LCBwdWxzZS1vdmVybGF5LWdldApXcm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVz L2NlZGV0L2NvbW1vbi9wdWxzZS5lbGMKCkluIGVuZCBvZiBkYXRhOgpkYXRhLWRlYnVnLmVsOjEx MDM6MTpXYXJuaW5nOiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgbm90IGtub3duIHRvIGJl CiAgICBkZWZpbmVkOiByaW5nLWxlbmd0aCwgcmluZy1yZWYsIHJpbmctc2l6ZSwgc2VtYW50aWMt dGFnLXAsIGVpZWlvLW9iamVjdC1wCldyb3RlIC9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQvY29t bW9uL2RhdGEtZGVidWcuZWxjCldyb3RlIC9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQvY29tbW9u L2NlZGV0LWdsb2JhbC5lbGMKV3JvdGUgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9jb21tb24v Y2VkZXQtaWR1dGlscy5lbGMKV3JvdGUgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9jb21tb24v Y2VkZXQtY3Njb3BlLmVsYwpXcm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9j ZWRldC1ncmFwaHZpei5lbGMKZm9yIGxvYWRwYXRoIGluIC4gLi87IGRvIFwKCSAgIGVjaG8gIihh ZGQtdG8tbGlzdCAnbG9hZC1wYXRoIFwiJGxvYWRwYXRoXCIpIiA+PiB0ZXN0cy1jb21waWxlLXNj cmlwdDsgXAoJZG9uZTsKImVtYWNzIiAtYmF0Y2ggLS1uby1zaXRlLWZpbGUgLWwgdGVzdHMtY29t cGlsZS1zY3JpcHQgLWYgYmF0Y2gtYnl0ZS1jb21waWxlIGNlZGV0LXV0ZXN0cy5lbApPdXRkYXRl ZCBzcGVlZGJhciAxLjAgc2hhZG93ZWQgdG8gbWVldCBtaW5pbXVtIHZlcnNpb24gMS4wLjMKU2V0 dGluZyB1cCBDRURFVCBwYWNrYWdlcy4uLgpDYW5ub3Qgb3BlbiBsb2FkIGZpbGU6IGVpZWlvLWxv YWRkZWZzCkNhbm5vdCBvcGVuIGxvYWQgZmlsZTogc2VtYW50aWMtbG9hZGRlZnMKQ2Fubm90IG9w ZW4gbG9hZCBmaWxlOiBzcmVjb2RlLWxvYWRkZWZzCkNhbm5vdCBvcGVuIGxvYWQgZmlsZTogZWRl LWxvYWRkZWZzCkNhbm5vdCBvcGVuIGxvYWQgZmlsZTogc3BlZWRiYXItbG9hZGRlZnMKQ2Fubm90 IG9wZW4gbG9hZCBmaWxlOiBjb2dyZS1sb2FkZGVmcwpDYW5ub3Qgb3BlbiBsb2FkIGZpbGU6IGNv bnRyaWItbG9hZGRlZnMKU2V0dGluZyB1cCBDRURFVCBwYWNrYWdlcy4uLmRvbmUKCkluIGNlZGV0 LXV0ZXN0LWJhdGNoOgpjZWRldC11dGVzdHMuZWw6MTg3OjIxOldhcm5pbmc6IGFzc2lnbm1lbnQg dG8gZnJlZSB2YXJpYWJsZQogICAgYHNyZWNvZGUtbWFwLXNhdmUtZmlsZScKCkluIGVuZCBvZiBk YXRhOgpjZWRldC11dGVzdHMuZWw6MzkzOjE6V2FybmluZzogdGhlIGZvbGxvd2luZyBmdW5jdGlv bnMgYXJlIG5vdCBrbm93biB0byBiZQogICAgZGVmaW5lZDogc2VtYW50aWNkYi1taW5vci1tb2Rl LXAsIHNlbWFudGljLWxvYWQtZW5hYmxlLW1pbmltdW0tZmVhdHVyZXMKV3JvdGUgL2hvbWUvbGVl aWdodC9maWxlcy9jZWRldC9jb21tb24vY2VkZXQtdXRlc3RzLmVsYwptYWtlIC1DIGljb25zCm1h a2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9jb21t b24vaWNvbnMnCm1ha2VbMl06IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbCcuCm1ha2VbMl06 IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0L2NvbW1vbi9pY29u cycKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQv Y29tbW9uJwpjZCAiL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldCIvZWllaW8gJiYgbWFrZSAgRU1B Q1M9ImVtYWNzIiBFTUFDU0ZMQUdTPSItYmF0Y2ggLS1uby1zaXRlLWZpbGUiIFNIRUxMPSIvYmlu L3NoIgptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9ob21lL2xlZWlnaHQvZmlsZXMvY2Vk ZXQvZWllaW8nCmZvciBsb2FkcGF0aCBpbiAuIC4uL2NvbW1vbi8gIC4uL3NwZWVkYmFyLzsgZG8g XAoJICAgZWNobyAiKGFkZC10by1saXN0ICdsb2FkLXBhdGggXCIkbG9hZHBhdGhcIikiID4+IGF1 dG9sb2Fkcy1jb21waWxlLXNjcmlwdDsgXAoJZG9uZTsKImVtYWNzIiAtYmF0Y2ggLS1uby1zaXRl LWZpbGUgLWwgYXV0b2xvYWRzLWNvbXBpbGUtc2NyaXB0IC1mIGNlZGV0LWJhdGNoLXVwZGF0ZS1h dXRvbG9hZHMgZWllaW8tbG9hZGRlZnMuZWwgLgpXcm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2Nl ZGV0L2VpZWlvL2VpZWlvLWxvYWRkZWZzLmVsCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBjYWxs LXRyZWUuZWwuLi4KR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNhbGwtdHJlZS5lbC4uLmRvbmUK R2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGNoYXJ0LmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRz IGZvciBjaGFydC5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGRiaWYtYnJvd3Nl LmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBkYmlmLWJyb3dzZS5lbC4uLmRvbmUKR2Vu ZXJhdGluZyBhdXRvbG9hZHMgZm9yIGRiaWYtZWRpdC5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2Fk cyBmb3IgZGJpZi1lZGl0LmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZGJpZi5l bC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZGJpZi5lbC4uLmRvbmUKR2VuZXJhdGluZyBh dXRvbG9hZHMgZm9yIGRpYWxvZy1tb2RlLmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBk aWFsb2ctbW9kZS5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGRpYWxvZy10cmVl LmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBkaWFsb2ctdHJlZS5lbC4uLmRvbmUKR2Vu ZXJhdGluZyBhdXRvbG9hZHMgZm9yIGRsZy1jbGFzcy5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2Fk cyBmb3IgZGxnLWNsYXNzLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZGxnLWNv bmZpZy5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZGxnLWNvbmZpZy5lbC4uLmRvbmUK R2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGUtY29uZmlnLmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xv YWRzIGZvciBlLWNvbmZpZy5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGVjZmct bWVudS5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWNmZy1tZW51LmVsLi4uZG9uZQpH ZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWllaW8tYmFzZS5lbC4uLgpHZW5lcmF0aW5nIGF1dG9s b2FkcyBmb3IgZWllaW8tYmFzZS5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGVp ZWlvLWNvbXAuZWwuLi4KR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGVpZWlvLWNvbXAuZWwuLi5k b25lCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby1jdXN0b20uZWwuLi4KR2VuZXJhdGlu ZyBhdXRvbG9hZHMgZm9yIGVpZWlvLWN1c3RvbS5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9h ZHMgZm9yIGVpZWlvLWRhdGFkZWJ1Zy5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWll aW8tZGF0YWRlYnVnLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWllaW8tZG9j LmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby1kb2MuZWwuLi5kb25lCkdlbmVy YXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby1sb2FkLmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRz IGZvciBlaWVpby1sb2FkLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWllaW8t b3B0LmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby1vcHQuZWwuLi5kb25lCkdl bmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby1wZXJmdGVzdC5lbC4uLgpHZW5lcmF0aW5nIGF1 dG9sb2FkcyBmb3IgZWllaW8tcGVyZnRlc3QuZWwuLi5kb25lCkdlbmVyYXRpbmcgYXV0b2xvYWRz IGZvciBlaWVpby1zcGVlZGJhci5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWllaW8t c3BlZWRiYXIuZWwuLi5kb25lCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby10ZXN0LW1l dGhvZGludm9rZS5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWllaW8tdGVzdC1tZXRo b2RpbnZva2UuZWwuLi5kb25lCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby10ZXN0cy5l bC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWllaW8tdGVzdHMuZWwuLi5kb25lCkdlbmVy YXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby14bWwuZWwuLi4KR2VuZXJhdGluZyBhdXRvbG9hZHMg Zm9yIGVpZWlvLXhtbC5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGVpZWlvLmVs Li4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBlaWVpby5lbC4uLmRvbmUKR2VuZXJhdGluZyBh dXRvbG9hZHMgZm9yIGVpZWlvY29tcC5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgZWll aW9jb21wLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgbGluZW1hcmsuZWwuLi4K R2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIGxpbmVtYXJrLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1 dG9sb2FkcyBmb3IgbG1jb21waWxlLmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBsbWNv bXBpbGUuZWwuLi5kb25lCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciBwc3FsLmVsLi4uCkdlbmVy YXRpbmcgYXV0b2xvYWRzIGZvciBwc3FsLmVsLi4uZG9uZQpHZW5lcmF0aW5nIGF1dG9sb2FkcyBm b3IgdHJlZS5lbC4uLgpHZW5lcmF0aW5nIGF1dG9sb2FkcyBmb3IgdHJlZS5lbC4uLmRvbmUKR2Vu ZXJhdGluZyBhdXRvbG9hZHMgZm9yIHdpZGdldC1kLmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRz IGZvciB3aWRnZXQtZC5lbC4uLmRvbmUKR2VuZXJhdGluZyBhdXRvbG9hZHMgZm9yIHdpZGdldC1p LmVsLi4uCkdlbmVyYXRpbmcgYXV0b2xvYWRzIGZvciB3aWRnZXQtaS5lbC4uLmRvbmUKU2F2aW5n IGZpbGUgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRldC9laWVpby9laWVpby1sb2FkZGVmcy5lbC4u LgpMb2FkaW5nIHZjLWN2cy4uLgpVcGRhdGluZyBoZWFkZXIuLi4KVXBkYXRpbmcgaGVhZGVyLi4u ZG9uZQpXcm90ZSAvaG9tZS9sZWVpZ2h0L2ZpbGVzL2NlZGV0L2VpZWlvL2VpZWlvLWxvYWRkZWZz LmVsCihObyBjaGFuZ2VzIG5lZWQgdG8gYmUgc2F2ZWQpCmZvciBsb2FkcGF0aCBpbiAuIC4uL2Nv bW1vbi8gIC4uL3NwZWVkYmFyLzsgZG8gXAoJICAgZWNobyAiKGFkZC10by1saXN0ICdsb2FkLXBh dGggXCIkbG9hZHBhdGhcIikiID4+IGluaXQtY29tcGlsZS1zY3JpcHQ7IFwKCWRvbmU7CiJlbWFj cyIgLWJhdGNoIC0tbm8tc2l0ZS1maWxlIC1sIGluaXQtY29tcGlsZS1zY3JpcHQgLWYgYmF0Y2gt Ynl0ZS1jb21waWxlIGVpZWlvLWxvYWQuZWwKV3JvdGUgL2hvbWUvbGVlaWdodC9maWxlcy9jZWRl dC9laWVpby9laWVpby1sb2FkLmVsYwpmb3IgbG9hZHBhdGggaW4gLiAuLi9jb21tb24vICAuLi9z cGVlZGJhci87IGRvIFwKCSAgIGVjaG8gIihhZGQtdG8tbGlzdCAnbG9hZC1wYXRoIFwiJGxvYWRw YXRoXCIpIiA+PiBlaWVpby1jb21waWxlLXNjcmlwdDsgXAoJZG9uZTsKImVtYWNzIiAtYmF0Y2gg LS1uby1zaXRlLWZpbGUgLWwgZWllaW8tY29tcGlsZS1zY3JpcHQgLWYgYmF0Y2gtYnl0ZS1jb21w aWxlIGVpZWlvLmVsIGVpZWlvLWNvbXAuZWwgZWllaW8tb3B0LmVsIGVpZWlvLWN1c3RvbS5lbCBl aWVpby1kb2MuZWwgZWllaW8tYmFzZS5lbCBlaWVpby1kYXRhZGVidWcuZWwKRGVidWdnZXIgZW50 ZXJlZC0tTGlzcCBlcnJvcjogKHZvaWQtZnVuY3Rpb24gZWllaW8tZGVmY2xhc3MpCiAgKGVpZWlv LWRlZmNsYXNzIChxdW90ZSBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3MpIChxdW90ZSBuaWwpIChx dW90ZSBuaWwpIChxdW90ZSAoIkRlZmF1bHQgcGFyZW50IGNsYXNzIGZvciBjbGFzc2VzIHdpdGgg bm8gc3BlY2lmaWVkIHBhcmVudCBjbGFzcy5cbkl0cyBzbG90cyBhcmUgYXV0b21hdGljYWxseSBh ZG9wdGVkIGJ5IGNsYXNzZXMgd2l0aCBubyBzcGVjaWZpZWRcbnBhcmVudHMuICBUaGlzIGNsYXNz IGlzIG5vdCBzdG9yZWQgaW4gdGhlIGBwYXJlbnQnIHNsb3Qgb2YgYSBjbGFzcyB2ZWN0b3IuIiA6 YWJzdHJhY3QgdCkpKQogIChwcm9nbiAoZWllaW8tZGVmY2xhc3MgKHF1b3RlIGVpZWlvLWRlZmF1 bHQtc3VwZXJjbGFzcykgKHF1b3RlIG5pbCkgKHF1b3RlIG5pbCkgKHF1b3RlIC4uLikpKQogIGV2 YWwoKHByb2duIChlaWVpby1kZWZjbGFzcyAocXVvdGUgZWllaW8tZGVmYXVsdC1zdXBlcmNsYXNz KSAocXVvdGUgbmlsKSAocXVvdGUgbmlsKSAocXVvdGUgLi4uKSkpKQogIGJ5dGUtY29tcGlsZS1l dmFsLWJlZm9yZS1jb21waWxlKChwcm9nbiAoZWllaW8tZGVmY2xhc3MgKHF1b3RlIGVpZWlvLWRl ZmF1bHQtc3VwZXJjbGFzcykgKHF1b3RlIG5pbCkgKHF1b3RlIG5pbCkgKHF1b3RlIC4uLikpKSkK ICAobGFtYmRhICgmcmVzdCBib2R5KSAoYnl0ZS1jb21waWxlLWV2YWwtYmVmb3JlLWNvbXBpbGUg KG1hY3JvZXhwYW5kLWFsbCAuLi4gYnl0ZS1jb21waWxlLWluaXRpYWwtbWFjcm8tZW52aXJvbm1l bnQpKSAoY29ucyAocXVvdGUgcHJvZ24pIGJvZHkpKSgoZWllaW8tZGVmY2xhc3MgKHF1b3RlIGVp ZWlvLWRlZmF1bHQtc3VwZXJjbGFzcykgKHF1b3RlIG5pbCkgKHF1b3RlIG5pbCkgKHF1b3RlICgi RGVmYXVsdCBwYXJlbnQgY2xhc3MgZm9yIGNsYXNzZXMgd2l0aCBubyBzcGVjaWZpZWQgcGFyZW50 IGNsYXNzLlxuSXRzIHNsb3RzIGFyZSBhdXRvbWF0aWNhbGx5IGFkb3B0ZWQgYnkgY2xhc3NlcyB3 aXRoIG5vIHNwZWNpZmllZFxucGFyZW50cy4gIFRoaXMgY2xhc3MgaXMgbm90IHN0b3JlZCBpbiB0 aGUgYHBhcmVudCcgc2xvdCBvZiBhIGNsYXNzIHZlY3Rvci4iIDphYnN0cmFjdCB0KSkpKQogICM8 c3ViciBtYWNyb2V4cGFuZD4oKGRlZmNsYXNzIGVpZWlvLWRlZmF1bHQtc3VwZXJjbGFzcyBuaWwg bmlsICJEZWZhdWx0IHBhcmVudCBjbGFzcyBmb3IgY2xhc3NlcyB3aXRoIG5vIHNwZWNpZmllZCBw YXJlbnQgY2xhc3MuXG5JdHMgc2xvdHMgYXJlIGF1dG9tYXRpY2FsbHkgYWRvcHRlZCBieSBjbGFz c2VzIHdpdGggbm8gc3BlY2lmaWVkXG5wYXJlbnRzLiAgVGhpcyBjbGFzcyBpcyBub3Qgc3RvcmVk IGluIHRoZSBgcGFyZW50JyBzbG90IG9mIGEgY2xhc3MgdmVjdG9yLiIgOmFic3RyYWN0IHQpICgo c2FtZS1jbGFzcy1mYXN0LXAgbGFtYmRhIChvYmogY2xhc3MpICJSZXR1cm4gdCBpZiBPQkogaXMg b2YgY2xhc3MtdHlwZSBDTEFTUyB3aXRoIG5vIGVycm9yIGNoZWNraW5nLiIgKFxgIC4uLikpIChj bGFzcy1wYXJlbnQgbGFtYmRhIChjbGFzcykgIlJldHVybiBmaXJzdCBwYXJlbnQgY2xhc3MgdG8g Q0xBU1MuICAob3ZlcmxvYWQgb2YgdmFyaWFibGUpLiIgKFxgIC4uLikpIChjbGFzcy1wYXJlbnQt ZmFzdCBsYW1iZGEgKGNsYXNzKSAiUmV0dXJuIGZpcnN0IHBhcmVudCBjbGFzcyB0byBDTEFTUyB3 aXRoIG5vIGNoZWNrLiIgKFxgIC4uLikpIChjbGFzcy1jaGlsZHJlbi1mYXN0IGxhbWJkYSAoY2xh c3MpICJSZXR1cm4gY2hpbGQgY2xhc3NlcyB0byBDTEFTUyB3aXRoIG5vIGNoZWNrLiIgKFxgIC4u LikpIChjbGFzcy1wYXJlbnRzLWZhc3QgbGFtYmRhIChjbGFzcykgIlJldHVybiBwYXJlbnQgY2xh c3NlcyB0byBDTEFTUyB3aXRoIG5vIGNoZWNrLiIgKFxgIC4uLikpIChvYmplY3QtY2xhc3MtZmFz dCBsYW1iZGEgKG9iaikgIlJldHVybiB0aGUgY2xhc3Mgc3RydWN0IGRlZmluaW5nIE9CSiB3aXRo IG5vIGNoZWNrLiIgKFxgIC4uLikpICh3aXRoLXNsb3RzIGxhbWJkYSAoc3BlYy1saXN0IG9iamVj dCAmcmVzdCBib2R5KSAiQmluZCBTUEVDLUxJU1QgbGV4aWNhbGx5IHRvIHNsb3QgdmFsdWVzIGlu IE9CSkVDVCwgYW5kIGV4ZWN1dGUgQk9EWS5cblRoaXMgZXN0YWJsaXNoZXMgYSBsZXhpY2FsIGVu dmlyb25tZW50IGZvciByZWZlcnJpbmcgdG8gdGhlIHNsb3RzIGluXG50aGUgaW5zdGFuY2UgbmFt ZWQgYnkgdGhlIGdpdmVuIHNsb3QtbmFtZXMgYXMgdGhvdWdoIHRoZXkgd2VyZVxudmFyaWFibGVz LiAgV2l0aGluIHN1Y2ggYSBjb250ZXh0IHRoZSB2YWx1ZSBvZiB0aGUgc2xvdCBjYW4gYmVcbnNw ZWNpZmllZCBieSB1c2luZyBpdHMgc2xvdCBuYW1lLCBhcyBpZiBpdCB3ZXJlIGEgbGV4aWNhbGx5 IGJvdW5kXG52YXJpYWJsZS4gIEJvdGggc2V0ZiBhbmQgc2V0cSBjYW4gYmUgdXNlZCB0byBzZXQg dGhlIHZhbHVlIG9mIHRoZVxuc2xvdC5cblxuU1BFQy1MSVNUIGlzIG9mIGEgZm9ybSBzaW1pbGFy IHRvIGBsZXQnLiAgRm9yIGV4YW1wbGU6XG5cbiAgKChWQVIxIFNMT1QxKVxuICAgIFNMT1QyXG4g ICAgU0xPVE5cbiAgIChWQVJOKzEgU0xPVE4rMSkpXG5cbldoZXJlIGVhY2ggVkFSIGlzIHRoZSBs b2NhbCB2YXJpYWJsZSBnaXZlbiB0byB0aGUgYXNzb2NpYXRlZFxuU0xPVC4gIEEgU2xvdCBzcGVj aWZpZWQgd2l0aG91dCBhIHZhcmlhYmxlIG5hbWUgaXMgZ2l2ZW4gYVxudmFyaWFibGUgbmFtZSBv ZiB0aGUgc2FtZSBuYW1lIGFzIHRoZSBzbG90LiIgKGxldCAuLi4gLi4uKSkgKG9zZXQtZGVmYXVs dCBsYW1iZGEgKGNsYXNzIHNsb3QgdmFsdWUpICJTZXQgdGhlIGRlZmF1bHQgc2xvdCBpbiBDTEFT UyBmb3IgU0xPVCB0byBWQUxVRS5cblRoZSBkZWZhdWx0IHZhbHVlIGlzIHVzdWFsbHkgc2V0IHdp dGggdGhlIDppbml0Zm9ybSB0YWcgZHVyaW5nIGNsYXNzXG5jcmVhdGlvbi4gIFRoaXMgYWxsb3dz IHVzZXJzIHRvIGNoYW5nZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBjbGFzc2VzXG5hZnRlciB0 aGV5IGFyZSBjcmVhdGVkLiIgKFxgIC4uLikpIChvc2V0IGxhbWJkYSAob2JqIHNsb3QgdmFsdWUp ICJTZXQgdGhlIHZhbHVlIGluIE9CSiBmb3Igc2xvdCBTTE9UIHRvIFZBTFVFLlxuU0xPVCBpcyB0 aGUgc2xvdCBuYW1lIGFzIHNwZWNpZmllZCBpbiBgZGVmY2xhc3MnIG9yIHRoZSB0YWcgY3JlYXRl ZFxud2l0aCBpbiB0aGUgOmluaXRhcmcgc2xvdC4gIFZBTFVFIGNhbiBiZSBhbnkgTGlzcCBvYmpl Y3QuIiAoXGAgLi4uKSkgKG9yZWYtZGVmYXVsdCBsYW1iZGEgKG9iaiBzbG90KSAiR2V0cyB0aGUg ZGVmYXVsdCB2YWx1ZSBvZiBPQkogKG1heWJlIGEgY2xhc3MpIGZvciBTTE9ULlxuVGhlIGRlZmF1 bHQgdmFsdWUgaXMgdGhlIHZhbHVlIGluc3RhbGxlZCBpbiBhIGNsYXNzIHdpdGggdGhlIDppbml0 Zm9ybVxudGFnLiAgU0xPVCBjYW4gYmUgdGhlIHNsb3QgbmFtZSwgb3IgdGhlIHRhZyBzcGVjaWZp ZWQgYnkgdGhlIDppbml0YXJnXG50YWcgaW4gdGhlIGBkZWZjbGFzcycgY2FsbC4iIChcYCAuLi4p KSAobGFtYmRhLWRlZmF1bHQgbGFtYmRhICgmcmVzdCBjZHIpICJUaGUgc2FtZSBhcyBgbGFtYmRh JyBidXQgaXMgdXNlZCBhcyBhIGRlZmF1bHQgdmFsdWUgaW4gYGRlZmNsYXNzJy5cbkFzIHN1Y2gs IHRoZSBmb3JtIChsYW1iZGEtZGVmYXVsdCBBUkdTIERPQ1NUUklORyBJTlRFUkFDVElWRSBCT0RZ KSBpc1xuc2VsZiBxdW90aW5nLiAgVGhpcyBtYWNybyBpcyBtZWFudCBmb3IgdGhlIHNvbGUgcHVy cG9zZSBvZiBxdW90aW5nXG5sYW1iZGEgZXhwcmVzc2lvbnMgaW50byBjbGFzcyBkZWZhdWx0cy4g IEFueSBgbGFtYmRhLWRlZmF1bHQnXG5leHByZXNzaW9uIGlzIGF1dG9tYXRpY2FsbHkgdHJhbnNm b3JtZWQgaW50byBhIGBsYW1iZGEnIGV4cHJlc3Npb25cbndoZW4gY29waWVkIGZyb20gdGhlIGRl ZmF1bHRzIGludG8gYSBuZXcgb2JqZWN0LiAgVGhlIHVzZSBvZlxuYG9yZWYtZGVmYXVsdCcsIGhv d2V2ZXIsIHdpbGwgcmV0dXJuIGEgYGxhbWJkYS1kZWZhdWx0JyBleHByZXNzaW9uLlxuQ0RSIGlz IGZ1bmN0aW9uIGRlZmluaXRpb24gYW5kIGJvZHkuIiAobWVzc2FnZSAiV2FybmluZzogVXNlIG9m IGBsYWJkYS1kZWZhdWx0JyB3aWxsIGJlIG9ic29sZXRlZCBpbiB0aGUgbmV4dCB2ZXJzaW9uIG9m IEVJRUlPLiIpIChsaXN0IC4uLiAuLi4pKSAob3JlZiBsYW1iZGEgKG9iaiBzbG90KSAiUmV0cmll dmUgdGhlIHZhbHVlIHN0b3JlZCBpbiBPQkogaW4gdGhlIHNsb3QgbmFtZWQgYnkgU0xPVC5cblNs b3QgaXMgdGhlIG5hbWUgb2YgdGhlIHNsb3Qgd2hlbiBjcmVhdGVkIGJ5IGBkZWZjbGFzcycgb3Ig dGhlIGxhYmVsXG5jcmVhdGVkIGJ5IHRoZSA6aW5pdGFyZyB0YWcuIiAoXGAgLi4uKSkgKGRlZm1l dGhvZCBsYW1iZGEgKG1ldGhvZCAmcmVzdCBhcmdzKSAiQ3JlYXRlIGEgbmV3IE1FVEhPRCB0aHJv dWdoIGBkZWZnZW5lcmljJyB3aXRoIEFSR1MuXG5cblRoZSBzZWNvbmQgb3B0aW9uYWwgYXJndW1l bnQgS0VZIGlzIGEgc3BlY2lmaWVyIHRoYXRcbm1vZGlmaWVzIGhvdyB0aGUgbWV0aG9kIGlzIGNh bGxlZCwgaW5jbHVkaW5nOlxuICAgOmJlZm9yZSAtIE1ldGhvZCB3aWxsIGJlIGNhbGxlZCBiZWZv cmUgdGhlIDpwcmltYXJ5XG4gICA6cHJpbWFyeSAtIFRoZSBkZWZhdWx0IGlmIG5vdCBzcGVjaWZp ZWQuXG4gICA6YWZ0ZXIgLSBNZXRob2Qgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIDpwcmltYXJ5 XG4gICA6c3RhdGljIC0gRmlyc3QgYXJnIGNvdWxkIGJlIGFuIG9iamVjdCBvciBjbGFzc1xuVGhl IG5leHQgYXJndW1lbnQgaXMgdGhlIEFSR0xJU1QuICBUaGUgQVJHTElTVCBzcGVjaWZpZXMgdGhl IGFyZ3VtZW50c1xudG8gdGhlIG1ldGhvZCBhcyB3aXRoIGBkZWZ1bicuICBUaGUgZmlyc3QgYXJn dW1lbnQgY2FuIGhhdmUgYSB0eXBlXG5zcGVjaWZpZXIsIHN1Y2ggYXM6XG4gICgoVkFSTkFNRSBD TEFTUykgQVJHMiAuLi4pXG53aGVyZSBWQVJOQU1FIGlzIHRoZSBuYW1lIG9mIHRoZSBsb2NhbCB2 YXJpYWJsZSBmb3IgdGhlIG1ldGhvZCBiZWluZ1xuY3JlYXRlZC4gIFRoZSBDTEFTUyBpcyBhIGNs YXNzIHN5bWJvbCBmb3IgYSBjbGFzcyBtYWRlIHdpdGggYGRlZmNsYXNzJy5cbkEgRE9DU1RSSU5H IGNvbWVzIGFmdGVyIHRoZSBBUkdMSVNULCBhbmQgaXMgb3B0aW9uYWwuXG5BbGwgdGhlIHJlc3Qg b2YgdGhlIGFyZ3MgYXJlIHRoZSBCT0RZIG9mIHRoZSBtZXRob2QuICBBIG1ldGhvZCB3aWxsXG5y ZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBsYXN0IGZvcm0gaW4gdGhlIEJPRFkuXG5cblN1bW1hcnk6 XG5cbiAoZGVmbWV0aG9kIG15bWV0aG9kIFs6YmVmb3JlIHwgOnByaW1hcnkgfCA6YWZ0ZXIgfCA6 c3RhdGljXVxuICAgICAgICAgICAgICAgICAgICAgKCh0eXBlYXJnIGNsYXNzLW5hbWUpIGFyZzIg Jm9wdGlvbmFsIG9wdCAmcmVzdCByZXN0KVxuICAgIFwiZG9jLXN0cmluZ1wiXG4gICAgIGJvZHkp IiAoXGAgLi4uKSkgKGRlZmdlbmVyaWMgbGFtYmRhIChtZXRob2QgYXJncyAmb3B0aW9uYWwgZG9j LXN0cmluZykgIkNyZWF0ZSBhIGdlbmVyaWMgZnVuY3Rpb24gTUVUSE9ELiAgQVJHUyBpcyBpZ25v cmVkLlxuRE9DLVNUUklORyBpcyB0aGUgYmFzZSBkb2N1bWVudGF0aW9uIGZvciB0aGlzIGNsYXNz LiAgQSBnZW5lcmljXG5mdW5jdGlvbiBoYXMgbm8gYm9keSwgYXMgaXQncyBwdXJwb3NlIGlzIHRv IGRlY2lkZSB3aGljaCBtZXRob2QgYm9keVxuaXMgYXBwcm9wcmlhdGUgdG8gdXNlLiAgVXNlIGBk ZWZtZXRob2QnIHRvIGNyZWF0ZSBtZXRob2RzLCBhbmQgaXRcbmNhbGxzIGRlZmdlbmVyaWMgZm9y IHlvdS4gIFdpdGggdGhpcyBpbXBsZW1lbnRhdGlvbiB0aGUgYXJndW1lbnRzIGFyZVxuY3VycmVu dGx5IGlnbm9yZWQuICBZb3UgY2FuIHVzZSBgZGVmZ2VuZXJpYycgdG8gYXBwbHkgc3BlY2lhbGl6 ZWRcbnRvcCBsZXZlbCBkb2N1bWVudGF0aW9uIHRvIGEgbWV0aG9kLiIgKFxgIC4uLikpIChkZWZj bGFzcyBsYW1iZGEgKG5hbWUgc3VwZXJjbGFzcyBzbG90cyAmcmVzdCBvcHRpb25zLWFuZC1kb2Mp ICJEZWZpbmUgTkFNRSBhcyBhIG5ldyBjbGFzcyBkZXJpdmVkIGZyb20gU1VQRVJDTEFTUyB3aXRo IFNMT1RTLlxuT1BUSU9OUy1BTkQtRE9DIGlzIHVzZWQgYXMgdGhlIGNsYXNzJyBvcHRpb25zIGFu ZCBiYXNlIGRvY3VtZW50YXRpb24uXG5TVVBFUkNMQVNTIGlzIGEgbGlzdCBvZiBzdXBlcmNsYXNz ZXMgdG8gaW5oZXJpdCBmcm9tLCB3aXRoIFNMT1RTXG5iZWluZyB0aGUgc2xvdHMgcmVzaWRpbmcg aW4gdGhhdCBjbGFzcyBkZWZpbml0aW9uLiAgTk9URTogQ3VycmVudGx5XG5vbmx5IG9uZSBzbG90 IG1heSBleGlzdCBpbiBTVVBFUkNMQVNTIGFzIG11bHRpcGxlIGluaGVyaXRhbmNlIGlzIG5vdFxu eWV0IHN1cHBvcnRlZC4gIFN1cHBvcnRlZCB0YWdzIGFyZTpcblxuICA6aW5pdGZvcm0gICAtIGlu aXRpYWxpemluZyBmb3JtXG4gIDppbml0YXJnICAgIC0gdGFnIHVzZWQgZHVyaW5nIGluaXRpYWxp emF0aW9uXG4gIDphY2Nlc3NvciAgIC0gdGFnIHVzZWQgdG8gY3JlYXRlIGEgZnVuY3Rpb24gdG8g YWNjZXNzIHRoaXMgc2xvdFxuICA6YWxsb2NhdGlvbiAtIHNwZWNpZnkgd2hlcmUgdGhlIHZhbHVl IGlzIHN0b3JlZC5cbiAgICAgICAgICAgICAgICBkZWZhdWx0cyB0byBgOmluc3RhbmNlJywgYnV0 IGNvdWxkIGFsc28gYmUgYDpjbGFzcydcbiAgOndyaXRlciAgICAgLSBhIGZ1bmN0aW9uIHN5bWJv bCB3aGljaCB3aWxsIGB3cml0ZScgYW4gb2JqZWN0J3Mgc2xvdFxuICA6cmVhZGVyICAgICAtIGEg ZnVuY3Rpb24gc3ltYm9sIHdoaWNoIHdpbGwgYHJlYWQnIGFuIG9iamVjdFxuICA6dHlwZSAgICAg ICAtIHRoZSB0eXBlIG9mIGRhdGEgYWxsb3dlZCBpbiB0aGlzIHNsb3QgKHNlZSBgdHlwZXAnKVxu ICA6ZG9jdW1lbnRhdGlvblxuICAgICAgICAgICAgICAtIEEgc3RyaW5nIGRvY3VtZW50aW5nIHVz ZSBvZiB0aGlzIHNsb3QuXG5cblRoZSBmb2xsb3dpbmcgYXJlIGV4dGVuc2lvbnMgb24gQ0xPUzpc biAgOnByb3RlY3Rpb24gLSBTcGVjaWZ5IHByb3RlY3Rpb24gZm9yIHRoaXMgc2xvdC5cbiAgICAg ICAgICAgICAgICBEZWZhdWx0cyB0byBgOnB1YmxpYycuICBBbHNvIHVzZSBgOnByb3RlY3RlZCcs IG9yIGA6cHJpdmF0ZSdcbiAgOmN1c3RvbSAgICAgLSBXaGVuIGN1c3RvbWl6aW5nIGFuIG9iamVj dCwgdGhlIGN1c3RvbSA6dHlwZS4gIFB1YmxpYyBvbmx5LlxuICA6bGFiZWwgICAgICAtIEEgdGV4 dCBzdHJpbmcgbGFiZWwgdXNlZCBmb3IgYSBzbG90IHdoZW4gY3VzdG9taXppbmcuXG4gIDpncm91 cCAgICAgIC0gTmFtZSBvZiBhIGN1c3RvbWl6YXRpb24gZ3JvdXAgdGhpcyBzbG90IGJlbG9uZ3Mg aW4uXG4gIDpwcmludGVyICAgIC0gQSBmdW5jdGlvbiB0byBjYWxsIHRvIHByaW50IHRoZSB2YWx1 ZSBvZiBhIHNsb3QuXG4gICAgICAgICAgICAgICAgU2VlIGBlaWVpby1vdmVycmlkZS1wcmluMScg YXMgYW4gZXhhbXBsZS5cblxuQSBjbGFzcyBjYW4gYWxzbyBoYXZlIG9wdGlvbmFsIG9wdGlvbnMu ICBUaGVzZSBvcHRpb25zIGhhcHBlbiBpbiBwbGFjZVxub2YgZG9jdW1lbnRhdGlvbiwgKGluY2x1 ZGluZyBhIDpkb2N1bWVudGF0aW9uIHRhZykgaW4gYWRkaXRpb24gdG9cbmRvY3VtZW50YXRpb24s IG9yIG5vdCBhdCBhbGwuICBTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6XG5cbiAgOmRvY3VtZW50YXRp b24gLSBUaGUgZG9jLXN0cmluZyB1c2VkIGZvciB0aGlzIGNsYXNzLlxuXG5PcHRpb25zIGFkZGVk IHRvIEVJRUlPOlxuXG4gIDphbGxvdy1uaWwtaW5pdGZvcm0gLSBOb24tbmlsIHRvIHNraXAgdHlw ZWNoZWNraW5nIG9mIGluaXRmb3JtcyBpZiBuaWwuXG4gIDpjdXN0b20tZ3JvdXBzICAgICAgLSBM aXN0IG9mIGN1c3RvbSBncm91cCBuYW1lcy4gIE9yZ2FuaXplcyBzbG90cyBpbnRvXG4gICAgICAg ICAgICAgICAgICAgICAgICByZWFzb25hYmxlIGdyb3VwcyBmb3IgY3VzdG9taXphdGlvbnMuXG4g IDphYnN0cmFjdCAgICAgICAgICAgLSBOb24tbmlsIHRvIHByZXZlbnQgaW5zdGFuY2VzIG9mIHRo aXMgY2xhc3MuXG4gICAgICAgICAgICAgICAgICAgICAgICBJZiBhIHN0cmluZywgdXNlIGFzIGFu IGVycm9yIHN0cmluZyBpZiBzb21lb25lIGRvZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIHRy eSB0byBtYWtlIGFuIGluc3RhbmNlLlxuICA6bWV0aG9kLWludm9jYXRpb24tb3JkZXJcbiAgICAg ICAgICAgICAgICAgICAgICAtIENvbnRyb2wgdGhlIG1ldGhvZCBpbnZva2F0aW9uIG9yZGVyIGlm IHRoZXJlIGlzXG4gICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSBpbmhlcml0YW5jZS4g IFZhbGlkIHZhbHVlcyBhcmU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgOmJyZWFkdGgtZmly c3QgLSBUaGUgZGVmYXVsdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICA6ZGVwdGgtZmlyc3Rc blxuT3B0aW9ucyBpbiBDTE9TIG5vdCBzdXBwb3J0ZWQgaW4gRUlFSU86XG5cbiAgOm1ldGFjbGFz cyAtIENsYXNzIHRvIHVzZSBpbiBwbGFjZSBvZiBgc3RhbmRhcmQtY2xhc3MnXG4gIDpkZWZhdWx0 LWluaXRhcmdzIC0gSW5pdGFyZ3MgdG8gdXNlIHdoZW4gaW5pdGlhbGl6aW5nIG5ldyBvYmplY3Rz IG9mXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcyBjbGFzcy5cblxuRHVlIHRvIHRoZSB3YXkg Y2xhc3Mgb3B0aW9ucyBhcmUgc2V0IHVwLCB5b3UgY2FuIGFkZCBhbnkgdGFncyBpbiB5b3Vcbndp c2gsIGFuZCByZWZlcmVuY2UgdGhlbSB1c2luZyB0aGUgZnVuY3Rpb24gYGNsYXNzLW9wdGlvbicu IiAoXGAgLi4uKSkgKGNsYXNzLW1ldGhvZC1pbnZvY2F0aW9uLW9yZGVyIGxhbWJkYSAoY2xhc3Mp ICJSZXR1cm4gdGhlIGludm9jYXRpb24gb3JkZXIgb2YgQ0xBU1MuXG5BYnN0cmFjdCBjbGFzc2Vz IGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQuIiAoXGAgLi4uKSkgKGNsYXNzLWFic3RyYWN0LXAgbGFt YmRhIChjbGFzcykgIlJldHVybiBub24tbmlsIGlmIENMQVNTIGlzIGFic3RyYWN0LlxuQWJzdHJh Y3QgY2xhc3NlcyBjYW5ub3QgYmUgaW5zdGFudGlhdGVkLiIgKFxgIC4uLikpIChjbGFzcy1vcHRp b24gbGFtYmRhIChjbGFzcyBvcHRpb24pICJSZXR1cm4gdGhlIHZhbHVlIHN0b3JlZCBmb3IgQ0xB U1MnIE9QVElPTi5cblJldHVybiBuaWwgaWYgdGhhdCBvcHRpb24gZG9lc24ndCBleGlzdC4iIChc YCAuLi4pKSAoY2xhc3Mtb3B0aW9uLWFzc29jIGxhbWJkYSAobGlzdCBvcHRpb24pICJSZXR1cm4g ZnJvbSBMSVNUIHRoZSBmb3VuZCBPUFRJT04uICBOaWwgaWYgaXQgZG9lc24ndCBleGlzdC4iIChc YCAuLi4pKSAoZ2VuZXJpYy1wIGxhbWJkYSAobWV0aG9kKSAiUmV0dXJuIHQgaWYgc3ltYm9sIE1F VEhPRCBpcyBhIGdlbmVyaWMgZnVuY3Rpb24uXG5Pbmx5IG1ldGhvZHMgaGF2ZSB0aGUgc3ltYm9s IGBlaWVpby1tZXRob2Qtb2JhcnJheScgYXMgYSBwcm9wZXJ0eSAod2hpY2hcbmNvbnRhaW5zIGEg bGlzdCBvZiBhbGwgYmluZGluZ3MgdG8gdGhhdCBtZXRob2QgdHlwZS4pIiAoXGAgLi4uKSkgKGNs YXNzLWNvbnN0cnVjdG9yIGxhbWJkYSAoY2xhc3MpICJSZXR1cm4gdGhlIHN5bWJvbCByZXByZXNl bnRpbmcgdGhlIGNvbnN0cnVjdG9yIG9mIENMQVNTLiIgKFxgIC4uLikpIChlaWVpby1vYmplY3Qt cCBsYW1iZGEgKG9iaikgIlJldHVybiBub24tbmlsIGlmIE9CSiBpcyBhbiBFSUVJTyBvYmplY3Qu IiAoXGAgLi4uKSkgKGNsYXNzLXAgbGFtYmRhIChjbGFzcykgIlJldHVybiB0IGlmIENMQVNTIGlz IGEgdmFsaWQgY2xhc3MgdmVjdG9yLlxuQ0xBU1MgaXMgYSBzeW1ib2wuIiAoXGAgLi4uKSkgKGNs YXNzLXYgbGFtYmRhIChjbGFzcykgIkludGVybmFsOiBSZXR1cm4gdGhlIGNsYXNzIHZlY3RvciBm cm9tIHRoZSBDTEFTUyBzeW1ib2wuIiAoXGAgLi4uKSkgKGV2YWwtd2hlbi1jb21waWxlIGxhbWJk YSAoJnJlc3QgYm9keSkgKGxpc3QgLi4uIC4uLikpIChldmFsLWFuZC1jb21waWxlIGxhbWJkYSAo JnJlc3QgYm9keSkgKGJ5dGUtY29tcGlsZS1ldmFsLWJlZm9yZS1jb21waWxlIC4uLikgKGNvbnMg Li4uIGJvZHkpKSkpCiAgbWFjcm9leHBhbmQoKGRlZmNsYXNzIGVpZWlvLWRlZmF1bHQtc3VwZXJj bGFzcyBuaWwgbmlsICJEZWZhdWx0IHBhcmVudCBjbGFzcyBmb3IgY2xhc3NlcyB3aXRoIG5vIHNw ZWNpZmllZCBwYXJlbnQgY2xhc3MuXG5JdHMgc2xvdHMgYXJlIGF1dG9tYXRpY2FsbHkgYWRvcHRl ZCBieSBjbGFzc2VzIHdpdGggbm8gc3BlY2lmaWVkXG5wYXJlbnRzLiAgVGhpcyBjbGFzcyBpcyBu b3Qgc3RvcmVkIGluIHRoZSBgcGFyZW50JyBzbG90IG9mIGEgY2xhc3MgdmVjdG9yLiIgOmFic3Ry YWN0IHQpICgoc2FtZS1jbGFzcy1mYXN0LXAgbGFtYmRhIChvYmogY2xhc3MpICJSZXR1cm4gdCBp ZiBPQkogaXMgb2YgY2xhc3MtdHlwZSBDTEFTUyB3aXRoIG5vIGVycm9yIGNoZWNraW5nLiIgKFxg IC4uLikpIChjbGFzcy1wYXJlbnQgbGFtYmRhIChjbGFzcykgIlJldHVybiBmaXJzdCBwYXJlbnQg Y2xhc3MgdG8gQ0xBU1MuICAob3ZlcmxvYWQgb2YgdmFyaWFibGUpLiIgKFxgIC4uLikpIChjbGFz cy1wYXJlbnQtZmFzdCBsYW1iZGEgKGNsYXNzKSAiUmV0dXJuIGZpcnN0IHBhcmVudCBjbGFzcyB0 byBDTEFTUyB3aXRoIG5vIGNoZWNrLiIgKFxgIC4uLikpIChjbGFzcy1jaGlsZHJlbi1mYXN0IGxh bWJkYSAoY2xhc3MpICJSZXR1cm4gY2hpbGQgY2xhc3NlcyB0byBDTEFTUyB3aXRoIG5vIGNoZWNr LiIgKFxgIC4uLikpIChjbGFzcy1wYXJlbnRzLWZhc3QgbGFtYmRhIChjbGFzcykgIlJldHVybiBw YXJlbnQgY2xhc3NlcyB0byBDTEFTUyB3aXRoIG5vIGNoZWNrLiIgKFxgIC4uLikpIChvYmplY3Qt Y2xhc3MtZmFzdCBsYW1iZGEgKG9iaikgIlJldHVybiB0aGUgY2xhc3Mgc3RydWN0IGRlZmluaW5n IE9CSiB3aXRoIG5vIGNoZWNrLiIgKFxgIC4uLikpICh3aXRoLXNsb3RzIGxhbWJkYSAoc3BlYy1s aXN0IG9iamVjdCAmcmVzdCBib2R5KSAiQmluZCBTUEVDLUxJU1QgbGV4aWNhbGx5IHRvIHNsb3Qg dmFsdWVzIGluIE9CSkVDVCwgYW5kIGV4ZWN1dGUgQk9EWS5cblRoaXMgZXN0YWJsaXNoZXMgYSBs ZXhpY2FsIGVudmlyb25tZW50IGZvciByZWZlcnJpbmcgdG8gdGhlIHNsb3RzIGluXG50aGUgaW5z dGFuY2UgbmFtZWQgYnkgdGhlIGdpdmVuIHNsb3QtbmFtZXMgYXMgdGhvdWdoIHRoZXkgd2VyZVxu dmFyaWFibGVzLiAgV2l0aGluIHN1Y2ggYSBjb250ZXh0IHRoZSB2YWx1ZSBvZiB0aGUgc2xvdCBj YW4gYmVcbnNwZWNpZmllZCBieSB1c2luZyBpdHMgc2xvdCBuYW1lLCBhcyBpZiBpdCB3ZXJlIGEg bGV4aWNhbGx5IGJvdW5kXG52YXJpYWJsZS4gIEJvdGggc2V0ZiBhbmQgc2V0cSBjYW4gYmUgdXNl ZCB0byBzZXQgdGhlIHZhbHVlIG9mIHRoZVxuc2xvdC5cblxuU1BFQy1MSVNUIGlzIG9mIGEgZm9y bSBzaW1pbGFyIHRvIGBsZXQnLiAgRm9yIGV4YW1wbGU6XG5cbiAgKChWQVIxIFNMT1QxKVxuICAg IFNMT1QyXG4gICAgU0xPVE5cbiAgIChWQVJOKzEgU0xPVE4rMSkpXG5cbldoZXJlIGVhY2ggVkFS IGlzIHRoZSBsb2NhbCB2YXJpYWJsZSBnaXZlbiB0byB0aGUgYXNzb2NpYXRlZFxuU0xPVC4gIEEg U2xvdCBzcGVjaWZpZWQgd2l0aG91dCBhIHZhcmlhYmxlIG5hbWUgaXMgZ2l2ZW4gYVxudmFyaWFi bGUgbmFtZSBvZiB0aGUgc2FtZSBuYW1lIGFzIHRoZSBzbG90LiIgKGxldCAuLi4gLi4uKSkgKG9z ZXQtZGVmYXVsdCBsYW1iZGEgKGNsYXNzIHNsb3QgdmFsdWUpICJTZXQgdGhlIGRlZmF1bHQgc2xv dCBpbiBDTEFTUyBmb3IgU0xPVCB0byBWQUxVRS5cblRoZSBkZWZhdWx0IHZhbHVlIGlzIHVzdWFs bHkgc2V0IHdpdGggdGhlIDppbml0Zm9ybSB0YWcgZHVyaW5nIGNsYXNzXG5jcmVhdGlvbi4gIFRo aXMgYWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBjbGFzc2Vz XG5hZnRlciB0aGV5IGFyZSBjcmVhdGVkLiIgKFxgIC4uLikpIChvc2V0IGxhbWJkYSAob2JqIHNs b3QgdmFsdWUpICJTZXQgdGhlIHZhbHVlIGluIE9CSiBmb3Igc2xvdCBTTE9UIHRvIFZBTFVFLlxu U0xPVCBpcyB0aGUgc2xvdCBuYW1lIGFzIHNwZWNpZmllZCBpbiBgZGVmY2xhc3MnIG9yIHRoZSB0 YWcgY3JlYXRlZFxud2l0aCBpbiB0aGUgOmluaXRhcmcgc2xvdC4gIFZBTFVFIGNhbiBiZSBhbnkg TGlzcCBvYmplY3QuIiAoXGAgLi4uKSkgKG9yZWYtZGVmYXVsdCBsYW1iZGEgKG9iaiBzbG90KSAi R2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBPQkogKG1heWJlIGEgY2xhc3MpIGZvciBTTE9ULlxu VGhlIGRlZmF1bHQgdmFsdWUgaXMgdGhlIHZhbHVlIGluc3RhbGxlZCBpbiBhIGNsYXNzIHdpdGgg dGhlIDppbml0Zm9ybVxudGFnLiAgU0xPVCBjYW4gYmUgdGhlIHNsb3QgbmFtZSwgb3IgdGhlIHRh ZyBzcGVjaWZpZWQgYnkgdGhlIDppbml0YXJnXG50YWcgaW4gdGhlIGBkZWZjbGFzcycgY2FsbC4i IChcYCAuLi4pKSAobGFtYmRhLWRlZmF1bHQgbGFtYmRhICgmcmVzdCBjZHIpICJUaGUgc2FtZSBh cyBgbGFtYmRhJyBidXQgaXMgdXNlZCBhcyBhIGRlZmF1bHQgdmFsdWUgaW4gYGRlZmNsYXNzJy5c bkFzIHN1Y2gsIHRoZSBmb3JtIChsYW1iZGEtZGVmYXVsdCBBUkdTIERPQ1NUUklORyBJTlRFUkFD VElWRSBCT0RZKSBpc1xuc2VsZiBxdW90aW5nLiAgVGhpcyBtYWNybyBpcyBtZWFudCBmb3IgdGhl IHNvbGUgcHVycG9zZSBvZiBxdW90aW5nXG5sYW1iZGEgZXhwcmVzc2lvbnMgaW50byBjbGFzcyBk ZWZhdWx0cy4gIEFueSBgbGFtYmRhLWRlZmF1bHQnXG5leHByZXNzaW9uIGlzIGF1dG9tYXRpY2Fs bHkgdHJhbnNmb3JtZWQgaW50byBhIGBsYW1iZGEnIGV4cHJlc3Npb25cbndoZW4gY29waWVkIGZy b20gdGhlIGRlZmF1bHRzIGludG8gYSBuZXcgb2JqZWN0LiAgVGhlIHVzZSBvZlxuYG9yZWYtZGVm YXVsdCcsIGhvd2V2ZXIsIHdpbGwgcmV0dXJuIGEgYGxhbWJkYS1kZWZhdWx0JyBleHByZXNzaW9u LlxuQ0RSIGlzIGZ1bmN0aW9uIGRlZmluaXRpb24gYW5kIGJvZHkuIiAobWVzc2FnZSAiV2Fybmlu ZzogVXNlIG9mIGBsYWJkYS1kZWZhdWx0JyB3aWxsIGJlIG9ic29sZXRlZCBpbiB0aGUgbmV4dCB2 ZXJzaW9uIG9mIEVJRUlPLiIpIChsaXN0IC4uLiAuLi4pKSAob3JlZiBsYW1iZGEgKG9iaiBzbG90 KSAiUmV0cmlldmUgdGhlIHZhbHVlIHN0b3JlZCBpbiBPQkogaW4gdGhlIHNsb3QgbmFtZWQgYnkg U0xPVC5cblNsb3QgaXMgdGhlIG5hbWUgb2YgdGhlIHNsb3Qgd2hlbiBjcmVhdGVkIGJ5IGBkZWZj bGFzcycgb3IgdGhlIGxhYmVsXG5jcmVhdGVkIGJ5IHRoZSA6aW5pdGFyZyB0YWcuIiAoXGAgLi4u KSkgKGRlZm1ldGhvZCBsYW1iZGEgKG1ldGhvZCAmcmVzdCBhcmdzKSAiQ3JlYXRlIGEgbmV3IE1F VEhPRCB0aHJvdWdoIGBkZWZnZW5lcmljJyB3aXRoIEFSR1MuXG5cblRoZSBzZWNvbmQgb3B0aW9u YWwgYXJndW1lbnQgS0VZIGlzIGEgc3BlY2lmaWVyIHRoYXRcbm1vZGlmaWVzIGhvdyB0aGUgbWV0 aG9kIGlzIGNhbGxlZCwgaW5jbHVkaW5nOlxuICAgOmJlZm9yZSAtIE1ldGhvZCB3aWxsIGJlIGNh bGxlZCBiZWZvcmUgdGhlIDpwcmltYXJ5XG4gICA6cHJpbWFyeSAtIFRoZSBkZWZhdWx0IGlmIG5v dCBzcGVjaWZpZWQuXG4gICA6YWZ0ZXIgLSBNZXRob2Qgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgdGhl IDpwcmltYXJ5XG4gICA6c3RhdGljIC0gRmlyc3QgYXJnIGNvdWxkIGJlIGFuIG9iamVjdCBvciBj bGFzc1xuVGhlIG5leHQgYXJndW1lbnQgaXMgdGhlIEFSR0xJU1QuICBUaGUgQVJHTElTVCBzcGVj aWZpZXMgdGhlIGFyZ3VtZW50c1xudG8gdGhlIG1ldGhvZCBhcyB3aXRoIGBkZWZ1bicuICBUaGUg Zmlyc3QgYXJndW1lbnQgY2FuIGhhdmUgYSB0eXBlXG5zcGVjaWZpZXIsIHN1Y2ggYXM6XG4gICgo VkFSTkFNRSBDTEFTUykgQVJHMiAuLi4pXG53aGVyZSBWQVJOQU1FIGlzIHRoZSBuYW1lIG9mIHRo ZSBsb2NhbCB2YXJpYWJsZSBmb3IgdGhlIG1ldGhvZCBiZWluZ1xuY3JlYXRlZC4gIFRoZSBDTEFT UyBpcyBhIGNsYXNzIHN5bWJvbCBmb3IgYSBjbGFzcyBtYWRlIHdpdGggYGRlZmNsYXNzJy5cbkEg RE9DU1RSSU5HIGNvbWVzIGFmdGVyIHRoZSBBUkdMSVNULCBhbmQgaXMgb3B0aW9uYWwuXG5BbGwg dGhlIHJlc3Qgb2YgdGhlIGFyZ3MgYXJlIHRoZSBCT0RZIG9mIHRoZSBtZXRob2QuICBBIG1ldGhv ZCB3aWxsXG5yZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBsYXN0IGZvcm0gaW4gdGhlIEJPRFkuXG5c blN1bW1hcnk6XG5cbiAoZGVmbWV0aG9kIG15bWV0aG9kIFs6YmVmb3JlIHwgOnByaW1hcnkgfCA6 YWZ0ZXIgfCA6c3RhdGljXVxuICAgICAgICAgICAgICAgICAgICAgKCh0eXBlYXJnIGNsYXNzLW5h bWUpIGFyZzIgJm9wdGlvbmFsIG9wdCAmcmVzdCByZXN0KVxuICAgIFwiZG9jLXN0cmluZ1wiXG4g ICAgIGJvZHkpIiAoXGAgLi4uKSkgKGRlZmdlbmVyaWMgbGFtYmRhIChtZXRob2QgYXJncyAmb3B0 aW9uYWwgZG9jLXN0cmluZykgIkNyZWF0ZSBhIGdlbmVyaWMgZnVuY3Rpb24gTUVUSE9ELiAgQVJH UyBpcyBpZ25vcmVkLlxuRE9DLVNUUklORyBpcyB0aGUgYmFzZSBkb2N1bWVudGF0aW9uIGZvciB0 aGlzIGNsYXNzLiAgQSBnZW5lcmljXG5mdW5jdGlvbiBoYXMgbm8gYm9keSwgYXMgaXQncyBwdXJw b3NlIGlzIHRvIGRlY2lkZSB3aGljaCBtZXRob2QgYm9keVxuaXMgYXBwcm9wcmlhdGUgdG8gdXNl LiAgVXNlIGBkZWZtZXRob2QnIHRvIGNyZWF0ZSBtZXRob2RzLCBhbmQgaXRcbmNhbGxzIGRlZmdl bmVyaWMgZm9yIHlvdS4gIFdpdGggdGhpcyBpbXBsZW1lbnRhdGlvbiB0aGUgYXJndW1lbnRzIGFy ZVxuY3VycmVudGx5IGlnbm9yZWQuICBZb3UgY2FuIHVzZSBgZGVmZ2VuZXJpYycgdG8gYXBwbHkg c3BlY2lhbGl6ZWRcbnRvcCBsZXZlbCBkb2N1bWVudGF0aW9uIHRvIGEgbWV0aG9kLiIgKFxgIC4u LikpIChkZWZjbGFzcyBsYW1iZGEgKG5hbWUgc3VwZXJjbGFzcyBzbG90cyAmcmVzdCBvcHRpb25z LWFuZC1kb2MpICJEZWZpbmUgTkFNRSBhcyBhIG5ldyBjbGFzcyBkZXJpdmVkIGZyb20gU1VQRVJD TEFTUyB3aXRoIFNMT1RTLlxuT1BUSU9OUy1BTkQtRE9DIGlzIHVzZWQgYXMgdGhlIGNsYXNzJyBv cHRpb25zIGFuZCBiYXNlIGRvY3VtZW50YXRpb24uXG5TVVBFUkNMQVNTIGlzIGEgbGlzdCBvZiBz dXBlcmNsYXNzZXMgdG8gaW5oZXJpdCBmcm9tLCB3aXRoIFNMT1RTXG5iZWluZyB0aGUgc2xvdHMg cmVzaWRpbmcgaW4gdGhhdCBjbGFzcyBkZWZpbml0aW9uLiAgTk9URTogQ3VycmVudGx5XG5vbmx5 IG9uZSBzbG90IG1heSBleGlzdCBpbiBTVVBFUkNMQVNTIGFzIG11bHRpcGxlIGluaGVyaXRhbmNl IGlzIG5vdFxueWV0IHN1cHBvcnRlZC4gIFN1cHBvcnRlZCB0YWdzIGFyZTpcblxuICA6aW5pdGZv cm0gICAtIGluaXRpYWxpemluZyBmb3JtXG4gIDppbml0YXJnICAgIC0gdGFnIHVzZWQgZHVyaW5n IGluaXRpYWxpemF0aW9uXG4gIDphY2Nlc3NvciAgIC0gdGFnIHVzZWQgdG8gY3JlYXRlIGEgZnVu Y3Rpb24gdG8gYWNjZXNzIHRoaXMgc2xvdFxuICA6YWxsb2NhdGlvbiAtIHNwZWNpZnkgd2hlcmUg dGhlIHZhbHVlIGlzIHN0b3JlZC5cbiAgICAgICAgICAgICAgICBkZWZhdWx0cyB0byBgOmluc3Rh bmNlJywgYnV0IGNvdWxkIGFsc28gYmUgYDpjbGFzcydcbiAgOndyaXRlciAgICAgLSBhIGZ1bmN0 aW9uIHN5bWJvbCB3aGljaCB3aWxsIGB3cml0ZScgYW4gb2JqZWN0J3Mgc2xvdFxuICA6cmVhZGVy ICAgICAtIGEgZnVuY3Rpb24gc3ltYm9sIHdoaWNoIHdpbGwgYHJlYWQnIGFuIG9iamVjdFxuICA6 dHlwZSAgICAgICAtIHRoZSB0eXBlIG9mIGRhdGEgYWxsb3dlZCBpbiB0aGlzIHNsb3QgKHNlZSBg dHlwZXAnKVxuICA6ZG9jdW1lbnRhdGlvblxuICAgICAgICAgICAgICAtIEEgc3RyaW5nIGRvY3Vt ZW50aW5nIHVzZSBvZiB0aGlzIHNsb3QuXG5cblRoZSBmb2xsb3dpbmcgYXJlIGV4dGVuc2lvbnMg b24gQ0xPUzpcbiAgOnByb3RlY3Rpb24gLSBTcGVjaWZ5IHByb3RlY3Rpb24gZm9yIHRoaXMgc2xv dC5cbiAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byBgOnB1YmxpYycuICBBbHNvIHVzZSBgOnBy b3RlY3RlZCcsIG9yIGA6cHJpdmF0ZSdcbiAgOmN1c3RvbSAgICAgLSBXaGVuIGN1c3RvbWl6aW5n IGFuIG9iamVjdCwgdGhlIGN1c3RvbSA6dHlwZS4gIFB1YmxpYyBvbmx5LlxuICA6bGFiZWwgICAg ICAtIEEgdGV4dCBzdHJpbmcgbGFiZWwgdXNlZCBmb3IgYSBzbG90IHdoZW4gY3VzdG9taXppbmcu XG4gIDpncm91cCAgICAgIC0gTmFtZSBvZiBhIGN1c3RvbWl6YXRpb24gZ3JvdXAgdGhpcyBzbG90 IGJlbG9uZ3MgaW4uXG4gIDpwcmludGVyICAgIC0gQSBmdW5jdGlvbiB0byBjYWxsIHRvIHByaW50 IHRoZSB2YWx1ZSBvZiBhIHNsb3QuXG4gICAgICAgICAgICAgICAgU2VlIGBlaWVpby1vdmVycmlk ZS1wcmluMScgYXMgYW4gZXhhbXBsZS5cblxuQSBjbGFzcyBjYW4gYWxzbyBoYXZlIG9wdGlvbmFs IG9wdGlvbnMuICBUaGVzZSBvcHRpb25zIGhhcHBlbiBpbiBwbGFjZVxub2YgZG9jdW1lbnRhdGlv biwgKGluY2x1ZGluZyBhIDpkb2N1bWVudGF0aW9uIHRhZykgaW4gYWRkaXRpb24gdG9cbmRvY3Vt ZW50YXRpb24sIG9yIG5vdCBhdCBhbGwuICBTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6XG5cbiAgOmRv Y3VtZW50YXRpb24gLSBUaGUgZG9jLXN0cmluZyB1c2VkIGZvciB0aGlzIGNsYXNzLlxuXG5PcHRp b25zIGFkZGVkIHRvIEVJRUlPOlxuXG4gIDphbGxvdy1uaWwtaW5pdGZvcm0gLSBOb24tbmlsIHRv IHNraXAgdHlwZWNoZWNraW5nIG9mIGluaXRmb3JtcyBpZiBuaWwuXG4gIDpjdXN0b20tZ3JvdXBz ICAgICAgLSBMaXN0IG9mIGN1c3RvbSBncm91cCBuYW1lcy4gIE9yZ2FuaXplcyBzbG90cyBpbnRv XG4gICAgICAgICAgICAgICAgICAgICAgICByZWFzb25hYmxlIGdyb3VwcyBmb3IgY3VzdG9taXph dGlvbnMuXG4gIDphYnN0cmFjdCAgICAgICAgICAgLSBOb24tbmlsIHRvIHByZXZlbnQgaW5zdGFu Y2VzIG9mIHRoaXMgY2xhc3MuXG4gICAgICAgICAgICAgICAgICAgICAgICBJZiBhIHN0cmluZywg dXNlIGFzIGFuIGVycm9yIHN0cmluZyBpZiBzb21lb25lIGRvZXNcbiAgICAgICAgICAgICAgICAg ICAgICAgIHRyeSB0byBtYWtlIGFuIGluc3RhbmNlLlxuICA6bWV0aG9kLWludm9jYXRpb24tb3Jk ZXJcbiAgICAgICAgICAgICAgICAgICAgICAtIENvbnRyb2wgdGhlIG1ldGhvZCBpbnZva2F0aW9u IG9yZGVyIGlmIHRoZXJlIGlzXG4gICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSBpbmhl cml0YW5jZS4gIFZhbGlkIHZhbHVlcyBhcmU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgOmJy ZWFkdGgtZmlyc3QgLSBUaGUgZGVmYXVsdC5cbiAgICAgICAgICAgICAgICAgICAgICAgICA6ZGVw dGgtZmlyc3RcblxuT3B0aW9ucyBpbiBDTE9TIG5vdCBzdXBwb3J0ZWQgaW4gRUlFSU86XG5cbiAg Om1ldGFjbGFzcyAtIENsYXNzIHRvIHVzZSBpbiBwbGFjZSBvZiBgc3RhbmRhcmQtY2xhc3MnXG4g IDpkZWZhdWx0LWluaXRhcmdzIC0gSW5pdGFyZ3MgdG8gdXNlIHdoZW4gaW5pdGlhbGl6aW5nIG5l dyBvYmplY3RzIG9mXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcyBjbGFzcy5cblxuRHVlIHRv IHRoZSB3YXkgY2xhc3Mgb3B0aW9ucyBhcmUgc2V0IHVwLCB5b3UgY2FuIGFkZCBhbnkgdGFncyBp biB5b3Vcbndpc2gsIGFuZCByZWZlcmVuY2UgdGhlbSB1c2luZyB0aGUgZnVuY3Rpb24gYGNsYXNz LW9wdGlvbicuIiAoXGAgLi4uKSkgKGNsYXNzLW1ldGhvZC1pbnZvY2F0aW9uLW9yZGVyIGxhbWJk YSAoY2xhc3MpICJSZXR1cm4gdGhlIGludm9jYXRpb24gb3JkZXIgb2YgQ0xBU1MuXG5BYnN0cmFj dCBjbGFzc2VzIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQuIiAoXGAgLi4uKSkgKGNsYXNzLWFic3Ry YWN0LXAgbGFtYmRhIChjbGFzcykgIlJldHVybiBub24tbmlsIGlmIENMQVNTIGlzIGFic3RyYWN0 LlxuQWJzdHJhY3QgY2xhc3NlcyBjYW5ub3QgYmUgaW5zdGFudGlhdGVkLiIgKFxgIC4uLikpIChj bGFzcy1vcHRpb24gbGFtYmRhIChjbGFzcyBvcHRpb24pICJSZXR1cm4gdGhlIHZhbHVlIHN0b3Jl ZCBmb3IgQ0xBU1MnIE9QVElPTi5cblJldHVybiBuaWwgaWYgdGhhdCBvcHRpb24gZG9lc24ndCBl eGlzdC4iIChcYCAuLi4pKSAoY2xhc3Mtb3B0aW9uLWFzc29jIGxhbWJkYSAobGlzdCBvcHRpb24p ICJSZXR1cm4gZnJvbSBMSVNUIHRoZSBmb3VuZCBPUFRJT04uICBOaWwgaWYgaXQgZG9lc24ndCBl eGlzdC4iIChcYCAuLi4pKSAoZ2VuZXJpYy1wIGxhbWJkYSAobWV0aG9kKSAiUmV0dXJuIHQgaWYg c3ltYm9sIE1FVEhPRCBpcyBhIGdlbmVyaWMgZnVuY3Rpb24uXG5Pbmx5IG1ldGhvZHMgaGF2ZSB0 aGUgc3ltYm9sIGBlaWVpby1tZXRob2Qtb2JhcnJheScgYXMgYSBwcm9wZXJ0eSAod2hpY2hcbmNv bnRhaW5zIGEgbGlzdCBvZiBhbGwgYmluZGluZ3MgdG8gdGhhdCBtZXRob2QgdHlwZS4pIiAoXGAg Li4uKSkgKGNsYXNzLWNvbnN0cnVjdG9yIGxhbWJkYSAoY2xhc3MpICJSZXR1cm4gdGhlIHN5bWJv bCByZXByZXNlbnRpbmcgdGhlIGNvbnN0cnVjdG9yIG9mIENMQVNTLiIgKFxgIC4uLikpIChlaWVp by1vYmplY3QtcCBsYW1iZGEgKG9iaikgIlJldHVybiBub24tbmlsIGlmIE9CSiBpcyBhbiBFSUVJ TyBvYmplY3QuIiAoXGAgLi4uKSkgKGNsYXNzLXAgbGFtYmRhIChjbGFzcykgIlJldHVybiB0IGlm IENMQVNTIGlzIGEgdmFsaWQgY2xhc3MgdmVjdG9yLlxuQ0xBU1MgaXMgYSBzeW1ib2wuIiAoXGAg Li4uKSkgKGNsYXNzLXYgbGFtYmRhIChjbGFzcykgIkludGVybmFsOiBSZXR1cm4gdGhlIGNsYXNz IHZlY3RvciBmcm9tIHRoZSBDTEFTUyBzeW1ib2wuIiAoXGAgLi4uKSkgKGV2YWwtd2hlbi1jb21w aWxlIGxhbWJkYSAoJnJlc3QgYm9keSkgKGxpc3QgLi4uIC4uLikpIChldmFsLWFuZC1jb21waWxl IGxhbWJkYSAoJnJlc3QgYm9keSkgKGJ5dGUtY29tcGlsZS1ldmFsLWJlZm9yZS1jb21waWxlIC4u LikgKGNvbnMgLi4uIGJvZHkpKSkpCiAgbWFjcm9leHBhbmQtYWxsLTEoKGRlZmNsYXNzIGVpZWlv LWRlZmF1bHQtc3VwZXJjbGFzcyBuaWwgbmlsICJEZWZhdWx0IHBhcmVudCBjbGFzcyBmb3IgY2xh c3NlcyB3aXRoIG5vIHNwZWNpZmllZCBwYXJlbnQgY2xhc3MuXG5JdHMgc2xvdHMgYXJlIGF1dG9t YXRpY2FsbHkgYWRvcHRlZCBieSBjbGFzc2VzIHdpdGggbm8gc3BlY2lmaWVkXG5wYXJlbnRzLiAg VGhpcyBjbGFzcyBpcyBub3Qgc3RvcmVkIGluIHRoZSBgcGFyZW50JyBzbG90IG9mIGEgY2xhc3Mg dmVjdG9yLiIgOmFic3RyYWN0IHQpKQogIG1hY3JvZXhwYW5kLWFsbC1mb3JtcygocHJvZ24gKGlm IChmYm91bmRwIC4uLikgKGRlZmFsaWFzIC4uLiAuLi4pIChkZWZ1biBlaWVpby1jb21waWxlZC1m dW5jdGlvbi1hcmdsaXN0IC4uLiAiUmV0dXJuIHRoZSBhcmd1bWVudCBsaXN0IGZvciB0aGUgY29t cGlsZWQgZnVuY3Rpb24gRlVOQy4iIC4uLikpIChkZWZ2YXIgZWllaW8taG9vayBuaWwgIipUaGlz IGhvb2sgaXMgZXhlY3V0ZWQsIHRoZW4gY2xlYXJlZCBlYWNoIHRpbWUgYGRlZmNsYXNzJyBpcyBj YWxsZWQuIikgKGRlZnZhciBlaWVpby1lcnJvci11bnN1cHBvcnRlZC1jbGFzcy10YWdzIG5pbCAi Kk5vbiBuaWwgdG8gdGhyb3cgYW4gZXJyb3IgaWYgYW4gZW5jb3VudGVyZWQgdGFnIHVzIHVuc3Vw cG9ydGVkLlxuVGhpcyBtYXkgcHJldmVudCBjbGFzc2VzIGZyb20gQ0xPUyBhcHBsaWNhdGlvbnMg ZnJvbSBiZWluZyB1c2VkIHdpdGggRUlFSU9cbnNpbmNlIEVJRUlPIGRvZXMgbm90IHN1cHBvcnQg YWxsIENMT1MgdGFncy4iKSAoZGVmdmFyIGVpZWlvLXNraXAtdHlwZWNoZWNrIG5pbCAiKklmIG5v bi1uaWwsIHNraXAgYWxsIHNsb3QgdHlwZWNoZWNraW5nLlxuU2V0IHRoaXMgdG8gdCBwZXJtYW5l bnRseSBpZiBhIHByb2dyYW0gaXMgZnVuY3Rpb25pbmcgd2VsbCB0byBnZXQgYVxuc21hbGwgc3Bl ZWQgaW5jcmVhc2UuICBUaGlzIHZhcmlhYmxlIGlzIGFsc28gdXNlZCBpbnRlcm5hbGx5IHRvIGhh bmRsZVxuZGVmYXVsdCBzZXR0aW5nIGZvciBvcHRpbWl6YXRpb24gcHVycG9zZXMuIikgKGRlZnZh ciBlaWVpby1vcHRpbWl6ZS1wcmltYXJ5LW1ldGhvZHMtZmxhZyB0ICJOb24tbmlsIG1lYW5zIHRv IG9wdGltaXplIHRoZSBtZXRob2QgZGlzcGF0Y2ggb24gcHJpbWFyeSBtZXRob2RzLiIpIChkZWZ2 YXIgdGhpcyBuaWwgIkluc2lkZSBhIG1ldGhvZCwgdGhpcyB2YXJpYWJsZSBpcyB0aGUgb2JqZWN0 IGluIHF1ZXN0aW9uLlxuRE8gTk9UIFNFVCBUSElTIFlPVVJTRUxGIHVubGVzcyB5b3UgYXJlIHRy eWluZyB0byBzaW11bGF0ZSBmcmllbmRseSBzbG90cy5cblxuTm90ZTogRW1iZWRkZWQgbWV0aG9k cyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIFRoZSB2YXJpYWJsZSBUSElTIGlzXG5zdGlsbCBz ZXQgZm9yIENMT1MgbWV0aG9kcyBmb3IgdGhlIHNha2Ugb2Ygcm91dGluZXMgbGlrZVxuYGNhbGwt bmV4dC1tZXRob2QnIikgKGRlZnZhciBzY29wZWQtY2xhc3MgbmlsICJUaGlzIGlzIHNldCB0byBh IGNsYXNzIHdoZW4gYSBtZXRob2QgaXMgcnVubmluZy5cblRoaXMgaXMgc28gd2Uga25vdyB3ZSBh cmUgYWxsb3dlZCB0byBjaGVjayBwcml2YXRlIHBhcnRzIG9yIGhvdyB0b1xuZXhlY3V0ZSBhIGBj YWxsLW5leHQtbWV0aG9kJy4gIERPIE5PVCBTRVQgVEhJUyBZT1VSU0VMRiEiKSAoZGVmdmFyIGVp ZWlvLWluaXRpYWxpemluZy1vYmplY3QgbmlsICJTZXQgdG8gbm9uLW5pbCB3aGlsZSBpbml0aWFs aXppbmcgYW4gb2JqZWN0LiIpIChkZWZjb25zdCBlaWVpby11bmJvdW5kIChtYWtlLXN5bWJvbCAi dW5ib3VuZCIpICJVbmludGVybmVkIHN5bWJvbCByZXByZXNlbnRpbmcgYW4gdW5ib3VuZCBzbG90 IGluIGFuIG9iamVjdC4iKSAoZGVmdmFyIGVpZWlvLWRlZmF1bHQtc3VwZXJjbGFzcyBuaWwpIChk ZWZjb25zdCBjbGFzcy1zeW1ib2wgMSAiQ2xhc3MncyBzeW1ib2wgKHNlbGYtcmVmZXJlbmNpbmcu KS4iKSAoZGVmY29uc3QgY2xhc3MtcGFyZW50IDIgIkNsYXNzIHBhcmVudCBzbG90LiIpIChkZWZj b25zdCBjbGFzcy1jaGlsZHJlbiAzICJDbGFzcyBjaGlsZHJlbiBjbGFzcyBzbG90LiIpIChkZWZj b25zdCBjbGFzcy1zeW1ib2wtb2JhcnJheSA0ICJPYmFycmF5IHBlcm1pdHRpbmcgZmFzdCBhY2Nl c3MgdG8gdmFyaWFibGUgcG9zaXRpb24gaW5kZXhlcy4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGlj LWEgNSAiQ2xhc3MgYXR0cmlidXRlIGluZGV4LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtZCA2 ICJDbGFzcyBhdHRyaWJ1dGUgZGVmYXVsdHMgaW5kZXguIikgKGRlZmNvbnN0IGNsYXNzLXB1Ymxp Yy1kb2MgNyAiQ2xhc3MgZG9jdW1lbnRhdGlvbiBzdHJpbmdzIGZvciBhdHRyaWJ1dGVzLiIpIChk ZWZjb25zdCBjbGFzcy1wdWJsaWMtdHlwZSA4ICJDbGFzcyB0eXBlIGZvciBhIHNsb3QuIikgKGRl ZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20gOSAiQ2xhc3MgY3VzdG9tIHR5cGUgZm9yIGEgc2xv dC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWN1c3RvbS1sYWJlbCAxMCAiQ2xhc3MgY3VzdG9t IGdyb3VwIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20tZ3JvdXAg MTEgIkNsYXNzIGN1c3RvbSBncm91cCBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wdWJs aWMtcHJpbnRlciAxMiAiUHJpbnRlciBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wcm90 ZWN0aW9uIDEzICJDbGFzcyBwcm90ZWN0aW9uIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNz LWluaXRhcmctdHVwbGVzIDE0ICJDbGFzcyBpbml0YXJnIHR1cGxlcyBsaXN0LiIpIChkZWZjb25z dCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWEgMTUgIkNsYXNzIGFsbG9jYXRlZCBhdHRyaWJ1dGVz LiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWRvYyAxNiAiQ2xhc3MgYWxsb2Nh dGVkIGRvY3VtZW50YXRpb24uIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tdHlw ZSAxNyAiQ2xhc3MgYWxsb2NhdGVkIHZhbHVlIHR5cGUuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNz LWFsbG9jYXRpb24tY3VzdG9tIDE4ICJDbGFzcyBhbGxvY2F0ZWQgY3VzdG9tIGRlc2NyaXB0b3Iu IikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tY3VzdG9tLWxhYmVsIDE5ICJDbGFz cyBhbGxvY2F0ZWQgY3VzdG9tIGRlc2NyaXB0b3IuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFs bG9jYXRpb24tY3VzdG9tLWdyb3VwIDIwICJDbGFzcyBhbGxvY2F0ZWQgY3VzdG9tIGdyb3VwLiIp IChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLXByaW50ZXIgMjEgIkNsYXNzIGFsbG9j YXRlZCBwcmludGVyIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRp b24tcHJvdGVjdGlvbiAyMiAiQ2xhc3MgYWxsb2NhdGVkIHByb3RlY3Rpb24gbGlzdC4iKSAoZGVm Y29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi12YWx1ZXMgMjMgIkNsYXNzIGFsbG9jYXRlZCB2 YWx1ZSB2ZWN0b3IuIikgKGRlZmNvbnN0IGNsYXNzLWRlZmF1bHQtb2JqZWN0LWNhY2hlIDI0ICJD YWNoZSBpbmRleCBvZiB3aGF0IGEgbmV3bHkgY3JlYXRlZCBvYmplY3Qgd291bGQgbG9vayBsaWtl LlxuVGhpcyB3aWxsIHNwZWVkIHVwIGluc3RhbnRpYXRpb24gdGltZSBhcyBvbmx5IGEgYGNvcHkt c2VxdWVuY2UnIHdpbGxcbmJlIG5lZWRlZCwgaW5zdGVhZCBvZiBsb29waW5nIG92ZXIgYWxsIHRo ZSB2YWx1ZXMgYW5kIHNldHRpbmcgdGhlbVxuZnJvbSB0aGUgZGVmYXVsdC4iKSAoZGVmY29uc3Qg Y2xhc3Mtb3B0aW9ucyAyNSAiU3RvcmFnZSBsb2NhdGlvbiBvZiB0YWdnZWQgY2xhc3Mgb3B0aW9u cy5cblN0b3JlZCBvdXRyaWdodCB3aXRob3V0IG1vZGlmaWNhdGlvbnMgb3Igc3RyaXBwaW5nLiIp IChkZWZjb25zdCBjbGFzcy1udW0tc2xvdHMgMjYgIk51bWJlciBvZiBzbG90cyBpbiB0aGUgY2xh c3MgZGVmaW5pdGlvbiBvYmplY3QuIikgKGRlZmNvbnN0IG9iamVjdC1jbGFzcyAxICJJbmRleCBp biBhbiBvYmplY3QgdmVjdG9yIHdoZXJlIHRoZSBjbGFzcyBpcyBzdG9yZWQuIikgKGRlZmNvbnN0 IG9iamVjdC1uYW1lIDIgIkluZGV4IGluIGFuIG9iamVjdCB3aGVyZSB0aGUgbmFtZSBpcyBzdG9y ZWQuIikgKGRlZmNvbnN0IG1ldGhvZC1zdGF0aWMgMCAiSW5kZXggaW50byA6c3RhdGljIHRhZyBv biBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWJlZm9yZSAxICJJbmRleCBpbnRvIDpiZWZv cmUgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtcHJpbWFyeSAyICJJbmRleCBp bnRvIDpwcmltYXJ5IHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWFmdGVyIDMg IkluZGV4IGludG8gOmFmdGVyIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLW51 bS1saXN0cyA0ICJOdW1iZXIgb2YgaW5kZXhlcyBpbnRvIG1ldGhvZHMgdmVjdG9yIGluIHdoaWNo IGdyb3VwcyBvZiBmdW5jdGlvbnMgYXJlIGtlcHQuIikgKGRlZmNvbnN0IG1ldGhvZC1nZW5lcmlj LWJlZm9yZSA0ICJJbmRleCBpbnRvIGdlbmVyaWMgOmJlZm9yZSB0YWcgb24gYSBtZXRob2QuIikg KGRlZmNvbnN0IG1ldGhvZC1nZW5lcmljLXByaW1hcnkgNSAiSW5kZXggaW50byBnZW5lcmljIDpw cmltYXJ5IHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWdlbmVyaWMtYWZ0ZXIg NiAiSW5kZXggaW50byBnZW5lcmljIDphZnRlciB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0 IG1ldGhvZC1udW0tc2xvdHMgNyAiTnVtYmVyIG9mIGluZGV4ZXMgaW50byBhIG1ldGhvZCdzIHZl Y3Rvci4iKSAoYXV0b2xvYWQgKHF1b3RlIGJ5dGUtY29tcGlsZS1maWxlLWZvcm0tZGVmbWV0aG9k KSAiZWllaW8tY29tcCIgIlRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBieXRlIGNvbXBpbGUgbWV0 aG9kcyBpbiBhIG5pY2Ugd2F5LiIpIChwdXQgKHF1b3RlIGRlZm1ldGhvZCkgKHF1b3RlIGJ5dGUt aHVuay1oYW5kbGVyKSAocXVvdGUgYnl0ZS1jb21waWxlLWZpbGUtZm9ybS1kZWZtZXRob2QpKSAu Li4pIDEpCiAgbWFjcm9leHBhbmQtYWxsLTEoKHByb2duIChpZiAoZmJvdW5kcCAuLi4pIChkZWZh bGlhcyAuLi4gLi4uKSAoZGVmdW4gZWllaW8tY29tcGlsZWQtZnVuY3Rpb24tYXJnbGlzdCAuLi4g IlJldHVybiB0aGUgYXJndW1lbnQgbGlzdCBmb3IgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uIEZVTkMu IiAuLi4pKSAoZGVmdmFyIGVpZWlvLWhvb2sgbmlsICIqVGhpcyBob29rIGlzIGV4ZWN1dGVkLCB0 aGVuIGNsZWFyZWQgZWFjaCB0aW1lIGBkZWZjbGFzcycgaXMgY2FsbGVkLiIpIChkZWZ2YXIgZWll aW8tZXJyb3ItdW5zdXBwb3J0ZWQtY2xhc3MtdGFncyBuaWwgIipOb24gbmlsIHRvIHRocm93IGFu IGVycm9yIGlmIGFuIGVuY291bnRlcmVkIHRhZyB1cyB1bnN1cHBvcnRlZC5cblRoaXMgbWF5IHBy ZXZlbnQgY2xhc3NlcyBmcm9tIENMT1MgYXBwbGljYXRpb25zIGZyb20gYmVpbmcgdXNlZCB3aXRo IEVJRUlPXG5zaW5jZSBFSUVJTyBkb2VzIG5vdCBzdXBwb3J0IGFsbCBDTE9TIHRhZ3MuIikgKGRl ZnZhciBlaWVpby1za2lwLXR5cGVjaGVjayBuaWwgIipJZiBub24tbmlsLCBza2lwIGFsbCBzbG90 IHR5cGVjaGVja2luZy5cblNldCB0aGlzIHRvIHQgcGVybWFuZW50bHkgaWYgYSBwcm9ncmFtIGlz IGZ1bmN0aW9uaW5nIHdlbGwgdG8gZ2V0IGFcbnNtYWxsIHNwZWVkIGluY3JlYXNlLiAgVGhpcyB2 YXJpYWJsZSBpcyBhbHNvIHVzZWQgaW50ZXJuYWxseSB0byBoYW5kbGVcbmRlZmF1bHQgc2V0dGlu ZyBmb3Igb3B0aW1pemF0aW9uIHB1cnBvc2VzLiIpIChkZWZ2YXIgZWllaW8tb3B0aW1pemUtcHJp bWFyeS1tZXRob2RzLWZsYWcgdCAiTm9uLW5pbCBtZWFucyB0byBvcHRpbWl6ZSB0aGUgbWV0aG9k IGRpc3BhdGNoIG9uIHByaW1hcnkgbWV0aG9kcy4iKSAoZGVmdmFyIHRoaXMgbmlsICJJbnNpZGUg YSBtZXRob2QsIHRoaXMgdmFyaWFibGUgaXMgdGhlIG9iamVjdCBpbiBxdWVzdGlvbi5cbkRPIE5P VCBTRVQgVEhJUyBZT1VSU0VMRiB1bmxlc3MgeW91IGFyZSB0cnlpbmcgdG8gc2ltdWxhdGUgZnJp ZW5kbHkgc2xvdHMuXG5cbk5vdGU6IEVtYmVkZGVkIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBzdXBw b3J0ZWQuICBUaGUgdmFyaWFibGUgVEhJUyBpc1xuc3RpbGwgc2V0IGZvciBDTE9TIG1ldGhvZHMg Zm9yIHRoZSBzYWtlIG9mIHJvdXRpbmVzIGxpa2VcbmBjYWxsLW5leHQtbWV0aG9kJyIpIChkZWZ2 YXIgc2NvcGVkLWNsYXNzIG5pbCAiVGhpcyBpcyBzZXQgdG8gYSBjbGFzcyB3aGVuIGEgbWV0aG9k IGlzIHJ1bm5pbmcuXG5UaGlzIGlzIHNvIHdlIGtub3cgd2UgYXJlIGFsbG93ZWQgdG8gY2hlY2sg cHJpdmF0ZSBwYXJ0cyBvciBob3cgdG9cbmV4ZWN1dGUgYSBgY2FsbC1uZXh0LW1ldGhvZCcuICBE TyBOT1QgU0VUIFRISVMgWU9VUlNFTEYhIikgKGRlZnZhciBlaWVpby1pbml0aWFsaXppbmctb2Jq ZWN0IG5pbCAiU2V0IHRvIG5vbi1uaWwgd2hpbGUgaW5pdGlhbGl6aW5nIGFuIG9iamVjdC4iKSAo ZGVmY29uc3QgZWllaW8tdW5ib3VuZCAobWFrZS1zeW1ib2wgInVuYm91bmQiKSAiVW5pbnRlcm5l ZCBzeW1ib2wgcmVwcmVzZW50aW5nIGFuIHVuYm91bmQgc2xvdCBpbiBhbiBvYmplY3QuIikgKGRl ZnZhciBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3MgbmlsKSAoZGVmY29uc3QgY2xhc3Mtc3ltYm9s IDEgIkNsYXNzJ3Mgc3ltYm9sIChzZWxmLXJlZmVyZW5jaW5nLikuIikgKGRlZmNvbnN0IGNsYXNz LXBhcmVudCAyICJDbGFzcyBwYXJlbnQgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtY2hpbGRyZW4g MyAiQ2xhc3MgY2hpbGRyZW4gY2xhc3Mgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3Mtc3ltYm9sLW9i YXJyYXkgNCAiT2JhcnJheSBwZXJtaXR0aW5nIGZhc3QgYWNjZXNzIHRvIHZhcmlhYmxlIHBvc2l0 aW9uIGluZGV4ZXMuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1hIDUgIkNsYXNzIGF0dHJpYnV0 ZSBpbmRleC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWQgNiAiQ2xhc3MgYXR0cmlidXRlIGRl ZmF1bHRzIGluZGV4LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtZG9jIDcgIkNsYXNzIGRvY3Vt ZW50YXRpb24gc3RyaW5ncyBmb3IgYXR0cmlidXRlcy4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGlj LXR5cGUgOCAiQ2xhc3MgdHlwZSBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMt Y3VzdG9tIDkgIkNsYXNzIGN1c3RvbSB0eXBlIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNz LXB1YmxpYy1jdXN0b20tbGFiZWwgMTAgIkNsYXNzIGN1c3RvbSBncm91cCBmb3IgYSBzbG90LiIp IChkZWZjb25zdCBjbGFzcy1wdWJsaWMtY3VzdG9tLWdyb3VwIDExICJDbGFzcyBjdXN0b20gZ3Jv dXAgZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLXByaW50ZXIgMTIgIlByaW50 ZXIgZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtcHJvdGVjdGlvbiAxMyAiQ2xhc3MgcHJv dGVjdGlvbiBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1pbml0YXJnLXR1cGxlcyAxNCAi Q2xhc3MgaW5pdGFyZyB0dXBsZXMgbGlzdC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2Nh dGlvbi1hIDE1ICJDbGFzcyBhbGxvY2F0ZWQgYXR0cmlidXRlcy4iKSAoZGVmY29uc3QgY2xhc3Mt Y2xhc3MtYWxsb2NhdGlvbi1kb2MgMTYgIkNsYXNzIGFsbG9jYXRlZCBkb2N1bWVudGF0aW9uLiIp IChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLXR5cGUgMTcgIkNsYXNzIGFsbG9jYXRl ZCB2YWx1ZSB0eXBlLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbSAx OCAiQ2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBkZXNjcmlwdG9yLiIpIChkZWZjb25zdCBjbGFzcy1j bGFzcy1hbGxvY2F0aW9uLWN1c3RvbS1sYWJlbCAxOSAiQ2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBk ZXNjcmlwdG9yLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbS1ncm91 cCAyMCAiQ2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBncm91cC4iKSAoZGVmY29uc3QgY2xhc3MtY2xh c3MtYWxsb2NhdGlvbi1wcmludGVyIDIxICJDbGFzcyBhbGxvY2F0ZWQgcHJpbnRlciBmb3IgYSBz bG90LiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLXByb3RlY3Rpb24gMjIgIkNs YXNzIGFsbG9jYXRlZCBwcm90ZWN0aW9uIGxpc3QuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFs bG9jYXRpb24tdmFsdWVzIDIzICJDbGFzcyBhbGxvY2F0ZWQgdmFsdWUgdmVjdG9yLiIpIChkZWZj b25zdCBjbGFzcy1kZWZhdWx0LW9iamVjdC1jYWNoZSAyNCAiQ2FjaGUgaW5kZXggb2Ygd2hhdCBh IG5ld2x5IGNyZWF0ZWQgb2JqZWN0IHdvdWxkIGxvb2sgbGlrZS5cblRoaXMgd2lsbCBzcGVlZCB1 cCBpbnN0YW50aWF0aW9uIHRpbWUgYXMgb25seSBhIGBjb3B5LXNlcXVlbmNlJyB3aWxsXG5iZSBu ZWVkZWQsIGluc3RlYWQgb2YgbG9vcGluZyBvdmVyIGFsbCB0aGUgdmFsdWVzIGFuZCBzZXR0aW5n IHRoZW1cbmZyb20gdGhlIGRlZmF1bHQuIikgKGRlZmNvbnN0IGNsYXNzLW9wdGlvbnMgMjUgIlN0 b3JhZ2UgbG9jYXRpb24gb2YgdGFnZ2VkIGNsYXNzIG9wdGlvbnMuXG5TdG9yZWQgb3V0cmlnaHQg d2l0aG91dCBtb2RpZmljYXRpb25zIG9yIHN0cmlwcGluZy4iKSAoZGVmY29uc3QgY2xhc3MtbnVt LXNsb3RzIDI2ICJOdW1iZXIgb2Ygc2xvdHMgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24gb2JqZWN0 LiIpIChkZWZjb25zdCBvYmplY3QtY2xhc3MgMSAiSW5kZXggaW4gYW4gb2JqZWN0IHZlY3RvciB3 aGVyZSB0aGUgY2xhc3MgaXMgc3RvcmVkLiIpIChkZWZjb25zdCBvYmplY3QtbmFtZSAyICJJbmRl eCBpbiBhbiBvYmplY3Qgd2hlcmUgdGhlIG5hbWUgaXMgc3RvcmVkLiIpIChkZWZjb25zdCBtZXRo b2Qtc3RhdGljIDAgIkluZGV4IGludG8gOnN0YXRpYyB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNv bnN0IG1ldGhvZC1iZWZvcmUgMSAiSW5kZXggaW50byA6YmVmb3JlIHRhZyBvbiBhIG1ldGhvZC4i KSAoZGVmY29uc3QgbWV0aG9kLXByaW1hcnkgMiAiSW5kZXggaW50byA6cHJpbWFyeSB0YWcgb24g YSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1hZnRlciAzICJJbmRleCBpbnRvIDphZnRlciB0 YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1udW0tbGlzdHMgNCAiTnVtYmVyIG9m IGluZGV4ZXMgaW50byBtZXRob2RzIHZlY3RvciBpbiB3aGljaCBncm91cHMgb2YgZnVuY3Rpb25z IGFyZSBrZXB0LiIpIChkZWZjb25zdCBtZXRob2QtZ2VuZXJpYy1iZWZvcmUgNCAiSW5kZXggaW50 byBnZW5lcmljIDpiZWZvcmUgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtZ2Vu ZXJpYy1wcmltYXJ5IDUgIkluZGV4IGludG8gZ2VuZXJpYyA6cHJpbWFyeSB0YWcgb24gYSBtZXRo b2QuIikgKGRlZmNvbnN0IG1ldGhvZC1nZW5lcmljLWFmdGVyIDYgIkluZGV4IGludG8gZ2VuZXJp YyA6YWZ0ZXIgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtbnVtLXNsb3RzIDcg Ik51bWJlciBvZiBpbmRleGVzIGludG8gYSBtZXRob2QncyB2ZWN0b3IuIikgKGF1dG9sb2FkIChx dW90ZSBieXRlLWNvbXBpbGUtZmlsZS1mb3JtLWRlZm1ldGhvZCkgImVpZWlvLWNvbXAiICJUaGlz IGZ1bmN0aW9uIGlzIHVzZWQgdG8gYnl0ZSBjb21waWxlIG1ldGhvZHMgaW4gYSBuaWNlIHdheS4i KSAocHV0IChxdW90ZSBkZWZtZXRob2QpIChxdW90ZSBieXRlLWh1bmstaGFuZGxlcikgKHF1b3Rl IGJ5dGUtY29tcGlsZS1maWxlLWZvcm0tZGVmbWV0aG9kKSkgLi4uKSkKICBtYWNyb2V4cGFuZC1h bGwoKHByb2duIChpZiAoZmJvdW5kcCAuLi4pIChkZWZhbGlhcyAuLi4gLi4uKSAoZGVmdW4gZWll aW8tY29tcGlsZWQtZnVuY3Rpb24tYXJnbGlzdCAuLi4gIlJldHVybiB0aGUgYXJndW1lbnQgbGlz dCBmb3IgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uIEZVTkMuIiAuLi4pKSAoZGVmdmFyIGVpZWlvLWhv b2sgbmlsICIqVGhpcyBob29rIGlzIGV4ZWN1dGVkLCB0aGVuIGNsZWFyZWQgZWFjaCB0aW1lIGBk ZWZjbGFzcycgaXMgY2FsbGVkLiIpIChkZWZ2YXIgZWllaW8tZXJyb3ItdW5zdXBwb3J0ZWQtY2xh c3MtdGFncyBuaWwgIipOb24gbmlsIHRvIHRocm93IGFuIGVycm9yIGlmIGFuIGVuY291bnRlcmVk IHRhZyB1cyB1bnN1cHBvcnRlZC5cblRoaXMgbWF5IHByZXZlbnQgY2xhc3NlcyBmcm9tIENMT1Mg YXBwbGljYXRpb25zIGZyb20gYmVpbmcgdXNlZCB3aXRoIEVJRUlPXG5zaW5jZSBFSUVJTyBkb2Vz IG5vdCBzdXBwb3J0IGFsbCBDTE9TIHRhZ3MuIikgKGRlZnZhciBlaWVpby1za2lwLXR5cGVjaGVj ayBuaWwgIipJZiBub24tbmlsLCBza2lwIGFsbCBzbG90IHR5cGVjaGVja2luZy5cblNldCB0aGlz IHRvIHQgcGVybWFuZW50bHkgaWYgYSBwcm9ncmFtIGlzIGZ1bmN0aW9uaW5nIHdlbGwgdG8gZ2V0 IGFcbnNtYWxsIHNwZWVkIGluY3JlYXNlLiAgVGhpcyB2YXJpYWJsZSBpcyBhbHNvIHVzZWQgaW50 ZXJuYWxseSB0byBoYW5kbGVcbmRlZmF1bHQgc2V0dGluZyBmb3Igb3B0aW1pemF0aW9uIHB1cnBv c2VzLiIpIChkZWZ2YXIgZWllaW8tb3B0aW1pemUtcHJpbWFyeS1tZXRob2RzLWZsYWcgdCAiTm9u LW5pbCBtZWFucyB0byBvcHRpbWl6ZSB0aGUgbWV0aG9kIGRpc3BhdGNoIG9uIHByaW1hcnkgbWV0 aG9kcy4iKSAoZGVmdmFyIHRoaXMgbmlsICJJbnNpZGUgYSBtZXRob2QsIHRoaXMgdmFyaWFibGUg aXMgdGhlIG9iamVjdCBpbiBxdWVzdGlvbi5cbkRPIE5PVCBTRVQgVEhJUyBZT1VSU0VMRiB1bmxl c3MgeW91IGFyZSB0cnlpbmcgdG8gc2ltdWxhdGUgZnJpZW5kbHkgc2xvdHMuXG5cbk5vdGU6IEVt YmVkZGVkIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBUaGUgdmFyaWFibGUgVEhJ UyBpc1xuc3RpbGwgc2V0IGZvciBDTE9TIG1ldGhvZHMgZm9yIHRoZSBzYWtlIG9mIHJvdXRpbmVz IGxpa2VcbmBjYWxsLW5leHQtbWV0aG9kJyIpIChkZWZ2YXIgc2NvcGVkLWNsYXNzIG5pbCAiVGhp cyBpcyBzZXQgdG8gYSBjbGFzcyB3aGVuIGEgbWV0aG9kIGlzIHJ1bm5pbmcuXG5UaGlzIGlzIHNv IHdlIGtub3cgd2UgYXJlIGFsbG93ZWQgdG8gY2hlY2sgcHJpdmF0ZSBwYXJ0cyBvciBob3cgdG9c bmV4ZWN1dGUgYSBgY2FsbC1uZXh0LW1ldGhvZCcuICBETyBOT1QgU0VUIFRISVMgWU9VUlNFTEYh IikgKGRlZnZhciBlaWVpby1pbml0aWFsaXppbmctb2JqZWN0IG5pbCAiU2V0IHRvIG5vbi1uaWwg d2hpbGUgaW5pdGlhbGl6aW5nIGFuIG9iamVjdC4iKSAoZGVmY29uc3QgZWllaW8tdW5ib3VuZCAo bWFrZS1zeW1ib2wgInVuYm91bmQiKSAiVW5pbnRlcm5lZCBzeW1ib2wgcmVwcmVzZW50aW5nIGFu IHVuYm91bmQgc2xvdCBpbiBhbiBvYmplY3QuIikgKGRlZnZhciBlaWVpby1kZWZhdWx0LXN1cGVy Y2xhc3MgbmlsKSAoZGVmY29uc3QgY2xhc3Mtc3ltYm9sIDEgIkNsYXNzJ3Mgc3ltYm9sIChzZWxm LXJlZmVyZW5jaW5nLikuIikgKGRlZmNvbnN0IGNsYXNzLXBhcmVudCAyICJDbGFzcyBwYXJlbnQg c2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtY2hpbGRyZW4gMyAiQ2xhc3MgY2hpbGRyZW4gY2xhc3Mg c2xvdC4iKSAoZGVmY29uc3QgY2xhc3Mtc3ltYm9sLW9iYXJyYXkgNCAiT2JhcnJheSBwZXJtaXR0 aW5nIGZhc3QgYWNjZXNzIHRvIHZhcmlhYmxlIHBvc2l0aW9uIGluZGV4ZXMuIikgKGRlZmNvbnN0 IGNsYXNzLXB1YmxpYy1hIDUgIkNsYXNzIGF0dHJpYnV0ZSBpbmRleC4iKSAoZGVmY29uc3QgY2xh c3MtcHVibGljLWQgNiAiQ2xhc3MgYXR0cmlidXRlIGRlZmF1bHRzIGluZGV4LiIpIChkZWZjb25z dCBjbGFzcy1wdWJsaWMtZG9jIDcgIkNsYXNzIGRvY3VtZW50YXRpb24gc3RyaW5ncyBmb3IgYXR0 cmlidXRlcy4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLXR5cGUgOCAiQ2xhc3MgdHlwZSBmb3Ig YSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtY3VzdG9tIDkgIkNsYXNzIGN1c3RvbSB0 eXBlIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20tbGFiZWwgMTAg IkNsYXNzIGN1c3RvbSBncm91cCBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMt Y3VzdG9tLWdyb3VwIDExICJDbGFzcyBjdXN0b20gZ3JvdXAgZm9yIGEgc2xvdC4iKSAoZGVmY29u c3QgY2xhc3MtcHVibGljLXByaW50ZXIgMTIgIlByaW50ZXIgZm9yIGEgc2xvdC4iKSAoZGVmY29u c3QgY2xhc3MtcHJvdGVjdGlvbiAxMyAiQ2xhc3MgcHJvdGVjdGlvbiBmb3IgYSBzbG90LiIpIChk ZWZjb25zdCBjbGFzcy1pbml0YXJnLXR1cGxlcyAxNCAiQ2xhc3MgaW5pdGFyZyB0dXBsZXMgbGlz dC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1hIDE1ICJDbGFzcyBhbGxvY2F0 ZWQgYXR0cmlidXRlcy4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1kb2MgMTYg IkNsYXNzIGFsbG9jYXRlZCBkb2N1bWVudGF0aW9uLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1h bGxvY2F0aW9uLXR5cGUgMTcgIkNsYXNzIGFsbG9jYXRlZCB2YWx1ZSB0eXBlLiIpIChkZWZjb25z dCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbSAxOCAiQ2xhc3MgYWxsb2NhdGVkIGN1c3Rv bSBkZXNjcmlwdG9yLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbS1s YWJlbCAxOSAiQ2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBkZXNjcmlwdG9yLiIpIChkZWZjb25zdCBj bGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbS1ncm91cCAyMCAiQ2xhc3MgYWxsb2NhdGVkIGN1 c3RvbSBncm91cC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1wcmludGVyIDIx ICJDbGFzcyBhbGxvY2F0ZWQgcHJpbnRlciBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1j bGFzcy1hbGxvY2F0aW9uLXByb3RlY3Rpb24gMjIgIkNsYXNzIGFsbG9jYXRlZCBwcm90ZWN0aW9u IGxpc3QuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tdmFsdWVzIDIzICJDbGFz cyBhbGxvY2F0ZWQgdmFsdWUgdmVjdG9yLiIpIChkZWZjb25zdCBjbGFzcy1kZWZhdWx0LW9iamVj dC1jYWNoZSAyNCAiQ2FjaGUgaW5kZXggb2Ygd2hhdCBhIG5ld2x5IGNyZWF0ZWQgb2JqZWN0IHdv dWxkIGxvb2sgbGlrZS5cblRoaXMgd2lsbCBzcGVlZCB1cCBpbnN0YW50aWF0aW9uIHRpbWUgYXMg b25seSBhIGBjb3B5LXNlcXVlbmNlJyB3aWxsXG5iZSBuZWVkZWQsIGluc3RlYWQgb2YgbG9vcGlu ZyBvdmVyIGFsbCB0aGUgdmFsdWVzIGFuZCBzZXR0aW5nIHRoZW1cbmZyb20gdGhlIGRlZmF1bHQu IikgKGRlZmNvbnN0IGNsYXNzLW9wdGlvbnMgMjUgIlN0b3JhZ2UgbG9jYXRpb24gb2YgdGFnZ2Vk IGNsYXNzIG9wdGlvbnMuXG5TdG9yZWQgb3V0cmlnaHQgd2l0aG91dCBtb2RpZmljYXRpb25zIG9y IHN0cmlwcGluZy4iKSAoZGVmY29uc3QgY2xhc3MtbnVtLXNsb3RzIDI2ICJOdW1iZXIgb2Ygc2xv dHMgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24gb2JqZWN0LiIpIChkZWZjb25zdCBvYmplY3QtY2xh c3MgMSAiSW5kZXggaW4gYW4gb2JqZWN0IHZlY3RvciB3aGVyZSB0aGUgY2xhc3MgaXMgc3RvcmVk LiIpIChkZWZjb25zdCBvYmplY3QtbmFtZSAyICJJbmRleCBpbiBhbiBvYmplY3Qgd2hlcmUgdGhl IG5hbWUgaXMgc3RvcmVkLiIpIChkZWZjb25zdCBtZXRob2Qtc3RhdGljIDAgIkluZGV4IGludG8g OnN0YXRpYyB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1iZWZvcmUgMSAiSW5k ZXggaW50byA6YmVmb3JlIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLXByaW1h cnkgMiAiSW5kZXggaW50byA6cHJpbWFyeSB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1l dGhvZC1hZnRlciAzICJJbmRleCBpbnRvIDphZnRlciB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNv bnN0IG1ldGhvZC1udW0tbGlzdHMgNCAiTnVtYmVyIG9mIGluZGV4ZXMgaW50byBtZXRob2RzIHZl Y3RvciBpbiB3aGljaCBncm91cHMgb2YgZnVuY3Rpb25zIGFyZSBrZXB0LiIpIChkZWZjb25zdCBt ZXRob2QtZ2VuZXJpYy1iZWZvcmUgNCAiSW5kZXggaW50byBnZW5lcmljIDpiZWZvcmUgdGFnIG9u IGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtZ2VuZXJpYy1wcmltYXJ5IDUgIkluZGV4IGlu dG8gZ2VuZXJpYyA6cHJpbWFyeSB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1n ZW5lcmljLWFmdGVyIDYgIkluZGV4IGludG8gZ2VuZXJpYyA6YWZ0ZXIgdGFnIG9uIGEgbWV0aG9k LiIpIChkZWZjb25zdCBtZXRob2QtbnVtLXNsb3RzIDcgIk51bWJlciBvZiBpbmRleGVzIGludG8g YSBtZXRob2QncyB2ZWN0b3IuIikgKGF1dG9sb2FkIChxdW90ZSBieXRlLWNvbXBpbGUtZmlsZS1m b3JtLWRlZm1ldGhvZCkgImVpZWlvLWNvbXAiICJUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gYnl0 ZSBjb21waWxlIG1ldGhvZHMgaW4gYSBuaWNlIHdheS4iKSAocHV0IChxdW90ZSBkZWZtZXRob2Qp IChxdW90ZSBieXRlLWh1bmstaGFuZGxlcikgKHF1b3RlIGJ5dGUtY29tcGlsZS1maWxlLWZvcm0t ZGVmbWV0aG9kKSkgLi4uKSAoKGV2YWwtd2hlbi1jb21waWxlIGxhbWJkYSAoJnJlc3QgYm9keSkg KGxpc3QgLi4uIC4uLikpIChldmFsLWFuZC1jb21waWxlIGxhbWJkYSAoJnJlc3QgYm9keSkgKGJ5 dGUtY29tcGlsZS1ldmFsLWJlZm9yZS1jb21waWxlIC4uLikgKGNvbnMgLi4uIGJvZHkpKSkpCiAg KGJ5dGUtY29tcGlsZS1ldmFsLWJlZm9yZS1jb21waWxlIChtYWNyb2V4cGFuZC1hbGwgKGNvbnMg Li4uIGJvZHkpIGJ5dGUtY29tcGlsZS1pbml0aWFsLW1hY3JvLWVudmlyb25tZW50KSkKICAobGFt YmRhICgmcmVzdCBib2R5KSAoYnl0ZS1jb21waWxlLWV2YWwtYmVmb3JlLWNvbXBpbGUgKG1hY3Jv ZXhwYW5kLWFsbCAuLi4gYnl0ZS1jb21waWxlLWluaXRpYWwtbWFjcm8tZW52aXJvbm1lbnQpKSAo Y29ucyAocXVvdGUgcHJvZ24pIGJvZHkpKSgoaWYgKGZib3VuZHAgKHF1b3RlIGNvbXBpbGVkLWZ1 bmN0aW9uLWFyZ2xpc3QpKSAoZGVmYWxpYXMgKHF1b3RlIGVpZWlvLWNvbXBpbGVkLWZ1bmN0aW9u LWFyZ2xpc3QpIChxdW90ZSBjb21waWxlZC1mdW5jdGlvbi1hcmdsaXN0KSkgKGRlZnVuIGVpZWlv LWNvbXBpbGVkLWZ1bmN0aW9uLWFyZ2xpc3QgKGZ1bmMpICJSZXR1cm4gdGhlIGFyZ3VtZW50IGxp c3QgZm9yIHRoZSBjb21waWxlZCBmdW5jdGlvbiBGVU5DLiIgKGFyZWYgZnVuYyAwKSkpIChkZWZ2 YXIgZWllaW8taG9vayBuaWwgIipUaGlzIGhvb2sgaXMgZXhlY3V0ZWQsIHRoZW4gY2xlYXJlZCBl YWNoIHRpbWUgYGRlZmNsYXNzJyBpcyBjYWxsZWQuIikgKGRlZnZhciBlaWVpby1lcnJvci11bnN1 cHBvcnRlZC1jbGFzcy10YWdzIG5pbCAiKk5vbiBuaWwgdG8gdGhyb3cgYW4gZXJyb3IgaWYgYW4g ZW5jb3VudGVyZWQgdGFnIHVzIHVuc3VwcG9ydGVkLlxuVGhpcyBtYXkgcHJldmVudCBjbGFzc2Vz IGZyb20gQ0xPUyBhcHBsaWNhdGlvbnMgZnJvbSBiZWluZyB1c2VkIHdpdGggRUlFSU9cbnNpbmNl IEVJRUlPIGRvZXMgbm90IHN1cHBvcnQgYWxsIENMT1MgdGFncy4iKSAoZGVmdmFyIGVpZWlvLXNr aXAtdHlwZWNoZWNrIG5pbCAiKklmIG5vbi1uaWwsIHNraXAgYWxsIHNsb3QgdHlwZWNoZWNraW5n LlxuU2V0IHRoaXMgdG8gdCBwZXJtYW5lbnRseSBpZiBhIHByb2dyYW0gaXMgZnVuY3Rpb25pbmcg d2VsbCB0byBnZXQgYVxuc21hbGwgc3BlZWQgaW5jcmVhc2UuICBUaGlzIHZhcmlhYmxlIGlzIGFs c28gdXNlZCBpbnRlcm5hbGx5IHRvIGhhbmRsZVxuZGVmYXVsdCBzZXR0aW5nIGZvciBvcHRpbWl6 YXRpb24gcHVycG9zZXMuIikgKGRlZnZhciBlaWVpby1vcHRpbWl6ZS1wcmltYXJ5LW1ldGhvZHMt ZmxhZyB0ICJOb24tbmlsIG1lYW5zIHRvIG9wdGltaXplIHRoZSBtZXRob2QgZGlzcGF0Y2ggb24g cHJpbWFyeSBtZXRob2RzLiIpIChkZWZ2YXIgdGhpcyBuaWwgIkluc2lkZSBhIG1ldGhvZCwgdGhp cyB2YXJpYWJsZSBpcyB0aGUgb2JqZWN0IGluIHF1ZXN0aW9uLlxuRE8gTk9UIFNFVCBUSElTIFlP VVJTRUxGIHVubGVzcyB5b3UgYXJlIHRyeWluZyB0byBzaW11bGF0ZSBmcmllbmRseSBzbG90cy5c blxuTm90ZTogRW1iZWRkZWQgbWV0aG9kcyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIFRoZSB2 YXJpYWJsZSBUSElTIGlzXG5zdGlsbCBzZXQgZm9yIENMT1MgbWV0aG9kcyBmb3IgdGhlIHNha2Ug b2Ygcm91dGluZXMgbGlrZVxuYGNhbGwtbmV4dC1tZXRob2QnIikgKGRlZnZhciBzY29wZWQtY2xh c3MgbmlsICJUaGlzIGlzIHNldCB0byBhIGNsYXNzIHdoZW4gYSBtZXRob2QgaXMgcnVubmluZy5c blRoaXMgaXMgc28gd2Uga25vdyB3ZSBhcmUgYWxsb3dlZCB0byBjaGVjayBwcml2YXRlIHBhcnRz IG9yIGhvdyB0b1xuZXhlY3V0ZSBhIGBjYWxsLW5leHQtbWV0aG9kJy4gIERPIE5PVCBTRVQgVEhJ UyBZT1VSU0VMRiEiKSAoZGVmdmFyIGVpZWlvLWluaXRpYWxpemluZy1vYmplY3QgbmlsICJTZXQg dG8gbm9uLW5pbCB3aGlsZSBpbml0aWFsaXppbmcgYW4gb2JqZWN0LiIpIChkZWZjb25zdCBlaWVp by11bmJvdW5kIChtYWtlLXN5bWJvbCAidW5ib3VuZCIpICJVbmludGVybmVkIHN5bWJvbCByZXBy ZXNlbnRpbmcgYW4gdW5ib3VuZCBzbG90IGluIGFuIG9iamVjdC4iKSAoZGVmdmFyIGVpZWlvLWRl ZmF1bHQtc3VwZXJjbGFzcyBuaWwpIChkZWZjb25zdCBjbGFzcy1zeW1ib2wgMSAiQ2xhc3MncyBz eW1ib2wgKHNlbGYtcmVmZXJlbmNpbmcuKS4iKSAoZGVmY29uc3QgY2xhc3MtcGFyZW50IDIgIkNs YXNzIHBhcmVudCBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1jaGlsZHJlbiAzICJDbGFzcyBjaGls ZHJlbiBjbGFzcyBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1zeW1ib2wtb2JhcnJheSA0ICJPYmFy cmF5IHBlcm1pdHRpbmcgZmFzdCBhY2Nlc3MgdG8gdmFyaWFibGUgcG9zaXRpb24gaW5kZXhlcy4i KSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWEgNSAiQ2xhc3MgYXR0cmlidXRlIGluZGV4LiIpIChk ZWZjb25zdCBjbGFzcy1wdWJsaWMtZCA2ICJDbGFzcyBhdHRyaWJ1dGUgZGVmYXVsdHMgaW5kZXgu IikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1kb2MgNyAiQ2xhc3MgZG9jdW1lbnRhdGlvbiBzdHJp bmdzIGZvciBhdHRyaWJ1dGVzLiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtdHlwZSA4ICJDbGFz cyB0eXBlIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20gOSAiQ2xh c3MgY3VzdG9tIHR5cGUgZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWN1c3Rv bS1sYWJlbCAxMCAiQ2xhc3MgY3VzdG9tIGdyb3VwIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNs YXNzLXB1YmxpYy1jdXN0b20tZ3JvdXAgMTEgIkNsYXNzIGN1c3RvbSBncm91cCBmb3IgYSBzbG90 LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtcHJpbnRlciAxMiAiUHJpbnRlciBmb3IgYSBzbG90 LiIpIChkZWZjb25zdCBjbGFzcy1wcm90ZWN0aW9uIDEzICJDbGFzcyBwcm90ZWN0aW9uIGZvciBh IHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLWluaXRhcmctdHVwbGVzIDE0ICJDbGFzcyBpbml0YXJn IHR1cGxlcyBsaXN0LiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWEgMTUgIkNs YXNzIGFsbG9jYXRlZCBhdHRyaWJ1dGVzLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0 aW9uLWRvYyAxNiAiQ2xhc3MgYWxsb2NhdGVkIGRvY3VtZW50YXRpb24uIikgKGRlZmNvbnN0IGNs YXNzLWNsYXNzLWFsbG9jYXRpb24tdHlwZSAxNyAiQ2xhc3MgYWxsb2NhdGVkIHZhbHVlIHR5cGUu IikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tY3VzdG9tIDE4ICJDbGFzcyBhbGxv Y2F0ZWQgY3VzdG9tIGRlc2NyaXB0b3IuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRp b24tY3VzdG9tLWxhYmVsIDE5ICJDbGFzcyBhbGxvY2F0ZWQgY3VzdG9tIGRlc2NyaXB0b3IuIikg KGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tY3VzdG9tLWdyb3VwIDIwICJDbGFzcyBh bGxvY2F0ZWQgY3VzdG9tIGdyb3VwLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9u LXByaW50ZXIgMjEgIkNsYXNzIGFsbG9jYXRlZCBwcmludGVyIGZvciBhIHNsb3QuIikgKGRlZmNv bnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tcHJvdGVjdGlvbiAyMiAiQ2xhc3MgYWxsb2NhdGVk IHByb3RlY3Rpb24gbGlzdC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi12YWx1 ZXMgMjMgIkNsYXNzIGFsbG9jYXRlZCB2YWx1ZSB2ZWN0b3IuIikgKGRlZmNvbnN0IGNsYXNzLWRl ZmF1bHQtb2JqZWN0LWNhY2hlIDI0ICJDYWNoZSBpbmRleCBvZiB3aGF0IGEgbmV3bHkgY3JlYXRl ZCBvYmplY3Qgd291bGQgbG9vayBsaWtlLlxuVGhpcyB3aWxsIHNwZWVkIHVwIGluc3RhbnRpYXRp b24gdGltZSBhcyBvbmx5IGEgYGNvcHktc2VxdWVuY2UnIHdpbGxcbmJlIG5lZWRlZCwgaW5zdGVh ZCBvZiBsb29waW5nIG92ZXIgYWxsIHRoZSB2YWx1ZXMgYW5kIHNldHRpbmcgdGhlbVxuZnJvbSB0 aGUgZGVmYXVsdC4iKSAoZGVmY29uc3QgY2xhc3Mtb3B0aW9ucyAyNSAiU3RvcmFnZSBsb2NhdGlv biBvZiB0YWdnZWQgY2xhc3Mgb3B0aW9ucy5cblN0b3JlZCBvdXRyaWdodCB3aXRob3V0IG1vZGlm aWNhdGlvbnMgb3Igc3RyaXBwaW5nLiIpIChkZWZjb25zdCBjbGFzcy1udW0tc2xvdHMgMjYgIk51 bWJlciBvZiBzbG90cyBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBvYmplY3QuIikgKGRlZmNvbnN0 IG9iamVjdC1jbGFzcyAxICJJbmRleCBpbiBhbiBvYmplY3QgdmVjdG9yIHdoZXJlIHRoZSBjbGFz cyBpcyBzdG9yZWQuIikgKGRlZmNvbnN0IG9iamVjdC1uYW1lIDIgIkluZGV4IGluIGFuIG9iamVj dCB3aGVyZSB0aGUgbmFtZSBpcyBzdG9yZWQuIikgKGRlZmNvbnN0IG1ldGhvZC1zdGF0aWMgMCAi SW5kZXggaW50byA6c3RhdGljIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWJl Zm9yZSAxICJJbmRleCBpbnRvIDpiZWZvcmUgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZjb25zdCBt ZXRob2QtcHJpbWFyeSAyICJJbmRleCBpbnRvIDpwcmltYXJ5IHRhZyBvbiBhIG1ldGhvZC4iKSAo ZGVmY29uc3QgbWV0aG9kLWFmdGVyIDMgIkluZGV4IGludG8gOmFmdGVyIHRhZyBvbiBhIG1ldGhv ZC4iKSAoZGVmY29uc3QgbWV0aG9kLW51bS1saXN0cyA0ICJOdW1iZXIgb2YgaW5kZXhlcyBpbnRv IG1ldGhvZHMgdmVjdG9yIGluIHdoaWNoIGdyb3VwcyBvZiBmdW5jdGlvbnMgYXJlIGtlcHQuIikg KGRlZmNvbnN0IG1ldGhvZC1nZW5lcmljLWJlZm9yZSA0ICJJbmRleCBpbnRvIGdlbmVyaWMgOmJl Zm9yZSB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1nZW5lcmljLXByaW1hcnkg NSAiSW5kZXggaW50byBnZW5lcmljIDpwcmltYXJ5IHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29u c3QgbWV0aG9kLWdlbmVyaWMtYWZ0ZXIgNiAiSW5kZXggaW50byBnZW5lcmljIDphZnRlciB0YWcg b24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1udW0tc2xvdHMgNyAiTnVtYmVyIG9mIGlu ZGV4ZXMgaW50byBhIG1ldGhvZCdzIHZlY3Rvci4iKSAoYXV0b2xvYWQgKHF1b3RlIGJ5dGUtY29t cGlsZS1maWxlLWZvcm0tZGVmbWV0aG9kKSAiZWllaW8tY29tcCIgIlRoaXMgZnVuY3Rpb24gaXMg dXNlZCB0byBieXRlIGNvbXBpbGUgbWV0aG9kcyBpbiBhIG5pY2Ugd2F5LiIpIChwdXQgKHF1b3Rl IGRlZm1ldGhvZCkgKHF1b3RlIGJ5dGUtaHVuay1oYW5kbGVyKSAocXVvdGUgYnl0ZS1jb21waWxl LWZpbGUtZm9ybS1kZWZtZXRob2QpKSAoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgKHF1b3Rl IGVpZWlvLWNvbXApKSkgKGRlZm1hY3JvIGNsYXNzLXYgKGNsYXNzKSAiSW50ZXJuYWw6IFJldHVy biB0aGUgY2xhc3MgdmVjdG9yIGZyb20gdGhlIENMQVNTIHN5bWJvbC4iIChcYCAoZ2V0IC4uLiAu Li4pKSkgKGRlZm1hY3JvIGNsYXNzLXAgKGNsYXNzKSAiUmV0dXJuIHQgaWYgQ0xBU1MgaXMgYSB2 YWxpZCBjbGFzcyB2ZWN0b3IuXG5DTEFTUyBpcyBhIHN5bWJvbC4iIChcYCAoY29uZGl0aW9uLWNh c2UgbmlsIC4uLiAuLi4pKSkgKGRlZm1hY3JvIGVpZWlvLW9iamVjdC1wIChvYmopICJSZXR1cm4g bm9uLW5pbCBpZiBPQkogaXMgYW4gRUlFSU8gb2JqZWN0LiIgKFxgIChjb25kaXRpb24tY2FzZSBu aWwgLi4uIC4uLikpKSAoZGVmYWxpYXMgKHF1b3RlIG9iamVjdC1wKSAocXVvdGUgZWllaW8tb2Jq ZWN0LXApKSAoZGVmbWFjcm8gY2xhc3MtY29uc3RydWN0b3IgKGNsYXNzKSAiUmV0dXJuIHRoZSBz eW1ib2wgcmVwcmVzZW50aW5nIHRoZSBjb25zdHJ1Y3RvciBvZiBDTEFTUy4iIChcYCAoYXJlZiAu Li4gY2xhc3Mtc3ltYm9sKSkpIChkZWZtYWNybyBnZW5lcmljLXAgKG1ldGhvZCkgIlJldHVybiB0 IGlmIHN5bWJvbCBNRVRIT0QgaXMgYSBnZW5lcmljIGZ1bmN0aW9uLlxuT25seSBtZXRob2RzIGhh dmUgdGhlIHN5bWJvbCBgZWllaW8tbWV0aG9kLW9iYXJyYXknIGFzIGEgcHJvcGVydHkgKHdoaWNo XG5jb250YWlucyBhIGxpc3Qgb2YgYWxsIGJpbmRpbmdzIHRvIHRoYXQgbWV0aG9kIHR5cGUuKSIg KFxgIChhbmQgLi4uIC4uLikpKSAoZGVmdW4gZ2VuZXJpYy1wcmltYXJ5LW9ubHktcCAobWV0aG9k KSAiUmV0dXJuIHQgaWYgc3ltYm9sIE1FVEhPRCBpcyBhIGdlbmVyaWMgZnVuY3Rpb24gd2l0aCBv bmx5IHByaW1hcnkgbWV0aG9kcy5cbk9ubHkgbWV0aG9kcyBoYXZlIHRoZSBzeW1ib2wgYGVpZWlv LW1ldGhvZC1vYmFycmF5JyBhcyBhIHByb3BlcnR5ICh3aGljaFxuY29udGFpbnMgYSBsaXN0IG9m IGFsbCBiaW5kaW5ncyB0byB0aGF0IG1ldGhvZCB0eXBlLilcbk1ldGhvZHMgd2l0aCBvbmx5IHBy aW1hcnkgaW1wbGVtZW50YXRpb25zIGFyZSBleGVjdXRlZCBpbiBhbiBvcHRpbWl6ZWQgd2F5LiIg KGFuZCAoZ2VuZXJpYy1wIG1ldGhvZCkgKGxldCAuLi4gLi4uKSkpIChkZWZ1biBnZW5lcmljLXBy aW1hcnktb25seS1vbmUtcCAobWV0aG9kKSAiUmV0dXJuIHQgaWYgc3ltYm9sIE1FVEhPRCBpcyBh IGdlbmVyaWMgZnVuY3Rpb24gd2l0aCBvbmx5IHByaW1hcnkgbWV0aG9kcy5cbk9ubHkgbWV0aG9k cyBoYXZlIHRoZSBzeW1ib2wgYGVpZWlvLW1ldGhvZC1vYmFycmF5JyBhcyBhIHByb3BlcnR5ICh3 aGljaFxuY29udGFpbnMgYSBsaXN0IG9mIGFsbCBiaW5kaW5ncyB0byB0aGF0IG1ldGhvZCB0eXBl Lilcbk1ldGhvZHMgd2l0aCBvbmx5IHByaW1hcnkgaW1wbGVtZW50YXRpb25zIGFyZSBleGVjdXRl ZCBpbiBhbiBvcHRpbWl6ZWQgd2F5LiIgKGFuZCAoZ2VuZXJpYy1wIG1ldGhvZCkgKGxldCAuLi4g Li4uKSkpIChkZWZtYWNybyBjbGFzcy1vcHRpb24tYXNzb2MgKGxpc3Qgb3B0aW9uKSAiUmV0dXJu IGZyb20gTElTVCB0aGUgZm91bmQgT1BUSU9OLiAgTmlsIGlmIGl0IGRvZXNuJ3QgZXhpc3QuIiAo XGAgKGNhci1zYWZlIC4uLikpKSAoZGVmbWFjcm8gY2xhc3Mtb3B0aW9uIChjbGFzcyBvcHRpb24p ICJSZXR1cm4gdGhlIHZhbHVlIHN0b3JlZCBmb3IgQ0xBU1MnIE9QVElPTi5cblJldHVybiBuaWwg aWYgdGhhdCBvcHRpb24gZG9lc24ndCBleGlzdC4iIChcYCAoY2xhc3Mtb3B0aW9uLWFzc29jIC4u LiAuLi4pKSkgKGRlZm1hY3JvIGNsYXNzLWFic3RyYWN0LXAgKGNsYXNzKSAiUmV0dXJuIG5vbi1u aWwgaWYgQ0xBU1MgaXMgYWJzdHJhY3QuXG5BYnN0cmFjdCBjbGFzc2VzIGNhbm5vdCBiZSBpbnN0 YW50aWF0ZWQuIiAoXGAgKGNsYXNzLW9wdGlvbiAuLi4gOmFic3RyYWN0KSkpIChkZWZtYWNybyBj bGFzcy1tZXRob2QtaW52b2NhdGlvbi1vcmRlciAoY2xhc3MpICJSZXR1cm4gdGhlIGludm9jYXRp b24gb3JkZXIgb2YgQ0xBU1MuXG5BYnN0cmFjdCBjbGFzc2VzIGNhbm5vdCBiZSBpbnN0YW50aWF0 ZWQuIiAoXGAgKG9yIC4uLiA6YnJlYWR0aC1maXJzdCkpKSAoZGVmbWFjcm8gZGVmY2xhc3MgKG5h bWUgc3VwZXJjbGFzcyBzbG90cyAmcmVzdCBvcHRpb25zLWFuZC1kb2MpICJEZWZpbmUgTkFNRSBh cyBhIG5ldyBjbGFzcyBkZXJpdmVkIGZyb20gU1VQRVJDTEFTUyB3aXRoIFNMT1RTLlxuT1BUSU9O Uy1BTkQtRE9DIGlzIHVzZWQgYXMgdGhlIGNsYXNzJyBvcHRpb25zIGFuZCBiYXNlIGRvY3VtZW50 YXRpb24uXG5TVVBFUkNMQVNTIGlzIGEgbGlzdCBvZiBzdXBlcmNsYXNzZXMgdG8gaW5oZXJpdCBm cm9tLCB3aXRoIFNMT1RTXG5iZWluZyB0aGUgc2xvdHMgcmVzaWRpbmcgaW4gdGhhdCBjbGFzcyBk ZWZpbml0aW9uLiAgTk9URTogQ3VycmVudGx5XG5vbmx5IG9uZSBzbG90IG1heSBleGlzdCBpbiBT VVBFUkNMQVNTIGFzIG11bHRpcGxlIGluaGVyaXRhbmNlIGlzIG5vdFxueWV0IHN1cHBvcnRlZC4g IFN1cHBvcnRlZCB0YWdzIGFyZTpcblxuICA6aW5pdGZvcm0gICAtIGluaXRpYWxpemluZyBmb3Jt XG4gIDppbml0YXJnICAgIC0gdGFnIHVzZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uXG4gIDphY2Nl c3NvciAgIC0gdGFnIHVzZWQgdG8gY3JlYXRlIGEgZnVuY3Rpb24gdG8gYWNjZXNzIHRoaXMgc2xv dFxuICA6YWxsb2NhdGlvbiAtIHNwZWNpZnkgd2hlcmUgdGhlIHZhbHVlIGlzIHN0b3JlZC5cbiAg ICAgICAgICAgICAgICBkZWZhdWx0cyB0byBgOmluc3RhbmNlJywgYnV0IGNvdWxkIGFsc28gYmUg YDpjbGFzcydcbiAgOndyaXRlciAgICAgLSBhIGZ1bmN0aW9uIHN5bWJvbCB3aGljaCB3aWxsIGB3 cml0ZScgYW4gb2JqZWN0J3Mgc2xvdFxuICA6cmVhZGVyICAgICAtIGEgZnVuY3Rpb24gc3ltYm9s IHdoaWNoIHdpbGwgYHJlYWQnIGFuIG9iamVjdFxuICA6dHlwZSAgICAgICAtIHRoZSB0eXBlIG9m IGRhdGEgYWxsb3dlZCBpbiB0aGlzIHNsb3QgKHNlZSBgdHlwZXAnKVxuICA6ZG9jdW1lbnRhdGlv blxuICAgICAgICAgICAgICAtIEEgc3RyaW5nIGRvY3VtZW50aW5nIHVzZSBvZiB0aGlzIHNsb3Qu XG5cblRoZSBmb2xsb3dpbmcgYXJlIGV4dGVuc2lvbnMgb24gQ0xPUzpcbiAgOnByb3RlY3Rpb24g LSBTcGVjaWZ5IHByb3RlY3Rpb24gZm9yIHRoaXMgc2xvdC5cbiAgICAgICAgICAgICAgICBEZWZh dWx0cyB0byBgOnB1YmxpYycuICBBbHNvIHVzZSBgOnByb3RlY3RlZCcsIG9yIGA6cHJpdmF0ZSdc biAgOmN1c3RvbSAgICAgLSBXaGVuIGN1c3RvbWl6aW5nIGFuIG9iamVjdCwgdGhlIGN1c3RvbSA6 dHlwZS4gIFB1YmxpYyBvbmx5LlxuICA6bGFiZWwgICAgICAtIEEgdGV4dCBzdHJpbmcgbGFiZWwg dXNlZCBmb3IgYSBzbG90IHdoZW4gY3VzdG9taXppbmcuXG4gIDpncm91cCAgICAgIC0gTmFtZSBv ZiBhIGN1c3RvbWl6YXRpb24gZ3JvdXAgdGhpcyBzbG90IGJlbG9uZ3MgaW4uXG4gIDpwcmludGVy ICAgIC0gQSBmdW5jdGlvbiB0byBjYWxsIHRvIHByaW50IHRoZSB2YWx1ZSBvZiBhIHNsb3QuXG4g ICAgICAgICAgICAgICAgU2VlIGBlaWVpby1vdmVycmlkZS1wcmluMScgYXMgYW4gZXhhbXBsZS5c blxuQSBjbGFzcyBjYW4gYWxzbyBoYXZlIG9wdGlvbmFsIG9wdGlvbnMuICBUaGVzZSBvcHRpb25z IGhhcHBlbiBpbiBwbGFjZVxub2YgZG9jdW1lbnRhdGlvbiwgKGluY2x1ZGluZyBhIDpkb2N1bWVu dGF0aW9uIHRhZykgaW4gYWRkaXRpb24gdG9cbmRvY3VtZW50YXRpb24sIG9yIG5vdCBhdCBhbGwu ICBTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6XG5cbiAgOmRvY3VtZW50YXRpb24gLSBUaGUgZG9jLXN0 cmluZyB1c2VkIGZvciB0aGlzIGNsYXNzLlxuXG5PcHRpb25zIGFkZGVkIHRvIEVJRUlPOlxuXG4g IDphbGxvdy1uaWwtaW5pdGZvcm0gLSBOb24tbmlsIHRvIHNraXAgdHlwZWNoZWNraW5nIG9mIGlu aXRmb3JtcyBpZiBuaWwuXG4gIDpjdXN0b20tZ3JvdXBzICAgICAgLSBMaXN0IG9mIGN1c3RvbSBn cm91cCBuYW1lcy4gIE9yZ2FuaXplcyBzbG90cyBpbnRvXG4gICAgICAgICAgICAgICAgICAgICAg ICByZWFzb25hYmxlIGdyb3VwcyBmb3IgY3VzdG9taXphdGlvbnMuXG4gIDphYnN0cmFjdCAgICAg ICAgICAgLSBOb24tbmlsIHRvIHByZXZlbnQgaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MuXG4gICAg ICAgICAgICAgICAgICAgICAgICBJZiBhIHN0cmluZywgdXNlIGFzIGFuIGVycm9yIHN0cmluZyBp ZiBzb21lb25lIGRvZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB0byBtYWtlIGFuIGlu c3RhbmNlLlxuICA6bWV0aG9kLWludm9jYXRpb24tb3JkZXJcbiAgICAgICAgICAgICAgICAgICAg ICAtIENvbnRyb2wgdGhlIG1ldGhvZCBpbnZva2F0aW9uIG9yZGVyIGlmIHRoZXJlIGlzXG4gICAg ICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSBpbmhlcml0YW5jZS4gIFZhbGlkIHZhbHVlcyBh cmU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgOmJyZWFkdGgtZmlyc3QgLSBUaGUgZGVmYXVs dC5cbiAgICAgICAgICAgICAgICAgICAgICAgICA6ZGVwdGgtZmlyc3RcblxuT3B0aW9ucyBpbiBD TE9TIG5vdCBzdXBwb3J0ZWQgaW4gRUlFSU86XG5cbiAgOm1ldGFjbGFzcyAtIENsYXNzIHRvIHVz ZSBpbiBwbGFjZSBvZiBgc3RhbmRhcmQtY2xhc3MnXG4gIDpkZWZhdWx0LWluaXRhcmdzIC0gSW5p dGFyZ3MgdG8gdXNlIHdoZW4gaW5pdGlhbGl6aW5nIG5ldyBvYmplY3RzIG9mXG4gICAgICAgICAg ICAgICAgICAgICAgdGhpcyBjbGFzcy5cblxuRHVlIHRvIHRoZSB3YXkgY2xhc3Mgb3B0aW9ucyBh cmUgc2V0IHVwLCB5b3UgY2FuIGFkZCBhbnkgdGFncyBpbiB5b3Vcbndpc2gsIGFuZCByZWZlcmVu Y2UgdGhlbSB1c2luZyB0aGUgZnVuY3Rpb24gYGNsYXNzLW9wdGlvbicuIiAoXGAgKGV2YWwtYW5k LWNvbXBpbGUgLi4uKSkpIChkZWZ2YXIgZWllaW8tZGVmY2xhc3MtYXV0b2xvYWQtbWFwIChtYWtl LXZlY3RvciA3IG5pbCkgIlN5bWJvbCBtYXAgb2Ygc3VwZXJjbGFzc2VzIHdlIGZpbmQgaW4gYXV0 b2xvYWRzLiIpIChkZWZ1biBlaWVpby1kZWZjbGFzcy1hdXRvbG9hZCAoY25hbWUgc3VwZXJjbGFz c2VzIGZpbGVuYW1lIGRvYykgIkNyZWF0ZSBhdXRvbG9hZCBzeW1ib2xzIGZvciB0aGUgRUlFSU8g Y2xhc3MgQ05BTUUuXG5TVVBFUkNMQVNTRVMgYXJlIHRoZSBzdXBlcmNsYXNzZXMgdGhhdCBDTkFN RSBpbmhlcml0ZXMgZnJvbS5cbkRPQyBpcyB0aGUgZG9jc3RyaW5nIGZvciBDTkFNRS5cblRoaXMg ZnVuY3Rpb24gY3JlYXRlcyBhIG1vY2stY2xhc3MgZm9yIENOQU1FIGFuZCBhZGRzIGl0IGludG9c blNVUEVSQ0xBU1NFUyBhcyBjaGlsZHJlbi5cbkl0IGNyZWF0ZXMgYW4gYXV0b2xvYWQgZnVuY3Rp b24gZm9yIENOQU1FJ3MgY29uc3RydWN0b3IuIiAobGV0KiAoLi4uIC4uLikgKGlmIG9sZGMgbmls IC4uLiAuLi4gLi4uKSkpIChkZWZzdWJzdCBlaWVpby1jbGFzcy11bi1hdXRvbG9hZCAoY25hbWUp ICJJZiBjbGFzcyBDTkFNRSBpcyBpbiBhbiBhdXRvbG9hZCBzdGF0ZSwgbG9hZCBpdCdzIGZpbGUu IiAod2hlbiAoZXEgLi4uIC4uLikgKGxvYWQtbGlicmFyeSAuLi4pKSkgKGRlZnVuIGVpZWlvLWRl ZmNsYXNzIChjbmFtZSBzdXBlcmNsYXNzZXMgc2xvdHMgb3B0aW9ucy1hbmQtZG9jKSAiU2VlIGBk ZWZjbGFzcycgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5EZWZpbmUgQ05BTUUgYXMgYSBuZXcgc3Vi Y2xhc3Mgb2YgU1VQRVJDTEFTU0VTLCB3aXRoIFNMT1RTIGJlaW5nIHRoZVxuc2xvdHMgcmVzaWRp bmcgaW4gdGhhdCBjbGFzcyBkZWZpbml0aW9uLCBhbmQgd2l0aCBvcHRpb25zIG9yIGRvY3VtZW50 YXRpb25cbk9QVElPTlMtQU5ELURPQyBhcyB0aGUgdG9wbGV2ZWwgZG9jdW1lbnRhdGlvbiBmb3Ig dGhpcyBjbGFzcy4iIChydW4taG9va3MgKHF1b3RlIGVpZWlvLWhvb2spKSAoc2V0cSBlaWVpby1o b29rIG5pbCkgKGlmIChub3QgLi4uKSAoc2lnbmFsIC4uLiAuLi4pKSAoaWYgKG5vdCAuLi4pIChz aWduYWwgLi4uIC4uLikpIChsZXQqICguLi4gLi4uIC4uLiAuLi4gLi4uIC4uLikgKGFzZXQgbmV3 YyAwIC4uLikgKGFzZXQgbmV3YyBjbGFzcy1zeW1ib2wgY25hbWUpIChpZiBvbGRjIC4uLiAuLi4p IChjb25kIC4uLiAuLi4pIChzZXRxIG9wdGlvbnMgLi4uKSAoaWYgcG5hbWUgLi4uIC4uLikgKHNl dCBjbmFtZSBjbmFtZSkgKGxldCAuLi4gLi4uKSAobGV0IC4uLiAuLi4pIChsZXQgLi4uIC4uLiAu Li4pIChlaWVpby1jb3B5LXBhcmVudHMtaW50by1zdWJjbGFzcyBuZXdjIHN1cGVyY2xhc3Nlcykg KHB1dCBjbmFtZSAuLi4gbmV3YykgKHdoaWxlIHNsb3RzIC4uLiAuLi4pIChhc2V0IG5ld2MgY2xh c3MtcHVibGljLWEgLi4uKSAoYXNldCBuZXdjIGNsYXNzLXB1YmxpYy1kIC4uLikgKGFzZXQgbmV3 YyBjbGFzcy1wdWJsaWMtZG9jIC4uLikgKGFzZXQgbmV3YyBjbGFzcy1wdWJsaWMtdHlwZSAuLi4p IChhc2V0IG5ld2MgY2xhc3MtcHVibGljLWN1c3RvbSAuLi4pIChhc2V0IG5ld2MgY2xhc3MtcHVi bGljLWN1c3RvbS1sYWJlbCAuLi4pIChhc2V0IG5ld2MgY2xhc3MtcHVibGljLWN1c3RvbS1ncm91 cCAuLi4pIChhc2V0IG5ld2MgY2xhc3MtcHVibGljLXByaW50ZXIgLi4uKSAoYXNldCBuZXdjIGNs YXNzLXByb3RlY3Rpb24gLi4uKSAoYXNldCBuZXdjIGNsYXNzLWluaXRhcmctdHVwbGVzIC4uLikg KGFzZXQgbmV3YyBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLXR5cGUgLi4uKSAoYXNldCBuZXdjIGNs YXNzLWNsYXNzLWFsbG9jYXRpb24tdmFsdWVzIC4uLikgKGxldCogLi4uIC4uLiAuLi4pIChpZiAu Li4gLi4uIC4uLikgKHB1dCBjbmFtZSAuLi4gLi4uKSAobGV0IC4uLiAuLi4gLi4uKSAoYXNldCBu ZXdjIGNsYXNzLW9wdGlvbnMgb3B0aW9ucykgKGlmIGNsZWFycGFyZW50IC4uLikgKGxldCAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLikgY25hbWUpKSAoZGVmdW4gZWllaW8tcGVyZm9ybS1zbG90LXZh bGlkYXRpb24tZm9yLWRlZmF1bHQgKHNsb3Qgc3BlYyB2YWx1ZSBza2lwbmlsKSAiRm9yIFNMT1Qs IHNpZ25hbCBpZiBTUEVDIGRvZXMgbm90IG1hdGNoIFZBTFVFLlxuSWYgU0tJUE5JTCBpcyBub24t bmlsLCB0aGVuIGlmIFZBTFVFIGlzIG5pbCwgcmV0dXJuIHQuIiAobGV0ICguLi4pIChpZiAuLi4g Li4uKSkpIChkZWZ1biBlaWVpby1hZGQtbmV3LXNsb3QgKG5ld2MgYSBkIGRvYyB0eXBlIGN1c3Qg bGFiZWwgY3VzdGcgcHJpbnQgcHJvdCBpbml0IGFsbG9jICZvcHRpb25hbCBkZWZhdWx0b3ZlcnJp ZGUgc2tpcG5pbCkgIkFkZCBpbnRvIE5FV0MgYXR0cmlidXRlIEEuXG5JZiBBIGFscmVhZHkgZXhp c3RzIGluIE5FV0MsIHRoZW4gZG8gbm90aGluZy4gIElmIGl0IGRvZXNuJ3QgZXhpc3QsXG50aGVu IGFsc28gYWRkIGluIEQgKGRlZnVhbHQpLCBET0MsIFRZUEUsIENVU1QsIExBQkVMLCBDVVNURywg UFJJTlQsIFBST1QsIGFuZCBJTklUIGFyZy5cbkFyZ3VtZW50IEFMTE9DIHNwZWNpZmllcyBpZiB0 aGUgc2xvdCBpcyBhbGxvY2F0ZWQgcGVyIGluc3RhbmNlLCBvciBwZXIgY2xhc3MuXG5JZiBvcHRp b25hbCBERUZBVUxUT1ZFUlJJREUgaXMgbm9uLW5pbCwgdGhlbiBpZiBBIGV4aXN0cyBpbiBORVdD LFxud2UgbXVzdCBvdmVycmlkZSBpdCdzIHZhbHVlIGZvciBhIGRlZmF1bHQuXG5PcHRpb25hbCBh cmd1bWVudCBTS0lQTklMIGluZGljYXRlcyBpZiB0eXBlIGNoZWNraW5nIHNob3VsZCBiZSBza2lw cGVkXG5pZiBkZWZhdWx0IHZhbHVlIGlzIG5pbC4iIChjb25kaXRpb24tY2FzZSBuaWwgKGlmIC4u LiAuLi4pIChlcnJvciBuaWwpKSAoaWYgKHNlcXVlbmNlcCB0eXBlKSAoc2V0cSB0eXBlIC4uLikp IChpZiAoc2VxdWVuY2VwIGN1c3QpIChzZXRxIGN1c3QgLi4uKSkgKGlmIChzZXF1ZW5jZXAgY3Vz dGcpIChzZXRxIGN1c3RnIC4uLikpIChpZiAobWVtYmVyIGEgLi4uKSAoc2V0cSBhbGxvYyAuLi4p KSAoaWYgKG9yIC4uLiAuLi4pIChwcm9nbiAuLi4pIChsZXQgLi4uIC4uLikpKSAoZGVmdW4gZWll aW8tY29weS1wYXJlbnRzLWludG8tc3ViY2xhc3MgKG5ld2MgcGFyZW50cykgIkNvcHkgaW50byBO RVdDIHRoZSBzbG90cyBvZiBQQVJFTlRTLlxuRm9sbG93IHRoZSBydWxlcyBvZiBub3Qgb3Zlcndy aXR0aW5nIGVhcmx5IHBhcmVudHMgd2hlbiBhcHBseWluZyB0b1xudGhlIG5ldyBjaGlsZCBjbGFz cy4iIChsZXQgKC4uLiAuLi4pICh3aGlsZSBwcyAuLi4gLi4uKSkpIChkZWZ1biBtYWtlLWluc3Rh bmNlIChjbGFzcyAmcmVzdCBpbml0YXJncykgIk1ha2UgYSBuZXcgaW5zdGFuY2Ugb2YgQ0xBU1Mg YmFzZWQgb24gSU5JVEFSR1MuXG5DTEFTUyBpcyBhIGNsYXNzIHN5bWJvbC4gIEZvciBleGFtcGxl OlxuXG4gIChtYWtlLWluc3RhbmNlICdmb28pXG5cbiAgSU5JVEFSR1MgaXMgYSBwcm9wZXJ0eSBs aXN0IHdpdGgga2V5d29yZHMgYmFzZWQgb24gdGhlIDppbml0YXJnXG5mb3IgZWFjaCBzbG90LiAg Rm9yIGV4YW1wbGU6XG5cbiAgKG1ha2UtaW5zdGFuY2UgJ2ZvbyA6c2xvdDEgdmFsdWUxIDpzbG90 TiB2YWx1ZU4pXG5cbkNvbXBhdGFiaWxpdHkgbm90ZTpcblxuSWYgdGhlIGZpcnN0IGVsZW1lbnQg b2YgSU5JVEFSR1MgaXMgYSBzdHJpbmcsIGl0IGlzIHVzZWQgYXMgdGhlXG5uYW1lIG9mIHRoZSBj bGFzcy5cblxuSW4gRUlFSU8sIHRoZSBjbGFzcycgY29uc3RydWN0b3IgcmVxdWlyZXMgYSBuYW1l IGZvciB1c2Ugd2hlbiBwcmludGluZy5cbmBtYWtlLWluc3RhbmNlJyBpbiBDTE9TIGRvZXNuJ3Qg dXNlIG5hbWVzIHRoZSB3YXkgRW1hY3MgZG9lcywgc28gdGhlXG5jbGFzcyBpcyB1c2VkIGFzIHRo ZSBuYW1lIHNsb3QgaW5zdGVhZCB3aGVuIElOSVRBUkdTIGRvZXNuJ3Qgc3RhcnQgd2l0aFxuYSBz dHJpbmcuIiAoaWYgKGFuZCAuLi4gLi4uKSAoYXBwbHkgLi4uIGluaXRhcmdzKSAoYXBwbHkgLi4u IC4uLiBpbml0YXJncykpKSAoZGVmbWFjcm8gZGVmZ2VuZXJpYyAobWV0aG9kIGFyZ3MgJm9wdGlv bmFsIGRvYy1zdHJpbmcpICJDcmVhdGUgYSBnZW5lcmljIGZ1bmN0aW9uIE1FVEhPRC4gIEFSR1Mg aXMgaWdub3JlZC5cbkRPQy1TVFJJTkcgaXMgdGhlIGJhc2UgZG9jdW1lbnRhdGlvbiBmb3IgdGhp cyBjbGFzcy4gIEEgZ2VuZXJpY1xuZnVuY3Rpb24gaGFzIG5vIGJvZHksIGFzIGl0J3MgcHVycG9z ZSBpcyB0byBkZWNpZGUgd2hpY2ggbWV0aG9kIGJvZHlcbmlzIGFwcHJvcHJpYXRlIHRvIHVzZS4g IFVzZSBgZGVmbWV0aG9kJyB0byBjcmVhdGUgbWV0aG9kcywgYW5kIGl0XG5jYWxscyBkZWZnZW5l cmljIGZvciB5b3UuICBXaXRoIHRoaXMgaW1wbGVtZW50YXRpb24gdGhlIGFyZ3VtZW50cyBhcmVc bmN1cnJlbnRseSBpZ25vcmVkLiAgWW91IGNhbiB1c2UgYGRlZmdlbmVyaWMnIHRvIGFwcGx5IHNw ZWNpYWxpemVkXG50b3AgbGV2ZWwgZG9jdW1lbnRhdGlvbiB0byBhIG1ldGhvZC4iIChcYCAoZWll aW8tZGVmZ2VuZXJpYyAuLi4gLi4uKSkpIChkZWZ1biBlaWVpby1kZWZnZW5lcmljLWZvcm0gKG1l dGhvZCBkb2Mtc3RyaW5nKSAiVGhlIGxhbWJkYSBmb3JtIHRoYXQgd291bGQgYmUgdXNlZCBhcyB0 aGUgZnVuY3Rpb24gZGVmaW5lZCBvbiBNRVRIT0QuXG5BbGwgbWV0aG9kcyBzaG91bGQgY2FsbCB0 aGUgc2FtZSBFSUVJTyBmdW5jdGlvbiBmb3IgZGlzcGF0Y2guXG5ET0MtU1RSSU5HIGlzIHRoZSBk b2N1bWVudGF0aW9uIGF0dGFjaGVkIHRvIE1FVEhPRC4iIChcYCAobGFtYmRhIC4uLiAuLi4gLi4u KSkpIChkZWZzdWJzdCBlaWVpby1kZWZnZW5lcmljLXJlc2V0LWdlbmVyaWMtZm9ybSAobWV0aG9k KSAiU2V0dXAgTUVUSE9EIHRvIGNhbGwgdGhlIGdlbmVyaWMgZm9ybS4iIChsZXQgKC4uLikgKGZz ZXQgbWV0aG9kIC4uLikpKSAoZGVmdW4gZWllaW8tZGVmZ2VuZXJpYy1mb3JtLXByaW1hcnktb25s eSAobWV0aG9kIGRvYy1zdHJpbmcpICJUaGUgbGFtYmRhIGZvcm0gdGhhdCB3b3VsZCBiZSB1c2Vk IGFzIHRoZSBmdW5jdGlvbiBkZWZpbmVkIG9uIE1FVEhPRC5cbkFsbCBtZXRob2RzIHNob3VsZCBj YWxsIHRoZSBzYW1lIEVJRUlPIGZ1bmN0aW9uIGZvciBkaXNwYXRjaC5cbkRPQy1TVFJJTkcgaXMg dGhlIGRvY3VtZW50YXRpb24gYXR0YWNoZWQgdG8gTUVUSE9ELiIgKFxgIChsYW1iZGEgLi4uIC4u LiAuLi4pKSkgKGRlZnN1YnN0IGVpZWlvLWRlZmdlbmVyaWMtcmVzZXQtZ2VuZXJpYy1mb3JtLXBy aW1hcnktb25seSAobWV0aG9kKSAiU2V0dXAgTUVUSE9EIHRvIGNhbGwgdGhlIGdlbmVyaWMgZm9y bS4iIChsZXQgKC4uLikgKGZzZXQgbWV0aG9kIC4uLikpKSAoZGVmdW4gZWllaW8tZGVmZ2VuZXJp Yy1mb3JtLXByaW1hcnktb25seS1vbmUgKG1ldGhvZCBkb2Mtc3RyaW5nIGNsYXNzIGltcGwpICJU aGUgbGFtYmRhIGZvcm0gdGhhdCB3b3VsZCBiZSB1c2VkIGFzIHRoZSBmdW5jdGlvbiBkZWZpbmVk IG9uIE1FVEhPRC5cbkFsbCBtZXRob2RzIHNob3VsZCBjYWxsIHRoZSBzYW1lIEVJRUlPIGZ1bmN0 aW9uIGZvciBkaXNwYXRjaC5cbkRPQy1TVFJJTkcgaXMgdGhlIGRvY3VtZW50YXRpb24gYXR0YWNo ZWQgdG8gTUVUSE9ELlxuQ0xBU1MgaXMgdGhlIGNsYXNzIHN5bWJvbCBuZWVkZWQgZm9yIHByaXZh dGUgbWV0aG9kIGFjY2Vzcy5cbklNUEwgaXMgdGhlIHN5bWJvbCBob2xkaW5nIHRoZSBtZXRob2Qg aW1wbGVtZW50YXRpb24uIiAocmVxdWlyZSAocXVvdGUgYnl0ZWNvbXApKSAobGV0ICguLi4gLi4u KSAoYnl0ZS1jb21waWxlLWxhbWJkYSAuLi4pKSkgKGRlZnN1YnN0IGVpZWlvLWRlZmdlbmVyaWMt cmVzZXQtZ2VuZXJpYy1mb3JtLXByaW1hcnktb25seS1vbmUgKG1ldGhvZCkgIlNldHVwIE1FVEhP RCB0byBjYWxsIHRoZSBnZW5lcmljIGZvcm0uIiAobGV0KiAoLi4uIC4uLiAuLi4pIChmc2V0IG1l dGhvZCAuLi4pKSkgKGRlZnVuIGVpZWlvLWRlZmdlbmVyaWMgKG1ldGhvZCBkb2Mtc3RyaW5nKSAi RW5naW5lIHBhcnQgdG8gYGRlZmdlbmVyaWMnIG1hY3JvIGRlZmluaW5nIE1FVEhPRCB3aXRoIERP Qy1TVFJJTkcuIiAoaWYgKGFuZCAuLi4gLi4uIC4uLikgKGVycm9yICJZb3UgY2Fubm90IGNyZWF0 ZSBhIGdlbmVyaWMvbWV0aG9kIG92ZXIgYW4gZXhpc3Rpbmcgc3ltYm9sOiAlcyIgbWV0aG9kKSkg KHVubGVzcyAoZmJvdW5kcCAuLi4pIChcYCAuLi4pIChlaWVpb210LWluc3RhbGwgbWV0aG9kKSAo ZnNldCBtZXRob2QgLi4uKSAocXVvdGUgbWV0aG9kKSkpIChkZWZ1biBlaWVpby11bmJpbmQtbWV0 aG9kLWltcGxlbWVudGF0aW9ucyAobWV0aG9kKSAiTWFrZSB0aGUgZ2VuZXJpYyBtZXRob2QgTUVU SE9EIGhhdmUgbm8gaW1wbGVtZW50YXRpb25zLi5cbkl0IHdpbGwgbGVhdmUgdGhlIG9yaWdpbmFs IGdlbmVyaWMgZnVuY3Rpb24gaW4gcGxhY2UsIGJ1dCByZW1vdmVcbnJlZmVyZW5jZSB0byBhbGwg aW1wbGVtZW50YXRpb25zIG9mIE1FVEhPRC4iIChwdXQgbWV0aG9kIChxdW90ZSBlaWVpby1tZXRo b2QtdHJlZSkgbmlsKSAocHV0IG1ldGhvZCAocXVvdGUgZWllaW8tbWV0aG9kLW9iYXJyYXkpIG5p bCkpIChkZWZtYWNybyBkZWZtZXRob2QgKG1ldGhvZCAmcmVzdCBhcmdzKSAiQ3JlYXRlIGEgbmV3 IE1FVEhPRCB0aHJvdWdoIGBkZWZnZW5lcmljJyB3aXRoIEFSR1MuXG5cblRoZSBzZWNvbmQgb3B0 aW9uYWwgYXJndW1lbnQgS0VZIGlzIGEgc3BlY2lmaWVyIHRoYXRcbm1vZGlmaWVzIGhvdyB0aGUg bWV0aG9kIGlzIGNhbGxlZCwgaW5jbHVkaW5nOlxuICAgOmJlZm9yZSAtIE1ldGhvZCB3aWxsIGJl IGNhbGxlZCBiZWZvcmUgdGhlIDpwcmltYXJ5XG4gICA6cHJpbWFyeSAtIFRoZSBkZWZhdWx0IGlm IG5vdCBzcGVjaWZpZWQuXG4gICA6YWZ0ZXIgLSBNZXRob2Qgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIg dGhlIDpwcmltYXJ5XG4gICA6c3RhdGljIC0gRmlyc3QgYXJnIGNvdWxkIGJlIGFuIG9iamVjdCBv ciBjbGFzc1xuVGhlIG5leHQgYXJndW1lbnQgaXMgdGhlIEFSR0xJU1QuICBUaGUgQVJHTElTVCBz cGVjaWZpZXMgdGhlIGFyZ3VtZW50c1xudG8gdGhlIG1ldGhvZCBhcyB3aXRoIGBkZWZ1bicuICBU aGUgZmlyc3QgYXJndW1lbnQgY2FuIGhhdmUgYSB0eXBlXG5zcGVjaWZpZXIsIHN1Y2ggYXM6XG4g ICgoVkFSTkFNRSBDTEFTUykgQVJHMiAuLi4pXG53aGVyZSBWQVJOQU1FIGlzIHRoZSBuYW1lIG9m IHRoZSBsb2NhbCB2YXJpYWJsZSBmb3IgdGhlIG1ldGhvZCBiZWluZ1xuY3JlYXRlZC4gIFRoZSBD TEFTUyBpcyBhIGNsYXNzIHN5bWJvbCBmb3IgYSBjbGFzcyBtYWRlIHdpdGggYGRlZmNsYXNzJy5c bkEgRE9DU1RSSU5HIGNvbWVzIGFmdGVyIHRoZSBBUkdMSVNULCBhbmQgaXMgb3B0aW9uYWwuXG5B bGwgdGhlIHJlc3Qgb2YgdGhlIGFyZ3MgYXJlIHRoZSBCT0RZIG9mIHRoZSBtZXRob2QuICBBIG1l dGhvZCB3aWxsXG5yZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBsYXN0IGZvcm0gaW4gdGhlIEJPRFku XG5cblN1bW1hcnk6XG5cbiAoZGVmbWV0aG9kIG15bWV0aG9kIFs6YmVmb3JlIHwgOnByaW1hcnkg fCA6YWZ0ZXIgfCA6c3RhdGljXVxuICAgICAgICAgICAgICAgICAgICAgKCh0eXBlYXJnIGNsYXNz LW5hbWUpIGFyZzIgJm9wdGlvbmFsIG9wdCAmcmVzdCByZXN0KVxuICAgIFwiZG9jLXN0cmluZ1wi XG4gICAgIGJvZHkpIiAoXGAgKGVpZWlvLWRlZm1ldGhvZCAuLi4gLi4uKSkpIChkZWZ1biBlaWVp by1kZWZtZXRob2QgKG1ldGhvZCBhcmdzKSAiV29yayBwYXJ0IG9mIHRoZSBgZGVmbWV0aG9kJyBt YWNybyBkZWZpbmluZyBNRVRIT0Qgd2l0aCBBUkdTLiIgKGxldCAoLi4uIC4uLiAuLi4gLi4uIC4u LiBsb29wYSkgKHNldHEga2V5IC4uLikgKHNldHEgYm9keSAuLi4gYXJncyAuLi4pIChzZXRxIGxv b3BhIGFyZ3MpICh3aGlsZSBsb29wYSAuLi4gLi4uKSAoZWllaW8tZGVmZ2VuZXJpYyBtZXRob2Qg Li4uKSAoc2V0cSBmaXJzdGFyZyAuLi4pIChpZiAuLi4gLi4uIC4uLiAuLi4pIChpZiAuLi4gLi4u IC4uLikpICh3aGVuIGVpZWlvLW9wdGltaXplLXByaW1hcnktbWV0aG9kcy1mbGFnIChpZiAuLi4g Li4uIC4uLikpIG1ldGhvZCkgKGRlZnVuIGVpZWlvLXBlcmZvcm0tc2xvdC12YWxpZGF0aW9uIChz cGVjIHZhbHVlKSAiUmV0dXJuIG5vbi1uaWwgaWYgU1BFQyBkb2VzIG5vdCBtYXRjaCBWQUxVRS4i IChvciAoZXEgc3BlYyB0KSAoZXEgdmFsdWUgZWllaW8tdW5ib3VuZCkgKHR5cGVwIHZhbHVlIHNw ZWMpKSkgKGRlZnVuIGVpZWlvLXZhbGlkYXRlLXNsb3QtdmFsdWUgKGNsYXNzIHNsb3QtaWR4IHZh bHVlIHNsb3QpICJNYWtlIHN1cmUgdGhhdCBmb3IgQ0xBU1MgcmVmZXJlbmNpbmcgU0xPVC1JRFgs IHRoYXQgVkFMVUUgaXMgdmFsaWQuXG5DaGVja3MgdGhlIDp0eXBlIHNwZWNpZmllci5cblNMT1Qg aXMgdGhlIHNsb3QgdGhhdCBpcyBiZWluZyBjaGVja2VkLCBhbmQgaXMgb25seSB1c2VkIHdoZW4g dGhyb3dpbmdcbmFuZCBlcnJvci4iIChpZiBlaWVpby1za2lwLXR5cGVjaGVjayBuaWwgKHNldHEg c2xvdC1pZHggLi4uKSAobGV0IC4uLiAuLi4pKSkgKGRlZnVuIGVpZWlvLXZhbGlkYXRlLWNsYXNz LXNsb3QtdmFsdWUgKGNsYXNzIHNsb3QtaWR4IHZhbHVlIHNsb3QpICJNYWtlIHN1cmUgdGhhdCBm b3IgQ0xBU1MgcmVmZXJlbmNpbmcgU0xPVC1JRFgsIHRoYXQgVkFMVUUgaXMgdmFsaWQuXG5DaGVj a3MgdGhlIDp0eXBlIHNwZWNpZmllci5cblNMT1QgaXMgdGhlIHNsb3QgdGhhdCBpcyBiZWluZyBj aGVja2VkLCBhbmQgaXMgb25seSB1c2VkIHdoZW4gdGhyb3dpbmdcbmFuZCBlcnJvci4iIChpZiBl aWVpby1za2lwLXR5cGVjaGVjayBuaWwgKGxldCAuLi4gLi4uKSkpIChkZWZ1biBlaWVpby1iYXJm LWlmLXNsb3QtdW5ib3VuZCAodmFsdWUgaW5zdGFuY2Ugc2xvdG5hbWUgZm4pICJUaHJvdyBhIHNp Z25hbCBpZiBWQUxVRSBpcyBhIHJlcHJlc2VudGF0aW9uIG9mIGFuIFVOQk9VTkQgc2xvdC5cbklO U1RBTkNFIGlzIHRoZSBvYmplY3QgYmVpbmcgcmVmZXJlbmNlZC4gIFNMT1ROQU1FIGlzIHRoZSBv ZmZlbmRpbmdcbnNsb3QuICBJZiB0aGUgc2xvdCBpcyBvaywgcmV0dXJuIFZBTFVFLlxuQXJndW1l bnQgRk4gaXMgdGhlIGZ1bmN0aW9uIGNhbGxpbmcgdGhpcyB2ZXJpZmllci4iIChpZiAoYW5kIC4u LiAuLi4pIChzbG90LXVuYm91bmQgaW5zdGFuY2UgLi4uIHNsb3RuYW1lIGZuKSB2YWx1ZSkpIChk ZWZ1biBib29sZWFuLXAgKGJvb2wpICJSZXR1cm4gbm9uLW5pbCBpZiBCT09MIGlzIG5pbCBvciB0 LiIgKG9yIChudWxsIGJvb2wpIChlcSBib29sIHQpKSkgKGRlZm1hY3JvIG9yZWYgKG9iaiBzbG90 KSAiUmV0cmlldmUgdGhlIHZhbHVlIHN0b3JlZCBpbiBPQkogaW4gdGhlIHNsb3QgbmFtZWQgYnkg U0xPVC5cblNsb3QgaXMgdGhlIG5hbWUgb2YgdGhlIHNsb3Qgd2hlbiBjcmVhdGVkIGJ5IGBkZWZj bGFzcycgb3IgdGhlIGxhYmVsXG5jcmVhdGVkIGJ5IHRoZSA6aW5pdGFyZyB0YWcuIiAoXGAgKGVp ZWlvLW9yZWYgLi4uIC4uLikpKSAoZGVmdW4gZWllaW8tb3JlZiAob2JqIHNsb3QpICJSZXR1cm4g dGhlIHZhbHVlIGluIE9CSiBhdCBTTE9UIGluIHRoZSBvYmplY3QgdmVjdG9yLiIgKGlmIChub3Qg Li4uKSAoc2lnbmFsIC4uLiAuLi4pKSAoaWYgKG5vdCAuLi4pIChzaWduYWwgLi4uIC4uLikpIChp ZiAoY2xhc3MtcCBvYmopIChlaWVpby1jbGFzcy11bi1hdXRvbG9hZCBvYmopKSAobGV0KiAoLi4u IC4uLikgKGlmIC4uLiAuLi4gLi4uIC4uLikpKSAoZGVmYWxpYXMgKHF1b3RlIHNsb3QtdmFsdWUp IChxdW90ZSBlaWVpby1vcmVmKSkgKGRlZmFsaWFzIChxdW90ZSBzZXQtc2xvdC12YWx1ZSkgKHF1 b3RlIGVpZWlvLW9zZXQpKSAoZGVmbWFjcm8gbGFtYmRhLWRlZmF1bHQgKCZyZXN0IGNkcikgIlRo ZSBzYW1lIGFzIGBsYW1iZGEnIGJ1dCBpcyB1c2VkIGFzIGEgZGVmYXVsdCB2YWx1ZSBpbiBgZGVm Y2xhc3MnLlxuQXMgc3VjaCwgdGhlIGZvcm0gKGxhbWJkYS1kZWZhdWx0IEFSR1MgRE9DU1RSSU5H IElOVEVSQUNUSVZFIEJPRFkpIGlzXG5zZWxmIHF1b3RpbmcuICBUaGlzIG1hY3JvIGlzIG1lYW50 IGZvciB0aGUgc29sZSBwdXJwb3NlIG9mIHF1b3RpbmdcbmxhbWJkYSBleHByZXNzaW9ucyBpbnRv IGNsYXNzIGRlZmF1bHRzLiAgQW55IGBsYW1iZGEtZGVmYXVsdCdcbmV4cHJlc3Npb24gaXMgYXV0 b21hdGljYWxseSB0cmFuc2Zvcm1lZCBpbnRvIGEgYGxhbWJkYScgZXhwcmVzc2lvblxud2hlbiBj b3BpZWQgZnJvbSB0aGUgZGVmYXVsdHMgaW50byBhIG5ldyBvYmplY3QuICBUaGUgdXNlIG9mXG5g b3JlZi1kZWZhdWx0JywgaG93ZXZlciwgd2lsbCByZXR1cm4gYSBgbGFtYmRhLWRlZmF1bHQnIGV4 cHJlc3Npb24uXG5DRFIgaXMgZnVuY3Rpb24gZGVmaW5pdGlvbiBhbmQgYm9keS4iIChtZXNzYWdl ICJXYXJuaW5nOiBVc2Ugb2YgYGxhYmRhLWRlZmF1bHQnIHdpbGwgYmUgb2Jzb2xldGVkIGluIHRo ZSBuZXh0IHZlcnNpb24gb2YgRUlFSU8uIikgKGxpc3QgKHF1b3RlIGZ1bmN0aW9uKSAoY29ucyAu Li4gY2RyKSkpIChwdXQgKHF1b3RlIGxhbWJkYS1kZWZhdWx0KSAocXVvdGUgbGlzcC1pbmRlbnQt ZnVuY3Rpb24pIChxdW90ZSBkZWZ1bikpIChwdXQgKHF1b3RlIGxhbWJkYS1kZWZhdWx0KSAocXVv dGUgYnl0ZS1jb21waWxlKSAocXVvdGUgYnl0ZS1jb21waWxlLWxhbWJkYS1mb3JtKSkgKGRlZm1h Y3JvIG9yZWYtZGVmYXVsdCAob2JqIHNsb3QpICJHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIG9mIE9C SiAobWF5YmUgYSBjbGFzcykgZm9yIFNMT1QuXG5UaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUgdmFs dWUgaW5zdGFsbGVkIGluIGEgY2xhc3Mgd2l0aCB0aGUgOmluaXRmb3JtXG50YWcuICBTTE9UIGNh biBiZSB0aGUgc2xvdCBuYW1lLCBvciB0aGUgdGFnIHNwZWNpZmllZCBieSB0aGUgOmluaXRhcmdc bnRhZyBpbiB0aGUgYGRlZmNsYXNzJyBjYWxsLiIgKFxgIChlaWVpby1vcmVmLWRlZmF1bHQgLi4u IC4uLikpKSAoZGVmdW4gZWllaW8tb3JlZi1kZWZhdWx0IChvYmogc2xvdCkgIkRvZXMgdGhlIHdv cmsgZm9yIHRoZSBtYWNybyBgb3JlZi1kZWZhdWx0JyB3aXRoIHNpbWlsYXIgcGFyYW1ldGVycy5c bkZpbGxzIGluIE9CSidzIFNMT1Qgd2l0aCBpdCdzIGRlZmF1bHQgdmFsdWUuIiAoaWYgKG5vdCAu Li4pIChzaWduYWwgLi4uIC4uLikpIChpZiAobm90IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkgKGxl dCogKC4uLiAuLi4pIChpZiAuLi4gLi4uIC4uLikpKSAoZGVmdW4gZWllaW8tZGVmYXVsdC1ldmFs LW1heWJlICh2YWwpICJDaGVjayBWQUwsIGFuZCByZXR1cm4gd2hhdCBgb3JlZi1kZWZhdWx0JyB3 b3VsZCBwcm92aWRlLiIgKGlmIChhbmQgLi4uIC4uLikgKHByb2duIC4uLiAuLi4pIChpZiAuLi4g Li4uIC4uLikpKSAoZGVmbWFjcm8gb3NldCAob2JqIHNsb3QgdmFsdWUpICJTZXQgdGhlIHZhbHVl IGluIE9CSiBmb3Igc2xvdCBTTE9UIHRvIFZBTFVFLlxuU0xPVCBpcyB0aGUgc2xvdCBuYW1lIGFz IHNwZWNpZmllZCBpbiBgZGVmY2xhc3MnIG9yIHRoZSB0YWcgY3JlYXRlZFxud2l0aCBpbiB0aGUg OmluaXRhcmcgc2xvdC4gIFZBTFVFIGNhbiBiZSBhbnkgTGlzcCBvYmplY3QuIiAoXGAgKGVpZWlv LW9zZXQgLi4uIC4uLiAuLi4pKSkgKGRlZnVuIGVpZWlvLW9zZXQgKG9iaiBzbG90IHZhbHVlKSAi RG9lcyB0aGUgd29yayBmb3IgdGhlIG1hY3JvIGBvc2V0Jy5cbkZpbGxzIGluIE9CSidzIFNMT1Qg d2l0aCBWQUxVRS4iIChpZiAobm90IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkgKGlmIChub3QgLi4u KSAoc2lnbmFsIC4uLiAuLi4pKSAobGV0ICguLi4pIChpZiAuLi4gLi4uIC4uLiAuLi4pKSkgKGRl Zm1hY3JvIG9zZXQtZGVmYXVsdCAoY2xhc3Mgc2xvdCB2YWx1ZSkgIlNldCB0aGUgZGVmYXVsdCBz bG90IGluIENMQVNTIGZvciBTTE9UIHRvIFZBTFVFLlxuVGhlIGRlZmF1bHQgdmFsdWUgaXMgdXN1 YWxseSBzZXQgd2l0aCB0aGUgOmluaXRmb3JtIHRhZyBkdXJpbmcgY2xhc3NcbmNyZWF0aW9uLiAg VGhpcyBhbGxvd3MgdXNlcnMgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGNsYXNz ZXNcbmFmdGVyIHRoZXkgYXJlIGNyZWF0ZWQuIiAoXGAgKGVpZWlvLW9zZXQtZGVmYXVsdCAuLi4g Li4uIC4uLikpKSAoZGVmdW4gZWllaW8tb3NldC1kZWZhdWx0IChjbGFzcyBzbG90IHZhbHVlKSAi RG9lcyB0aGUgd29yayBmb3IgdGhlIG1hY3JvIGBvc2V0LWRlZmF1bHQnLlxuRmlsbHMgaW4gdGhl IGRlZmF1bHQgdmFsdWUgaW4gQ0xBU1MnIGluIFNMT1Qgd2l0aCBWQUxVRS4iIChpZiAobm90IC4u LikgKHNpZ25hbCAuLi4gLi4uKSkgKGlmIChub3QgLi4uKSAoc2lnbmFsIC4uLiAuLi4pKSAobGV0 KiAoLi4uIC4uLikgKGlmIC4uLiAuLi4gLi4uIC4uLiAuLi4pKSkgKGRlZm1hY3JvIHdpdGgtc2xv dHMgKHNwZWMtbGlzdCBvYmplY3QgJnJlc3QgYm9keSkgIkJpbmQgU1BFQy1MSVNUIGxleGljYWxs eSB0byBzbG90IHZhbHVlcyBpbiBPQkpFQ1QsIGFuZCBleGVjdXRlIEJPRFkuXG5UaGlzIGVzdGFi bGlzaGVzIGEgbGV4aWNhbCBlbnZpcm9ubWVudCBmb3IgcmVmZXJyaW5nIHRvIHRoZSBzbG90cyBp blxudGhlIGluc3RhbmNlIG5hbWVkIGJ5IHRoZSBnaXZlbiBzbG90LW5hbWVzIGFzIHRob3VnaCB0 aGV5IHdlcmVcbnZhcmlhYmxlcy4gIFdpdGhpbiBzdWNoIGEgY29udGV4dCB0aGUgdmFsdWUgb2Yg dGhlIHNsb3QgY2FuIGJlXG5zcGVjaWZpZWQgYnkgdXNpbmcgaXRzIHNsb3QgbmFtZSwgYXMgaWYg aXQgd2VyZSBhIGxleGljYWxseSBib3VuZFxudmFyaWFibGUuICBCb3RoIHNldGYgYW5kIHNldHEg Y2FuIGJlIHVzZWQgdG8gc2V0IHRoZSB2YWx1ZSBvZiB0aGVcbnNsb3QuXG5cblNQRUMtTElTVCBp cyBvZiBhIGZvcm0gc2ltaWxhciB0byBgbGV0Jy4gIEZvciBleGFtcGxlOlxuXG4gICgoVkFSMSBT TE9UMSlcbiAgICBTTE9UMlxuICAgIFNMT1ROXG4gICAoVkFSTisxIFNMT1ROKzEpKVxuXG5XaGVy ZSBlYWNoIFZBUiBpcyB0aGUgbG9jYWwgdmFyaWFibGUgZ2l2ZW4gdG8gdGhlIGFzc29jaWF0ZWRc blNMT1QuICBBIFNsb3Qgc3BlY2lmaWVkIHdpdGhvdXQgYSB2YXJpYWJsZSBuYW1lIGlzIGdpdmVu IGFcbnZhcmlhYmxlIG5hbWUgb2YgdGhlIHNhbWUgbmFtZSBhcyB0aGUgc2xvdC4iIChsZXQgKC4u LikgKGFwcGVuZCAuLi4gYm9keSkpKSAocHV0IChxdW90ZSB3aXRoLXNsb3RzKSAocXVvdGUgbGlz cC1pbmRlbnQtZnVuY3Rpb24pIDIpIChkZWZtYWNybyBvYmplY3QtY2xhc3MtZmFzdCAob2JqKSAi UmV0dXJuIHRoZSBjbGFzcyBzdHJ1Y3QgZGVmaW5pbmcgT0JKIHdpdGggbm8gY2hlY2suIiAoXGAg KGFyZWYgLi4uIG9iamVjdC1jbGFzcykpKSAoZGVmdW4gY2xhc3MtbmFtZSAoY2xhc3MpICJSZXR1 cm4gYSBMaXNwIGxpa2Ugc3ltYm9sIG5hbWUgZm9yIENMQVNTLiIgKGlmIChub3QgLi4uKSAoc2ln bmFsIC4uLiAuLi4pKSAoZm9ybWF0ICIjPGNsYXNzICVzPiIgKHN5bWJvbC1uYW1lIGNsYXNzKSkp IChkZWZ1biBvYmplY3QtbmFtZSAob2JqICZvcHRpb25hbCBleHRyYSkgIlJldHVybiBhIExpc3Ag bGlrZSBzeW1ib2wgc3RyaW5nIGZvciBvYmplY3QgT0JKLlxuSWYgRVhUUkEsIGluY2x1ZGUgdGhh dCBpbiB0aGUgc3RyaW5nIHJldHVybmVkIHRvIHJlcHJlc2VudCB0aGUgc3ltYm9sLiIgKGlmIChu b3QgLi4uKSAoc2lnbmFsIC4uLiAuLi4pKSAoZm9ybWF0ICIjPCVzICVzJXM+IiAoc3ltYm9sLW5h bWUgLi4uKSAoYXJlZiBvYmogb2JqZWN0LW5hbWUpIChvciBleHRyYSAiIikpKSAoZGVmdW4gb2Jq ZWN0LW5hbWUtc3RyaW5nIChvYmopICJSZXR1cm4gYSBzdHJpbmcgd2hpY2ggaXMgT0JKJ3MgbmFt ZS4iIChpZiAobm90IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkgKGFyZWYgb2JqIG9iamVjdC1uYW1l KSkgKGRlZnVuIG9iamVjdC1zZXQtbmFtZS1zdHJpbmcgKG9iaiBuYW1lKSAiU2V0IHRoZSBzdHJp bmcgd2hpY2ggaXMgT0JKJ3MgTkFNRS4iIChpZiAobm90IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkg KGlmIChub3QgLi4uKSAoc2lnbmFsIC4uLiAuLi4pKSAoYXNldCBvYmogb2JqZWN0LW5hbWUgbmFt ZSkpIChkZWZ1biBvYmplY3QtY2xhc3MgKG9iaikgIlJldHVybiB0aGUgY2xhc3Mgc3RydWN0IGRl ZmluaW5nIE9CSi4iIChpZiAobm90IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkgKG9iamVjdC1jbGFz cy1mYXN0IG9iaikpIChkZWZhbGlhcyAocXVvdGUgY2xhc3Mtb2YpIChxdW90ZSBvYmplY3QtY2xh c3MpKSAoZGVmdW4gb2JqZWN0LWNsYXNzLW5hbWUgKG9iaikgIlJldHVybiBhIExpc3AgbGlrZSBz eW1ib2wgbmFtZSBmb3IgT0JKJ3MgY2xhc3MuIiAoaWYgKG5vdCAuLi4pIChzaWduYWwgLi4uIC4u LikpIChjbGFzcy1uYW1lIChvYmplY3QtY2xhc3MtZmFzdCBvYmopKSkgKGRlZm1hY3JvIGNsYXNz LXBhcmVudHMtZmFzdCAoY2xhc3MpICJSZXR1cm4gcGFyZW50IGNsYXNzZXMgdG8gQ0xBU1Mgd2l0 aCBubyBjaGVjay4iIChcYCAoYXJlZiAuLi4gY2xhc3MtcGFyZW50KSkpIChkZWZ1biBjbGFzcy1w YXJlbnRzIChjbGFzcykgIlJldHVybiBwYXJlbnQgY2xhc3NlcyB0byBDTEFTUy4gIChvdmVybG9h ZCBvZiB2YXJpYWJsZSkuXG5cblRoZSBDTE9TIGZ1bmN0aW9uIGBjbGFzcy1kaXJlY3Qtc3VwZXJj bGFzc2VzJyBpcyBhbGlhc2VkIHRvIHRoaXMgZnVuY3Rpb24uIiAoaWYgKG5vdCAuLi4pIChzaWdu YWwgLi4uIC4uLikpIChjbGFzcy1wYXJlbnRzLWZhc3QgY2xhc3MpKSAoZGVmbWFjcm8gY2xhc3Mt Y2hpbGRyZW4tZmFzdCAoY2xhc3MpICJSZXR1cm4gY2hpbGQgY2xhc3NlcyB0byBDTEFTUyB3aXRo IG5vIGNoZWNrLiIgKFxgIChhcmVmIC4uLiBjbGFzcy1jaGlsZHJlbikpKSAoZGVmdW4gY2xhc3Mt Y2hpbGRyZW4gKGNsYXNzKSAiUmV0dXJuIGNoaWxkIGNsYXNzc2VzIHRvIENMQVNTLlxuXG5UaGUg Q0xPUyBmdW5jdGlvbiBgY2xhc3MtZGlyZWN0LXN1YmNsYXNzZXMnIGlzIGFsaWFzZWQgdG8gdGhp cyBmdW5jdGlvbi4iIChpZiAobm90IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkgKGNsYXNzLWNoaWxk cmVuLWZhc3QgY2xhc3MpKSAoZGVmYWxpYXMgKHF1b3RlIGNsYXNzLWRpcmVjdC1zdXBlcmNsYXNz ZXMpIChxdW90ZSBjbGFzcy1wYXJlbnRzKSkgKGRlZmFsaWFzIChxdW90ZSBjbGFzcy1kaXJlY3Qt c3ViY2xhc3NlcykgKHF1b3RlIGNsYXNzLWNoaWxkcmVuKSkgKGRlZm1hY3JvIGNsYXNzLXBhcmVu dC1mYXN0IChjbGFzcykgIlJldHVybiBmaXJzdCBwYXJlbnQgY2xhc3MgdG8gQ0xBU1Mgd2l0aCBu byBjaGVjay4iIChcYCAoY2FyIC4uLikpKSAoZGVmbWFjcm8gY2xhc3MtcGFyZW50IChjbGFzcykg IlJldHVybiBmaXJzdCBwYXJlbnQgY2xhc3MgdG8gQ0xBU1MuICAob3ZlcmxvYWQgb2YgdmFyaWFi bGUpLiIgKFxgIChjYXIgLi4uKSkpIChkZWZtYWNybyBzYW1lLWNsYXNzLWZhc3QtcCAob2JqIGNs YXNzKSAiUmV0dXJuIHQgaWYgT0JKIGlzIG9mIGNsYXNzLXR5cGUgQ0xBU1Mgd2l0aCBubyBlcnJv ciBjaGVja2luZy4iIChcYCAoZXEgLi4uIC4uLikpKSAoZGVmdW4gc2FtZS1jbGFzcy1wIChvYmog Y2xhc3MpICJSZXR1cm4gdCBpZiBPQkogaXMgb2YgY2xhc3MtdHlwZSBDTEFTUy4iIChpZiAobm90 IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkgKGlmIChub3QgLi4uKSAoc2lnbmFsIC4uLiAuLi4pKSAo c2FtZS1jbGFzcy1mYXN0LXAgb2JqIGNsYXNzKSkgKGRlZnVuIG9iamVjdC1vZi1jbGFzcy1wIChv YmogY2xhc3MpICJSZXR1cm4gbm9uLW5pbCBpZiBPQkogaXMgYW4gaW5zdGFuY2Ugb2YgQ0xBU1Mg b3IgQ0xBU1MnIHN1YmNsYXNzZXMuIiAoaWYgKG5vdCAuLi4pIChzaWduYWwgLi4uIC4uLikpIChj aGlsZC1vZi1jbGFzcy1wIChhcmVmIG9iaiBvYmplY3QtY2xhc3MpIGNsYXNzKSkgKGRlZmFsaWFz IChxdW90ZSBvYmotb2YtY2xhc3MtcCkgKHF1b3RlIG9iamVjdC1vZi1jbGFzcy1wKSkgKGRlZnVu IGNoaWxkLW9mLWNsYXNzLXAgKGNoaWxkIGNsYXNzKSAiSWYgQ0hJTEQgY2xhc3MgaXMgYSBzdWJj bGFzcyBvZiBDTEFTUy4iIChpZiAobm90IC4uLikgKHNpZ25hbCAuLi4gLi4uKSkgKGlmIChub3Qg Li4uKSAoc2lnbmFsIC4uLiAuLi4pKSAobGV0ICguLi4pICh3aGlsZSAuLi4gLi4uKSAoaWYgY2hp bGQgdCkpKSAoZGVmdW4gb2JqZWN0LXNsb3RzIChvYmopICJMaXN0IG9mIHNsb3RzIGF2YWlsYWJs ZSBpbiBPQkouIiAoaWYgKG5vdCAuLi4pIChzaWduYWwgLi4uIC4uLikpIChhcmVmIChjbGFzcy12 IC4uLikgY2xhc3MtcHVibGljLWEpKSAoZGVmdW4gY2xhc3Mtc2xvdC1pbml0YXJnIChjbGFzcyBz bG90KSAiRmV0Y2ggZnJvbSBDTEFTUywgU0xPVCdzIDppbml0YXJnLiIgKGlmIChub3QgLi4uKSAo c2lnbmFsIC4uLiAuLi4pKSAobGV0ICguLi4gLi4uKSAod2hpbGUgLi4uIC4uLiAuLi4pIGYpKSAo ZGVmdW4gc2xvdC1ib3VuZHAgKG9iamVjdCBzbG90KSAiTm9uLW5pbCBpZiBPQkpFQ1QncyBTTE9U IGlzIGJvdW5kLlxuU2V0dGluZyBhIHNsb3QncyB2YWx1ZSBtYWtlcyBpdCBib3VuZC4gIENhbGxp bmcgYHNsb3QtbWFrZXVuYm91bmQnIHdpbGxcbm1ha2UgYSBzbG90IHVuYm91bmQuXG5PQkpFQ1Qg Y2FuIGJlIGFuIGluc3RhbmNlIG9yIGEgY2xhc3MuIiAobGV0ICguLi4pIChpZiAuLi4gLi4uIC4u LikpKSAoZGVmdW4gc2xvdC1tYWtldW5ib3VuZCAob2JqZWN0IHNsb3QpICJJbiBPQkpFQ1QsIG1h a2UgU0xPVCB1bmJvdW5kLiIgKGVpZWlvLW9zZXQgb2JqZWN0IHNsb3QgZWllaW8tdW5ib3VuZCkp IChkZWZ1biBzbG90LWV4aXN0cy1wIChvYmplY3Qtb3ItY2xhc3Mgc2xvdCkgIk5vbi1uaWwgaWYg T0JKRUNULU9SLUNMQVNTIGhhcyBTTE9ULiIgKGxldCAoLi4uKSAob3IgLi4uIC4uLikpKSAoZGVm dW4gZmluZC1jbGFzcyAoc3ltYm9sICZvcHRpb25hbCBlcnJvcnApICJSZXR1cm4gdGhlIGNsYXNz IHRoYXQgU1lNQk9MIHJlcHJlc2VudHMuXG5JZiB0aGVyZSBpcyBubyBjbGFzcywgbmlsIGlzIHJl dHVybmVkIGlmIEVSUk9SUCBpcyBuaWwuXG5JZiBFUlJPUlAgaXMgbm9uLW5pbCwgYHdyb25nLWFy Z3VtZW50LXR5cGUnIGlzIHNpZ25hbGVkLiIgKGlmIChub3QgLi4uKSAoaWYgZXJyb3JwIC4uLiBu aWwpIChjbGFzcy12IHN5bWJvbCkpKSAoZGVmdW4gb2JqZWN0LWFzc29jIChrZXkgc2xvdCBsaXN0 KSAiUmV0dXJuIGFuIG9iamVjdCBpZiBLRVkgaXMgYGVxdWFsJyB0byBTTE9UJ3MgdmFsdWUgb2Yg YW4gb2JqZWN0IGluIExJU1QuXG5MSVNUIGlzIGEgbGlzdCBvZiBvYmplY3RzIHdobydzIHNsb3Rz IGFyZSBzZWFyY2hlZC5cbk9iamVjdHMgaW4gTElTVCBkbyBub3QgbmVlZCB0byBoYXZlIGEgc2xv dCBuYW1lZCBTTE9ULCBub3IgZG9lc1xuU0xPVCBuZWVkIHRvIGJlIGJvdW5kLiAgSWYgdGhlc2Ug ZXJyb3JzIG9jY3VyLCB0aG9zZSBvYmplY3RzIHdpbGxcbmJlIGlnbm9yZWQuIiAoaWYgKG5vdCAu Li4pIChzaWduYWwgLi4uIC4uLikpICh3aGlsZSAoYW5kIGxpc3QgLi4uKSAoc2V0cSBsaXN0IC4u LikpIChjYXIgbGlzdCkpIChkZWZ1biBvYmplY3QtYXNzb2MtbGlzdCAoc2xvdCBsaXN0KSAiUmV0 dXJuIGFuIGFzc29jaWF0aW9uIGxpc3Qgd2l0aCB0aGUgY29udGVudHMgb2YgU0xPVCBhcyB0aGUg a2V5IGVsZW1lbnQuXG5MSVNUIG11c3QgYmUgYSBsaXN0IG9mIG9iamVjdHMgd2l0aCBTTE9UIGlu IGl0LlxuVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3UgbmVlZCB0byBkbyBjb21wbGV0aW5nIHJlYWQg b24gYW4gb2JqZWN0IGdyb3VwLiIgKGlmIChub3QgLi4uKSAoc2lnbmFsIC4uLiAuLi4pKSAobGV0 ICguLi4pICh3aGlsZSBsaXN0IC4uLiAuLi4pIChucmV2ZXJzZSBhc3NvY2xpc3QpKSkgKGRlZnVu IG9iamVjdC1hc3NvYy1saXN0LXNhZmUgKHNsb3QgbGlzdCkgIlJldHVybiBhbiBhc3NvY2lhdGlv biBsaXN0IHdpdGggdGhlIGNvbnRlbnRzIG9mIFNMT1QgYXMgdGhlIGtleSBlbGVtZW50LlxuTElT VCBtdXN0IGJlIGEgbGlzdCBvZiBvYmplY3RzLCBidXQgdGhvc2Ugb2JqZWN0cyBkbyBub3QgbmVl ZCB0byBoYXZlXG5TTE9UIGluIGl0LiAgSWYgaXQgZG9lcyBub3QsIHRoZW4gdGhhdCBlbGVtZW50 IGlzIGxlZnQgb3V0IG9mIHRoZSBhc3NvY2lhdGlvblxubGlzdC4iIChpZiAobm90IC4uLikgKHNp Z25hbCAuLi4gLi4uKSkgKGxldCAoLi4uKSAod2hpbGUgbGlzdCAuLi4gLi4uKSAobnJldmVyc2Ug YXNzb2NsaXN0KSkpIChkZWZ1biBvYmplY3QtYWRkLXRvLWxpc3QgKG9iamVjdCBzbG90IGl0ZW0g Jm9wdGlvbmFsIGFwcGVuZCkgIkluIE9CSkVDVCdzIFNMT1QsIGFkZCBJVEVNIHRvIHRoZSBsaXN0 IG9mIGVsZW1lbnRzLlxuT3B0aW9uYWwgYXJndW1lbnQgQVBQRU5EIGluZGljYXRlcyB3ZSBuZWVk IHRvIGFwcGVuZCB0byB0aGUgbGlzdC5cbklmIElURU0gYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxp c3QgaW4gU0xPVCwgdGhlbiBpdCBpcyBub3QgYWRkZWQuXG5Db21wYXJpc29uIGlzIGRvbmUgd2l0 aCBgZXF1YWwnIHRocm91Z2ggdGhlIGBtZW1iZXInIGZ1bmN0aW9uIGNhbGwuXG5JZiBTTE9UIGlz IHVuYm91bmQsIGJpbmQgaXQgdG8gdGhlIGxpc3QgY29udGFpbmluZyBJVEVNLiIgKGxldCAob3Yp IChpZiAuLi4gLi4uIC4uLiAuLi4gLi4uKSAoZWllaW8tb3NldCBvYmplY3Qgc2xvdCBvdikpKSAo ZGVmdW4gb2JqZWN0LXJlbW92ZS1mcm9tLWxpc3QgKG9iamVjdCBzbG90IGl0ZW0pICJJbiBPQkpF Q1QncyBTTE9ULCByZW1vdmUgb2NjdXJyZW5jZXMgb2YgSVRFTS5cbkRlbGV0aW9uIGlzIGRvbmUg d2l0aCBgZGVsZXRlJywgd2hpY2ggZGVsZXRlcyBieSBzaWRlIGVmZmVjdFxuYW5kIGNvbXBhcmlz b25zIGFyZSBkb25lIHdpdGggYGVxdWFsJy5cbklmIFNMT1QgaXMgdW5ib3VuZCwgZG8gbm90aGlu Zy4iIChpZiAobm90IC4uLikgbmlsIChlaWVpby1vc2V0IG9iamVjdCBzbG90IC4uLikpKSAoZGVm dW4gZWllaW8tc2xvdC1vcmlnaW5hdGluZy1jbGFzcy1wIChzdGFydC1jbGFzcyBzbG90KSAiUmV0 dXJuIE5vbi1uaWwgaWYgU1RBUlQtQ0xBU1MgaXMgdGhlIGZpcnN0IGNsYXNzIHRvIGRlZmluZSBT TE9ULlxuVGhpcyBpcyBmb3IgdGVzdGluZyBpZiBgc2NvcGVkLWNsYXNzJyBpcyB0aGUgY2xhc3Mg dGhhdCBkZWZpbmVzIFNMT1RcbnNvIHRoYXQgd2UgY2FuIHByb3RlY3QgcHJpdmF0ZSBzbG90cy4i IChsZXQgKC4uLiAuLi4pIChpZiAuLi4gdCAuLi4gcmV0KSkpIChkZWZ1biBlaWVpby1zbG90LW5h bWUtaW5kZXggKGNsYXNzIG9iaiBzbG90KSAiSW4gQ0xBU1MgZm9yIE9CSiBmaW5kIHRoZSBpbmRl eCBvZiB0aGUgbmFtZWQgU0xPVC5cblRoZSBzbG90IGlzIGEgc3ltYm9sIHdoaWNoIGlzIGluc3Rh bGxlZCBpbiBDTEFTUyBieSB0aGUgYGRlZmNsYXNzJ1xuY2FsbC4gIE9CSiBjYW4gYmUgbmlsLCBi dXQgaWYgaXQgaXMgYW4gb2JqZWN0LCBhbmQgdGhlIHNsb3QgaW4gcXVlc3Rpb25cbmlzIHByb3Rl Y3RlZCwgYWNjZXNzIHdpbGwgYmUgYWxsb3dlZCBpZiBvYmogaXMgYSBjaGlsZCBvZiB0aGUgY3Vy cmVudGx5XG5gc2NvcGVkLWNsYXNzJy5cbklmIFNMT1QgaXMgdGhlIHZhbHVlIGNyZWF0ZWQgd2l0 aCA6aW5pdGFyZyBpbnN0ZWFkLFxucmV2ZXJzZS1sb29rdXAgdGhhdCBuYW1lLCBhbmQgcmVjdXJz ZSB3aXRoIHRoZSBhc3NvY2lhdGVkIHNsb3QgdmFsdWUuIiAobGV0KiAoLi4uIC4uLikgKGlmIC4u LiAuLi4gLi4uKSkpIChkZWZ1biBlaWVpby1jbGFzcy1zbG90LW5hbWUtaW5kZXggKGNsYXNzIHNs b3QpICJJbiBDTEFTUyBmaW5kIHRoZSBpbmRleCBvZiB0aGUgbmFtZWQgU0xPVC5cblRoZSBzbG90 IGlzIGEgc3ltYm9sIHdoaWNoIGlzIGluc3RhbGxlZCBpbiBDTEFTUyBieSB0aGUgYGRlZmNsYXNz J1xuY2FsbC4gIElmIFNMT1QgaXMgdGhlIHZhbHVlIGNyZWF0ZWQgd2l0aCA6aW5pdGFyZyBpbnN0 ZWFkLFxucmV2ZXJzZS1sb29rdXAgdGhhdCBuYW1lLCBhbmQgcmVjdXJzZSB3aXRoIHRoZSBhc3Nv Y2lhdGVkIHNsb3QgdmFsdWUuIiAobGV0KiAoLi4uIC4uLiAuLi4gLi4uKSAoaWYgYWYgLi4uKSkp IChkZWZ2YXIgZWllaW8tZ2VuZXJpYy1jYWxsLW1ldGhvZG5hbWUgbmlsICJXaGVuIHVzaW5nIGBj YWxsLW5leHQtbWV0aG9kJywgcHJvdmlkZXMgYSBjb250ZXh0IG9uIGhvdyB0byBkbyBpdC4iKSAo ZGVmdmFyIGVpZWlvLWdlbmVyaWMtY2FsbC1hcmdsc3QgbmlsICJXaGVuIHVzaW5nIGBjYWxsLW5l eHQtbWV0aG9kJywgcHJvdmlkZXMgYSBjb250ZXh0IGZvciBwYXJhbWV0ZXJzLiIpIChkZWZ2YXIg ZWllaW8tZ2VuZXJpYy1jYWxsLWtleSBuaWwgIldoZW4gdXNpbmcgYGNhbGwtbmV4dC1tZXRob2Qn LCBwcm92aWRlcyBhIGNvbnRleHQgZm9yIHRoZSBjdXJyZW50IGtleS5cbktleXMgYXJlIGEgbnVt YmVyIHJlcHJlc2VudGluZyA6YmVmb3JlLCA6cHJpbWFyeSwgYW5kIDphZnRlciBtZXRob2RzLiIp IChkZWZ2YXIgZWllaW8tZ2VuZXJpYy1jYWxsLW5leHQtbWV0aG9kLWxpc3QgbmlsICJXaGVuIGV4 ZWN1dGluZyBhIFBSSU1BUlkgb3IgU1RBVElDIG1ldGhvZCwgdHJhY2sgdGhlICduZXh0LW1ldGhv ZCcuXG5EdXJpbmcgZXhlY3V0aW9ucywgdGhlIGxpc3QgaXMgZmlyc3QgZ2VuZXJhdGVkLCB0aGVu IGFzIGVhY2ggbmV4dCBtZXRob2RcbmlzIGNhbGxlZCwgdGhlIG5leHQgbWV0aG9kIGlzIHBvcHBl ZCBvZmYgdGhlIHN0YWNrLiIpIChkZWZ2YXIgZWllaW8tcHJlLW1ldGhvZC1leGVjdXRpb24taG9v a3MgbmlsICIqSG9va3MgcnVuIGp1c3QgYmVmb3JlIGEgbWV0aG9kIGlzIGV4ZWN1dGVkLlxuVGhl IGhvb2sgZnVuY3Rpb24gbXVzdCBhY2NlcHQgb24gYXJndW1lbnQsIHRoaXMgbGlzdCBvZiBmb3Jt c1xuYWJvdXQgdG8gYmUgZXhlY3V0ZWQuIikgKGRlZnVuIGVpZWlvLWdlbmVyaWMtY2FsbCAobWV0 aG9kIGFyZ3MpICJDYWxsIE1FVEhPRCB3aXRoIEFSR1MuXG5BUkdTIHByb3ZpZGVzIHRoZSBjb250 ZXh0IG9uIHdoaWNoIGltcGxlbWVudGF0aW9uIHRvIHVzZS5cblRoaXMgc2hvdWxkIG9ubHkgYmUg Y2FsbGVkIGZyb20gYSBnZW5lcmljIGZ1bmN0aW9uLiIgKGxldCAoLi4uIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4pIChzZXRxIG5ld2FyZ3MgYXJncyBmaXJzdGFyZyAuLi4pIChpZiAu Li4gLi4uKSAoY29uZCAuLi4gLi4uKSAod2hlbiAuLi4gLi4uKSAod2hlbiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4pICh3aGVuIC4uLiAuLi4gLi4uKSAocnVuLWhvb2std2l0aC1hcmdzIC4u LiBwcmltYXJ5bWV0aG9kbGlzdCkgKGxldCAuLi4gLi4uIC4uLiBydmFsKSkpIChkZWZ1biBlaWVp by1nZW5lcmljLWNhbGwtcHJpbWFyeS1vbmx5IChtZXRob2QgYXJncykgIkNhbGwgTUVUSE9EIHdp dGggQVJHUyBmb3IgbWV0aG9kcyB3aXRoIG9ubHkgOlBSSU1BUlkgaW1wbGVtZW50YXRpb25zLlxu QVJHUyBwcm92aWRlcyB0aGUgY29udGV4dCBvbiB3aGljaCBpbXBsZW1lbnRhdGlvbiB0byB1c2Uu XG5UaGlzIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBmcm9tIGEgZ2VuZXJpYyBmdW5jdGlvbi5cblxu VGhpcyBtZXRob2QgaXMgbGlrZSBgZWllaW8tZ2VuZXJpYy1jYWxsJywgYnV0IG9ubHlcbmltcGxl bWVudGF0aW9ucyBpbiB0aGUgOlBSSU1BUlkgc2xvdCBhcmUgcXVlcmllZC4gIEFmdGVyIG1hbnlc bnllYXJzIG9mIHVzZSwgaXQgYXBwZWFycyB0aGF0IG92ZXIgOTAlIG9mIG1ldGhvZHMgaW4gdXNl XG5oYXZlIDpQUklNQVJZIGltcGxlbWVudGF0aW9ucyBvbmx5LiAgV2UgY2FuIHRoZXJlZm9yZSBv cHRpbWl6ZVxuZm9yIHRoaXMgY29tbW9uIGNhc2UgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4iIChs ZXQgKC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLikgKHNldHEgbmV3YXJncyBhcmdzIGZpcnN0 YXJnIC4uLikgKGNvbmQgLi4uIC4uLiAuLi4gLi4uKSAod2hlbiAuLi4gLi4uKSAoc2V0cSBsYW1i ZGFzIC4uLikgKHNldHEgcHJpbWFyeW1ldGhvZGxpc3QgLi4uKSAobGV0KiAuLi4gLi4uIHJ2YWwp KSkgKGRlZnVuIGVpZWlvbXQtbWV0aG9kLWxpc3QgKG1ldGhvZCBrZXkgY2xhc3MpICJSZXR1cm4g YW4gYWxpc3QgbGlzdCBvZiBtZXRob2RzIGxhbWJkYXMuXG5NRVRIT0QgaXMgdGhlIG1ldGhvZCBu YW1lLlxuS0VZIHJlcHJlc2VudHMgZWl0aGVyIDpiZWZvcmUsIG9yIDphZnRlciBtZXRob2RzLlxu Q0xBU1MgaXMgdGhlIHN0YXJ0aW5nIGNsYXNzIHRvIHNlYXJjaCBmcm9tIGluIHRoZSBtZXRob2Qg dHJlZS5cbklmIENMQVNTIGlzIG5pbCwgdGhlbiBhbiBlbXB0eSBsaXN0IG9mIG1ldGhvZHMgc2hv dWxkIGJlIHJldHVybmVkLiIgKGxldCAoLi4uIC4uLikgKHdoaWxlIG1jbGFzcyAuLi4gLi4uKSAo aWYgLi4uIGxhbWJkYXMgLi4uKSkpIChkZWZ1biBuZXh0LW1ldGhvZC1wIG5pbCAiTm9uLW5pbCBp ZiB0aGVyZSBpcyBhIG5leHQgbWV0aG9kLlxuUmV0dXJucyBhIGxpc3Qgb2YgbGFtYmRhIGV4cHJl c3Npb25zIHdoaWNoIGlzIHRoZSBgbmV4dC1tZXRob2QnXG5vcmRlci4iIGVpZWlvLWdlbmVyaWMt Y2FsbC1uZXh0LW1ldGhvZC1saXN0KSAoZGVmdW4gY2FsbC1uZXh0LW1ldGhvZCAoJnJlc3QgcmVw bGFjZW1lbnQtYXJncykgIkNhbGwgdGhlIHN1cGVyY2xhc3MgbWV0aG9kIGZyb20gYSBzdWJjbGFz cyBtZXRob2QuXG5UaGUgc3VwZXJjbGFzcyBtZXRob2QgaXMgc3BlY2lmaWVkIGluIHRoZSBjdXJy ZW50IG1ldGhvZCBsaXN0LFxuYW5kIGlzIGNhbGxlZCB0aGUgbmV4dCBtZXRob2QuXG5cbklmIFJF UExBQ0VNRU5ULUFSR1MgaXMgbm9uLW5pbCwgdGhlbiB1c2UgdGhlbSBpbnN0ZWFkIG9mXG5gZWll aW8tZ2VuZXJpYy1jYWxsLWFyZ2xzdCcuICBUaGUgZ2VuZXJpYyBhcmcgbGlzdCBhcmUgdGhlXG5h cmd1bWVudHMgcGFzc2VkIGluIGF0IHRoZSB0b3AgbGV2ZWwuXG5cblVzZSBgbmV4dC1tZXRob2Qt cCcgdG8gZmluZCBvdXQgaWYgdGhlcmUgaXMgYSBuZXh0IG1ldGhvZCB0byBjYWxsLiIgKGlmIChu b3Qgc2NvcGVkLWNsYXNzKSAoZXJyb3IgIkNhbGwtbmV4dC1tZXRob2Qgbm90IGNhbGxlZCB3aXRo aW4gYSBjbGFzcyBzcGVjaWZpYyBtZXRob2QiKSkgKGlmIChhbmQgLi4uIC4uLikgKGVycm9yICJD YW5ub3QgYGNhbGwtbmV4dC1tZXRob2QnIGV4Y2VwdCBpbiA6cHJpbWFyeSBvciA6c3RhdGljIG1l dGhvZHMiKSkgKGxldCAoLi4uIC4uLikgKGlmIC4uLiAuLi4gLi4uKSkpIChkZWZ2YXIgZWllaW9t dC1vcHRpbWl6aW5nLW9iYXJyYXkgbmlsICJXaGlsZSBtYXBwaW5nIGF0b21zLCB0aGlzIGNvbnRh aW4gdGhlIG9iYXJyYXkgYmVpbmcgb3B0aW1pemVkLiIpIChkZWZ1biBlaWVpb210LWluc3RhbGwg KG1ldGhvZC1uYW1lKSAiSW5zdGFsbCB0aGUgbWV0aG9kIHRyZWUsIGFuZCBvYmFycmF5IG9udG8g TUVUSE9ELU5BTUUuXG5EbyBub3QgZG8gdGhlIHdvcmsgaWYgdGhleSBhbHJlYWR5IGV4aXN0LiIg KGxldCAoLi4uIC4uLikgKGlmIC4uLiAuLi4pKSkgKGRlZnVuIGVpZWlvbXQtYWRkIChtZXRob2Qt bmFtZSBtZXRob2Qga2V5IGNsYXNzKSAiQWRkIHRvIE1FVEhPRC1OQU1FIHRoZSBmb3JtcyBNRVRI T0QgaW4gYSBjYWxsIHBvc2l0aW9uIEtFWSBmb3IgQ0xBU1MuXG5NRVRIT0QtTkFNRSBpcyB0aGUg bmFtZSBjcmVhdGVkIGJ5IGEgY2FsbCB0byBgZGVmZ2VuZXJpYycuXG5NRVRIT0QgYXJlIHRoZSBm b3JtcyBmb3IgYSBnaXZlbiBpbXBsZW1lbnRhdGlvbi5cbktFWSBpcyBhbiBpbnRlZ2VyIChzZWUg Y29tbWVudCBpbiBlaWVpby5lbCBuZWFyIHRoaXMgZnVuY3Rpb24pIHdoaWNoXG5pcyBhc3NvY2lh dGVkIHdpdGggdGhlIDpzdGF0aWMgOmJlZm9yZSA6cHJpbWFyeSBhbmQgOmFmdGVyIHRhZ3MuXG5J dCBhbHNvIGluZGljYXRlcyBpZiBDTEFTUyBpcyBkZWZpbmVkIG9yIG5vdC5cbkNMQVNTIGlzIHRo ZSBjbGFzcyB0aGlzIG1ldGhvZCBpcyBhc3NvY2lhdGVkIHdpdGguIiAoaWYgKG9yIC4uLiAuLi4p IChlcnJvciAiRWllaW9tdC1hZGQ6IG1ldGhvZCBrZXkgZXJyb3IhIikpIChsZXQgKC4uLiAuLi4p IChpZiAuLi4gLi4uKSAoaWYgLi4uIC4uLiAuLi4pIChpZiAuLi4gLi4uKSAoaWYgLi4uIC4uLikp KSAoZGVmdW4gZWllaW9tdC1uZXh0IChjbGFzcykgIlJldHVybiB0aGUgbmV4dCBwYXJlbnQgY2xh c3MgZm9yIENMQVNTLlxuSWYgQ0xBU1MgaXMgYSBzdXBlcmNsYXNzLCByZXR1cm4gdmFyaWFibGUg YGVpZWlvLWRlZmF1bHQtc3VwZXJjbGFzcycuICBJZiBDTEFTU1xuaXMgdmFyaWFibGUgYGVpZWlv LWRlZmF1bHQtc3VwZXJjbGFzcycgdGhlbiByZXR1cm4gbmlsLiAgVGhpcyBpcyBkaWZmZXJlbnQg ZnJvbVxuZnVuY3Rpb24gYGNsYXNzLXBhcmVudCcgYXMgY2xhc3MgcGFyZW50IHJldHVybnMgbmls IGZvciBzdXBlcmNsYXNzZXMuICBUaGlzXG5mdW5jdGlvbiBwZXJmb3JtcyBubyB0eXBlIGNoZWNr aW5nISIgKG9yIChjbGFzcy1wYXJlbnRzLWZhc3QgY2xhc3MpIChpZiAuLi4gbmlsIC4uLikpKSAo ZGVmdW4gZWllaW9tdC1zeW0tb3B0aW1pemUgKHMpICJGaW5kIHRoZSBuZXh0IGNsYXNzIGFib3Zl IFMgd2hpY2ggaGFzIGEgZnVuY3Rpb24gYm9keSBmb3IgdGhlIG9wdGltaXplci4iIChsZXQqICgu Li4gLi4uIC4uLiAuLi4pIChzZXRxIGVzIC4uLikgKHdoaWxlIC4uLiAuLi4gLi4uKSAoaWYgLi4u IC4uLikpKSAoZGVmdW4gZWllaW8tZ2VuZXJpYy1mb3JtIChtZXRob2Qga2V5IGNsYXNzKSAiUmV0 dXJuIHRoZSBsYW1iZGEgZm9ybSBiZWxvbmdpbmcgdG8gTUVUSE9EIHVzaW5nIEtFWSBiYXNlZCB1 cG9uIENMQVNTLlxuSWYgQ0xBU1MgaXMgbm90IGEgY2xhc3MgdGhlbiB1c2UgYGdlbmVyaWMnIGlu c3RlYWQuICBJZiBjbGFzcyBoYXMgbm9cbmZvcm0sIGJ1dCBoYXMgYSBwYXJlbnQgY2xhc3MsIHRo ZW4gdHJhY2UgdG8gdGhhdCBwYXJlbnQgY2xhc3MuICBUaGVcbmZpcnN0IHRpbWUgYSBmb3JtIGlz IHJlcXVlc3RlZCBmcm9tIGEgc3ltYm9sLCBhbiBvcHRpbWl6ZWQgcGF0aCBpc1xubWVtb2l6ZWQg Zm9yIGZ1dHVyZSBmYXN0ZXIgdXNlLiIgKGxldCAoLi4uKSAoaWYgLi4uIC4uLiAuLi4pKSkgKGRl ZnVuIGVpZWlvLXNldC1kZWZhdWx0cyAob2JqICZvcHRpb25hbCBzZXQtYWxsKSAiVGFrZSBvYmpl Y3QgT0JKLCBhbmQgcmVzZXQgYWxsIHNsb3RzIHRvIHRoZWlyIGRlZmF1bHRzLlxuSWYgU0VULUFM TCBpcyBub24tbmlsLCB0aGVuIHdoZW4gYSBkZWZhdWx0IGlzIG5pbCwgdGhhdCB2YWx1ZSBpc1xu cmVzZXQuICBJZiBTRVQtQUxMIGlzIG5pbCwgdGhlIHNsb3RzIGFyZSBvbmx5IHJlc2V0IGlmIHRo ZSBkZWZhdWx0IGlzXG5ub3QgbmlsLiIgKGxldCAoLi4uIC4uLiAuLi4pICh3aGlsZSBwdWIgLi4u IC4uLikpKSAoZGVmdW4gZWllaW8taW5pdGFyZy10by1hdHRyaWJ1dGUgKGNsYXNzIGluaXRhcmcp ICJGb3IgQ0xBU1MsIGNvbnZlcnQgSU5JVEFSRyB0byB0aGUgYWN0dWFsIGF0dHJpYnV0ZSBuYW1l LlxuSWYgdGhlcmUgaXMgbm8gdHJhbnNsYXRpb24sIHBhc3MgaXQgaW4gZGlyZWN0bHkgKHNvIHdl IGNhbiBjaGVhdCBpZlxubmVlZCBiZS4uIE1heSByZW1vdmUgdGhhdCBsYXRlci4uLikiIChsZXQg KC4uLikgKGlmIHR1cGxlIC4uLiBuaWwpKSkgKGRlZnVuIGVpZWlvLWF0dHJpYnV0ZS10by1pbml0 YXJnIChjbGFzcyBhdHRyaWJ1dGUpICJJbiBDTEFTUywgY29udmVydCB0aGUgQVRUUklCVVRFIGlu dG8gdGhlIGNvcnJlc3BvbmRpbmcgaW5pdCBhcmd1bWVudCB0YWcuXG5UaGlzIGlzIHVzdWFsbHkg YSBzeW1ib2wgdGhhdCBzdGFydHMgd2l0aCBgOicuIiAobGV0ICguLi4pIChpZiB0dXBsZSAuLi4g bmlsKSkpIChpbnRlcm4gIm5vLW1ldGhvZC1kZWZpbml0aW9uIikgKHB1dCAocXVvdGUgbm8tbWV0 aG9kLWRlZmluaXRpb24pIChxdW90ZSBlcnJvci1jb25kaXRpb25zKSAocXVvdGUgKG5vLW1ldGhv ZC1kZWZpbml0aW9uIGVycm9yKSkpIChwdXQgKHF1b3RlIG5vLW1ldGhvZC1kZWZpbml0aW9uKSAo cXVvdGUgZXJyb3ItbWVzc2FnZSkgIk5vIG1ldGhvZCBkZWZpbml0aW9uIikgKGludGVybiAibm8t bmV4dC1tZXRob2QiKSAocHV0IChxdW90ZSBuby1uZXh0LW1ldGhvZCkgKHF1b3RlIGVycm9yLWNv bmRpdGlvbnMpIChxdW90ZSAobm8tbmV4dC1tZXRob2QgZXJyb3IpKSkgKHB1dCAocXVvdGUgbm8t bmV4dC1tZXRob2QpIChxdW90ZSBlcnJvci1tZXNzYWdlKSAiTm8gbmV4dCBtZXRob2QiKSAoaW50 ZXJuICJpbnZhbGlkLXNsb3QtbmFtZSIpIChwdXQgKHF1b3RlIGludmFsaWQtc2xvdC1uYW1lKSAo cXVvdGUgZXJyb3ItY29uZGl0aW9ucykgKHF1b3RlIChpbnZhbGlkLXNsb3QtbmFtZSBlcnJvcikp KSAocHV0IChxdW90ZSBpbnZhbGlkLXNsb3QtbmFtZSkgKHF1b3RlIGVycm9yLW1lc3NhZ2UpICJJ bnZhbGlkIHNsb3QgbmFtZSIpIChpbnRlcm4gImludmFsaWQtc2xvdC10eXBlIikgKHB1dCAocXVv dGUgaW52YWxpZC1zbG90LXR5cGUpIChxdW90ZSBlcnJvci1jb25kaXRpb25zKSAocXVvdGUgKGlu dmFsaWQtc2xvdC10eXBlIGVycm9yIG5pbCkpKSAocHV0IChxdW90ZSBpbnZhbGlkLXNsb3QtdHlw ZSkgKHF1b3RlIGVycm9yLW1lc3NhZ2UpICJJbnZhbGlkIHNsb3QgdHlwZSIpIChpbnRlcm4gInVu Ym91bmQtc2xvdCIpIChwdXQgKHF1b3RlIHVuYm91bmQtc2xvdCkgKHF1b3RlIGVycm9yLWNvbmRp dGlvbnMpIChxdW90ZSAodW5ib3VuZC1zbG90IGVycm9yIG5pbCkpKSAocHV0IChxdW90ZSB1bmJv dW5kLXNsb3QpIChxdW90ZSBlcnJvci1tZXNzYWdlKSAiVW5ib3VuZCBzbG90IikgKGRlZnNldGYg c2xvdC12YWx1ZSAob2JqIHNsb3QpIChzdG9yZSkgKGxpc3QgKHF1b3RlIGVpZWlvLW9zZXQpIG9i aiBzbG90IHN0b3JlKSkgKGRlZnNldGYgZWllaW8tb3JlZiAob2JqIHNsb3QpIChzdG9yZSkgKGxp c3QgKHF1b3RlIGVpZWlvLW9zZXQpIG9iaiBzbG90IHN0b3JlKSkgKGRlZmluZS1zZXRmLW1ldGhv ZCBvcmVmIChvYmogc2xvdCkgKGxldCAoLi4uIC4uLiAuLi4pIChsaXN0IC4uLiAuLi4gLi4uIC4u LiAuLi4pKSkgKGRlZmNsYXNzIGVpZWlvLWRlZmF1bHQtc3VwZXJjbGFzcyBuaWwgbmlsICJEZWZh dWx0IHBhcmVudCBjbGFzcyBmb3IgY2xhc3NlcyB3aXRoIG5vIHNwZWNpZmllZCBwYXJlbnQgY2xh c3MuXG5JdHMgc2xvdHMgYXJlIGF1dG9tYXRpY2FsbHkgYWRvcHRlZCBieSBjbGFzc2VzIHdpdGgg bm8gc3BlY2lmaWVkXG5wYXJlbnRzLiAgVGhpcyBjbGFzcyBpcyBub3Qgc3RvcmVkIGluIHRoZSBg cGFyZW50JyBzbG90IG9mIGEgY2xhc3MgdmVjdG9yLiIgOmFic3RyYWN0IHQpIChkZWZhbGlhcyAo cXVvdGUgc3RhbmRhcmQtY2xhc3MpIChxdW90ZSBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3MpKSAo ZGVmZ2VuZXJpYyBjb25zdHJ1Y3RvciAoY2xhc3MgbmV3bmFtZSAmcmVzdCBzbG90cykgIkRlZmF1 bHQgY29uc3RydWN0b3IgZm9yIENMQVNTIGBlaWVpby1kZWZ1YWx0LXN1cGVyY2xhc3MnLiIpIChk ZWZtZXRob2QgY29uc3RydWN0b3IgOnN0YXRpYyAoKGNsYXNzIGVpZWlvLWRlZmF1bHQtc3VwZXJj bGFzcykgbmV3bmFtZSAmcmVzdCBzbG90cykgIkRlZmF1bHQgY29uc3RydWN0b3IgZm9yIENMQVNT IGBlaWVpby1kZWZ1YWx0LXN1cGVyY2xhc3MnLlxuTkVXTkFNRSBpcyB0aGUgbmFtZSB0byBiZSBn aXZlbiB0byB0aGUgY29uc3RydWN0ZWQgb2JqZWN0LlxuU0xPVFMgYXJlIHRoZSBpbml0aWFsaXph dGlvbiBzbG90cyB1c2VkIGJ5IGBzaGFyZWQtaW5pdGlhbGl6ZScuXG5UaGlzIHN0YXRpYyBtZXRo b2QgaXMgY2FsbGVkIHdoZW4gYW4gb2JqZWN0IGlzIGNvbnN0cnVjdGVkLlxuSXQgYWxsb2NhdGVz IHRoZSB2ZWN0b3IgdXNlZCB0byByZXByZXNlbnQgYW4gRUlFSU8gb2JqZWN0LCBhbmQgdGhlblxu Y2FsbHMgYHNoYXJlZC1pbml0aWFsaXplJyBvbiB0aGF0IG9iamVjdC4iIChsZXQqICguLi4pIChh c2V0IG5ldy1vYmplY3Qgb2JqZWN0LW5hbWUgbmV3bmFtZSkgKGluaXRpYWxpemUtaW5zdGFuY2Ug bmV3LW9iamVjdCBzbG90cykgbmV3LW9iamVjdCkpIChkZWZnZW5lcmljIHNoYXJlZC1pbml0aWFs aXplIChvYmogc2xvdHMpICJTZXQgc2xvdHMgb2YgT0JKIHdpdGggU0xPVFMgd2hpY2ggaXMgYSBs aXN0IG9mIG5hbWUvdmFsdWUgcGFpcnMuXG5DYWxsZWQgZnJvbSB0aGUgY29uc3RydWN0b3Igcm91 dGluZS4iKSAoZGVmbWV0aG9kIHNoYXJlZC1pbml0aWFsaXplICgob2JqIGVpZWlvLWRlZmF1bHQt c3VwZXJjbGFzcykgc2xvdHMpICJTZXQgc2xvdHMgb2YgT0JKIHdpdGggU0xPVFMgd2hpY2ggaXMg YSBsaXN0IG9mIG5hbWUvdmFsdWUgcGFpcnMuXG5DYWxsZWQgZnJvbSB0aGUgY29uc3RydWN0b3Ig cm91dGluZS4iIChsZXQgKC4uLikgKHdoaWxlIHNsb3RzIC4uLiAuLi4pKSkgKGRlZmdlbmVyaWMg aW5pdGlhbGl6ZS1pbnN0YW5jZSAodGhpcyAmb3B0aW9uYWwgc2xvdHMpICJDb25zdHJ1Y3RzIHRo ZSBuZXcgb2JqZWN0IFRISVMgYmFzZWQgb24gU0xPVFMuIikgKGRlZm1ldGhvZCBpbml0aWFsaXpl LWluc3RhbmNlICgodGhpcyBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3MpICZvcHRpb25hbCBzbG90 cykgIkNvbnN0cnVjdHMgdGhlIG5ldyBvYmplY3QgVEhJUyBiYXNlZCBvbiBTTE9UUy5cblNMT1RT IGlzIGEgdGFnZ2VkIGxpc3Qgd2hlcmUgb2RkIG51bWJlcmVkIGVsZW1lbnRzIGFyZSB0YWdzLCBh bmRcbmV2ZW4gbnVtYmVyZWQgZWxlbWVudHMgYXJlIHRoZSB2YWx1ZXMgdG8gc3RvcmUgaW4gdGhl IHRhZ2dlZCBzbG90LiAgSWZcbnlvdSBvdmVybG9hZCB0aGUgYGluaXRpYWxpemUtaW5zdGFuY2Un LCB0aGVyZSB5b3Ugd2lsbCBuZWVkIHRvIGNhbGxcbmBzaGFyZWQtaW5pdGlhbGl6ZScgeW91cnNl bGYsIG9yIHlvdSBjYW4gY2FsbCBgY2FsbC1uZXh0LW1ldGhvZCcgdG9cbmhhdmUgdGhpcyBjb25z dHJ1Y3RvciBjYWxsZWQgYXV0b21hdGljYWxseS4gIElmIHRoZXNlIHN0ZXBzIGFyZSBub3RcbnRh a2VuLCB0aGVuIG5ldyBvYmplY3RzIG9mIHlvdXIgY2xhc3Mgd2lsbCBub3QgaGF2ZSB0aGVpciB2 YWx1ZXNcbmR5bmFtaWNhbGx5IHNldCBmcm9tIFNMT1RTLiIgKGxldCogKC4uLiAuLi4gLi4uKSAo d2hpbGUgc2xvdCAuLi4gLi4uKSkgKHNoYXJlZC1pbml0aWFsaXplIHRoaXMgc2xvdHMpKSAoZGVm Z2VuZXJpYyBzbG90LW1pc3NpbmcgKG9iamVjdCBzbG90LW5hbWUgb3BlcmF0aW9uICZvcHRpb25h bCBuZXctdmFsdWUpICJNZXRob2QgaW52b2tlZCB3aGVuIGFuIGF0dGVtcHQgdG8gYWNjZXNzIGEg c2xvdCBpbiBPQkpFQ1QgZmFpbHMuIikgKGRlZm1ldGhvZCBzbG90LW1pc3NpbmcgKChvYmplY3Qg ZWllaW8tZGVmYXVsdC1zdXBlcmNsYXNzKSBzbG90LW5hbWUgb3BlcmF0aW9uICZvcHRpb25hbCBu ZXctdmFsdWUpICJNZXRob2QgaW52b2tlZCB3aGVuIGFuIGF0dGVtcHQgdG8gYWNjZXNzIGEgc2xv dCBpbiBPQkpFQ1QgZmFpbHMuXG5TTE9ULU5BTUUgaXMgdGhlIG5hbWUgb2YgdGhlIGZhaWxlZCBz bG90LCBPUEVSQVRJT04gaXMgdGhlIHR5cGUgb2YgYWNjZXNzXG50aGF0IHdhcyByZXF1ZXN0ZWQs IGFuZCBvcHRpb25hbCBORVctVkFMVUUgaXMgdGhlIHZhbHVlIHRoYXQgd2FzIGRlc2lyZWRcbnRv IGJlIHNldC5cblxuVGhpcyBtZXRob2QgaXMgY2FsbGVkIGZyb20gYG9yZWYnLCBgb3NldCcsIGFu ZCBvdGhlciBmdW5jdGlvbnMgd2hpY2hcbmRpcmVjdGx5IHJlZmVyZW5jZSBzbG90cyBpbiBFSUVJ TyBvYmplY3RzLiIgKHNpZ25hbCAocXVvdGUgaW52YWxpZC1zbG90LW5hbWUpIChsaXN0IC4uLiBz bG90LW5hbWUpKSkgKGRlZmdlbmVyaWMgc2xvdC11bmJvdW5kIChvYmplY3QgY2xhc3Mgc2xvdC1u YW1lIGZuKSAiU2xvdCB1bmJvdW5kIGlzIGludm9rZWQgZHVyaW5nIGFuIGF0dGVtcHQgdG8gcmVm ZXJlbmNlIGFuIHVuYm91bmQgc2xvdC4iKSAoZGVmbWV0aG9kIHNsb3QtdW5ib3VuZCAoKG9iamVj dCBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3MpIGNsYXNzIHNsb3QtbmFtZSBmbikgIlNsb3QgdW5i b3VuZCBpcyBpbnZva2VkIGR1cmluZyBhbiBhdHRlbXB0IHRvIHJlZmVyZW5jZSBhbiB1bmJvdW5k IHNsb3QuXG5PQkpFQ1QgaXMgdGhlIGluc3RhbmNlIG9mIHRoZSBvYmplY3QgYmVpbmcgcmVmZXJl bmNlLiAgQ0xBU1MgaXMgdGhlXG5jbGFzcyBvZiBPQkpFQ1QsIGFuZCBTTE9ULU5BTUUgaXMgdGhl IG9mZmVuZGluZyBzbG90LiAgVGhpcyBmdW5jdGlvblxudGhyb3dzIHRoZSBzaWduYWwgYHVuYm91 bmQtc2xvdCcuICBZb3UgY2FuIG92ZXJsb2FkIHRoaXMgZnVuY3Rpb24gYW5kXG5yZXR1cm4gdGhl IHZhbHVlIHRvIHVzZSBpbiBwbGFjZSBvZiB0aGUgdW5ib3VuZCB2YWx1ZS5cbkFyZ3VtZW50IEZO IGlzIHRoZSBmdW5jdGlvbiBzaWduYWxpbmcgdGhpcyBlcnJvci5cblVzZSBgc2xvdC1ib3VuZHAn IHRvIGRldGVybWluZSBpZiBhIHNsb3QgaXMgYm91bmQgb3Igbm90LlxuXG5JbiBDTE9TLCB0aGUg YXJndW1lbnQgbGlzdCBpcyAoQ0xBU1MgT0JKRUNUIFNMT1QtTkFNRSksIGJ1dFxuRUlFSU8gY2Fu IG9ubHkgZGlzcGF0Y2ggb24gdGhlIGZpcnN0IGFyZ3VtZW50LCBzbyB0aGUgZmlyc3QgdHdvIGFy ZSBzd2FwcGVkLiIgKHNpZ25hbCAocXVvdGUgdW5ib3VuZC1zbG90KSAobGlzdCAuLi4gLi4uIHNs b3QtbmFtZSBmbikpKSAoZGVmZ2VuZXJpYyBuby1hcHBsaWNhYmxlLW1ldGhvZCAob2JqZWN0IG1l dGhvZCAmcmVzdCBhcmdzKSAiQ2FsbGVkIGlmIHRoZXJlIGFyZSBubyBpbXBsZW1lbnRhdGlvbnMg Zm9yIE9CSkVDVCBpbiBNRVRIT0QuIikgKGRlZm1ldGhvZCBuby1hcHBsaWNhYmxlLW1ldGhvZCAo KG9iamVjdCBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3MpIG1ldGhvZCAmcmVzdCBhcmdzKSAiQ2Fs bGVkIGlmIHRoZXJlIGFyZSBubyBpbXBsZW1lbnRhdGlvbnMgZm9yIE9CSkVDVCBpbiBNRVRIT0Qu XG5PQkpFQ1QgaXMgdGhlIG9iamVjdCB3aGljaCBoYXMgbm8gbWV0aG9kIGltcGxlbWVudGF0aW9u LlxuQVJHUyBhcmUgdGhlIGFyZ3VtZW50cyB0aGF0IHdlcmUgcGFzc2VkIHRvIE1FVEhPRC5cblxu SW1wbGVtZW50IHRoaXMgZm9yIGEgY2xhc3MgdG8gYmxvY2sgdGhpcyBzaWduYWwuICBUaGUgcmV0 dXJuXG52YWx1ZSBiZWNvbWVzIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIG9yaWdpbmFsIG1ldGhv ZCBjYWxsLiIgKHNpZ25hbCAocXVvdGUgbm8tbWV0aG9kLWRlZmluaXRpb24pIChsaXN0IG1ldGhv ZCAuLi4pKSkgKGRlZmdlbmVyaWMgbm8tbmV4dC1tZXRob2QgKG9iamVjdCAmcmVzdCBhcmdzKSAi Q2FsbGVkIGZyb20gYGNhbGwtbmV4dC1tZXRob2QnIHdoZW4gbm8gYWRkaXRpb25hbCBtZXRob2Rz IGFyZSBhdmFpbGFibGUuIikgKGRlZm1ldGhvZCBuby1uZXh0LW1ldGhvZCAoKG9iamVjdCBlaWVp by1kZWZhdWx0LXN1cGVyY2xhc3MpICZyZXN0IGFyZ3MpICJDYWxsZWQgZnJvbSBgY2FsbC1uZXh0 LW1ldGhvZCcgd2hlbiBubyBhZGRpdGlvbmFsIG1ldGhvZHMgYXJlIGF2YWlsYWJsZS5cbk9CSkVD VCBpcyBvdGhlIG9iamVjdCBiZWluZyBjYWxsZWQgb24gYGNhbGwtbmV4dC1tZXRob2QnLlxuQVJH UyBhcmUgdGhlICBhcmd1bWVudHMgaXQgaXMgY2FsbGVkIGJ5LlxuVGhpcyBtZXRob2Qgc2lnbmFs cyBgbm8tbmV4dC1tZXRob2QnIGJ5IGRlZmF1bHQuICBPdmVycmlkZSB0aGlzXG5tZXRob2QgdG8g bm90IHRocm93IGFuIGVycm9yLCBhbmQgaXQncyByZXR1cm4gdmFsdWUgYmVjb21lcyB0aGVcbnJl dHVybiB2YWx1ZSBvZiBgY2FsbC1uZXh0LW1ldGhvZCcuIiAoc2lnbmFsIChxdW90ZSBuby1uZXh0 LW1ldGhvZCkgKGxpc3QgLi4uIGFyZ3MpKSkgKGRlZmdlbmVyaWMgY2xvbmUgKG9iaiAmcmVzdCBw YXJhbXMpICJNYWtlIGEgY29weSBvZiBPQkosIGFuZCB0aGVuIHN1cHBseSBQQVJBTVMuXG5QQVJB TVMgaXMgYSBwYXJhbWV0ZXIgbGlzdCBvZiB0aGUgc2FtZSBmb3JtIHVzZWQgYnkgYGluaXRpYWxp emUtaW5zdGFuY2UnLlxuXG5XaGVuIG92ZXJsb2FkaW5nIGBjbG9uZScsIGJlIHN1cmUgdG8gY2Fs bCBgY2FsbC1uZXh0LW1ldGhvZCdcbmZpcnN0IGFuZCBtb2RpZnkgdGhlIHJldHVybmVkIG9iamVj dC4iKSAoZGVmbWV0aG9kIGNsb25lICgob2JqIGVpZWlvLWRlZmF1bHQtc3VwZXJjbGFzcykgJnJl c3QgcGFyYW1zKSAiTWFrZSBhIGNvcHkgb2YgT0JKLCBhbmQgdGhlbiBhcHBseSBQQVJBTVMuIiAo bGV0ICguLi4gLi4uIC4uLiAuLi4pIChpZiBwYXJhbXMgLi4uKSAoaWYgLi4uIC4uLiAuLi4pIG5v YmopKSAoZGVmZ2VuZXJpYyBkZXN0cnVjdG9yICh0aGlzICZyZXN0IHBhcmFtcykgIkRlc3RydWN0 b3IgZm9yIGNsZWFuaW5nIHVwIGFueSBkeW5hbWljIGxpbmtzIHRvIG91ciBvYmplY3QuIikgKGRl Zm1ldGhvZCBkZXN0cnVjdG9yICgodGhpcyBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3MpICZyZXN0 IHBhcmFtcykgIkRlc3RydWN0b3IgZm9yIGNsZWFuaW5nIHVwIGFueSBkeW5hbWljIGxpbmtzIHRv IG91ciBvYmplY3QuXG5Bcmd1bWVudCBUSElTIGlzIHRoZSBvYmplY3QgYmVpbmcgZGVzdHJveWVk LiAgUEFSQU1TIGFyZSBhZGRpdGlvbmFsXG5pZ25vcmVkIHBhcmFtZXRlcnMuIikgKGRlZmdlbmVy aWMgb2JqZWN0LXByaW50ICh0aGlzICZyZXN0IHN0cmluZ3MpICJQcmV0dHkgcHJpbnRlciBmb3Ig b2JqZWN0IFRISVMuICBDYWxsIGZ1bmN0aW9uIGBvYmplY3QtbmFtZScgd2l0aCBTVFJJTkdTLlxu XG5JdCBpcyBzb21ldGltZXMgdXNlZnVsIHRvIHB1dCBhIHN1bW1hcnkgb2YgdGhlIG9iamVjdCBp bnRvIHRoZVxuZGVmYXVsdCAjPG5vdGF0aW9uPiBzdHJpbmcgd2hlbiB1c2luZyBlaWVpbyBicm93 c2luZyB0b29scy5cbkltcGxlbWVudCB0aGlzIG1ldGhvZCB0byBjdXN0b21pemUgdGhlIHN1bW1h cnkuIikgKGRlZm1ldGhvZCBvYmplY3QtcHJpbnQgKCh0aGlzIGVpZWlvLWRlZmF1bHQtc3VwZXJj bGFzcykgJnJlc3Qgc3RyaW5ncykgIlByZXR0eSBwcmludGVyIGZvciBvYmplY3QgVEhJUy4gIENh bGwgZnVuY3Rpb24gYG9iamVjdC1uYW1lJyB3aXRoIFNUUklOR1MuXG5UaGUgZGVmYXVsdCBtZXRo b2QgZm9yIHByaW50aW5nIG9iamVjdCBUSElTIGlzIHRvIHVzZSB0aGVcbmZ1bmN0aW9uIGBvYmpl Y3QtbmFtZScuXG5cbkl0IGlzIHNvbWV0aW1lcyB1c2VmdWwgdG8gcHV0IGEgc3VtbWFyeSBvZiB0 aGUgb2JqZWN0IGludG8gdGhlXG5kZWZhdWx0ICM8bm90YXRpb24+IHN0cmluZyB3aGVuIHVzaW5n IGVpZWlvIGJyb3dzaW5nIHRvb2xzLlxuXG5JbXBsZW1lbnQgdGhpcyBmdW5jdGlvbiBhbmQgc3Bl Y2lmeSBTVFJJTkdTIGluIGEgY2FsbCB0b1xuYGNhbGwtbmV4dC1tZXRob2QnIHRvIHByb3ZpZGUg YWRkaXRpb25hbCBzdW1tYXJ5IGluZm9ybWF0aW9uLlxuV2hlbiBwYXNzaW5nIGluIGV4dHJhIHN0 cmluZ3MgZnJvbSBjaGlsZCBjbGFzc2VzLCBhbHdheXMgcmVtZW1iZXJcbnRvIHByZXBlbmQgYSBz cGFjZS4iIChvYmplY3QtbmFtZSB0aGlzIChhcHBseSAuLi4gc3RyaW5ncykpKSAoZGVmdmFyIGVp ZWlvLXByaW50LWRlcHRoIDAgIldoZW4gcHJpbnRpbmcsIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJl bnQgaW5kZW50YXRpb24gZGVwdGguIikgKGRlZmdlbmVyaWMgb2JqZWN0LXdyaXRlICh0aGlzICZv cHRpb25hbCBjb21tZW50KSAiV3JpdGUgb3V0IG9iamVjdCBUSElTIHRvIHRoZSBjdXJyZW50IHN0 cmVhbS5cbk9wdGlvbmFsIENPTU1FTkRTIHdpbGwgYWRkIGNvbW1lbnRzIHRvIHRoZSBiZWdpbm5p bmcgb2YgdGhlIG91dHB1dC4iKSAoZGVmbWV0aG9kIG9iamVjdC13cml0ZSAoKHRoaXMgZWllaW8t ZGVmYXVsdC1zdXBlcmNsYXNzKSAmb3B0aW9uYWwgY29tbWVudCkgIldyaXRlIG9iamVjdCBUSElT IG91dCB0byB0aGUgY3VycmVudCBzdHJlYW0uXG5UaGlzIHdyaXRlcyBvdXQgdGhlIHZlY3RvciB2 ZXJzaW9uIG9mIHRoaXMgb2JqZWN0LiAgQ29tcGxleCBhbmQgcmVjdXJzaXZlXG5vYmplY3QgYXJl IGRpc2NvdXJhZ2VkIGZyb20gYmVpbmcgd3JpdHRlbi5cbiAgSWYgb3B0aW9uYWwgQ09NTUVOVCBp cyBub24tbmlsLCBpbmNsdWRlIGNvbW1lbnRzIHdoZW4gb3V0cHV0dGluZ1xudGhpcyBvYmplY3Qu IiAod2hlbiBjb21tZW50IChwcmluYyAiOzsgT2JqZWN0ICIpIChwcmluYyAuLi4pIChwcmluYyAi XG4iKSAocHJpbmMgY29tbWVudCkgKHByaW5jICJcbiIpKSAobGV0KiAoLi4uIC4uLikgKHByaW5j IC4uLikgKHByaW5jICIoIikgKHByaW5jIC4uLikgKHByaW5jICIgXCIiKSAocHJpbmMgLi4uKSAo cHJpbmMgIlwiXG4iKSAobGV0IC4uLiAuLi4gLi4uKSAocHJpbmMgIilcbiIpKSkgKGRlZnVuIGVp ZWlvLW92ZXJyaWRlLXByaW4xICh0aGluZykgIlBlcmZvcm0gYSBwcmluMSBvbiBUSElORyB0YWtp bmcgYWR2YW50YWdlIG9mIG9iamVjdCBrbm93bGVkZ2UuIiAoY29uZCAoLi4uIC4uLikgKC4uLiAu Li4pICguLi4gLi4uKSAoLi4uIC4uLikgKHQgLi4uKSkpIChkZWZ1biBlaWVpby1saXN0LXByaW4x IChsaXN0KSAiRGlzcGxheSBMSVNUIHdoZXJlIGxpc3QgbWF5IGNvbnRhaW4gb2JqZWN0cy4iIChp ZiAobm90IC4uLikgKHByb2duIC4uLiAuLi4pIChwcmluYyAiKGxpc3QgIikgKGlmIC4uLiAuLi4p ICh3aGlsZSBsaXN0IC4uLiAuLi4gLi4uKSAocHJpbmMgLi4uKSAocHJpbmMgIikiKSkpIChkZWZ1 biBjaGFuZ2UtY2xhc3MgKG9iaiBjbGFzcykgIkNoYW5nZSB0aGUgY2xhc3Mgb2YgT0JKIHRvIHR5 cGUgQ0xBU1MuXG5UaGlzIG1heSBjcmVhdGUgb3IgZGVsZXRlIHNsb3RzLCBidXQgZG9lcyBub3Qg YWZmZWN0IHRoZSByZXR1cm4gdmFsdWVcbm9mIGBlcScuIiAoZXJyb3IgIkVpZWlvOiBgY2hhbmdl LWNsYXNzJyBpcyB1bmltcGxlbWVudGVkIikpKQogICM8c3ViciBtYWNyb2V4cGFuZD4oKGV2YWwt YW5kLWNvbXBpbGUgKGlmIChmYm91bmRwIC4uLikgKGRlZmFsaWFzIC4uLiAuLi4pIChkZWZ1biBl aWVpby1jb21waWxlZC1mdW5jdGlvbi1hcmdsaXN0IC4uLiAiUmV0dXJuIHRoZSBhcmd1bWVudCBs aXN0IGZvciB0aGUgY29tcGlsZWQgZnVuY3Rpb24gRlVOQy4iIC4uLikpIChkZWZ2YXIgZWllaW8t aG9vayBuaWwgIipUaGlzIGhvb2sgaXMgZXhlY3V0ZWQsIHRoZW4gY2xlYXJlZCBlYWNoIHRpbWUg YGRlZmNsYXNzJyBpcyBjYWxsZWQuIikgKGRlZnZhciBlaWVpby1lcnJvci11bnN1cHBvcnRlZC1j bGFzcy10YWdzIG5pbCAiKk5vbiBuaWwgdG8gdGhyb3cgYW4gZXJyb3IgaWYgYW4gZW5jb3VudGVy ZWQgdGFnIHVzIHVuc3VwcG9ydGVkLlxuVGhpcyBtYXkgcHJldmVudCBjbGFzc2VzIGZyb20gQ0xP UyBhcHBsaWNhdGlvbnMgZnJvbSBiZWluZyB1c2VkIHdpdGggRUlFSU9cbnNpbmNlIEVJRUlPIGRv ZXMgbm90IHN1cHBvcnQgYWxsIENMT1MgdGFncy4iKSAoZGVmdmFyIGVpZWlvLXNraXAtdHlwZWNo ZWNrIG5pbCAiKklmIG5vbi1uaWwsIHNraXAgYWxsIHNsb3QgdHlwZWNoZWNraW5nLlxuU2V0IHRo aXMgdG8gdCBwZXJtYW5lbnRseSBpZiBhIHByb2dyYW0gaXMgZnVuY3Rpb25pbmcgd2VsbCB0byBn ZXQgYVxuc21hbGwgc3BlZWQgaW5jcmVhc2UuICBUaGlzIHZhcmlhYmxlIGlzIGFsc28gdXNlZCBp bnRlcm5hbGx5IHRvIGhhbmRsZVxuZGVmYXVsdCBzZXR0aW5nIGZvciBvcHRpbWl6YXRpb24gcHVy cG9zZXMuIikgKGRlZnZhciBlaWVpby1vcHRpbWl6ZS1wcmltYXJ5LW1ldGhvZHMtZmxhZyB0ICJO b24tbmlsIG1lYW5zIHRvIG9wdGltaXplIHRoZSBtZXRob2QgZGlzcGF0Y2ggb24gcHJpbWFyeSBt ZXRob2RzLiIpIChkZWZ2YXIgdGhpcyBuaWwgIkluc2lkZSBhIG1ldGhvZCwgdGhpcyB2YXJpYWJs ZSBpcyB0aGUgb2JqZWN0IGluIHF1ZXN0aW9uLlxuRE8gTk9UIFNFVCBUSElTIFlPVVJTRUxGIHVu bGVzcyB5b3UgYXJlIHRyeWluZyB0byBzaW11bGF0ZSBmcmllbmRseSBzbG90cy5cblxuTm90ZTog RW1iZWRkZWQgbWV0aG9kcyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIFRoZSB2YXJpYWJsZSBU SElTIGlzXG5zdGlsbCBzZXQgZm9yIENMT1MgbWV0aG9kcyBmb3IgdGhlIHNha2Ugb2Ygcm91dGlu ZXMgbGlrZVxuYGNhbGwtbmV4dC1tZXRob2QnIikgKGRlZnZhciBzY29wZWQtY2xhc3MgbmlsICJU aGlzIGlzIHNldCB0byBhIGNsYXNzIHdoZW4gYSBtZXRob2QgaXMgcnVubmluZy5cblRoaXMgaXMg c28gd2Uga25vdyB3ZSBhcmUgYWxsb3dlZCB0byBjaGVjayBwcml2YXRlIHBhcnRzIG9yIGhvdyB0 b1xuZXhlY3V0ZSBhIGBjYWxsLW5leHQtbWV0aG9kJy4gIERPIE5PVCBTRVQgVEhJUyBZT1VSU0VM RiEiKSAoZGVmdmFyIGVpZWlvLWluaXRpYWxpemluZy1vYmplY3QgbmlsICJTZXQgdG8gbm9uLW5p bCB3aGlsZSBpbml0aWFsaXppbmcgYW4gb2JqZWN0LiIpIChkZWZjb25zdCBlaWVpby11bmJvdW5k IChtYWtlLXN5bWJvbCAidW5ib3VuZCIpICJVbmludGVybmVkIHN5bWJvbCByZXByZXNlbnRpbmcg YW4gdW5ib3VuZCBzbG90IGluIGFuIG9iamVjdC4iKSAoZGVmdmFyIGVpZWlvLWRlZmF1bHQtc3Vw ZXJjbGFzcyBuaWwpIChkZWZjb25zdCBjbGFzcy1zeW1ib2wgMSAiQ2xhc3MncyBzeW1ib2wgKHNl bGYtcmVmZXJlbmNpbmcuKS4iKSAoZGVmY29uc3QgY2xhc3MtcGFyZW50IDIgIkNsYXNzIHBhcmVu dCBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1jaGlsZHJlbiAzICJDbGFzcyBjaGlsZHJlbiBjbGFz cyBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1zeW1ib2wtb2JhcnJheSA0ICJPYmFycmF5IHBlcm1p dHRpbmcgZmFzdCBhY2Nlc3MgdG8gdmFyaWFibGUgcG9zaXRpb24gaW5kZXhlcy4iKSAoZGVmY29u c3QgY2xhc3MtcHVibGljLWEgNSAiQ2xhc3MgYXR0cmlidXRlIGluZGV4LiIpIChkZWZjb25zdCBj bGFzcy1wdWJsaWMtZCA2ICJDbGFzcyBhdHRyaWJ1dGUgZGVmYXVsdHMgaW5kZXguIikgKGRlZmNv bnN0IGNsYXNzLXB1YmxpYy1kb2MgNyAiQ2xhc3MgZG9jdW1lbnRhdGlvbiBzdHJpbmdzIGZvciBh dHRyaWJ1dGVzLiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtdHlwZSA4ICJDbGFzcyB0eXBlIGZv ciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20gOSAiQ2xhc3MgY3VzdG9t IHR5cGUgZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWN1c3RvbS1sYWJlbCAx MCAiQ2xhc3MgY3VzdG9tIGdyb3VwIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1Ymxp Yy1jdXN0b20tZ3JvdXAgMTEgIkNsYXNzIGN1c3RvbSBncm91cCBmb3IgYSBzbG90LiIpIChkZWZj b25zdCBjbGFzcy1wdWJsaWMtcHJpbnRlciAxMiAiUHJpbnRlciBmb3IgYSBzbG90LiIpIChkZWZj b25zdCBjbGFzcy1wcm90ZWN0aW9uIDEzICJDbGFzcyBwcm90ZWN0aW9uIGZvciBhIHNsb3QuIikg KGRlZmNvbnN0IGNsYXNzLWluaXRhcmctdHVwbGVzIDE0ICJDbGFzcyBpbml0YXJnIHR1cGxlcyBs aXN0LiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWEgMTUgIkNsYXNzIGFsbG9j YXRlZCBhdHRyaWJ1dGVzLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWRvYyAx NiAiQ2xhc3MgYWxsb2NhdGVkIGRvY3VtZW50YXRpb24uIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNz LWFsbG9jYXRpb24tdHlwZSAxNyAiQ2xhc3MgYWxsb2NhdGVkIHZhbHVlIHR5cGUuIikgKGRlZmNv bnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tY3VzdG9tIDE4ICJDbGFzcyBhbGxvY2F0ZWQgY3Vz dG9tIGRlc2NyaXB0b3IuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tY3VzdG9t LWxhYmVsIDE5ICJDbGFzcyBhbGxvY2F0ZWQgY3VzdG9tIGRlc2NyaXB0b3IuIikgKGRlZmNvbnN0 IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tY3VzdG9tLWdyb3VwIDIwICJDbGFzcyBhbGxvY2F0ZWQg Y3VzdG9tIGdyb3VwLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLXByaW50ZXIg MjEgIkNsYXNzIGFsbG9jYXRlZCBwcmludGVyIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNz LWNsYXNzLWFsbG9jYXRpb24tcHJvdGVjdGlvbiAyMiAiQ2xhc3MgYWxsb2NhdGVkIHByb3RlY3Rp b24gbGlzdC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi12YWx1ZXMgMjMgIkNs YXNzIGFsbG9jYXRlZCB2YWx1ZSB2ZWN0b3IuIikgKGRlZmNvbnN0IGNsYXNzLWRlZmF1bHQtb2Jq ZWN0LWNhY2hlIDI0ICJDYWNoZSBpbmRleCBvZiB3aGF0IGEgbmV3bHkgY3JlYXRlZCBvYmplY3Qg d291bGQgbG9vayBsaWtlLlxuVGhpcyB3aWxsIHNwZWVkIHVwIGluc3RhbnRpYXRpb24gdGltZSBh cyBvbmx5IGEgYGNvcHktc2VxdWVuY2UnIHdpbGxcbmJlIG5lZWRlZCwgaW5zdGVhZCBvZiBsb29w aW5nIG92ZXIgYWxsIHRoZSB2YWx1ZXMgYW5kIHNldHRpbmcgdGhlbVxuZnJvbSB0aGUgZGVmYXVs dC4iKSAoZGVmY29uc3QgY2xhc3Mtb3B0aW9ucyAyNSAiU3RvcmFnZSBsb2NhdGlvbiBvZiB0YWdn ZWQgY2xhc3Mgb3B0aW9ucy5cblN0b3JlZCBvdXRyaWdodCB3aXRob3V0IG1vZGlmaWNhdGlvbnMg b3Igc3RyaXBwaW5nLiIpIChkZWZjb25zdCBjbGFzcy1udW0tc2xvdHMgMjYgIk51bWJlciBvZiBz bG90cyBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBvYmplY3QuIikgKGRlZmNvbnN0IG9iamVjdC1j bGFzcyAxICJJbmRleCBpbiBhbiBvYmplY3QgdmVjdG9yIHdoZXJlIHRoZSBjbGFzcyBpcyBzdG9y ZWQuIikgKGRlZmNvbnN0IG9iamVjdC1uYW1lIDIgIkluZGV4IGluIGFuIG9iamVjdCB3aGVyZSB0 aGUgbmFtZSBpcyBzdG9yZWQuIikgKGRlZmNvbnN0IG1ldGhvZC1zdGF0aWMgMCAiSW5kZXggaW50 byA6c3RhdGljIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWJlZm9yZSAxICJJ bmRleCBpbnRvIDpiZWZvcmUgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtcHJp bWFyeSAyICJJbmRleCBpbnRvIDpwcmltYXJ5IHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3Qg bWV0aG9kLWFmdGVyIDMgIkluZGV4IGludG8gOmFmdGVyIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVm Y29uc3QgbWV0aG9kLW51bS1saXN0cyA0ICJOdW1iZXIgb2YgaW5kZXhlcyBpbnRvIG1ldGhvZHMg dmVjdG9yIGluIHdoaWNoIGdyb3VwcyBvZiBmdW5jdGlvbnMgYXJlIGtlcHQuIikgKGRlZmNvbnN0 IG1ldGhvZC1nZW5lcmljLWJlZm9yZSA0ICJJbmRleCBpbnRvIGdlbmVyaWMgOmJlZm9yZSB0YWcg b24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1nZW5lcmljLXByaW1hcnkgNSAiSW5kZXgg aW50byBnZW5lcmljIDpwcmltYXJ5IHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9k LWdlbmVyaWMtYWZ0ZXIgNiAiSW5kZXggaW50byBnZW5lcmljIDphZnRlciB0YWcgb24gYSBtZXRo b2QuIikgKGRlZmNvbnN0IG1ldGhvZC1udW0tc2xvdHMgNyAiTnVtYmVyIG9mIGluZGV4ZXMgaW50 byBhIG1ldGhvZCdzIHZlY3Rvci4iKSAoYXV0b2xvYWQgKHF1b3RlIGJ5dGUtY29tcGlsZS1maWxl LWZvcm0tZGVmbWV0aG9kKSAiZWllaW8tY29tcCIgIlRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBi eXRlIGNvbXBpbGUgbWV0aG9kcyBpbiBhIG5pY2Ugd2F5LiIpIChwdXQgKHF1b3RlIGRlZm1ldGhv ZCkgKHF1b3RlIGJ5dGUtaHVuay1oYW5kbGVyKSAocXVvdGUgYnl0ZS1jb21waWxlLWZpbGUtZm9y bS1kZWZtZXRob2QpKSAuLi4pICgoZXZhbC13aGVuLWNvbXBpbGUgbGFtYmRhICgmcmVzdCBib2R5 KSAobGlzdCAuLi4gLi4uKSkgKGV2YWwtYW5kLWNvbXBpbGUgbGFtYmRhICgmcmVzdCBib2R5KSAo Ynl0ZS1jb21waWxlLWV2YWwtYmVmb3JlLWNvbXBpbGUgLi4uKSAoY29ucyAuLi4gYm9keSkpKSkK ICBtYWNyb2V4cGFuZCgoZXZhbC1hbmQtY29tcGlsZSAoaWYgKGZib3VuZHAgLi4uKSAoZGVmYWxp YXMgLi4uIC4uLikgKGRlZnVuIGVpZWlvLWNvbXBpbGVkLWZ1bmN0aW9uLWFyZ2xpc3QgLi4uICJS ZXR1cm4gdGhlIGFyZ3VtZW50IGxpc3QgZm9yIHRoZSBjb21waWxlZCBmdW5jdGlvbiBGVU5DLiIg Li4uKSkgKGRlZnZhciBlaWVpby1ob29rIG5pbCAiKlRoaXMgaG9vayBpcyBleGVjdXRlZCwgdGhl biBjbGVhcmVkIGVhY2ggdGltZSBgZGVmY2xhc3MnIGlzIGNhbGxlZC4iKSAoZGVmdmFyIGVpZWlv LWVycm9yLXVuc3VwcG9ydGVkLWNsYXNzLXRhZ3MgbmlsICIqTm9uIG5pbCB0byB0aHJvdyBhbiBl cnJvciBpZiBhbiBlbmNvdW50ZXJlZCB0YWcgdXMgdW5zdXBwb3J0ZWQuXG5UaGlzIG1heSBwcmV2 ZW50IGNsYXNzZXMgZnJvbSBDTE9TIGFwcGxpY2F0aW9ucyBmcm9tIGJlaW5nIHVzZWQgd2l0aCBF SUVJT1xuc2luY2UgRUlFSU8gZG9lcyBub3Qgc3VwcG9ydCBhbGwgQ0xPUyB0YWdzLiIpIChkZWZ2 YXIgZWllaW8tc2tpcC10eXBlY2hlY2sgbmlsICIqSWYgbm9uLW5pbCwgc2tpcCBhbGwgc2xvdCB0 eXBlY2hlY2tpbmcuXG5TZXQgdGhpcyB0byB0IHBlcm1hbmVudGx5IGlmIGEgcHJvZ3JhbSBpcyBm dW5jdGlvbmluZyB3ZWxsIHRvIGdldCBhXG5zbWFsbCBzcGVlZCBpbmNyZWFzZS4gIFRoaXMgdmFy aWFibGUgaXMgYWxzbyB1c2VkIGludGVybmFsbHkgdG8gaGFuZGxlXG5kZWZhdWx0IHNldHRpbmcg Zm9yIG9wdGltaXphdGlvbiBwdXJwb3Nlcy4iKSAoZGVmdmFyIGVpZWlvLW9wdGltaXplLXByaW1h cnktbWV0aG9kcy1mbGFnIHQgIk5vbi1uaWwgbWVhbnMgdG8gb3B0aW1pemUgdGhlIG1ldGhvZCBk aXNwYXRjaCBvbiBwcmltYXJ5IG1ldGhvZHMuIikgKGRlZnZhciB0aGlzIG5pbCAiSW5zaWRlIGEg bWV0aG9kLCB0aGlzIHZhcmlhYmxlIGlzIHRoZSBvYmplY3QgaW4gcXVlc3Rpb24uXG5ETyBOT1Qg U0VUIFRISVMgWU9VUlNFTEYgdW5sZXNzIHlvdSBhcmUgdHJ5aW5nIHRvIHNpbXVsYXRlIGZyaWVu ZGx5IHNsb3RzLlxuXG5Ob3RlOiBFbWJlZGRlZCBtZXRob2RzIGFyZSBubyBsb25nZXIgc3VwcG9y dGVkLiAgVGhlIHZhcmlhYmxlIFRISVMgaXNcbnN0aWxsIHNldCBmb3IgQ0xPUyBtZXRob2RzIGZv ciB0aGUgc2FrZSBvZiByb3V0aW5lcyBsaWtlXG5gY2FsbC1uZXh0LW1ldGhvZCciKSAoZGVmdmFy IHNjb3BlZC1jbGFzcyBuaWwgIlRoaXMgaXMgc2V0IHRvIGEgY2xhc3Mgd2hlbiBhIG1ldGhvZCBp cyBydW5uaW5nLlxuVGhpcyBpcyBzbyB3ZSBrbm93IHdlIGFyZSBhbGxvd2VkIHRvIGNoZWNrIHBy aXZhdGUgcGFydHMgb3IgaG93IHRvXG5leGVjdXRlIGEgYGNhbGwtbmV4dC1tZXRob2QnLiAgRE8g Tk9UIFNFVCBUSElTIFlPVVJTRUxGISIpIChkZWZ2YXIgZWllaW8taW5pdGlhbGl6aW5nLW9iamVj dCBuaWwgIlNldCB0byBub24tbmlsIHdoaWxlIGluaXRpYWxpemluZyBhbiBvYmplY3QuIikgKGRl ZmNvbnN0IGVpZWlvLXVuYm91bmQgKG1ha2Utc3ltYm9sICJ1bmJvdW5kIikgIlVuaW50ZXJuZWQg c3ltYm9sIHJlcHJlc2VudGluZyBhbiB1bmJvdW5kIHNsb3QgaW4gYW4gb2JqZWN0LiIpIChkZWZ2 YXIgZWllaW8tZGVmYXVsdC1zdXBlcmNsYXNzIG5pbCkgKGRlZmNvbnN0IGNsYXNzLXN5bWJvbCAx ICJDbGFzcydzIHN5bWJvbCAoc2VsZi1yZWZlcmVuY2luZy4pLiIpIChkZWZjb25zdCBjbGFzcy1w YXJlbnQgMiAiQ2xhc3MgcGFyZW50IHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLWNoaWxkcmVuIDMg IkNsYXNzIGNoaWxkcmVuIGNsYXNzIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXN5bWJvbC1vYmFy cmF5IDQgIk9iYXJyYXkgcGVybWl0dGluZyBmYXN0IGFjY2VzcyB0byB2YXJpYWJsZSBwb3NpdGlv biBpbmRleGVzLiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtYSA1ICJDbGFzcyBhdHRyaWJ1dGUg aW5kZXguIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1kIDYgIkNsYXNzIGF0dHJpYnV0ZSBkZWZh dWx0cyBpbmRleC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWRvYyA3ICJDbGFzcyBkb2N1bWVu dGF0aW9uIHN0cmluZ3MgZm9yIGF0dHJpYnV0ZXMuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy10 eXBlIDggIkNsYXNzIHR5cGUgZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWN1 c3RvbSA5ICJDbGFzcyBjdXN0b20gdHlwZSBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1w dWJsaWMtY3VzdG9tLWxhYmVsIDEwICJDbGFzcyBjdXN0b20gZ3JvdXAgZm9yIGEgc2xvdC4iKSAo ZGVmY29uc3QgY2xhc3MtcHVibGljLWN1c3RvbS1ncm91cCAxMSAiQ2xhc3MgY3VzdG9tIGdyb3Vw IGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1wcmludGVyIDEyICJQcmludGVy IGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXByb3RlY3Rpb24gMTMgIkNsYXNzIHByb3Rl Y3Rpb24gZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtaW5pdGFyZy10dXBsZXMgMTQgIkNs YXNzIGluaXRhcmcgdHVwbGVzIGxpc3QuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRp b24tYSAxNSAiQ2xhc3MgYWxsb2NhdGVkIGF0dHJpYnV0ZXMuIikgKGRlZmNvbnN0IGNsYXNzLWNs YXNzLWFsbG9jYXRpb24tZG9jIDE2ICJDbGFzcyBhbGxvY2F0ZWQgZG9jdW1lbnRhdGlvbi4iKSAo ZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi10eXBlIDE3ICJDbGFzcyBhbGxvY2F0ZWQg dmFsdWUgdHlwZS4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1jdXN0b20gMTgg IkNsYXNzIGFsbG9jYXRlZCBjdXN0b20gZGVzY3JpcHRvci4iKSAoZGVmY29uc3QgY2xhc3MtY2xh c3MtYWxsb2NhdGlvbi1jdXN0b20tbGFiZWwgMTkgIkNsYXNzIGFsbG9jYXRlZCBjdXN0b20gZGVz Y3JpcHRvci4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1jdXN0b20tZ3JvdXAg MjAgIkNsYXNzIGFsbG9jYXRlZCBjdXN0b20gZ3JvdXAuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNz LWFsbG9jYXRpb24tcHJpbnRlciAyMSAiQ2xhc3MgYWxsb2NhdGVkIHByaW50ZXIgZm9yIGEgc2xv dC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1wcm90ZWN0aW9uIDIyICJDbGFz cyBhbGxvY2F0ZWQgcHJvdGVjdGlvbiBsaXN0LiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxv Y2F0aW9uLXZhbHVlcyAyMyAiQ2xhc3MgYWxsb2NhdGVkIHZhbHVlIHZlY3Rvci4iKSAoZGVmY29u c3QgY2xhc3MtZGVmYXVsdC1vYmplY3QtY2FjaGUgMjQgIkNhY2hlIGluZGV4IG9mIHdoYXQgYSBu ZXdseSBjcmVhdGVkIG9iamVjdCB3b3VsZCBsb29rIGxpa2UuXG5UaGlzIHdpbGwgc3BlZWQgdXAg aW5zdGFudGlhdGlvbiB0aW1lIGFzIG9ubHkgYSBgY29weS1zZXF1ZW5jZScgd2lsbFxuYmUgbmVl ZGVkLCBpbnN0ZWFkIG9mIGxvb3Bpbmcgb3ZlciBhbGwgdGhlIHZhbHVlcyBhbmQgc2V0dGluZyB0 aGVtXG5mcm9tIHRoZSBkZWZhdWx0LiIpIChkZWZjb25zdCBjbGFzcy1vcHRpb25zIDI1ICJTdG9y YWdlIGxvY2F0aW9uIG9mIHRhZ2dlZCBjbGFzcyBvcHRpb25zLlxuU3RvcmVkIG91dHJpZ2h0IHdp dGhvdXQgbW9kaWZpY2F0aW9ucyBvciBzdHJpcHBpbmcuIikgKGRlZmNvbnN0IGNsYXNzLW51bS1z bG90cyAyNiAiTnVtYmVyIG9mIHNsb3RzIGluIHRoZSBjbGFzcyBkZWZpbml0aW9uIG9iamVjdC4i KSAoZGVmY29uc3Qgb2JqZWN0LWNsYXNzIDEgIkluZGV4IGluIGFuIG9iamVjdCB2ZWN0b3Igd2hl cmUgdGhlIGNsYXNzIGlzIHN0b3JlZC4iKSAoZGVmY29uc3Qgb2JqZWN0LW5hbWUgMiAiSW5kZXgg aW4gYW4gb2JqZWN0IHdoZXJlIHRoZSBuYW1lIGlzIHN0b3JlZC4iKSAoZGVmY29uc3QgbWV0aG9k LXN0YXRpYyAwICJJbmRleCBpbnRvIDpzdGF0aWMgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZjb25z dCBtZXRob2QtYmVmb3JlIDEgIkluZGV4IGludG8gOmJlZm9yZSB0YWcgb24gYSBtZXRob2QuIikg KGRlZmNvbnN0IG1ldGhvZC1wcmltYXJ5IDIgIkluZGV4IGludG8gOnByaW1hcnkgdGFnIG9uIGEg bWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtYWZ0ZXIgMyAiSW5kZXggaW50byA6YWZ0ZXIgdGFn IG9uIGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtbnVtLWxpc3RzIDQgIk51bWJlciBvZiBp bmRleGVzIGludG8gbWV0aG9kcyB2ZWN0b3IgaW4gd2hpY2ggZ3JvdXBzIG9mIGZ1bmN0aW9ucyBh cmUga2VwdC4iKSAoZGVmY29uc3QgbWV0aG9kLWdlbmVyaWMtYmVmb3JlIDQgIkluZGV4IGludG8g Z2VuZXJpYyA6YmVmb3JlIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWdlbmVy aWMtcHJpbWFyeSA1ICJJbmRleCBpbnRvIGdlbmVyaWMgOnByaW1hcnkgdGFnIG9uIGEgbWV0aG9k LiIpIChkZWZjb25zdCBtZXRob2QtZ2VuZXJpYy1hZnRlciA2ICJJbmRleCBpbnRvIGdlbmVyaWMg OmFmdGVyIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLW51bS1zbG90cyA3ICJO dW1iZXIgb2YgaW5kZXhlcyBpbnRvIGEgbWV0aG9kJ3MgdmVjdG9yLiIpIChhdXRvbG9hZCAocXVv dGUgYnl0ZS1jb21waWxlLWZpbGUtZm9ybS1kZWZtZXRob2QpICJlaWVpby1jb21wIiAiVGhpcyBm dW5jdGlvbiBpcyB1c2VkIHRvIGJ5dGUgY29tcGlsZSBtZXRob2RzIGluIGEgbmljZSB3YXkuIikg KHB1dCAocXVvdGUgZGVmbWV0aG9kKSAocXVvdGUgYnl0ZS1odW5rLWhhbmRsZXIpIChxdW90ZSBi eXRlLWNvbXBpbGUtZmlsZS1mb3JtLWRlZm1ldGhvZCkpIC4uLikgKChldmFsLXdoZW4tY29tcGls ZSBsYW1iZGEgKCZyZXN0IGJvZHkpIChsaXN0IC4uLiAuLi4pKSAoZXZhbC1hbmQtY29tcGlsZSBs YW1iZGEgKCZyZXN0IGJvZHkpIChieXRlLWNvbXBpbGUtZXZhbC1iZWZvcmUtY29tcGlsZSAuLi4p IChjb25zIC4uLiBib2R5KSkpKQogIG1hY3JvZXhwYW5kLWFsbC0xKChldmFsLWFuZC1jb21waWxl IChpZiAoZmJvdW5kcCAuLi4pIChkZWZhbGlhcyAuLi4gLi4uKSAoZGVmdW4gZWllaW8tY29tcGls ZWQtZnVuY3Rpb24tYXJnbGlzdCAuLi4gIlJldHVybiB0aGUgYXJndW1lbnQgbGlzdCBmb3IgdGhl IGNvbXBpbGVkIGZ1bmN0aW9uIEZVTkMuIiAuLi4pKSAoZGVmdmFyIGVpZWlvLWhvb2sgbmlsICIq VGhpcyBob29rIGlzIGV4ZWN1dGVkLCB0aGVuIGNsZWFyZWQgZWFjaCB0aW1lIGBkZWZjbGFzcycg aXMgY2FsbGVkLiIpIChkZWZ2YXIgZWllaW8tZXJyb3ItdW5zdXBwb3J0ZWQtY2xhc3MtdGFncyBu aWwgIipOb24gbmlsIHRvIHRocm93IGFuIGVycm9yIGlmIGFuIGVuY291bnRlcmVkIHRhZyB1cyB1 bnN1cHBvcnRlZC5cblRoaXMgbWF5IHByZXZlbnQgY2xhc3NlcyBmcm9tIENMT1MgYXBwbGljYXRp b25zIGZyb20gYmVpbmcgdXNlZCB3aXRoIEVJRUlPXG5zaW5jZSBFSUVJTyBkb2VzIG5vdCBzdXBw b3J0IGFsbCBDTE9TIHRhZ3MuIikgKGRlZnZhciBlaWVpby1za2lwLXR5cGVjaGVjayBuaWwgIipJ ZiBub24tbmlsLCBza2lwIGFsbCBzbG90IHR5cGVjaGVja2luZy5cblNldCB0aGlzIHRvIHQgcGVy bWFuZW50bHkgaWYgYSBwcm9ncmFtIGlzIGZ1bmN0aW9uaW5nIHdlbGwgdG8gZ2V0IGFcbnNtYWxs IHNwZWVkIGluY3JlYXNlLiAgVGhpcyB2YXJpYWJsZSBpcyBhbHNvIHVzZWQgaW50ZXJuYWxseSB0 byBoYW5kbGVcbmRlZmF1bHQgc2V0dGluZyBmb3Igb3B0aW1pemF0aW9uIHB1cnBvc2VzLiIpIChk ZWZ2YXIgZWllaW8tb3B0aW1pemUtcHJpbWFyeS1tZXRob2RzLWZsYWcgdCAiTm9uLW5pbCBtZWFu cyB0byBvcHRpbWl6ZSB0aGUgbWV0aG9kIGRpc3BhdGNoIG9uIHByaW1hcnkgbWV0aG9kcy4iKSAo ZGVmdmFyIHRoaXMgbmlsICJJbnNpZGUgYSBtZXRob2QsIHRoaXMgdmFyaWFibGUgaXMgdGhlIG9i amVjdCBpbiBxdWVzdGlvbi5cbkRPIE5PVCBTRVQgVEhJUyBZT1VSU0VMRiB1bmxlc3MgeW91IGFy ZSB0cnlpbmcgdG8gc2ltdWxhdGUgZnJpZW5kbHkgc2xvdHMuXG5cbk5vdGU6IEVtYmVkZGVkIG1l dGhvZHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBUaGUgdmFyaWFibGUgVEhJUyBpc1xuc3Rp bGwgc2V0IGZvciBDTE9TIG1ldGhvZHMgZm9yIHRoZSBzYWtlIG9mIHJvdXRpbmVzIGxpa2VcbmBj YWxsLW5leHQtbWV0aG9kJyIpIChkZWZ2YXIgc2NvcGVkLWNsYXNzIG5pbCAiVGhpcyBpcyBzZXQg dG8gYSBjbGFzcyB3aGVuIGEgbWV0aG9kIGlzIHJ1bm5pbmcuXG5UaGlzIGlzIHNvIHdlIGtub3cg d2UgYXJlIGFsbG93ZWQgdG8gY2hlY2sgcHJpdmF0ZSBwYXJ0cyBvciBob3cgdG9cbmV4ZWN1dGUg YSBgY2FsbC1uZXh0LW1ldGhvZCcuICBETyBOT1QgU0VUIFRISVMgWU9VUlNFTEYhIikgKGRlZnZh ciBlaWVpby1pbml0aWFsaXppbmctb2JqZWN0IG5pbCAiU2V0IHRvIG5vbi1uaWwgd2hpbGUgaW5p dGlhbGl6aW5nIGFuIG9iamVjdC4iKSAoZGVmY29uc3QgZWllaW8tdW5ib3VuZCAobWFrZS1zeW1i b2wgInVuYm91bmQiKSAiVW5pbnRlcm5lZCBzeW1ib2wgcmVwcmVzZW50aW5nIGFuIHVuYm91bmQg c2xvdCBpbiBhbiBvYmplY3QuIikgKGRlZnZhciBlaWVpby1kZWZhdWx0LXN1cGVyY2xhc3Mgbmls KSAoZGVmY29uc3QgY2xhc3Mtc3ltYm9sIDEgIkNsYXNzJ3Mgc3ltYm9sIChzZWxmLXJlZmVyZW5j aW5nLikuIikgKGRlZmNvbnN0IGNsYXNzLXBhcmVudCAyICJDbGFzcyBwYXJlbnQgc2xvdC4iKSAo ZGVmY29uc3QgY2xhc3MtY2hpbGRyZW4gMyAiQ2xhc3MgY2hpbGRyZW4gY2xhc3Mgc2xvdC4iKSAo ZGVmY29uc3QgY2xhc3Mtc3ltYm9sLW9iYXJyYXkgNCAiT2JhcnJheSBwZXJtaXR0aW5nIGZhc3Qg YWNjZXNzIHRvIHZhcmlhYmxlIHBvc2l0aW9uIGluZGV4ZXMuIikgKGRlZmNvbnN0IGNsYXNzLXB1 YmxpYy1hIDUgIkNsYXNzIGF0dHJpYnV0ZSBpbmRleC4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGlj LWQgNiAiQ2xhc3MgYXR0cmlidXRlIGRlZmF1bHRzIGluZGV4LiIpIChkZWZjb25zdCBjbGFzcy1w dWJsaWMtZG9jIDcgIkNsYXNzIGRvY3VtZW50YXRpb24gc3RyaW5ncyBmb3IgYXR0cmlidXRlcy4i KSAoZGVmY29uc3QgY2xhc3MtcHVibGljLXR5cGUgOCAiQ2xhc3MgdHlwZSBmb3IgYSBzbG90LiIp IChkZWZjb25zdCBjbGFzcy1wdWJsaWMtY3VzdG9tIDkgIkNsYXNzIGN1c3RvbSB0eXBlIGZvciBh IHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20tbGFiZWwgMTAgIkNsYXNzIGN1 c3RvbSBncm91cCBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtY3VzdG9tLWdy b3VwIDExICJDbGFzcyBjdXN0b20gZ3JvdXAgZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3Mt cHVibGljLXByaW50ZXIgMTIgIlByaW50ZXIgZm9yIGEgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3Mt cHJvdGVjdGlvbiAxMyAiQ2xhc3MgcHJvdGVjdGlvbiBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBj bGFzcy1pbml0YXJnLXR1cGxlcyAxNCAiQ2xhc3MgaW5pdGFyZyB0dXBsZXMgbGlzdC4iKSAoZGVm Y29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1hIDE1ICJDbGFzcyBhbGxvY2F0ZWQgYXR0cmli dXRlcy4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1kb2MgMTYgIkNsYXNzIGFs bG9jYXRlZCBkb2N1bWVudGF0aW9uLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9u LXR5cGUgMTcgIkNsYXNzIGFsbG9jYXRlZCB2YWx1ZSB0eXBlLiIpIChkZWZjb25zdCBjbGFzcy1j bGFzcy1hbGxvY2F0aW9uLWN1c3RvbSAxOCAiQ2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBkZXNjcmlw dG9yLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbS1sYWJlbCAxOSAi Q2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBkZXNjcmlwdG9yLiIpIChkZWZjb25zdCBjbGFzcy1jbGFz cy1hbGxvY2F0aW9uLWN1c3RvbS1ncm91cCAyMCAiQ2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBncm91 cC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1wcmludGVyIDIxICJDbGFzcyBh bGxvY2F0ZWQgcHJpbnRlciBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxv Y2F0aW9uLXByb3RlY3Rpb24gMjIgIkNsYXNzIGFsbG9jYXRlZCBwcm90ZWN0aW9uIGxpc3QuIikg KGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tdmFsdWVzIDIzICJDbGFzcyBhbGxvY2F0 ZWQgdmFsdWUgdmVjdG9yLiIpIChkZWZjb25zdCBjbGFzcy1kZWZhdWx0LW9iamVjdC1jYWNoZSAy NCAiQ2FjaGUgaW5kZXggb2Ygd2hhdCBhIG5ld2x5IGNyZWF0ZWQgb2JqZWN0IHdvdWxkIGxvb2sg bGlrZS5cblRoaXMgd2lsbCBzcGVlZCB1cCBpbnN0YW50aWF0aW9uIHRpbWUgYXMgb25seSBhIGBj b3B5LXNlcXVlbmNlJyB3aWxsXG5iZSBuZWVkZWQsIGluc3RlYWQgb2YgbG9vcGluZyBvdmVyIGFs bCB0aGUgdmFsdWVzIGFuZCBzZXR0aW5nIHRoZW1cbmZyb20gdGhlIGRlZmF1bHQuIikgKGRlZmNv bnN0IGNsYXNzLW9wdGlvbnMgMjUgIlN0b3JhZ2UgbG9jYXRpb24gb2YgdGFnZ2VkIGNsYXNzIG9w dGlvbnMuXG5TdG9yZWQgb3V0cmlnaHQgd2l0aG91dCBtb2RpZmljYXRpb25zIG9yIHN0cmlwcGlu Zy4iKSAoZGVmY29uc3QgY2xhc3MtbnVtLXNsb3RzIDI2ICJOdW1iZXIgb2Ygc2xvdHMgaW4gdGhl IGNsYXNzIGRlZmluaXRpb24gb2JqZWN0LiIpIChkZWZjb25zdCBvYmplY3QtY2xhc3MgMSAiSW5k ZXggaW4gYW4gb2JqZWN0IHZlY3RvciB3aGVyZSB0aGUgY2xhc3MgaXMgc3RvcmVkLiIpIChkZWZj b25zdCBvYmplY3QtbmFtZSAyICJJbmRleCBpbiBhbiBvYmplY3Qgd2hlcmUgdGhlIG5hbWUgaXMg c3RvcmVkLiIpIChkZWZjb25zdCBtZXRob2Qtc3RhdGljIDAgIkluZGV4IGludG8gOnN0YXRpYyB0 YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1iZWZvcmUgMSAiSW5kZXggaW50byA6 YmVmb3JlIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLXByaW1hcnkgMiAiSW5k ZXggaW50byA6cHJpbWFyeSB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1hZnRl ciAzICJJbmRleCBpbnRvIDphZnRlciB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhv ZC1udW0tbGlzdHMgNCAiTnVtYmVyIG9mIGluZGV4ZXMgaW50byBtZXRob2RzIHZlY3RvciBpbiB3 aGljaCBncm91cHMgb2YgZnVuY3Rpb25zIGFyZSBrZXB0LiIpIChkZWZjb25zdCBtZXRob2QtZ2Vu ZXJpYy1iZWZvcmUgNCAiSW5kZXggaW50byBnZW5lcmljIDpiZWZvcmUgdGFnIG9uIGEgbWV0aG9k LiIpIChkZWZjb25zdCBtZXRob2QtZ2VuZXJpYy1wcmltYXJ5IDUgIkluZGV4IGludG8gZ2VuZXJp YyA6cHJpbWFyeSB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1nZW5lcmljLWFm dGVyIDYgIkluZGV4IGludG8gZ2VuZXJpYyA6YWZ0ZXIgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZj b25zdCBtZXRob2QtbnVtLXNsb3RzIDcgIk51bWJlciBvZiBpbmRleGVzIGludG8gYSBtZXRob2Qn cyB2ZWN0b3IuIikgKGF1dG9sb2FkIChxdW90ZSBieXRlLWNvbXBpbGUtZmlsZS1mb3JtLWRlZm1l dGhvZCkgImVpZWlvLWNvbXAiICJUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gYnl0ZSBjb21waWxl IG1ldGhvZHMgaW4gYSBuaWNlIHdheS4iKSAocHV0IChxdW90ZSBkZWZtZXRob2QpIChxdW90ZSBi eXRlLWh1bmstaGFuZGxlcikgKHF1b3RlIGJ5dGUtY29tcGlsZS1maWxlLWZvcm0tZGVmbWV0aG9k KSkgLi4uKSkKICBtYWNyb2V4cGFuZC1hbGwoKGV2YWwtYW5kLWNvbXBpbGUgKGlmIChmYm91bmRw IC4uLikgKGRlZmFsaWFzIC4uLiAuLi4pIChkZWZ1biBlaWVpby1jb21waWxlZC1mdW5jdGlvbi1h cmdsaXN0IC4uLiAiUmV0dXJuIHRoZSBhcmd1bWVudCBsaXN0IGZvciB0aGUgY29tcGlsZWQgZnVu Y3Rpb24gRlVOQy4iIC4uLikpIChkZWZ2YXIgZWllaW8taG9vayBuaWwgIipUaGlzIGhvb2sgaXMg ZXhlY3V0ZWQsIHRoZW4gY2xlYXJlZCBlYWNoIHRpbWUgYGRlZmNsYXNzJyBpcyBjYWxsZWQuIikg KGRlZnZhciBlaWVpby1lcnJvci11bnN1cHBvcnRlZC1jbGFzcy10YWdzIG5pbCAiKk5vbiBuaWwg dG8gdGhyb3cgYW4gZXJyb3IgaWYgYW4gZW5jb3VudGVyZWQgdGFnIHVzIHVuc3VwcG9ydGVkLlxu VGhpcyBtYXkgcHJldmVudCBjbGFzc2VzIGZyb20gQ0xPUyBhcHBsaWNhdGlvbnMgZnJvbSBiZWlu ZyB1c2VkIHdpdGggRUlFSU9cbnNpbmNlIEVJRUlPIGRvZXMgbm90IHN1cHBvcnQgYWxsIENMT1Mg dGFncy4iKSAoZGVmdmFyIGVpZWlvLXNraXAtdHlwZWNoZWNrIG5pbCAiKklmIG5vbi1uaWwsIHNr aXAgYWxsIHNsb3QgdHlwZWNoZWNraW5nLlxuU2V0IHRoaXMgdG8gdCBwZXJtYW5lbnRseSBpZiBh IHByb2dyYW0gaXMgZnVuY3Rpb25pbmcgd2VsbCB0byBnZXQgYVxuc21hbGwgc3BlZWQgaW5jcmVh c2UuICBUaGlzIHZhcmlhYmxlIGlzIGFsc28gdXNlZCBpbnRlcm5hbGx5IHRvIGhhbmRsZVxuZGVm YXVsdCBzZXR0aW5nIGZvciBvcHRpbWl6YXRpb24gcHVycG9zZXMuIikgKGRlZnZhciBlaWVpby1v cHRpbWl6ZS1wcmltYXJ5LW1ldGhvZHMtZmxhZyB0ICJOb24tbmlsIG1lYW5zIHRvIG9wdGltaXpl IHRoZSBtZXRob2QgZGlzcGF0Y2ggb24gcHJpbWFyeSBtZXRob2RzLiIpIChkZWZ2YXIgdGhpcyBu aWwgIkluc2lkZSBhIG1ldGhvZCwgdGhpcyB2YXJpYWJsZSBpcyB0aGUgb2JqZWN0IGluIHF1ZXN0 aW9uLlxuRE8gTk9UIFNFVCBUSElTIFlPVVJTRUxGIHVubGVzcyB5b3UgYXJlIHRyeWluZyB0byBz aW11bGF0ZSBmcmllbmRseSBzbG90cy5cblxuTm90ZTogRW1iZWRkZWQgbWV0aG9kcyBhcmUgbm8g bG9uZ2VyIHN1cHBvcnRlZC4gIFRoZSB2YXJpYWJsZSBUSElTIGlzXG5zdGlsbCBzZXQgZm9yIENM T1MgbWV0aG9kcyBmb3IgdGhlIHNha2Ugb2Ygcm91dGluZXMgbGlrZVxuYGNhbGwtbmV4dC1tZXRo b2QnIikgKGRlZnZhciBzY29wZWQtY2xhc3MgbmlsICJUaGlzIGlzIHNldCB0byBhIGNsYXNzIHdo ZW4gYSBtZXRob2QgaXMgcnVubmluZy5cblRoaXMgaXMgc28gd2Uga25vdyB3ZSBhcmUgYWxsb3dl ZCB0byBjaGVjayBwcml2YXRlIHBhcnRzIG9yIGhvdyB0b1xuZXhlY3V0ZSBhIGBjYWxsLW5leHQt bWV0aG9kJy4gIERPIE5PVCBTRVQgVEhJUyBZT1VSU0VMRiEiKSAoZGVmdmFyIGVpZWlvLWluaXRp YWxpemluZy1vYmplY3QgbmlsICJTZXQgdG8gbm9uLW5pbCB3aGlsZSBpbml0aWFsaXppbmcgYW4g b2JqZWN0LiIpIChkZWZjb25zdCBlaWVpby11bmJvdW5kIChtYWtlLXN5bWJvbCAidW5ib3VuZCIp ICJVbmludGVybmVkIHN5bWJvbCByZXByZXNlbnRpbmcgYW4gdW5ib3VuZCBzbG90IGluIGFuIG9i amVjdC4iKSAoZGVmdmFyIGVpZWlvLWRlZmF1bHQtc3VwZXJjbGFzcyBuaWwpIChkZWZjb25zdCBj bGFzcy1zeW1ib2wgMSAiQ2xhc3MncyBzeW1ib2wgKHNlbGYtcmVmZXJlbmNpbmcuKS4iKSAoZGVm Y29uc3QgY2xhc3MtcGFyZW50IDIgIkNsYXNzIHBhcmVudCBzbG90LiIpIChkZWZjb25zdCBjbGFz cy1jaGlsZHJlbiAzICJDbGFzcyBjaGlsZHJlbiBjbGFzcyBzbG90LiIpIChkZWZjb25zdCBjbGFz cy1zeW1ib2wtb2JhcnJheSA0ICJPYmFycmF5IHBlcm1pdHRpbmcgZmFzdCBhY2Nlc3MgdG8gdmFy aWFibGUgcG9zaXRpb24gaW5kZXhlcy4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLWEgNSAiQ2xh c3MgYXR0cmlidXRlIGluZGV4LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtZCA2ICJDbGFzcyBh dHRyaWJ1dGUgZGVmYXVsdHMgaW5kZXguIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1kb2MgNyAi Q2xhc3MgZG9jdW1lbnRhdGlvbiBzdHJpbmdzIGZvciBhdHRyaWJ1dGVzLiIpIChkZWZjb25zdCBj bGFzcy1wdWJsaWMtdHlwZSA4ICJDbGFzcyB0eXBlIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNs YXNzLXB1YmxpYy1jdXN0b20gOSAiQ2xhc3MgY3VzdG9tIHR5cGUgZm9yIGEgc2xvdC4iKSAoZGVm Y29uc3QgY2xhc3MtcHVibGljLWN1c3RvbS1sYWJlbCAxMCAiQ2xhc3MgY3VzdG9tIGdyb3VwIGZv ciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20tZ3JvdXAgMTEgIkNsYXNz IGN1c3RvbSBncm91cCBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtcHJpbnRl ciAxMiAiUHJpbnRlciBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wcm90ZWN0aW9uIDEz ICJDbGFzcyBwcm90ZWN0aW9uIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLWluaXRhcmct dHVwbGVzIDE0ICJDbGFzcyBpbml0YXJnIHR1cGxlcyBsaXN0LiIpIChkZWZjb25zdCBjbGFzcy1j bGFzcy1hbGxvY2F0aW9uLWEgMTUgIkNsYXNzIGFsbG9jYXRlZCBhdHRyaWJ1dGVzLiIpIChkZWZj b25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWRvYyAxNiAiQ2xhc3MgYWxsb2NhdGVkIGRvY3Vt ZW50YXRpb24uIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tdHlwZSAxNyAiQ2xh c3MgYWxsb2NhdGVkIHZhbHVlIHR5cGUuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRp b24tY3VzdG9tIDE4ICJDbGFzcyBhbGxvY2F0ZWQgY3VzdG9tIGRlc2NyaXB0b3IuIikgKGRlZmNv bnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tY3VzdG9tLWxhYmVsIDE5ICJDbGFzcyBhbGxvY2F0 ZWQgY3VzdG9tIGRlc2NyaXB0b3IuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24t Y3VzdG9tLWdyb3VwIDIwICJDbGFzcyBhbGxvY2F0ZWQgY3VzdG9tIGdyb3VwLiIpIChkZWZjb25z dCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLXByaW50ZXIgMjEgIkNsYXNzIGFsbG9jYXRlZCBwcmlu dGVyIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tcHJvdGVj dGlvbiAyMiAiQ2xhc3MgYWxsb2NhdGVkIHByb3RlY3Rpb24gbGlzdC4iKSAoZGVmY29uc3QgY2xh c3MtY2xhc3MtYWxsb2NhdGlvbi12YWx1ZXMgMjMgIkNsYXNzIGFsbG9jYXRlZCB2YWx1ZSB2ZWN0 b3IuIikgKGRlZmNvbnN0IGNsYXNzLWRlZmF1bHQtb2JqZWN0LWNhY2hlIDI0ICJDYWNoZSBpbmRl eCBvZiB3aGF0IGEgbmV3bHkgY3JlYXRlZCBvYmplY3Qgd291bGQgbG9vayBsaWtlLlxuVGhpcyB3 aWxsIHNwZWVkIHVwIGluc3RhbnRpYXRpb24gdGltZSBhcyBvbmx5IGEgYGNvcHktc2VxdWVuY2Un IHdpbGxcbmJlIG5lZWRlZCwgaW5zdGVhZCBvZiBsb29waW5nIG92ZXIgYWxsIHRoZSB2YWx1ZXMg YW5kIHNldHRpbmcgdGhlbVxuZnJvbSB0aGUgZGVmYXVsdC4iKSAoZGVmY29uc3QgY2xhc3Mtb3B0 aW9ucyAyNSAiU3RvcmFnZSBsb2NhdGlvbiBvZiB0YWdnZWQgY2xhc3Mgb3B0aW9ucy5cblN0b3Jl ZCBvdXRyaWdodCB3aXRob3V0IG1vZGlmaWNhdGlvbnMgb3Igc3RyaXBwaW5nLiIpIChkZWZjb25z dCBjbGFzcy1udW0tc2xvdHMgMjYgIk51bWJlciBvZiBzbG90cyBpbiB0aGUgY2xhc3MgZGVmaW5p dGlvbiBvYmplY3QuIikgKGRlZmNvbnN0IG9iamVjdC1jbGFzcyAxICJJbmRleCBpbiBhbiBvYmpl Y3QgdmVjdG9yIHdoZXJlIHRoZSBjbGFzcyBpcyBzdG9yZWQuIikgKGRlZmNvbnN0IG9iamVjdC1u YW1lIDIgIkluZGV4IGluIGFuIG9iamVjdCB3aGVyZSB0aGUgbmFtZSBpcyBzdG9yZWQuIikgKGRl ZmNvbnN0IG1ldGhvZC1zdGF0aWMgMCAiSW5kZXggaW50byA6c3RhdGljIHRhZyBvbiBhIG1ldGhv ZC4iKSAoZGVmY29uc3QgbWV0aG9kLWJlZm9yZSAxICJJbmRleCBpbnRvIDpiZWZvcmUgdGFnIG9u IGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtcHJpbWFyeSAyICJJbmRleCBpbnRvIDpwcmlt YXJ5IHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWFmdGVyIDMgIkluZGV4IGlu dG8gOmFmdGVyIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLW51bS1saXN0cyA0 ICJOdW1iZXIgb2YgaW5kZXhlcyBpbnRvIG1ldGhvZHMgdmVjdG9yIGluIHdoaWNoIGdyb3VwcyBv ZiBmdW5jdGlvbnMgYXJlIGtlcHQuIikgKGRlZmNvbnN0IG1ldGhvZC1nZW5lcmljLWJlZm9yZSA0 ICJJbmRleCBpbnRvIGdlbmVyaWMgOmJlZm9yZSB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0 IG1ldGhvZC1nZW5lcmljLXByaW1hcnkgNSAiSW5kZXggaW50byBnZW5lcmljIDpwcmltYXJ5IHRh ZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0aG9kLWdlbmVyaWMtYWZ0ZXIgNiAiSW5kZXgg aW50byBnZW5lcmljIDphZnRlciB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1u dW0tc2xvdHMgNyAiTnVtYmVyIG9mIGluZGV4ZXMgaW50byBhIG1ldGhvZCdzIHZlY3Rvci4iKSAo YXV0b2xvYWQgKHF1b3RlIGJ5dGUtY29tcGlsZS1maWxlLWZvcm0tZGVmbWV0aG9kKSAiZWllaW8t Y29tcCIgIlRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBieXRlIGNvbXBpbGUgbWV0aG9kcyBpbiBh IG5pY2Ugd2F5LiIpIChwdXQgKHF1b3RlIGRlZm1ldGhvZCkgKHF1b3RlIGJ5dGUtaHVuay1oYW5k bGVyKSAocXVvdGUgYnl0ZS1jb21waWxlLWZpbGUtZm9ybS1kZWZtZXRob2QpKSAuLi4pICgoZXZh bC13aGVuLWNvbXBpbGUgbGFtYmRhICgmcmVzdCBib2R5KSAobGlzdCAuLi4gLi4uKSkgKGV2YWwt YW5kLWNvbXBpbGUgbGFtYmRhICgmcmVzdCBib2R5KSAoYnl0ZS1jb21waWxlLWV2YWwtYmVmb3Jl LWNvbXBpbGUgLi4uKSAoY29ucyAuLi4gYm9keSkpKSkKICBieXRlLWNvbXBpbGUtZmlsZS1mb3Jt KChldmFsLWFuZC1jb21waWxlIChpZiAoZmJvdW5kcCAuLi4pIChkZWZhbGlhcyAuLi4gLi4uKSAo ZGVmdW4gZWllaW8tY29tcGlsZWQtZnVuY3Rpb24tYXJnbGlzdCAuLi4gIlJldHVybiB0aGUgYXJn dW1lbnQgbGlzdCBmb3IgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uIEZVTkMuIiAuLi4pKSAoZGVmdmFy IGVpZWlvLWhvb2sgbmlsICIqVGhpcyBob29rIGlzIGV4ZWN1dGVkLCB0aGVuIGNsZWFyZWQgZWFj aCB0aW1lIGBkZWZjbGFzcycgaXMgY2FsbGVkLiIpIChkZWZ2YXIgZWllaW8tZXJyb3ItdW5zdXBw b3J0ZWQtY2xhc3MtdGFncyBuaWwgIipOb24gbmlsIHRvIHRocm93IGFuIGVycm9yIGlmIGFuIGVu Y291bnRlcmVkIHRhZyB1cyB1bnN1cHBvcnRlZC5cblRoaXMgbWF5IHByZXZlbnQgY2xhc3NlcyBm cm9tIENMT1MgYXBwbGljYXRpb25zIGZyb20gYmVpbmcgdXNlZCB3aXRoIEVJRUlPXG5zaW5jZSBF SUVJTyBkb2VzIG5vdCBzdXBwb3J0IGFsbCBDTE9TIHRhZ3MuIikgKGRlZnZhciBlaWVpby1za2lw LXR5cGVjaGVjayBuaWwgIipJZiBub24tbmlsLCBza2lwIGFsbCBzbG90IHR5cGVjaGVja2luZy5c blNldCB0aGlzIHRvIHQgcGVybWFuZW50bHkgaWYgYSBwcm9ncmFtIGlzIGZ1bmN0aW9uaW5nIHdl bGwgdG8gZ2V0IGFcbnNtYWxsIHNwZWVkIGluY3JlYXNlLiAgVGhpcyB2YXJpYWJsZSBpcyBhbHNv IHVzZWQgaW50ZXJuYWxseSB0byBoYW5kbGVcbmRlZmF1bHQgc2V0dGluZyBmb3Igb3B0aW1pemF0 aW9uIHB1cnBvc2VzLiIpIChkZWZ2YXIgZWllaW8tb3B0aW1pemUtcHJpbWFyeS1tZXRob2RzLWZs YWcgdCAiTm9uLW5pbCBtZWFucyB0byBvcHRpbWl6ZSB0aGUgbWV0aG9kIGRpc3BhdGNoIG9uIHBy aW1hcnkgbWV0aG9kcy4iKSAoZGVmdmFyIHRoaXMgbmlsICJJbnNpZGUgYSBtZXRob2QsIHRoaXMg dmFyaWFibGUgaXMgdGhlIG9iamVjdCBpbiBxdWVzdGlvbi5cbkRPIE5PVCBTRVQgVEhJUyBZT1VS U0VMRiB1bmxlc3MgeW91IGFyZSB0cnlpbmcgdG8gc2ltdWxhdGUgZnJpZW5kbHkgc2xvdHMuXG5c bk5vdGU6IEVtYmVkZGVkIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBUaGUgdmFy aWFibGUgVEhJUyBpc1xuc3RpbGwgc2V0IGZvciBDTE9TIG1ldGhvZHMgZm9yIHRoZSBzYWtlIG9m IHJvdXRpbmVzIGxpa2VcbmBjYWxsLW5leHQtbWV0aG9kJyIpIChkZWZ2YXIgc2NvcGVkLWNsYXNz IG5pbCAiVGhpcyBpcyBzZXQgdG8gYSBjbGFzcyB3aGVuIGEgbWV0aG9kIGlzIHJ1bm5pbmcuXG5U aGlzIGlzIHNvIHdlIGtub3cgd2UgYXJlIGFsbG93ZWQgdG8gY2hlY2sgcHJpdmF0ZSBwYXJ0cyBv ciBob3cgdG9cbmV4ZWN1dGUgYSBgY2FsbC1uZXh0LW1ldGhvZCcuICBETyBOT1QgU0VUIFRISVMg WU9VUlNFTEYhIikgKGRlZnZhciBlaWVpby1pbml0aWFsaXppbmctb2JqZWN0IG5pbCAiU2V0IHRv IG5vbi1uaWwgd2hpbGUgaW5pdGlhbGl6aW5nIGFuIG9iamVjdC4iKSAoZGVmY29uc3QgZWllaW8t dW5ib3VuZCAobWFrZS1zeW1ib2wgInVuYm91bmQiKSAiVW5pbnRlcm5lZCBzeW1ib2wgcmVwcmVz ZW50aW5nIGFuIHVuYm91bmQgc2xvdCBpbiBhbiBvYmplY3QuIikgKGRlZnZhciBlaWVpby1kZWZh dWx0LXN1cGVyY2xhc3MgbmlsKSAoZGVmY29uc3QgY2xhc3Mtc3ltYm9sIDEgIkNsYXNzJ3Mgc3lt Ym9sIChzZWxmLXJlZmVyZW5jaW5nLikuIikgKGRlZmNvbnN0IGNsYXNzLXBhcmVudCAyICJDbGFz cyBwYXJlbnQgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3MtY2hpbGRyZW4gMyAiQ2xhc3MgY2hpbGRy ZW4gY2xhc3Mgc2xvdC4iKSAoZGVmY29uc3QgY2xhc3Mtc3ltYm9sLW9iYXJyYXkgNCAiT2JhcnJh eSBwZXJtaXR0aW5nIGZhc3QgYWNjZXNzIHRvIHZhcmlhYmxlIHBvc2l0aW9uIGluZGV4ZXMuIikg KGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1hIDUgIkNsYXNzIGF0dHJpYnV0ZSBpbmRleC4iKSAoZGVm Y29uc3QgY2xhc3MtcHVibGljLWQgNiAiQ2xhc3MgYXR0cmlidXRlIGRlZmF1bHRzIGluZGV4LiIp IChkZWZjb25zdCBjbGFzcy1wdWJsaWMtZG9jIDcgIkNsYXNzIGRvY3VtZW50YXRpb24gc3RyaW5n cyBmb3IgYXR0cmlidXRlcy4iKSAoZGVmY29uc3QgY2xhc3MtcHVibGljLXR5cGUgOCAiQ2xhc3Mg dHlwZSBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFzcy1wdWJsaWMtY3VzdG9tIDkgIkNsYXNz IGN1c3RvbSB0eXBlIGZvciBhIHNsb3QuIikgKGRlZmNvbnN0IGNsYXNzLXB1YmxpYy1jdXN0b20t bGFiZWwgMTAgIkNsYXNzIGN1c3RvbSBncm91cCBmb3IgYSBzbG90LiIpIChkZWZjb25zdCBjbGFz cy1wdWJsaWMtY3VzdG9tLWdyb3VwIDExICJDbGFzcyBjdXN0b20gZ3JvdXAgZm9yIGEgc2xvdC4i KSAoZGVmY29uc3QgY2xhc3MtcHVibGljLXByaW50ZXIgMTIgIlByaW50ZXIgZm9yIGEgc2xvdC4i KSAoZGVmY29uc3QgY2xhc3MtcHJvdGVjdGlvbiAxMyAiQ2xhc3MgcHJvdGVjdGlvbiBmb3IgYSBz bG90LiIpIChkZWZjb25zdCBjbGFzcy1pbml0YXJnLXR1cGxlcyAxNCAiQ2xhc3MgaW5pdGFyZyB0 dXBsZXMgbGlzdC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1hIDE1ICJDbGFz cyBhbGxvY2F0ZWQgYXR0cmlidXRlcy4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlv bi1kb2MgMTYgIkNsYXNzIGFsbG9jYXRlZCBkb2N1bWVudGF0aW9uLiIpIChkZWZjb25zdCBjbGFz cy1jbGFzcy1hbGxvY2F0aW9uLXR5cGUgMTcgIkNsYXNzIGFsbG9jYXRlZCB2YWx1ZSB0eXBlLiIp IChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbSAxOCAiQ2xhc3MgYWxsb2Nh dGVkIGN1c3RvbSBkZXNjcmlwdG9yLiIpIChkZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9u LWN1c3RvbS1sYWJlbCAxOSAiQ2xhc3MgYWxsb2NhdGVkIGN1c3RvbSBkZXNjcmlwdG9yLiIpIChk ZWZjb25zdCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLWN1c3RvbS1ncm91cCAyMCAiQ2xhc3MgYWxs b2NhdGVkIGN1c3RvbSBncm91cC4iKSAoZGVmY29uc3QgY2xhc3MtY2xhc3MtYWxsb2NhdGlvbi1w cmludGVyIDIxICJDbGFzcyBhbGxvY2F0ZWQgcHJpbnRlciBmb3IgYSBzbG90LiIpIChkZWZjb25z dCBjbGFzcy1jbGFzcy1hbGxvY2F0aW9uLXByb3RlY3Rpb24gMjIgIkNsYXNzIGFsbG9jYXRlZCBw cm90ZWN0aW9uIGxpc3QuIikgKGRlZmNvbnN0IGNsYXNzLWNsYXNzLWFsbG9jYXRpb24tdmFsdWVz IDIzICJDbGFzcyBhbGxvY2F0ZWQgdmFsdWUgdmVjdG9yLiIpIChkZWZjb25zdCBjbGFzcy1kZWZh dWx0LW9iamVjdC1jYWNoZSAyNCAiQ2FjaGUgaW5kZXggb2Ygd2hhdCBhIG5ld2x5IGNyZWF0ZWQg b2JqZWN0IHdvdWxkIGxvb2sgbGlrZS5cblRoaXMgd2lsbCBzcGVlZCB1cCBpbnN0YW50aWF0aW9u IHRpbWUgYXMgb25seSBhIGBjb3B5LXNlcXVlbmNlJyB3aWxsXG5iZSBuZWVkZWQsIGluc3RlYWQg b2YgbG9vcGluZyBvdmVyIGFsbCB0aGUgdmFsdWVzIGFuZCBzZXR0aW5nIHRoZW1cbmZyb20gdGhl IGRlZmF1bHQuIikgKGRlZmNvbnN0IGNsYXNzLW9wdGlvbnMgMjUgIlN0b3JhZ2UgbG9jYXRpb24g b2YgdGFnZ2VkIGNsYXNzIG9wdGlvbnMuXG5TdG9yZWQgb3V0cmlnaHQgd2l0aG91dCBtb2RpZmlj YXRpb25zIG9yIHN0cmlwcGluZy4iKSAoZGVmY29uc3QgY2xhc3MtbnVtLXNsb3RzIDI2ICJOdW1i ZXIgb2Ygc2xvdHMgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24gb2JqZWN0LiIpIChkZWZjb25zdCBv YmplY3QtY2xhc3MgMSAiSW5kZXggaW4gYW4gb2JqZWN0IHZlY3RvciB3aGVyZSB0aGUgY2xhc3Mg aXMgc3RvcmVkLiIpIChkZWZjb25zdCBvYmplY3QtbmFtZSAyICJJbmRleCBpbiBhbiBvYmplY3Qg d2hlcmUgdGhlIG5hbWUgaXMgc3RvcmVkLiIpIChkZWZjb25zdCBtZXRob2Qtc3RhdGljIDAgIklu ZGV4IGludG8gOnN0YXRpYyB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0IG1ldGhvZC1iZWZv cmUgMSAiSW5kZXggaW50byA6YmVmb3JlIHRhZyBvbiBhIG1ldGhvZC4iKSAoZGVmY29uc3QgbWV0 aG9kLXByaW1hcnkgMiAiSW5kZXggaW50byA6cHJpbWFyeSB0YWcgb24gYSBtZXRob2QuIikgKGRl ZmNvbnN0IG1ldGhvZC1hZnRlciAzICJJbmRleCBpbnRvIDphZnRlciB0YWcgb24gYSBtZXRob2Qu IikgKGRlZmNvbnN0IG1ldGhvZC1udW0tbGlzdHMgNCAiTnVtYmVyIG9mIGluZGV4ZXMgaW50byBt ZXRob2RzIHZlY3RvciBpbiB3aGljaCBncm91cHMgb2YgZnVuY3Rpb25zIGFyZSBrZXB0LiIpIChk ZWZjb25zdCBtZXRob2QtZ2VuZXJpYy1iZWZvcmUgNCAiSW5kZXggaW50byBnZW5lcmljIDpiZWZv cmUgdGFnIG9uIGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtZ2VuZXJpYy1wcmltYXJ5IDUg IkluZGV4IGludG8gZ2VuZXJpYyA6cHJpbWFyeSB0YWcgb24gYSBtZXRob2QuIikgKGRlZmNvbnN0 IG1ldGhvZC1nZW5lcmljLWFmdGVyIDYgIkluZGV4IGludG8gZ2VuZXJpYyA6YWZ0ZXIgdGFnIG9u IGEgbWV0aG9kLiIpIChkZWZjb25zdCBtZXRob2QtbnVtLXNsb3RzIDcgIk51bWJlciBvZiBpbmRl eGVzIGludG8gYSBtZXRob2QncyB2ZWN0b3IuIikgKGF1dG9sb2FkIChxdW90ZSBieXRlLWNvbXBp bGUtZmlsZS1mb3JtLWRlZm1ldGhvZCkgImVpZWlvLWNvbXAiICJUaGlzIGZ1bmN0aW9uIGlzIHVz ZWQgdG8gYnl0ZSBjb21waWxlIG1ldGhvZHMgaW4gYSBuaWNlIHdheS4iKSAocHV0IChxdW90ZSBk ZWZtZXRob2QpIChxdW90ZSBieXRlLWh1bmstaGFuZGxlcikgKHF1b3RlIGJ5dGUtY29tcGlsZS1m aWxlLWZvcm0tZGVmbWV0aG9kKSkgLi4uKSkKICAjW25pbCAiCINcbgDGCAlcbiOIcglxiGViiMcT yMd3iMnKIYMjAMt5iIITAG2ERQBgiRQVxx4TzAkhHhQOE4M8AM3OIYjPDhQhiCqCEwDQIIhkFdEg iCkIhVcA0ggJXG4jhyIgW2ZpbGVuYW1lIGluYnVmZmVyIG91dGJ1ZmZlciBieXRlLWNvbXBpbGUt dW5yZXNvbHZlZC1mdW5jdGlvbnMgYnl0ZS1jb21waWxlLXJlYWQtcG9zaXRpb24gYnl0ZS1jb21w aWxlLWxhc3QtcG9zaXRpb24gYnl0ZS1jb21waWxlLWluc2VydC1oZWFkZXIgbmlsICIgCVxuXGYi IGxvb2tpbmctYXQgIjsiIDEgcmVhZCBieXRlLWNvbXBpbGUtd2FybiAiISEgVGhlIGZpbGUgdXNl cyBvbGQtc3R5bGUgYmFja3F1b3RlcyAhIVxuVGhpcyBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIG9i c29sZXRlIGZvciBtb3JlIHRoYW4gMTAgeWVhcnMgYWxyZWFkeVxuYW5kIHdpbGwgYmUgcmVtb3Zl ZCBzb29uLiAgU2VlIChlbGlzcClCYWNrcXVvdGUgaW4gdGhlIG1hbnVhbC4iIGJ5dGUtY29tcGls ZS1maWxlLWZvcm0gYnl0ZS1jb21waWxlLWZsdXNoLXBlbmRpbmcgYnl0ZS1jb21waWxlLXdhcm4t YWJvdXQtdW5yZXNvbHZlZC1mdW5jdGlvbnMgYnl0ZS1jb21waWxlLWZpeC1oZWFkZXIgb2xkLXN0 eWxlLWJhY2txdW90ZXMgZm9ybV0gNV0oKQogIGJ5dGUtY29tcGlsZS1mcm9tLWJ1ZmZlcigjPGJ1 ZmZlciAgKkNvbXBpbGVyIElucHV0Kj4gIi9ob21lL2xlZWlnaHQvZmlsZXMvY2VkZXQvZWllaW8v ZWllaW8uZWwiKQogIGJ5dGUtY29tcGlsZS1maWxlKCJlaWVpby5lbCIpCiAgYmF0Y2gtYnl0ZS1j b21waWxlLWZpbGUoImVpZWlvLmVsIikKICBiYXRjaC1ieXRlLWNvbXBpbGUoKQogIGNvbW1hbmQt bGluZS0xKCgiLWwiICJlaWVpby1jb21waWxlLXNjcmlwdCIgIi1mIiAiYmF0Y2gtYnl0ZS1jb21w aWxlIiAiZWllaW8uZWwiICJlaWVpby1jb21wLmVsIiAiZWllaW8tb3B0LmVsIiAiZWllaW8tY3Vz dG9tLmVsIiAiZWllaW8tZG9jLmVsIiAiZWllaW8tYmFzZS5lbCIgImVpZWlvLWRhdGFkZWJ1Zy5l bCIpKQogIGNvbW1hbmQtbGluZSgpCiAgbm9ybWFsLXRvcC1sZXZlbCgpCgptYWtlWzFdOiAqKiog W2VpZWlvXSBFcnJvciAyNTUKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9ob21lL2xlZWln aHQvZmlsZXMvY2VkZXQvZWllaW8nCm1ha2U6ICoqKiBbZWllaW9dIEVycm9yIDIK --00163646d97908727104709c2140 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july --00163646d97908727104709c2140 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ cedet-eieio mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/cedet-eieio --00163646d97908727104709c2140--