Received: from localhost ([::1]:43159 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1WrcTz-0000FZ-Eg; Mon, 02 Jun 2014 17:21:39 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:38014 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1WrcTp-0000FQ-Gh for wikineurotic@lojban.org; Mon, 02 Jun 2014 17:21:37 -0700 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Mon, 02 Jun 2014 17:21:29 -0700 From: "Apache" Date: Mon, 02 Jun 2014 17:21:29 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.5 (/) X-Spam_score: 0.5 X-Spam_score_int: 5 X-Spam_bar: / X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page gadri: an unofficial commentary from a logical point of view was changed by guskant at 00:21 UTC Comment: fix orthography You can view the page by following this link: http://www.lojban.org/tiki/gadri%3A%20an%20unofficial%20commentary%20from%20a%20logical%20point%20of%20view [...] Content analysis details: (0.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.4 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 1.0 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page gadri: an unofficial commentary from a logical point of view changed by guskant X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: webmaster@lojban.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgZ2Fkcmk6IGFuIHVub2ZmaWNpYWwgY29tbWVudGFyeSBmcm9tIGEgbG9naWNhbCBw b2ludCBvZiB2aWV3IHdhcyBjaGFuZ2VkIGJ5IGd1c2thbnQgYXQgMDA6MjEgVVRDCkNvbW1lbnQ6 IGZpeCBvcnRob2dyYXBoeQoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvZ2FkcmklM0ElMjBhbiUyMHVub2Zm aWNpYWwlMjBjb21tZW50YXJ5JTIwZnJvbSUyMGElMjBsb2dpY2FsJTIwcG9pbnQlMjBvZiUyMHZp ZXcKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBm b2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdl aGlzdG9yeS5waHA/cGFnZT1nYWRyaSUzQSUyMGFuJTIwdW5vZmZpY2lhbCUyMGNvbW1lbnRhcnkl MjBmcm9tJTIwYSUyMGxvZ2ljYWwlMjBwb2ludCUyMG9mJTIwdmlldyZjb21wYXJlPTEmb2xkdmVy PTE3Jm5ld3Zlcj0xOAoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVs b3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCist Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r CkBAIC1MaW5lczogMTAtMTUgY2hhbmdlZCB0byArTGluZXM6IDEwLTE1IEBACistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCjtfX3VuaXZl cnNlIG9mIGRpc2NvdXJzZV9fOiBTZXQgb2YgYWxsIHJlZmVyZW50cyBvZiBhcmd1bWVudHMuIEl0 IGlzIG5hdHVyYWxseSBhIHVuaXZlcnNlIHRoYXQgaXMgZGlzY3Vzc2VkLiBBIHVuaXZlcnNlIG9m IGRpc2NvdXJzZSBkZXBlbmRzIG9uIHRoZSBjb250ZXh0Lgo7X19jb25zdGFudF9fOiBBcmd1bWVu dCB0aGF0IHJlZmVycyB0byBhIHJlZmVyZW50LgotIDtfX3ZhcmlhYmxlX186IEFyZ3VtZW50IGFz IGEgcGxhY2UgaG9sZGVyLiBJdCBkb2VzIG5vdCByZWZlciB0byBhbnl0aGluZy4gSXQgaXMgdG8g YmUgc3Vic3RpdHV0ZWQgZm9yLiBWYXJpYWJsZSBvdGhlciB0aGFuIGJvdW5kIHZhcmlhYmxlIHRo YXQgd2lsbCBiZSBkZWZpbmVkIGJlbGxvdyBpcyBjYWxsZWQgX19mcmVlIHZhcmlhYmxlX18uIFRo ZSB0cnV0aCB2YWx1ZSBvZiBhIHNlbnRlbmNlIHRoYXQgaW5jbHVkZXMgYSBmcmVlIHZhcmlhYmxl IGlzIGluZGVmaW5pdGUuIFN1Y2ggYSBzZW50ZW5jZSBpcyBjYWxsZWQgX19vcGVuIHNlbnRlbmNl X18uPGJyIC8+XkluIExvamJhbiwge2tlJ2F9IGFuZCB7Y2UndX0gYXJlIGFsd2F5cyBmcmVlIHZh cmlhYmxlcy4gQSBzZW50ZW5jZSBpbiBOT0ktY2xhdXNlIG9yIE5VLWNsYXVzZSB3aXRoIHtjZSd1 fSBpcyBvcGVuLiAoQSBzZW50ZW5jZSBpbiBOVS1jbGF1c2Ugd2l0aCBubyB7Y2UndX0gaGFzIGEg dHJ1dGggdmFsdWUsIGJ1dCBlYWNoIG9mIHRoZSBpbnNpZGUgYW5kIHRoZSBvdXRzaWRlIG9mIE5V LWNsYXVzZSBoYXMgYW4gaW5kZXBlbmRlbnQgdW5pdmVyc2Ugb2YgZGlzY291cnNlLCBhbmQgdGh1 cyBlYWNoIG9mIHRoZW0gaGFzIGFuIGluZGVwZW5kZW50IHRydXRoIHZhbHVlIChmb3IgZXhhbXBs ZSwgc2VlIFtodHRwOi8vZGFnLmdpdGh1Yi5pby9jbGwvOS83L3xDTEw5LjddKS4gSW4gZGVmaW5p dGlvbnMgb2Ygd29yZHMgaW4gTG9qYmFuLCBrbydWL2ZvJ1Ygc2VyaWVzIHtrbydhLCBrbydlLCAu Li59IG9mIHNlbG1hJ28gS09oQTQgYXJlIHVzZWQgYXMgZnJlZSB2YXJpYWJsZXMsIGJ1dCBpdCBp cyBvbmx5IGEgY3VzdG9tIGZvciBjb252ZW5pZW5jZS4gQWxsIGNtYXZvIG9mIEtPaEEyLDMsNCw1 LDYgYW5kIHt6bydlfSBvZiBLT2hBNyBhcmUgZXNzZW50aWFsbHkgY29uc3RhbnRzLiBDb25zaWRl cmluZyB0aGUgY2FzZSB0aGF0IGJvdGggY29uc3RhbnRzIGFuZCBib3VuZCB2YXJpYWJsZXMgKHRv IGJlIGRlZmluZWQgYmVsbG93KSBhcHBlYXIgaW4gYSBzdGF0ZW1lbnQsICZxdW90O2NvbnN0YW50 cyZxdW90OyBhcmUgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgdG8gYmUgU2tvbGVtIGZ1bmN0aW9ucy4g U2VlICgofCNCb3VuZF92YXJpYWJsZXNfYW5kX2NvbnN0YW50c19pbl9hX3N0YXRlbWVudHxTZWN0 aW9uIDMuMi4yKSkgZm9yIGRldGFpbC5eCisgO19fdmFyaWFibGVfXzogQXJndW1lbnQgYXMgYSBw bGFjZSBob2xkZXIuIEl0IGRvZXMgbm90IHJlZmVyIHRvIGFueXRoaW5nLiBJdCBpcyB0byBiZSBz dWJzdGl0dXRlZCBmb3IuIFZhcmlhYmxlIG90aGVyIHRoYW4gYm91bmQgdmFyaWFibGUgdGhhdCB3 aWxsIGJlIGRlZmluZWQgYmVsb3cgaXMgY2FsbGVkIF9fZnJlZSB2YXJpYWJsZV9fLiBUaGUgdHJ1 dGggdmFsdWUgb2YgYSBzZW50ZW5jZSB0aGF0IGluY2x1ZGVzIGEgZnJlZSB2YXJpYWJsZSBpcyBp bmRlZmluaXRlLiBTdWNoIGEgc2VudGVuY2UgaXMgY2FsbGVkIF9fb3BlbiBzZW50ZW5jZV9fLjxi ciAvPl5JbiBMb2piYW4sIHtrZSdhfSBhbmQge2NlJ3V9IGFyZSBhbHdheXMgZnJlZSB2YXJpYWJs ZXMuIEEgc2VudGVuY2UgaW4gTk9JLWNsYXVzZSBvciBOVS1jbGF1c2Ugd2l0aCB7Y2UndX0gaXMg b3Blbi4gKEEgc2VudGVuY2UgaW4gTlUtY2xhdXNlIHdpdGggbm8ge2NlJ3V9IGhhcyBhIHRydXRo IHZhbHVlLCBidXQgZWFjaCBvZiB0aGUgaW5zaWRlIGFuZCB0aGUgb3V0c2lkZSBvZiBOVS1jbGF1 c2UgaGFzIGFuIGluZGVwZW5kZW50IHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgYW5kIHRodXMgZWFj aCBvZiB0aGVtIGhhcyBhbiBpbmRlcGVuZGVudCB0cnV0aCB2YWx1ZSAoZm9yIGV4YW1wbGUsIHNl ZSBbaHR0cDovL2RhZy5naXRodWIuaW8vY2xsLzkvNy98Q0xMOS43XSkuIEluIGRlZmluaXRpb25z IG9mIHdvcmRzIGluIExvamJhbiwga28nVi9mbydWIHNlcmllcyB7a28nYSwga28nZSwgLi4ufSBv ZiBzZWxtYSdvIEtPaEE0IGFyZSB1c2VkIGFzIGZyZWUgdmFyaWFibGVzLCBidXQgaXQgaXMgb25s eSBhIGN1c3RvbSBmb3IgY29udmVuaWVuY2UuIEFsbCBjbWF2byBvZiBLT2hBMiwzLDQsNSw2IGFu ZCB7em8nZX0gb2YgS09oQTcgYXJlIGVzc2VudGlhbGx5IGNvbnN0YW50cy4gQ29uc2lkZXJpbmcg dGhlIGNhc2UgdGhhdCBib3RoIGNvbnN0YW50cyBhbmQgYm91bmQgdmFyaWFibGVzICh0byBiZSBk ZWZpbmVkIGJlbG93KSBhcHBlYXIgaW4gYSBzdGF0ZW1lbnQsICZxdW90O2NvbnN0YW50cyZxdW90 OyBhcmUgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgdG8gYmUgU2tvbGVtIGZ1bmN0aW9ucy4gU2VlICgo fCNCb3VuZF92YXJpYWJsZXNfYW5kX2NvbnN0YW50c19pbl9hX3N0YXRlbWVudHxTZWN0aW9uIDMu Mi4yKSkgZm9yIGRldGFpbC5eCjtfX3F1YW50aWZ5X186IEluIHN1YnN0aXR1dGluZyBwb3NzaWJs ZSBhcmd1bWVudHMgb25lIGJ5IG9uZSBmb3IgYSB2YXJpYWJsZSBpbiBhIHNlbnRlbmNlLCBjb3Vu dCB0aGUgbnVtYmVyIG9mIHJlZmVyZW50cyB0aGF0IG1ha2UgdGhlIHNlbnRlbmNlIHRydWUsIGFu ZCBwcmVmaXggdGhlIG51bWJlciB0byB0aGUgdmFyaWFibGUuCjtfX3F1YW50aWZpZXJfXzogTnVt YmVyIHVzZWQgZm9yIHF1YW50aWZpY2F0aW9uLiBCZXNpZGVzIHtwYX0sIHtyZX0sIHt2ZWkgbnkg c3UnaSBwYSAodmUnbyl9IGFuZCBzbyBvbiwge3JvfSAiYWxsIiBhbmQge3N1J299ICJ0aGVyZSBp cyBvbmUgb3IgbW9yZSIgYXJlIGFsc28gcXVhbnRpZmllcnMuCgoKCgoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2Ug Y29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgoKKChCUEZLIFNlY3Rpb246IGdhZHJpfEJQRksncyBn YWRyaSBwYWdlKSkgY29udGFpbnMgZXhwcmVzc2lvbnMgbWlzbGVhZGluZyBwZW9wbGUgd2hvIGhh dmUgYXQgbGVhc3QgYSBsaXR0bGUga25vd2xlZGdlIG9mIGxvZ2ljIChbaHR0cHM6Ly9ncm91cHMu Z29vZ2xlLmNvbS9kL3RvcGljL2xvamJhbi9SQXRFN1lrLWRxdy9kaXNjdXNzaW9ufGRpc2N1c3Np b25dKS4KCkkgd2lsbCBtYWtlIGhlcmUgYSBjb21tZW50YXJ5IG9uIEJQRksncyBnYWRyaSBzbyB0 aGF0IGl0IGlzIHVuZGVyc29vZCBieSB0aGVtIGNvcnJlY3RseS4KCgoKe21ha2V0b2N9CgoKCiEh IyBHbG9zc2FyeQoKV2Ugd2lsbCB1c2UgdGhlIGZvbGxvd2luZyB0ZXJtcyBpbiB0aGlzIGNvbW1l bnRhcnkuCgo7X19hcmd1bWVudCAoc3VtdGkpX186IFN5bWJvbCB0aGF0IHJlZmVycyB0byBhIHJl ZmVyZW50LCBvciB0aGF0IGFub3RoZXIgYXJndW1lbnQgY2FuIGJlIHN1YnN0aXR1dGVkIGZvci4K Cl5HcmFtbWF0aWNhbGx5LCBhbGwgdGhlc2UgYXJlIHN1bXRpOiBhcmd1bWVudHMsIHt6aSdvfSB3 aGljaCByZW1vdmVzIGEgcGxhY2UgZm9yIGFuIGFyZ3VtZW50LCB7a299IHdoaWNoIHJlZmVycyB0 byBsaXN0ZW5lcihzKSBhbmQgZm9ybXMgaW1wZXJhdGl2ZSwge21hfSB3aGljaCBmb3JtcyBpbnRl cnJvZ2F0aXZlIHRvIGFzayB3aGljaCBzdW10aSBtYWtlcyB0aGUgc3RhdGVtZW50IHRydWUsIHN1 bXRpIGFuZCByZWxhdGl2ZSBjbGF1c2VzICh7em8nZSBub2kgYnJvZGF9Li4uKSwgcXVhbnRpZmll ciBhbmQgc3VtdGkvc2VsYnJpICh7bm9kYX0sIHtjaSBsbyBicm9kYX0sIHtybyBicm9kYX0uLi4p ICwgc3VtdGkgY29ubmVjdGVkIGJ5IGNvbm5lY3RpdmVzICh7a28nYSAuZSBrbydlfS4uLikuIEhv d2V2ZXIsIGluIHRoaXMgYXJ0aWNsZSwgInN1bXRpIiByZWZlcnMgdG8gYW4gYXJndW1lbnQgb2Yg bG9naWMgcmVwcmVzZW50ZWQgaW4gTG9qYmFuLl4KCjtfX3VuaXZlcnNlIG9mIGRpc2NvdXJzZV9f OiBTZXQgb2YgYWxsIHJlZmVyZW50cyBvZiBhcmd1bWVudHMuIEl0IGlzIG5hdHVyYWxseSBhIHVu aXZlcnNlIHRoYXQgaXMgZGlzY3Vzc2VkLiBBIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSBkZXBlbmRz IG9uIHRoZSBjb250ZXh0LgoKO19fY29uc3RhbnRfXzogQXJndW1lbnQgdGhhdCByZWZlcnMgdG8g YSByZWZlcmVudC4KCjtfX3ZhcmlhYmxlX186IEFyZ3VtZW50IGFzIGEgcGxhY2UgaG9sZGVyLiBJ dCBkb2VzIG5vdCByZWZlciB0byBhbnl0aGluZy4gSXQgaXMgdG8gYmUgc3Vic3RpdHV0ZWQgZm9y LiBWYXJpYWJsZSBvdGhlciB0aGFuIGJvdW5kIHZhcmlhYmxlIHRoYXQgd2lsbCBiZSBkZWZpbmVk IGJlbG93IGlzIGNhbGxlZCBfX2ZyZWUgdmFyaWFibGVfXy4gVGhlIHRydXRoIHZhbHVlIG9mIGEg c2VudGVuY2UgdGhhdCBpbmNsdWRlcyBhIGZyZWUgdmFyaWFibGUgaXMgaW5kZWZpbml0ZS4gU3Vj aCBhIHNlbnRlbmNlIGlzIGNhbGxlZCBfX29wZW4gc2VudGVuY2VfXy4KCl5JbiBMb2piYW4sIHtr ZSdhfSBhbmQge2NlJ3V9IGFyZSBhbHdheXMgZnJlZSB2YXJpYWJsZXMuIEEgc2VudGVuY2UgaW4g Tk9JLWNsYXVzZSBvciBOVS1jbGF1c2Ugd2l0aCB7Y2UndX0gaXMgb3Blbi4gKEEgc2VudGVuY2Ug aW4gTlUtY2xhdXNlIHdpdGggbm8ge2NlJ3V9IGhhcyBhIHRydXRoIHZhbHVlLCBidXQgZWFjaCBv ZiB0aGUgaW5zaWRlIGFuZCB0aGUgb3V0c2lkZSBvZiBOVS1jbGF1c2UgaGFzIGFuIGluZGVwZW5k ZW50IHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgYW5kIHRodXMgZWFjaCBvZiB0aGVtIGhhcyBhbiBp bmRlcGVuZGVudCB0cnV0aCB2YWx1ZSAoZm9yIGV4YW1wbGUsIHNlZSBbaHR0cDovL2RhZy5naXRo dWIuaW8vY2xsLzkvNy98Q0xMOS43XSkuIEluIGRlZmluaXRpb25zIG9mIHdvcmRzIGluIExvamJh biwga28nVi9mbydWIHNlcmllcyB7a28nYSwga28nZSwgLi4ufSBvZiBzZWxtYSdvIEtPaEE0IGFy ZSB1c2VkIGFzIGZyZWUgdmFyaWFibGVzLCBidXQgaXQgaXMgb25seSBhIGN1c3RvbSBmb3IgY29u dmVuaWVuY2UuIEFsbCBjbWF2byBvZiBLT2hBMiwzLDQsNSw2IGFuZCB7em8nZX0gb2YgS09oQTcg YXJlIGVzc2VudGlhbGx5IGNvbnN0YW50cy4gQ29uc2lkZXJpbmcgdGhlIGNhc2UgdGhhdCBib3Ro IGNvbnN0YW50cyBhbmQgYm91bmQgdmFyaWFibGVzICh0byBiZSBkZWZpbmVkIGJlbG93KSBhcHBl YXIgaW4gYSBzdGF0ZW1lbnQsICJjb25zdGFudHMiIGFyZSBnZW5lcmFsbHkgY29uc2lkZXJlZCB0 byBiZSBTa29sZW0gZnVuY3Rpb25zLiBTZWUgKCh8I0JvdW5kX3ZhcmlhYmxlc19hbmRfY29uc3Rh bnRzX2luX2Ffc3RhdGVtZW50fFNlY3Rpb24gMy4yLjIpKSBmb3IgZGV0YWlsLl4KCjtfX3F1YW50 aWZ5X186IEluIHN1YnN0aXR1dGluZyBwb3NzaWJsZSBhcmd1bWVudHMgb25lIGJ5IG9uZSBmb3Ig YSB2YXJpYWJsZSBpbiBhIHNlbnRlbmNlLCBjb3VudCB0aGUgbnVtYmVyIG9mIHJlZmVyZW50cyB0 aGF0IG1ha2UgdGhlIHNlbnRlbmNlIHRydWUsIGFuZCBwcmVmaXggdGhlIG51bWJlciB0byB0aGUg dmFyaWFibGUuCgo7X19xdWFudGlmaWVyX186IE51bWJlciB1c2VkIGZvciBxdWFudGlmaWNhdGlv bi4gQmVzaWRlcyB7cGF9LCB7cmV9LCB7dmVpIG55IHN1J2kgcGEgKHZlJ28pfSBhbmQgc28gb24s IHtyb30gImFsbCIgYW5kIHtzdSdvfSAidGhlcmUgaXMgb25lIG9yIG1vcmUiIGFyZSBhbHNvIHF1 YW50aWZpZXJzLgoKO19fYm91bmQgdmFyaWFibGVfXzogVmFyaWFibGUgcHJlZml4ZWQgYnkgYSBx dWFudGlmaWVyLiBBcyBhIHJlc3VsdCBvZiBxdWFudGlmaWNhdGlvbiwgdGhlcmUgaXMgbm8gcm9v bSBmb3Igc3Vic3RpdHV0aW5nIGFuIGFyYml0cmFyeSBhcmd1bWVudCBmb3IgdGhlIHZhcmlhYmxl LgoKXkluIExvamJhbiwge2RhfSwge2RlfSBhbmQge2RpfSBhcmUgYm91bmQgdmFyaWFibGVzLiBG b3IgZXhhbXBsZSwge3JvIGRhIHpvJ3UgZGEgYnJvZGF9IG1lYW5zICJGb3IgYWxsIHtkYX0gaW4g dGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwge2RhIGJyb2RhfSBpcyB0cnVlLiIgSW4gdGhlIGNh c2UgdGhhdCB7ZGF9LCB7ZGV9IG9yIHtkaX0gYXJlIG5vdCBwcmVmaXhlZCBieSBhIHF1YW50aWZp ZXIsIHRoZXkgYXJlIHJlZ2FyZGVkIGFzIGltcGxpY2l0bHkgcHJlZml4ZWQgYnkge3N1J299Ll4K CjtfX2RvbWFpbl9fOiBSYW5nZSBvZiByZWZlcmVudHMgdG8gYmUgc3Vic3RpdHV0ZWQgZm9yIGEg dmFyaWFibGUsIG9yIHJhbmdlIHRvIGJlIGNvbnNpZGVyZWQgaW4gY291bnRpbmcgcmVmZXJlbnRz IGluIHF1YW50aWZpY2F0aW9uLgoKXkluIExvamJhbiwgYSBkb21haW4gb2YgYSBib3VuZCB2YXJp YWJsZSBjYW4gYmUgbGltaXRlZCB3aXRoIGFuIGV4cHJlc3Npb24ge2RhIHBvaS4uLn0uIEZvciBl eGFtcGxlLCB7cm8gZGEgcG9pIGtlJ2EgYnJvZGEgem8ndSBkYSBicm9kZX0gbWVhbnMgIkZvciBh bGwge2RhfSB0aGF0IGFyZSB4MSBvZiB7YnJvZGF9IGluIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vy c2UsIHtkYSBicm9kZX0gaXMgdHJ1ZS4iIElmIHtwb2kuLi59IGRvZXMgbm90IGZvbGxvdyB7ZGF9 LCB0aGUgZG9tYWluIGlzIHRoZSB3aG9sZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuXgoKO19fdGF1 dG9sb2d5X186IFNlbnRlbmNlIHRoYXQgaXMgYWx3YXlzIHRydWUgaW5kZXBlbmRlbnRseSBvZiBj b250ZXh0LiB7a28nYSBkdSBrbydhfSBldGMuCgo7X19sb2dpY2FsIGF4aW9tc19fOiBTZW50ZW5j ZXMgc2VsZWN0ZWQgZnJvbSB0YXV0b2xvZ2llcyBzbyB0aGF0IGFsbCB0YXV0b2xvZ2llcyBhcmUg cHJvdmVkIGZyb20gdGhlbSB3aXRoIHJ1bGVzIG9mIGluZmVyZW5jZSB0aGF0IGFyZSBkZWZpbmVk LgoKCgohISMgUGx1cmFsIHF1YW50aWZpY2F0aW9uCgpJbiBvcmRlciB0byB1bmRlcnN0YW5kIGFy Z3VtZW50cyBvZiBMb2piYW4gZnJvbSBhIGxvZ2ljYWwgcG9pbnQgb2YgdmlldywgaXQgaXMgZXNz ZW50aWFsIHRvIGhhdmUgYSBrbm93bGVkZ2Ugb2YgX19wbHVyYWwgcXVhbnRpZmljYXRpb25fXy4K CgoKUGx1cmFsIHF1YW50aWZpY2F0aW9uIHdhcyBpbnZlbnRlZCBpbiBvcmRlciB0byBmYWNpbGl0 YXRlIGV4cHJlc3Npb24gb2YgcHJvcG9zaXRpb24gdGhhdCBpcyBtZWFuaW5nZnVsIG9ubHkgd2hl biB0aGUgcmVmZXJlbnQgb2YgYW4gYXJndW1lbnQgaXMgcGx1cmFsLiAKCl4KCjtFeGFtcGxlOiBQ ZW9wbGUgZ2F0aGVyZWQsIGNvb2tlZCBhbmQgYXRlLl4KCkxvZ2ljYWxseSwgdGhpcyBzZW50ZW5j ZSBpcyBhIHByb3Bvc2l0aW9uIHRoYXQgY29uc2lzdHMgb2YgYSBjb25zdGFudCAicGVvcGxlIiBh bmQgdGhyZWUgcHJlZGljYXRlcyAiZ2F0aGVyZWQiICJjb29rZWQiIGFuZCAiYXRlIi4gVGhlIHBy ZWRpY2F0ZXMgYXJlIGRpZmZlcmVudCBmcm9tIGVhY2ggb3RoZXIgaW4gcHJvcGVydHkgb2YgdHJl YXRpbmcgdGhlIGFyZ3VtZW50LiBXZSB3aWxsIGRpc2N1c3MgcHJlY2lzZWx5IGhvdyB0aGUgYXJn dW1lbnQgaW4gdGhlIHNlbnRlbmNlIGlzIHRyZWF0ZWQuCgoKCiEhISMgQ29sbGVjdGl2aXR5IGFu ZCBkaXN0cmlidXRpdml0eQoKCgpDb25zaWRlciB0aGUgZXhwcmVzc2lvbiAicGVvcGxlIGdhdGhl cmVkIjogYmFzZWQgb24gdGhlIG1lYW5pbmcgb2YgdGhlIHByZWRpY2F0ZSAiZ2F0aGVyZWQiLCB0 aGUgY29uc3RhbnQgInBlb3BsZSIgc2hvdWxkIHJlZmVyIHRvIHBsdXJhbCBwZW9wbGUuCgpXaGVu IHJlZmVyZW50cyBvZiBhbiBhcmd1bWVudCBzYXRpc2Z5IGEgcHJlZGljYXRlIGFzIGNvbGxlY3Rp dmUgcGx1cmFsIHRoaW5ncyBsaWtlIHRoaXMsIHdlIGV4cHJlc3MgaXQgYXMgImFuIGFyZ3VtZW50 IHNhdGlzZmllcyBhbiBwcmVkaWNhdGUgX19jb2xsZWN0aXZlbHlfXyIsIG9yICJ0aGUgYXJndW1l bnQgaGFzIF9fY29sbGVjdGl2aXR5X18iLgoKCgpBcyBmb3IgZWFjaCBvZiB0aGUgcGx1cmFsIHBl b3BsZSByZWZlcnJlZCB0byBieSB0aGUgY29uc3RhbnQsICBlYWNoIHNlbnRlbmNlIHN1Y2ggdGhh dCAiQWxpY2UgZ2F0aGVyZWQiLCAiQm9iIGdhdGhlcmVkIiBhbmQgc28gb24gaXMgbm9uc2Vuc2Uu CgpXaGVuIGVhY2ggcmVmZXJlbnQgcmVmZXJyZWQgdG8gYnkgYSBjb25zdGFudCBjYW5ub3Qgc2F0 aXNmeSBhIHByZWRpY2F0ZSBhbG9uZSwgd2UgZXhwcmVzcyBpdCBhcyAiYW4gYXJndW1lbnQgc2F0 aXNmaWVzIGFuIHByZWRpY2F0ZSBfX25vbi1kaXN0cmlidXRpdmVseV9fIi4KCgoKT24gdGhlIG90 aGVyIGhhbmQsIGluIHRoZSBleHByZXNzaW9uICJwZW9wbGUgYXRlIiwgYWx0aG91Z2ggdGhlIGNv bnN0YW50ICJwZW9wbGUiIHJlZmVycyB0byBwbHVyYWwgcGVvcGxlLCB0aGUgcHJlZGljYXRlICJh dGUiIGlzIHNhdGlzZmllZCBieSBlYWNoIHBlcnNvbi4gVGhhdCBpcyB0byBzYXksIGVhY2ggc2Vu dGVuY2Ugc3VjaCB0aGF0ICJBbGljZSBhdGUiLCAiQm9iIGF0ZSIgYW5kIHNvIG9uIGlzIG1lYW5p bmdmdWwuCgpXaGVuIGVhY2ggcmVmZXJlbnQgcmVmZXJyZWQgdG8gYnkgYSBjb25zdGFudCBzYXRp c2ZpZXMgYSBwcmVkaWNhdGUgYWxvbmUsIHdlIGV4cHJlc3MgaXQgYXMgImFuIGFyZ3VtZW50IHNh dGlzZmllcyBhbiBwcmVkaWNhdGUgX19kaXN0cmlidXRpdmVseV9fIiwgb3IgInRoZSBhcmd1bWVu dCBoYXMgX19kaXN0cmlidXRpdml0eV9fIi4KCgoKTW9yZW92ZXIsIGlmIHRoZSBwcmVkaWNhdGUg ImVhdCIgbWVhbnMgYW4gYWN0ICJwdXQgZm9vZCBpbiBhIG1vdXRoLCBiaXRlIGl0LCBsZXQgaXQg cGFzcyB0aHJvdWdoIGFuIGVzb3BoYWd1cyBhbmQgc2VuZCBpdCB0byBhIHN0b21hY2giLCBpdCBp cyBoYXJkbHkgY29uc2lkZXJlZCB0aGF0ICJwZW9wbGUiIHNhdGlzZmllcyAiZWF0IiBjb2xsZWN0 aXZlbHkuIEV2ZW4gaWYgYSBwZXJzb24gaGVscHMgYW5vdGhlciB0byBlYXQsIHRoZSBoZWxwZXIg aXMgbm90IGVhdGVyLCBhbmQgdGhlIGVhdGVyIGlzIG5vdCBjb2xsZWN0aXZlIHBlb3BsZSBidXQg YW4gaW5kaXZpZHVhbC4gCgpXaGVuIGVhY2ggcmVmZXJlbnQgcmVmZXJyZWQgdG8gYnkgYSBjb25z dGFudCBjYW5ub3Qgc2F0aXNmeSBhIHByZWRpY2F0ZSBhcyBjb2xsZWN0aXZlIHBsdXJhbCB0aGlu Z3MsIHdlIGV4cHJlc3MgaXQgYXMgImFuIGFyZ3VtZW50IHNhdGlzZmllcyBhbiBwcmVkaWNhdGUg X19ub24tY29sbGVjdGl2ZWx5X18iLgoKKEhvd2V2ZXIsIGl0IGlzIHBvc3NpYmxlIHRvIGludGVy cHJldCB0aGUgcHJlZGljYXRlICJlYXQiIGFzIGludm9sdmluZyBjb2xsZWN0aXZpdHkuIEZvciBl eGFtcGxlLCBpZiBpdCBpcyBpbnRlcnByZXRlZCBhcyAicHV0IGZvb2QgYXdheSBmcm9tIG91dHNp ZGUgdG8gaW5zaWRlIG9mIGJvZHkiLCB3ZSBtYXkgc2F5ICJjb2xsZWN0aXZlbHkgZWF0IiB0byBl eHByZXNzIGFuIGV2ZW50IHRoYXQgcGVvcGxlIGVhdCBhbmQgY29uc3VtZSBhIG1hc3Mgb2YgZm9v ZCB0b2dldGhlci4pCgoKClRoZXJlIGFyZSBhbHNvIHByZWRpY2F0ZXMgdGhhdCBhbGxvdyBib3Ro IHByb3BlcnRpZXMgImNvbGxlY3Rpdml0eSIgYW5kICJkaXN0cmlidXRpdml0eSIuCgoiUGVvcGxl IGNvb2tlZCIgbWF5IG1lYW4gdGhhdCBwbHVyYWwgcGVvcGxlIGtuZWFkIHBhc3RlIG9mIHBpenph IHRvZ2V0aGVyLCBhbmQgdGhhdCBlYWNoIG9mIHRoZW0gaXMgaW4gY2hhcmdlIG9mIGNha2VzIG9y IHBvdC1hdS1mZXUuIEluIHRoaXMgY2FzZSwgdGhlIGNvbnN0YW50ICJwZW9wbGUiIHJlZmVycyB0 byBwbHVyYWwgcGVvcGxlLCBhbmQgdGhleSBjb29rZWQgcGl6emEgY29sbGVjdGl2ZWx5LCBjYWtl cyBhbmQgcG90LWF1LWZldSBkaXN0cmlidXRpdmVseS4gVGhlIGNvbnN0YW50ICJwZW9wbGUiIHRo dXMgc2F0aXNmaWVzIHRoZSBwcmVkaWNhdGUgImNvb2tlZCIgY29sbGVjdGl2ZWx5IGFuZCBkaXN0 cmlidXRpdmVseS4KCgoKTm90ZSB0aGF0IHRoZSBjb25zdGFudCAicGVvcGxlIiByZWZlcnMgdG8g d2hhdCBpcyBjb21tb24gdG8gdGhyZWUgcHJlZGljYXRlcyAiZ2F0aGVyZWQiLCAiY29va2VkIiBh bmQgImF0ZSIuIE5vIG1hdHRlciBpZiBhIGNvbnN0YW50IHNhdGlzZmllcyBwcmVkaWNhdGVzIGNv bGxlY3RpdmVseSBvciBkaXN0cmlidXRpdmVseSwgdGhlIHJlZmVyZW50IGlzIHRoZSBzYW1lLgoK CgpJZiB3ZSB1c2UgYW4gYXJndW1lbnQgImEgc2V0IG9mIHBlb3BsZSIgaW4gdGhlIGNhc2Ugb2Yg c2F0aXNmeWluZyBhIHByZWRpY2F0ZSBjb2xsZWN0aXZlbHksIGl0IG1pZ2h0IGJlIHBvc3NpYmxl IHRvIGludGVycHJldCB0aGUgcHJlZGljYXRlICJnYXRoZXJlZCIgc28gdGhhdCB0aGUgYXJndW1l bnQgc2F0aXNmaWVzIGl0LCBidXQgdGhlIHNhbWUgYXJndW1lbnQgY2Fubm90IHNhdGlzZnkgdGhl IHByZWRpY2F0ZSAiYXRlIiwgYmVjYXVzZSB3ZSBjYW4gaGFyZGx5IHNheSB0aGF0IGEgc2V0IG9m IHBlb3BsZSwgd2hpY2ggaXMgYW4gYWJzdHJhY3QgZW50aXR5LCBwZXJmb3JtcyAiYXRlIi4KCgoK VXNpbmcgcGx1cmFsIGNvbnN0YW50cyBhbmQgcGx1cmFsIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUg ZGlzY3Vzc2VkIGluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbnMsIHdlIGNhbiBleHByZXNzIHBsdXJh bCB0aGluZ3MgaW4gdGhlIGZvcm0gb2YgcHJlZGljYXRlIGxvZ2ljIHdpdGhvdXQgdXNpbmcgc2V0 cy4KCgoKISEhIyBQbHVyYWwgY29uc3RhbnQgYW5kIHBsdXJhbCB2YXJpYWJsZQoKQW4gYXJndW1l bnQgdGhhdCByZWZlcnMgdG8gcmVmZXJlbnQgd2l0aG91dCBpbnRyb2R1Y2luZyBhIG5vdGlvbiBv ZiBzZXRzLCB3aXRob3V0IGRpc3Rpbmd1aXNoaW5nIGNvbGxlY3Rpdml0eSBhbmQgZGlzdHJpYnV0 aXZpdHksIHdpdGhvdXQgZGlzdGluZ3Vpc2hpbmcgcGx1cmFsaXR5IGFuZCBzaW5ndWxhcml0eSwg aXMgY2FsbGVkIF9fcGx1cmFsIGNvbnN0YW50X18uCgpBIHZhcmlhYmxlIGZvciB3aGljaCBhIHBs dXJhbCBjb25zdGFudCBjYW4gYmUgc3Vic3RpdHV0ZWQgaXMgY2FsbGVkIF9fcGx1cmFsIHZhcmlh YmxlX18uCgpRdWFudGlmeWluZyBhIHBsdXJhbCB2YXJpYWJsZSBpcyBjYWxsZWQgX19wbHVyYWwg cXVhbnRpZmljYXRpb25fXy4gQSBxdWFudGlmaWVyIHVzZWQgZm9yIHBsdXJhbCBxdWFudGlmaWNh dGlvbiBpcyBjYWxsZWQgX19wbHVyYWwgcXVhbnRpZmllcl9fLiBBIHBsdXJhbCB2YXJpYWJsZSBw cmVmaXhlZCB3aXRoIGEgcGx1cmFsIHF1YW50aWZpZXIgaXMgY2FsbGVkIGEgX19ib3VuZCBwbHVy YWwgdmFyaWFibGVfXy4KCgoKISEhISMgbWUgYW5kIGpvJ3UKCldlIGludHJvZHVjZSByZWxhdGlv bnMgYmV0d2VlbiBwbHVyYWwgY29uc3RhbnRzIGFuZCBwbHVyYWwgdmFyaWFibGVzOiB7bWV9IGFu ZCB7am8ndX0uCgoKCnx8CgpYIG1lIFkgKG1lJ3UpIH5oc358fmhzfiBYIGlzIGFtb25nIFkKCnx8 CgpYIGFuZCBZIHJlcHJlc2VudCBoZXJlIHBsdXJhbCBjb25zdGFudHMgb3IgcGx1cmFsIHZhcmlh Ymxlcy4gQSBjbHVzdGVyIHttZSBZIChtZSd1KX0gaXMgYSBzZWxicmkgaW4gTG9qYmFuIGdyYW1t YXIuIHttZSd1fSBpcyBhbiBlbGlkYWJsZSB0ZXJtaW5hdG9yIG9mIHN0cnVjdHVyZSBiZWdpbm5p bmcgd2l0aCB7bWV9LgoKCgp7bWV9IGhhcyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgd2l0aCBh cmJpdHJhcnkgYXJndW1lbnRzIFgsIFkgYW5kIFo6CgojIFggbWUgWCAocmVmbGV4aXZpdHkpCgoj IFggbWUgWSBpamVibyBZIG1lIFogaW5hamEgWCBtZSBaICh0cmFuc2l0aXZpdHkpCgojIFggbWUg WSBpamVibyBZIG1lIFggaWpvIFggZHUgWSAoaWRlbnRpdHkpCgpUaGUgcHJvcGVydHkgMyBtZWFu cyB0aGF0IHRoZSBpZGVudGl0eSBiZXR3ZWVuIHJlZmVyZW50cyBvZiBYIGFuZCBZIGlzIHJlcHJl c2VudGVkIHdpdGgge21lfSwgYXMgYSByZWxhdGlvbiB0aGF0IHtYIG1lIFkgaWplYm8gWSBtZSBY fS4KCgoKfHwKClggam8ndSBZIH5oc358fmhzfiBYIGFuZCBZCgp8fAoKe2pvJ3V9IGNvbWJpbmVz IHR3byBhcmd1bWVudHMgWCBhbmQgWSBpbnRvIG9uZSBwbHVyYWwgY29uc3RhbnQgb3Igb25lIHBs dXJhbCB2YXJpYWJsZS4KCgoKe2pvJ3V9IGhhcyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgd2l0 aCBhcmJpdHJhcnkgYXJndW1lbnRzIFggYW5kIFk6CgojIFggbWUgWCBqbyd1IFkKCiMgWCBqbyd1 IFkgZHUgWSBqbyd1IFgKCiMgWCBqbyd1IFggZHUgWAoKVGhlIHByb3BlcnR5IDIgbWVhbnMgdGhh dCB0aGUgcmVmZXJlbnQgb2YgdGhlIHdob2xlIGFyZ3VtZW50IGRvZXMgbm90IHZhcnkgd2hlbiB0 d28gYXJndW1lbnRzIGNvbWJpbmVkIGJ5IHtqbyd1fSBhcmUgaW50ZXJjaGFuZ2VkIHdpdGggZWFj aCBvdGhlci4gVGhlIHByb3BlcnR5IDMgbWVhbnMgdGhhdCB7am8ndX0gZG9lcyBub3QgYWRkIGFu eSByZWZlcmVudCB3aGVuIGl0IGNvbWJpbmVzIGFuIGFyZ3VtZW50IHdpdGggaXRzZWxmLgoKCgpV c2luZyB7am8ndX0sIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbiBpcyBwb3NzaWJsZToKCl4KCjtF eGFtcGxlOiBCIGFuZCBDIGdhdGhlcmVkLCBjb29rZWQgYW5kIGF0ZS4KCjs6IGJ5IGpvJ3UgY3kg am1hamkgZ2knZSBqdWtwYSBnaSdlIGNpdGthXgoKRWFjaCBvZiB7Ynl9IGFuZCB7Y3l9IGlzIGEg cGx1cmFsIGNvbnN0YW50LgoKCgpUaGUgcHJlZGljYXRlIHtqdWtwYX0gKGNvb2spIGNhbiBiZSBp bnRlcnByZXRlZCBjb2xsZWN0aXZlbHkgYW5kL29yIGRpc3RyaWJ1dGl2ZWx5LCBidXQgdGhlIHBs dXJhbCBjb25zdGFudCB7Ynkgam8ndSBjeX0gc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgaXQg c2F0aXNmaWVzIHtqdWtwYX0gY29sbGVjdGl2ZWx5IGFuZC9vciBkaXN0cmlidXRpdmVseS4gSWYg d2Ugd2FudCB0byBtYWtlIGV4cGxpY2l0IHRoYXQgdGhleSBjb29rZWQgImNvbGxlY3RpdmVseSIs IHdlIHNheSB7Ynkgam9pIGN5fSB1c2luZyB7am9pfSB0aGF0IHdpbGwgYmUgZGlzY3Vzc2VkIGlu ICgofCNSZWxhdGlvbl9iZXR3ZWVuX2pvX3Vfam9pX2NlX2FuZF9nYWRyaXxTZWN0aW9uIDMuNCkp LCBvciB7bHUnbyBieSBqbyd1IGN5fSB1c2luZyB7bHUnb30gdGhhdCB3aWxsIGJlIGRpc2N1c3Nl ZCBpbiAoKHwjUmVsYXRpb25fYmV0d2Vlbl9sdV9hX2x1X29fbHVfaV9hbmRfZ2Fkcml8U2VjdGlv biAzLjMpKS4gQ29udHJhc3RpdmVseSwgaWYgd2Ugd2FudCB0byBtYWtlIGV4cGxpY2l0IHRoYXQg dGhleSBjb29rZWQgImRpc3RyaWJ1dGl2ZWx5Iiwgd2Ugc2F5ICB7bHUnYSBieSBqbyd1IGN5fSB1 c2luZyB7bHUnYX0gdGhhdCB3aWxsIGJlIGRpc2N1c3NlZCBpbiAoKHwjUmVsYXRpb25fYmV0d2Vl bl9sdV9hX2x1X29fbHVfaV9hbmRfZ2Fkcml8U2VjdGlvbiAzLjMpKS4gSG93ZXZlciwgdGhlc2Ug YXJndW1lbnRzIHRoYXQgc2F5cyBleHBsaWNpdGx5IGNvbGxlY3Rpdml0eSBhbmQvb3IgZGlzdHJp YnV0aXZpdHkgYXJlIG5vdCBhbHdheXMgY29tbW9ubHkgdXNlZCBmb3Igb3RoZXIgcHJlZGljYXRl cyBsaWtlIHtqbWFqaX0gb3Ige2NpdGthfS4KCgoKVGhlIGRpYWdyYW0gYmVsbG93IHNob3dzIHJl bGF0aW9ucyBjb25zdHJ1Y3RlZCB3aXRoIHttZX0gYW5kIHtqbyd1fSByZXByZXNlbnRlZCB3aXRo IGEgZGlyZWN0ZWQgZ3JhcGgsIGluIHdoaWNoIHRoZSB2ZXJ0aWNlcyByZXByZXNlbnQgcGx1cmFs IGNvbnN0YW50cy4KCgoKe2ltZyBmaWxlSWQ9IjciIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgoK CiEhISEjIEluZGl2aWR1YWwKClJlZmVyZW50IG9mIGEgcGx1cmFsIGNvbnN0YW50IGlzIG5vdCBu ZWNlc3NhcmlseSBwbHVyYWw6IGEgcGx1cmFsIGNvbnN0YW50IGNhbiByZWZlciB0byBvbmUgaW5k aXZpZHVhbC4KCl9fQW4gaW5kaXZpZHVhbF9fIGlzIGRlZmluZWQgYXMgZm9sbG93czoKCnx8Cgpf X1ggaXMgYW4gaW5kaXZpZHVhbF9fIH5oc358fmhzfiA9Y2EnZSB+aHN+fH5oc34gcm8nb2kgZGEg cG9pIGtlJ2EgbWUgWCB6byd1IFggbWUgZGEKCnx8CgoKCndoZXJlIF9fcm8nb2lfXyBpcyBhbiBl eHBlcmltZW50YWwgY21hdm8gcHJvcG9zZWQgYnkgKCh4b3J4ZXN8bGEgeG9yeGVzKSksIHdoaWNo IGlzIGEgcGx1cmFsIHF1YW50aWZpZXIgbWVhbmluZyAiYWxsIi4gIHtybydvaSBkYX0gaXMgYSBi b3VuZCBwbHVyYWwgdmFyaWFibGUgbWVhbmluZyAiZm9yIGFsbCB0aGF0IGNhbiBiZSBzdWJzdGl0 dXRlZCBmb3Ige2RhfSIuIFRoaXMgZGVmaW5pdGlvbiBtZWFucyB0aGF0IFggaXMgY2FsbGVkIGFu IGluZGl2aWR1YWwgd2hlbiB0aGUgY29uZGl0aW9uICJmb3IgYWxsIHtkYX0gdGhhdCBhcmUgYW1v bmcgWCwgWCBpcyBhbW9uZyB7ZGF9IiBpcyBzYXRpc2ZpZWQuIEluIG90aGVyIHdvcmRzLCAiaW4g dGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgbm90aGluZyBvdGhlciB0aGFuIHtYfSBjYW4gYmUg c3Vic3RpdHV0ZWQgZm9yIHtkYX0gc3VjaCB0aGF0IHtYIG1lIGRhfSIgaXMgZXhwcmVzc2VkIGJ5 ICJYIGlzIGFuIGluZGl2aWR1YWwiLgoKCgpXaGVuIGVhY2ggb2YgWCBhbmQgWSBpcyBhbiBpbmRp dmlkdWFsIGFuZCBYIGlzIG5vdCBlcXVhbCB0byBZLCB7WCBqbyd1IFl9IGlzIGNhbGxlZCBfX2lu ZGl2aWR1YWxzX18uIFdoZW4gZWFjaCBvZiBYIGFuZCBZIGlzIGFuIGluZGl2aWR1YWwgb3IgaW5k aXZpZHVhbHMsIHtYIGpvJ3UgWX0gaXMgY2FsbGVkIGluZGl2aWR1YWxzIGFzIHdlbGwuCgoKCiEh ISEjIERpZmZlcmVuY2UgYmV0d2VlbiBwbHVyYWwgYW5kIHNpbmd1bGFyCgpBIHBsdXJhbCBjb25z dGFudCB0aGF0IHJlZmVycyB0byBhIHNpbmdsZSBpbmRpdmlkdWFsIGlzIGNhbGxlZCBhIF9fc2lu Z3VsYXIgY29uc3RhbnRfXy4KCgoKVW5sZXNzIFg9WSBhbmQgWCBpcyBhbiBpbmRpdmlkdWFsLCBu byBtYXR0ZXIgd2hldGhlciBlYWNoIG9mIFggYW5kIFkgaXMgcGx1cmFsIG9yIHNpbmd1bGFyLCB7 WCBqbyd1IFl9IGlzIG5vdCBhIHNpbmd1bGFyIGNvbnN0YW50LiBJdCBpcyBiZWNhdXNlIAoKXlgg bWUgWCBqbyd1IFkgaWplbmFpIFggam8ndSBZIG1lIFheCgpob2xkcyB0cnVlLCBhbmQgdGhlbiB7 WCBqbyd1IFl9IGRvZXMgbm90IHNhdGlzZnkgdGhlIGNvbmRpdGlvbiBvZiBhbiBpbmRpdmlkdWFs IHtybydvaSBkYSBwb2kga2UnYSBtZSBYIGpvJ3UgWSB6byd1IFggam8ndSBZIG1lIGRhfS4KCgoK ISEhISMgQm91bmQgc2luZ3VsYXIgdmFyaWFibGUKCldoZW4gdGhlIGRvbWFpbiBvZiBhIGJvdW5k IHBsdXJhbCB2YXJpYWJsZSBpcyByZXN0cmljdGVkIHRvIHdoYXQgaXMgYW4gaW5kaXZpZHVhbCwg dGhlIHZhcmlhYmxlIGlzIGNhbGxlZCBfX2JvdW5kIHNpbmd1bGFyIHZhcmlhYmxlX18uIEEgYm91 bmQgc2luZ3VsYXIgdmFyaWFibGUgY2Fubm90IHRha2UgbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFs IHZhbHVlIGF0IGEgdGltZS4KCntybyBkYX0gKGZvciBhbGwge2RhfSkgYW5kIHtzdSdvIGRhfSAo dGhlcmUgaXMgYXQgbGVhc3Qgb25lIHtkYX0pLCB3aGljaCBhcmUgb2ZmaWNpYWxseSBkZWZpbmVk IGluIExvamJhbiwgYXJlIGJvdW5kIHNpbmd1bGFyIHZhcmlhYmxlcy4gVGhleSBjYW4gYmUgZGVm aW5lZCB3aXRoIGJvdW5kIHBsdXJhbCB2YXJpYWJsZXMgYXMgZm9sbG93czoKCnx8CgpybyBkYSB+ aHN+fH5oc34gcm8nb2kgZGEgcG9pIHJvJ29pIGRlIHBvaSBkZSBtZSBkYSB6byd1IGRhIG1lIGRl CgpzdSdvIGRhIH5oc358fmhzfiBzdSdvaSBkYSBwb2kgcm8nb2kgZGUgcG9pIGRlIG1lIGRhIHpv J3UgZGEgbWUgZGUKCnx8CgpfX3N1J29pX18gaXMgYW4gZXhwZXJpbWVudGFsIGNtYXZvIHByb3Bv c2VkIGJ5ICgoeG9yeGVzfGxhIHhvcnhlcykpLCBhbmQgaXMgYSBwbHVyYWwgcXVhbnRpZmllciBt ZWFuaW5nICJ0aGVyZSBpcy9hcmUiLiBOb3RlIHRoYXQge3N1J29pfSBpcyBfX25vdF9fICJhdCBs ZWFzdCBvbmUiLiB7c3Unb2kgZGF9IGlzIGEgYm91bmQgcGx1cmFsIHZhcmlhYmxlIG1lYW5pbmcg InRoZXJlIGlzL2FyZSB7ZGF9Ii4KCgoKISEhISMgV2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1 YWwgbm9yIGluZGl2aWR1YWxzCgpSZWZlcmVudCBvZiBhIHBsdXJhbCBjb25zdGFudCBpcyBub3Qg bmVjZXNzYXJpbHkgYW4gaW5kaXZpZHVhbCBvciBpbmRpdmlkdWFscy4gCgpJdCBpcyBwb3NzaWJs ZSB0byBkaXNjdXNzIGEgdW5pdmVyc2Ugb2YgZGlzY291cnNlIHN1Y2ggdGhhdCByZWZlcmVudCBv ZiBhIHBsdXJhbCBjb25zdGFudCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1 YWxzLgoKCgpGb3IgZXhhbXBsZSwgY29uc2lkZXIgc3VjaCBhIHVuaXZlcnNlIG9mIGRpc2NvdXJz ZSBpbiB3aGljaCB0aGUgZm9sbG93aW5nIHByb3Bvc2l0aW9uIGhvbGRzIHRydWUuCgpecm8nb2kg ZGEgcG9pIGtlJ2EgbWUga28nYSBrdSdvIHN1J29pIGRlIHpvJ3UgZGUgbWUgZGEgaWplbmFpIGRh IG1lIGRlIH4tLX4gQ29uZGl0aW9uXzFeCgpJbiBvdGhlciB3b3JkcywgaW4gdGhpcyB1bml2ZXJz ZSBvZiBkaXNjb3Vyc2UsIGZvciBhbGwgWCBzdWNoIHRoYXQge1ggbWUga28nYX0sIHRoZXJlIGlz IGFsd2F5cyBZIHN1Y2ggdGhhdCB7WSBtZSBYfSBhbmQgbm90IHtYIG1lIFl9LgoKCgo7VGhlb3Jl bTogSW4gYSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2Ugd2hlcmUgQ29uZGl0aW9uXzEgaXMgdHJ1ZSwg e2tvJ2F9IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMuCgoKCjtQcm9v ZjogU3VwcG9zZSB7a28nYX0gaXMgYW4gaW5kaXZpZHVhbC4gRnJvbSB0aGUgZGVmaW5pdGlvbiBv ZiAiYW4gaW5kaXZpZHVhbCI6Cgpecm8nb2kgZGEgcG9pIGtlJ2EgbWUga28nYSB6byd1IGtvJ2Eg bWUgZGEgfi0tfiBTdXBwb3NpdGlvbl8yXgoKUmVwbGFjZSB7cm8nb2kgZGF9IHdpdGgge25ha3Ug c3Unb2kgZGEgbmFrdX06CgpebmFrdSBzdSdvaSBkYSBwb2kga2UnYSBtZSBrbydhIGt1J28gbmFr dSB6byd1IGtvJ2EgbWUgZGEgfi0tfiBTdXBwb3NpdGlvbl8yLTFeCgpNb3ZlIHRoZSBpbm5lci1t b3N0IHtuYWt1fSBpbnRvIHRoZSBwcm9wb3NpdGlvbjoKCl5uYWt1IHN1J29pIGRhIHBvaSBrZSdh IG1lIGtvJ2Egem8ndSBuYWt1IGtvJ2EgbWUgZGEgfi0tfiBTdXBwb3NpdGlvbl8yLTJeCgpSZXBs YWNlIHtzdSdvaSBkYSBwb2l9IHdpdGgge2lqZX0gYW5kIG1vdmUgaW50byB0aGUgcHJvcG9zaXRp b246CgpebmFrdSBzdSdvaSBkYSB6byd1IGRhIG1lIGtvJ2EgaWplIG5ha3Uga28nYSBtZSBkYSB+ LS1+IFN1cHBvc2l0aW9uXzItM14KClJlcGxhY2Uge2lqZSBuYWt1fSB3aXRoIHtpamVuYWl9OgoK Xm5ha3Ugc3Unb2kgZGEgem8ndSBkYSBtZSBrbydhIGlqZW5haSBrbydhIG1lIGRhIH4tLX4gU3Vw cG9zaXRpb25fMi00XgoKQnkgdGhlIHdheSwgZnJvbSBhIHByb3BlcnR5IG9mIHttZX0sCgpea28n YSBtZSBrbydhIF4KCmlzIGFsd2F5cyB0cnVlLiB7a28nYX0gaXMgdGhlcmVmb3JlIGluIHRoZSBk b21haW4gb2Yge2RhfSBvZiBDb25kaXRpb25fMS4gUmVwbGFjZSB7cm8nb2kgZGF9IG9mIENvbmRp dGlvbl8xIHdpdGgge2tvJ2F9LCBhbmQgaXQgdGh1cyBob2xkcyB0cnVlOgoKXnN1J29pIGRlIHpv J3UgZGUgbWUga28nYSBpamVuYWkga28nYSBtZSBkZSB+LS1+IENvbmRpdGlvbl8xLTFeCgpDb25k aXRpb25fMS0xIGFuZCBTdXBwb3NpdGlvbl8yLTQgY29udHJhZGljdCBlYWNoIG90aGVyLgoKU3Vw cG9zaXRpb25fMiBpcyB0aHVzIHJlamVjdGVkIGJ5IHJlZHVjdGlvIGFkIGFic3VyZHVtLgoKSXQg bWVhbnMgdGhhdCB7a28nYX0gaXMgbm90IGFuIGluZGl2aWR1YWwuCgoKCk1vcmVvdmVyLCB3aGVu IHtrbydhfSBpcyBleHBhbmRlZCB0byB7QSBqbyd1IEJ9LCBmcm9tIGEgcHJvcGVydHkgb2Yge2pv J3V9LCB0aGUgZm9sbG93aW5nIHByb3Bvc2l0aW9ucyBob2xkIHRydWU6CgpeQSBtZSBrbydhfnBw fgoKfi9wcH5CIG1lIGtvJ2FeCgpFYWNoIG9mIEEgYW5kIEIgaXMgaW4gdGhlIGRvbWFpbiBvZiB7 ZGF9IG9mIENvbmRpdGlvbl8xLiBDb25zaWRlcmluZyBzaW1pbGFybHkgdG8gQ29uZGl0aW9uXzEt MSwgbmVpdGhlciBBIG5vciBCIGlzIGFuIGluZGl2aWR1YWwuIHtrbydhfSBpcyB0aHVzIG5vdCBp bmRpdmlkdWFscy4KClEuRS5ELgoKCgpXaGVuIHtrbydhfSBpcyBuZWl0aGVyIGFuIGluZGl2aWR1 YWwgbm9yIGluZGl2aWR1YWxzLCB3aGF0IGFjdHVhbGx5IGRvZXMgaXQgcmVmZXIgdG8/CgpXZSBt YXkgaW50ZXJwcmV0IHRoYXQgaXQgcmVmZXJzIHRvIHdoYXQgaXMgcmVmZXJyZWQgdG8gYnkgYSBt YXRlcmlhbCBub3VuLCBmb3IgZXhhbXBsZS4KCkJ5IGEgc3BlYWtlciB3aG8gdGhpbmtzIHRoYXQg YSBjdXQtb2ZmIHBpZWNlIG9mIGJyZWFkIGlzIGFsc28gYnJlYWQsIGJyZWFkIGlzIHJlZ2FyZGVk IGFzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMuCgoKCltodHRwczovL2dy b3Vwcy5nb29nbGUuY29tL2QvbXNnL2xvamJhbi9SQXRFN1lrLWRxdy9wQ0dlWUNFOWwxUUp8KFJl bGF0ZWQgZGlzY3Vzc2lvbjogZm9yIHRoZSBjYXNlIG9mIHtrbydhfT17bG8gc2lkYm99LCBJIHdy b3RlIHRoZSBzYW1lIHByb29mIG9ubHkgaW4gTG9qYmFuLildCgoKCiEhISEjIEEgbG9naWNhbCBh eGlvbSBvbiBwbHVyYWwgY29uc3RhbnQKClRoZSBmb2xsb3dpbmcgbG9naWNhbCBheGlvbSBpcyBn aXZlbiB0byBhbiBhcmJpdHJhcnkgcGx1cmFsIGNvbnN0YW50IEM6CgpeZ2FuYWkgQyBicm9kYSBn aSBzdSdvaSBkYSB6byd1IGRhIGJyb2RhXgoKCgpJdCBtZWFucyAiaW4gYSB1bml2ZXJzZSBvZiBk aXNjb3Vyc2UsIGlmIGEgcHJvcG9zaXRpb24gaW4gd2hpY2ggYSBwbHVyYWwgY29uc3RhbnQgaXMg eDEgb2Yge2Jyb2RhfSBob2xkcyB0cnVlLCB0aGVyZSBpcyByZWZlcmVudCB0aGF0IGlzIHgxIG9m IHticm9kYX0iLgoKCgpUaGF0IGlzIHRvIHNheSwgYW4gYXJndW1lbnQgdGhhdCBoYXMgbm8gcmVm ZXJlbnQgaW4gYSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UgY2Fubm90IGJlIHJlcHJlc2VudGVkIGJ5 IGEgcGx1cmFsIGNvbnN0YW50LiBBbiBhcmd1bWVudCB0aGF0IGhhcyBubyByZWZlcmVudCBpcyBl eHByZXNzZWQgaW4gdGhlIGZvcm0ge25ha3Ugc3Unb2kgZGF9LCB3aGljaCBpcyBhIG5lZ2F0aW9u IG9mIGEgYm91bmQgcGx1cmFsIHZhcmlhYmxlIHtzdSdvaSBkYX0gbWVhbmluZyAidGhlcmUgaXMv YXJlIi4KCgoKISEjIERlZmluaXRpb24gb2YgZ2FkcmkKCjtfX2xvX18gKExFKTogSXQgaXMgcHJl Zml4ZWQgdG8gc2VsYnJpLCBhbmQgZm9ybXMgYSBwbHVyYWwgY29uc3RhbnQgdGhhdCByZWZlcnMg dG8gd2hhdCBzYXRpc2ZpZXMgeDEsIHRoZSBmaXJzdCBwbGFjZSBvZiB0aGUgc2VsYnJpLiBJZiBh IHF1YW50aWZpZXIgZm9sbG93cyB7bG99LCB0aGUgcXVhbnRpZmllciByZXByZXNlbnRzIHRoZSBj b3VudCBvZiBhbGwgdGhlIHJlZmVyZW50cyBvZiB0aGUgcGx1cmFsIGNvbnN0YW50LiBJbiB0aGUg Y2FzZSB0aGF0IGEgcXVhbnRpZmllciBmb2xsb3dzIHtsb30sIGEgc3VtdGkgbWF5IGZvbGxvdyBp dC4gSW4gdGhpcyBjYXNlLCBpdCBmb3JtcyBhIHBsdXJhbCBjb25zdGFudCB0aGF0IHJlZmVycyB0 byB3aGF0IGlzL2FyZSBhbW9uZyAnJ3N1bXRpJycuCgp8fAoKbG8gW1tQQV0gYnJvZGEgKGt1KSB+ aHN+fH5oc34gem8nZSBub2kga2UnYSBicm9kYSBbW2dpJ2Ugemlsa2FuY3UgbGkgUEEgbG8gYnJv ZGFdIChrdSdvKSB+aHN+fH5oc34gd2hhdCBpcy9hcmUgYnJvZGEgW1t0aGF0IGlzL2FyZSBQQSBp biB0b3RhbF0KCmxvIFBBICcnc3VtdGknJyAoa3UpIH5oc358fmhzfiBsbyBQQSBtZSAnJ3N1bXRp JycgKG1lJ3UpIChrdSkgfmhzfnx+aHN+IHdoYXQgaXMvYXJlIGFtb25nICcnc3VtdGknJywgYW5k IFBBIGluIHRvdGFsCgp8fAoKe2t1fSwge2t1J299LCB7bWUndX0gYXJlIGVsaWRhYmxlIHRlcm1p bmF0b3JzLgoKCgpQdXR0aW5nIGEgcXVhbnRpZmllciBhZnRlciBnYWRyaSBsaWtlIHtsbyBQQX0g aXMgY2FsbGVkIF9faW5uZXIgcXVhbnRpZmljYXRpb25fXywgYW5kIHRoZSBxdWFudGlmaWVyIGlz IGNhbGxlZCBfX2lubmVyIHF1YW50aWZpZXJfXy4gQWx0aG91Z2ggdGhlIHRlcm0gInF1YW50aWZ5 IiBpcyBpbnZvbHZlZCwgaXQgaXMgZGlmZmVyZW50IGZyb20gcXVhbnRpZmljYXRpb24gb2YgbG9n aWMuIElubmVyIHF1YW50aWZpY2F0aW9uIGRvZXMgbm90IGludm9sdmUgY291bnRpbmcgcmVmZXJl bnRzIG9mIGNvbnN0YW50cyB0aGF0IGNhbiBiZSBzdWJzdGl0dXRlZCBmb3IgYSB2YXJpYWJsZSwg YnV0IGNvdW50aW5nIGFsbCB0aGUgcmVmZXJlbnRzIG9mIG9uZSBwbHVyYWwgY29uc3RhbnQuIElu bmVyIHF1YW50aWZpY2F0aW9uIHdpbGwgYmUgZGlzY3Vzc2VkIG1vcmUgcHJlY2lzZWx5IGluICgo fCNJbm5lcl9xdWFudGlmaWNhdGlvbnxTZWN0aW9uIDMuMSkpLgoKCgpPbiB0aGUgb3RoZXIgaGFu ZCwgcHV0dGluZyBhIHF1YW50aWZpZXIgYmVmb3JlIGdhZHJpLCBvciBiZWZvcmUgYSBzdW10aSBt b3JlIGdlbmVyYWxseSwgaXMgY2FsbGVkIF9fb3V0ZXIgcXVhbnRpZmljYXRpb25fXywgYW5kIHRo ZSBxdWFudGlmaWVyIGlzIGNhbGxlZCBfX291dGVyIHF1YW50aWZpZXJfXy4gT3V0ZXIgcXVhbnRp ZmljYXRpb24gd2lsbCBiZSBkaXNjdXNzZWQgbW9yZSBwcmVjaXNlbHkgaW4gKCh8I091dGVyX3F1 YW50aWZpY2F0aW9ufFNlY3Rpb24gMy4yKSkuCgoKCkFsbCBzdW10aSBmb3JtZWQgd2l0aCBnYWRy aSBhcmUgZGVmaW5lZCBzbyB0aGF0IHRoZXkgYXJlIGV4cGFuZGVkIGludG8gZXhwcmVzc2lvbnMg d2l0aCB7em8nZX0uIFRoYXQgaXMgdG8gc2F5LCB0aGUgbW9zdCBnZW5lcmFsIHBsdXJhbCBjb25z dGFudCBpcyByZXByZXNlbnRlZCBieSBhIHNpbmdsZSB7em8nZX0uIEEgc3VtdGkgZm9ybWVkIHdp dGggZ2FkcmkgaXMge3pvJ2V9IGFjY29tcGFuaWVkIGJ5IGFuIGV4cGxhbmF0aW9uLgoKXgoKO0V4 YW1wbGU6IFBlb3BsZSBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGUuCgo7OiBsbyBwcmVudSBjdSBq bWFqaSBnaSdlIGp1a3BhIGdpJ2UgY2l0a2FeCgoKCldoaWxlIHRoZSBwcmVkaWNhdGUge2p1a3Bh fSAoY29vaykgY2FuIGJlIGludGVycHJldGVkIGNvbGxlY3RpdmVseSBhcyB3ZWxsIGFzIGRpc3Ry aWJ1dGl2ZWx5LCB0aGUgcGx1cmFsIGNvbnN0YW50IHtsbyBwcmVudX0gKHBlb3BsZSkgZG9lcyBu b3Qgc2F5IGV4cGxpY2l0bHkgaWYgaXQgc2F0aXNmaWVzIHtqdWtwYX0gY29sbGVjdGl2ZWx5IG9y IGRpc3RyaWJ1dGl2ZWx5LiBJZiB3ZSB3YW50IHRvIHNheSBleHBsaWNpdGx5IHRoYXQgdGhleSAi Y29sbGVjdGl2ZWx5IiBjb29rZWQsIHdlIHVzZSB7bG9pfSwgd2hpY2ggd2lsbCBiZSBkaXNjdXNz ZWQgbGF0ZXIsIGFuZCBzYXkge2xvaSBwcmVudX0uIENvbnRyYXN0aXZlbHksIGlmIHdlIHdhbnQg dG8gc2F5IGV4cGxpY2l0bHkgdGhhdCB0aGV5ICJkaXN0cmlidXRpdmVseSIgY29va2VkLCB3ZSBz YXkge3JvIGxvIHByZW51fSB3aXRoIGFuIG91dGVyIHF1YW50aWZpY2F0aW9uLCBvciB7bHUnYSBs byBwcmVudX0uIEhvd2V2ZXIsIGEgc3VtdGkgdGhhdCBzYXlzIGV4cGxpY2l0bHkgY29sbGVjdGl2 aXR5IG9yIGRpc3RyaWJ1dGl2aXR5IGlzIG5vdCBuZWNlc3NhcmlseSBhYmxlIHRvIGJlIHNoYXJl ZCB3aXRoIG90aGVyIHByZWRpY2F0ZSBsaWtlIHtqbWFqaX0gb3Ige2NpdGthfS4KCgoKO19fbGVf XyAoTEUpOiB7bGUgYnJvZGF9IHJlZmVycyBfX3NwZWNpZmljYWxseV9fIHRvIGEgcmVmZXJlbnQg b2Yge2xvIGJyb2RhfSwgYW5kIF9fZXhwbGljaXRseSBleHByZXNzIHRoYXQgdGhlIHNwZWFrZXIg aGFzIHRoZSByZWZlcmVudCBpbiBtaW5kX18uIEl0cyBsb2dpY2FsIHByb3BlcnR5IGlzIHRoZSBz YW1lIGFzIHRoYXQgb2Yge2xvfS4KCnx8CgpsZSBbW1BBXSBicm9kYSAoa3UpIH5oc358fmhzfiB6 bydlIG5vaSBtaSBrZSdhIGRvIHNraWN1IGxvIGthIGNlJ3UgYnJvZGEgW1tnaSdlIHppbGthbmN1 IGxpIFBBIGxvIGJyb2RhXSAoa3UnbykgCgpsZSBQQSAnJ3N1bXRpJycgKGt1KSB+aHN+fH5oc34g bGUgUEEgbWUgJydzdW10aScnIChtZSd1KSAoa3UpCgp8fAoKCgo7X19sYV9fIChMQSk6IEl0IGlz IHByZWZpeGVkIHRvIHNlbGJyaSBvciBjbWV2bGEsIGFuZCBmb3JtcyBhIHBsdXJhbCBjb25zdGFu dCB0aGF0IHJlZmVycyB0byB3aGF0IGlzIG5hbWVkIHRoZSBzZWxicmkgb3IgY21ldmxhIHN0cmlu Zy4gSXRzIGxvZ2ljYWwgcHJvcGVydHkgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB7bG99LgoKfHwK CmxhIFtbUEFdIGJyb2RhIChrdSkgfmhzfnx+aHN+IHpvJ2Ugbm9pIGx1IFtbUEFdIGJyb2RhIGxp J3UgY21lbmUga2UnYSBtaSAoa3UnbykgCgpsYSBQQSAnJ3N1bXRpJycgKGt1KSB+aHN+fH5oc34g em8nZSBub2kgbHUgUEEgc3VtdGkgbGkndSBjbWVuZSBrZSdhIG1pIChrdSdvKSAKCnx8CgoKCjtf X2xvaV9fIChMRSksIF9fbGVpX18gKExFKSwgX19sYWlfXyAoTEEpOiB7bG9pL2xlaS9sYWkgYnJv ZGF9IHJlZmVycyB0byBhIHJlZmVyZW50IG9mIHtsby9sZS9sYSBicm9kYX0sIGFuZCBfX2V4cGxp Y2l0bHkgZXhwcmVzcyB0aGF0IHRoZSByZWZlcmVudCBzYXRpc2ZpZXMgYSBwcmVkaWNhdGUgY29s bGVjdGl2ZWx5X18uCgp8fAoKbG9pIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBs byBbW1BBXSBicm9kYQoKbGVpIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBsZSBb W1BBXSBicm9kYQoKbGFpIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBsYSBbW1BB XSBicm9kYQoKbG9pIFBBICcnc3VtdGknJyB+aHN+fH5oc34gbG8gZ3VubWEgYmUgbG8gUEEgJydz dW10aScnCgpsZWkgUEEgJydzdW10aScnIH5oc358fmhzfiBsbyBndW5tYSBiZSBsZSBQQSAnJ3N1 bXRpJycKCmxhaSBQQSAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvIGd1bm1hIGJlIGxhIFBBICcnc3Vt dGknJwoKfHwKCkJlY2F1c2Uge2xvaS9sZWkvbGFpfSBpcyB0aHVzIGRlZmluZWQgYnkgYW5vdGhl ciBwbHVyYWwgY29uc3RhbnQge2xvIGd1bm1hIGJlIGxvL2xlL2xhfSwgaXQgZG9lcyBub3QgcmVm ZXIgZGlyZWN0bHkgdG8gcmVmZXJlbnQgb2Yge2xvIGJyb2RhfSBvciB7bG8gUEEgJydzdW10aScn fSwgYnV0IHJlZmVyZW50IG9mIHtsbyBndW5tYX0uIFRoZXJlZm9yZSwgZXZlbiBpZiB7bG8gYnJv ZGF9IG9yIHtsbyBQQSAnJ3N1bXRpJyd9IGlzIG5vdCBhbiBpbmRpdmlkdWFsLCB7bG9pIGJyb2Rh fSBvciB7bG9pIFBBICcnc3VtdGknJ30gY2FuIGJlIGFuIGluZGl2aWR1YWwge2xvIGd1bm1hfSB1 bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbjoKCl5ybydvaSBkYSBwb2kga2UnYSBtZSBsbyBn dW5tYSBiZSBsby9sZS9sYSBbW1BBXSBicm9kYSB6byd1IGxvIGd1bm1hIGJlIGxvL2xlL2xhIFtb UEFdIGJyb2RhIGN1IG1lIGRhfnBwfgoKfi9wcH5ybydvaSBkYSBwb2kga2UnYSBtZSBsbyBndW5t YSBiZSBsby9sZS9sYSBQQSAnJ3N1bXRpJycgem8ndSBsbyBndW5tYSBiZSBsby9sZS9sYSBQQSAn J3N1bXRpJycgY3UgbWUgZGFeCgoKCjtfX2xvJ2lfXyAoTEUpLCBfX2xlJ2lfXyAoTEUpLCBfX2xh J2lfXyAoTEEpOiB7bG8naS9sZSdpL2xhJ2kgYnJvZGF9IHJlZmVycyB0byBhIHNldCBvciBzZXRz IG9mIGluZGl2aWR1YWwocykgdGhhdCBjb25zdGl0dXRlKHMpIGEgcGx1cmFsIGNvbnN0YW50IHts by9sZS9sYSBicm9kYX0uIEJlY2F1c2Uge2xvJ2kvbGUnaS9sYSdpfSBmb3JtcyBhIHNldCBvciBz ZXRzLCBpdCBpcyBkZWZpbmVkIG9ubHkgd2hlbiBpdHMvdGhlaXIgbWVtYmVyKHMpIHtsby9sZS9s YSBicm9kYX0gaXMvYXJlIGFuIGluZGl2aWR1YWwgb3IgaW5kaXZpZHVhbHMuIEEgc2V0IGl0c2Vs ZiBpcyBhbHdheXMgYW4gaW5kaXZpZHVhbCwgYW5kIHNldHMgYXJlIGFsd2F5cyBpbmRpdmlkdWFs czogdGhlcmUgaXMgbm8gc2V0IHRoYXQgaXMgbm90IGFuIGluZGl2aWR1YWwuCgp8fAoKbG8naSBb W1BBXSBicm9kYSB+aHN+fH5oc34gbG8gc2VsY21pIGJlIGxvIFtbUEFdIGJyb2RhCgpsZSdpIFtb UEFdIGJyb2RhIH5oc358fmhzfiBsbyBzZWxjbWkgYmUgbGUgW1tQQV0gYnJvZGEKCmxhJ2kgW1tQ QV0gYnJvZGEgfmhzfnx+aHN+IGxvIHNlbGNtaSBiZSBsYSBbW1BBXSBicm9kYQoKbG8naSBQQSAn J3N1bXRpJycgfmhzfnx+aHN+IGxvIHNlbGNtaSBiZSBsbyBQQSAnJ3N1bXRpJycKCmxlJ2kgUEEg JydzdW10aScnIH5oc358fmhzfiBsbyBzZWxjbWkgYmUgbGUgUEEgJydzdW10aScnCgpsYSdpIFBB ICcnc3VtdGknJyB+aHN+fH5oc34gbG8gc2VsY21pIGJlIGxhIFBBICcnc3VtdGknJwoKfHwKCkJl Y2F1c2Uge2xvJ2kvbGUnaS9sYSdpfSBpcyBkZWZpbmVkIGJ5IGFub3RoZXIgcGx1cmFsIGNvbnN0 YW50IHtsbyBzZWxjbWkgYmUgbG8vbGUvbGF9LCBpdCBkb2VzIG5vdCByZWZlciBkaXJlY3RseSB0 byByZWZlcmVudCBvZiB7bG8gYnJvZGF9IG9yIHtsbyBQQSAnJ3N1bXRpJyd9LCBidXQgcmVmZXJl bnQgb2Yge2xvIHNlbGNtaX0uCgoKCkluIHNldCB0aGVvcnksIGFuIGVtcHR5IHNldCBpcyBkZWZp bmVkIGFzIHtsbyBzZWxjbWkgYmUgbm8gZGF9LCBhbmQgYW4gZXhwcmVzc2lvbiB7bG8gbm8gYnJv ZGF9IGlzIG9mZmljaWFsbHkgbWVhbmluZ2xlc3MgKHNlZSAoKHwjSW5uZXJfcXVhbnRpZmljYXRp b258U2VjdGlvbiAzLjEpKS4gVGhpcyBpbXBsaWVzIHRoYXQgYW4gZW1wdHkgc2V0IGNhbm5vdCBi ZSBleHByZXNzZWQgd2l0aCB7bG8naS9sZSdpL2xhJ2l9LiAKCgoKQWNjb3JkaW5nIHRvIFtodHRw Oi8vamJvdmxhc3RlLmxvamJhbi5vcmcvZGljdC9zZWxjbWl8amJvdmxhc3RlXSwge3NlbGNtaX0g aXMgZGVmaW5lZCBhcyBmb2xsb3dzOnx8Cgp4MSBzZWxjbWkgeDIgfmhzfnx+aHN+ID1jYSdlIH5o c358fmhzfiB4MSBzZSBjbWltYSBybyBsbyBtZSB4MiBtZSd1IGUgbm8gbG8gbmEgbWUgeDIgfHwK CklmIHdlIGFjY2VwdCB0aGlzIGRlZmluaXRpb24sIGEgc2V0IHJlZmVycmVkIHRvIGJ5IHtsbydp L2xlJ2kvbGEnaX0tc3VtdGkgY29uc2lzdHMgb2Ygb25seSB0aGUgcmVmZXJlbnQgb2Yge2xvL2xl L2xhIFtbUEFdIGJyb2RhfSBvciB7bG8vbGUvbGEgUEEgJydzdW10aScnfS4gQ29udHJhc3RpdmVs eSwgaWYgd2UgZGVmaW5lIGl0IGFzIHtzZWxjbWl9PXtzZSBjbWltYX0sIHRoZSBzZXQgbWF5IGlu Y2x1ZGUgd2hhdCBpcy9hcmUgb3RoZXIgdGhhbiB0aGUgcmVmZXJlbnQgb2Yge2xvL2xlL2xhIFtb UEFdIGJyb2RhfSBvciB7bG8vbGUvbGEgUEEgJydzdW10aScnfS4gSXQgaXMgbm90IHlldCBvZmZp Y2lhbGx5IGRldGVybWluZWQgd2hpY2ggaW50ZXJwcmV0YXRpb24gaXMgdG8gYmUgYWNjZXB0ZWQu CgoKCiEhISMgSW5uZXIgcXVhbnRpZmljYXRpb24KCigoQlBGSyBTZWN0aW9uOiBnYWRyaXxCUEZL IGRlZmluZXMgaW5uZXIgcXVhbnRpZmljYXRpb24pKSBhcyBmb2xsb3dzOgoKfHwKCmxvIFtbUEFd IGJyb2RhIH5oc358fmhzfiB6bydlIG5vaSBrZSdhIGJyb2RhIFtbZ2knZSB6aWxrYW5jdSBsaSBQ QSBsbyBicm9kYV0KCmxvIFBBICcnc3VtdGknJyB+aHN+fH5oc34gbG8gUEEgbWUgJydzdW10aScn Cgp8fAoKVGhhdCBpcyB0byBzYXksIGlubmVyIHF1YW50aWZpZXIgbWVhbnMgbnVtYmVyIG9mIHJl ZmVyZW50IGNvdW50ZWQgYnkgdW5pdCB7bG8gYnJvZGF9IG9yIHtsbyBtZSAnJ3N1bXRpJyd9IHRo YXQgaXMgeDMgb2Yge3ppbGthbmN1fS4gCgpIb3dldmVyLCBpbnN0ZWFkIG9mIHt6aWxrYW5jdX0s IHRoZSBtZWFuaW5nIG9mIHdoaWNoIGlzIHRvbyB2YWd1ZSBmb3IgZGVmaW5pdGlvbiwgW2h0dHBz Oi8vZ3JvdXBzLmdvb2dsZS5jb20vZC9tc2cvbG9qYmFuL1JBdEU3WWstZHF3L3hpMmg2QTE3Q3Vz SnxhbiBpZGVhIG9mIHJlZGVmaW5pdGlvbiB1c2luZyB7bWVpfSB3YXMgc3VnZ2VzdGVkXSBhcyBm b2xsb3dzOgoKCgo7QXhpb20gMTogcm8nb2kgZGEgc3UnbyBwYSBtZWkKCjtEZWZpbml0aW9uOnx8 CgooRDEpIGtvJ2Egc3UnbyBOIG1laSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IHN1J29pIGRh IHBvaSBtZSBrbydhIGt1J28gc3Unb2kgZGUgcG9pIG1lIGtvJ2Egem8ndSBnZSBkYSBzdSdvIE4t MSBtZWkgZ2luYWkgZGUgbWUgZGEKCihEMikga28nYSBOIG1laSB+aHN+fH5oc34gPWNhJ2Ugfmhz fnx+aHN+IGtvJ2Egc3UnbyBOIG1laSBnaSdlIG5haSBzdSdvIE4rMSBtZWkgCgooRDMpIGxvIFBB IGJyb2RhIH5oc358fmhzfiA9Y2EnZSB+aHN+fH5oc34gem8nZSBub2kga2UnYSBQQSBtZWkgZ2kn ZSBicm9kYQoKfHwKCgoKVXNpbmcgdGhlc2UgZGVmaW5pdGlvbnMgYW5kIEF4aW9tIDEsIHRoZSBm b2xsb3dpbmcgdGhlb3JlbSB3aWxsIGJlIHByb3ZlZC4KCl5JZiBhbmQgb25seSBpZiB7a28nYSBw YSBtZWl9LCB7a28nYX0gaXMgYW4gaW5kaXZpZHVhbC5eCgoKCjtQcm9vZjogKEQyKSBpcwoKfHwK CmtvJ2EgTiBtZWkJfD18IGtvJ2Egc3UnbyBOIG1laSBnaSdlIG5haSBzdSdvIE4rMSBtZWkgCgoJ CXw9fCBnZSBrbydhIHN1J28gTiBtZWkgLS0tLS0oUzEpCgoJCXwgfCBnaSBuYWt1IGtvJ2Egc3Un byBOKzEgbWVpIC0tLS0tKFMyKQoKfHwKCkFwcGx5aW5nIChEMSkgdG8gKFMyKSwgCgp8fAoKKFMy KQkJfD18IG5ha3Ugc3Unb2kgZGEgcG9pIG1lIGtvJ2Ega3UnbyBzdSdvaSBkZSBwb2kgbWUga28n YSB6byd1IAoKCQl8IHwgZ2UgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpbmFpIGRlIG1lIGRhCgoJ CXw9fCBybydvaSBkYSBwb2kgbWUga28nYSBrdSdvIHJvJ29pIGRlIHBvaSBtZSBrbydhIHpvJ3UK CgkJfCB8IG5ha3UgZ2UgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpIG5ha3UgZGUgbWUgZGEKCgkJ fD18IHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1J28gcm8nb2kgZGUgcG9pIG1lIGtvJ2Egem8ndQoK CQl8IHwgZ2FuYWkgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpIGRlIG1lIGRhCgp8fAoKKEQyKSBp cyB0aGVyZWZvcmUKCnx8CgprbydhIE4gbWVpCXw9fCBnZSAoUzEpIGdpIChTMikgCgoJCXw9fCBn ZSBrbydhIHN1J28gTiBtZWkKCgkJfCB8IGdpIHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1J28gcm8n b2kgZGUgcG9pIG1lIGtvJ2Egem8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBOIG1laSAKCgkJfCB8 IGdpIGRlIG1lIGRhCgp8fAoKV2hlbiBOPTEsCgp8fAoKa28nYSBwYSBtZWkJfD18IGdlIGtvJ2Eg c3UnbyBwYSBtZWkKCgkJfCB8IGdpIHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1J28gcm8nb2kgZGUg cG9pIG1lIGtvJ2Egem8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBwYSBtZWkgCgoJCXwgfCBnaSBk ZSBtZSBkYSAKCnx8CgpCZWNhdXNlIG9mIEF4aW9tIDEsIGl0IGltcGxpZXMKCnx8CgprbydhIHBh IG1laQl8PXwgcm8nb2kgZGEgcG9pIG1lIGtvJ2Ega3UnbyBybydvaSBkZSBwb2kgbWUga28nYSB6 byd1IGRlIG1lIGRhCgp8fAoKVGhlIHJpZ2h0IHNpZGUgaW1wbGllcyB7cm8nb2kgZGEgcG9pIGtl J2EgbWUga28nYSB6byd1IGtvJ2EgbWUgZGF9LCB3aGljaCBpcyB0aGUgY29uZGl0aW9uIGZvciAi e2tvJ2F9IGlzIGFuIGluZGl2aWR1YWwiLiBJdHMgY29udmVyc2UgaXMgYWxzbyB0cnVlLgoKUS5F LkQuCgoKClRoZSBkaWFncmFtIGJlbG93IHNob3dzIGEgcHJvY2VkdXJlIG9mIGNvdW50aW5nIHNv bWV0aGluZyB1cCB0byBmb3VyIHJlcHJlc2VudGVkIHdpdGggYSBkaXJlY3RlZCBncmFwaC4gSW4g dGhpcyBkaWFncmFtLCBsb29wcyBzdWNoIGFzIHtYIG1lIFh9IGFyZSBvbWl0dGVkIGZvciBzaW1w bGljaXR5LCB0aG91Z2ggdGhleSBleGlzdC4gQ291bnRpbmcgdXAgY29ycmVzcG9uZHMgdG8gc2Vs ZWN0aW5nIGEgc3ViZ3JhcGggb2YgYSBkaXJlY3RlZCBncmFwaCBmb3JtZWQgd2l0aCB7bWV9OiB0 aGUgc3ViZ3JhcGggdGhhdCBoYXMgYSBmb3JtIG9mIHRyZWUgdGhhdCBpbmNsdWRlcyBhbGwgbGVh dmVzIChjb25zdGFudHMgZWFjaCBvZiB3aGljaCBpcyBhbiBpbmRpdmlkdWFsKSB0byBiZSBjb3Vu dGVkLCBmb3IgZXhhbXBsZSB0aGUgcGFydCBvZiBtYWdlbnRhIGNvbG9yIGluIHRoZSBkaWFncmFt LgoKCgp7aW1nIGZpbGVJZD0iMTAiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgoKCiEhISEjIFJl cGVhdGluZyBpbm5lciBxdWFudGlmaWNhdGlvbgoKQmVjYXVzZSB7bG8gUEEgJydzdW10aScnfSBp cyBkZWZpbmVkLCB3ZSBjYW4gcmVwZWF0IGlubmVyIHF1YW50aWZpY2F0aW9uIHRvIGZvcm0gYW4g YXJndW1lbnQuCgpeCgo7RXhhbXBsZTogbG8gbXVsbm8ga2FyZHlncmkgY3UgZ3VubWEgbG8gdm8g bG9pIHBhY2kga2FyZGEgfmhzfiAnJ0EgZnVsbCBkZWNrIGNvbnNpc3RzIG9mIGZvdXIgZ3JvdXBz IG9mIHRoaXJ0ZWVuIGNhcmRzLicnCgo7OiBzdSdvIGRhIHpvJ3UgbG9pIHJlIGxvJ2kgcm8gbW9r Y2Egbm9pIHNlcGxpIHB5IG5vaSBtb2tjYSBrdSdvIGRhIGN1IHJlbGN1a3RhaSB+aHN+ICcnVHdv IHNldHMgb2YgcG9pbnRzIHRoYXQgYXJlIGVxdWlkaXN0YW50IGZyb20gYSBwb2ludCBQIGlzIGEg ZG91YmxlIGNpcmNsZS4nJ14KCgoKISEhISMgUHJvYmxlbXMgb24gaW5uZXIgcXVhbnRpZmljYXRp b24KCiEhISEhIyBDYW5ub3Qgc2F5IHplcm8KCgoKQmVjYXVzZSBhbiBhcmd1bWVudCBmb3JtZWQg YnkgZ2FkcmkgaXMgYSBwbHVyYWwgY29uc3RhbnQsIHtsbyBicm9kYX0gaW1wbGllcyB7c3Unb2kg ZGEgem8ndSBkYSBicm9kYX0gYWNjb3JkaW5nIHRvIHRoZSBsb2dpY2FsIGF4aW9tIG9uIHBsdXJh bCBjb25zdGFudCBzaG93biBpbiAoKHwjQV9sb2dpY2FsX2F4aW9tX29uX3BsdXJhbF9jb25zdGFu dHxTZWN0aW9uIDIuMi42KSkuIFRoYXQgaXMgdG8gc2F5LCB0aGUgZXhwcmVzc2lvbiB7bG8gbm8g YnJvZGF9IGltcGxpZXMgInRoZXJlIGFyZSB3aGF0IGFyZSBicm9kYSwgd2hpY2ggYXJlIGNvdW50 ZWQgMCIsIHdoaWNoIHNlZW1zIG1lYW5pbmdsZXNzLgoKCgpUaGlzIG1lYW5zIHRoYXQgb2ZmaWNp YWwgTG9qYmFuIGNhbm5vdCBleHByZXNzIG5lZ2F0aW9uIG9mIGV4aXN0ZW5jZSBvZiBwbHVyYWwg dmFyaWFibGUge25ha3Ugc3Unb2kgZGF9LCB3aGljaCBpcyBuZXZlcnRoZWxlc3MgbmVjZXNzYXJ5 LCBmb3IgZXhhbXBsZSBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbjoKCgoKXiBsbyB4byBwcmVu dSBjdSBqbWFqaSBnaSdlIGp1a3BhIGdpJ2UgY2l0a2Egfmhzfn4tLX4gbm9+cHB+Cgp+L3Bwficn IkhvdyBtYW55IHBlb3BsZSBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGU/IiAiemVyby4iJydeCgoK ClRoaXMgcmVzcG9uc2UgaXMgYW4gYWJicmV2aWF0ZWQgZm9ybSBvZiB7bG8gbm8gcHJlbnUgY3Ug am1hamkgZ2knZSBqdWtwYSBnaSdlIGNpdGthfS4KCgoKVGhpcyBwcm9wb3NpdGlvbiBtZWFucyB0 aGF0IHtsbyBubyBwcmVudX0gc2F0aXNmaWVzIHNlbGJyaSB7am1haml9IGNvbGxlY3RpdmVseSBh bmQgKGplKSBub24tZGlzdHJpYnV0aXZlbHksIHtqdWtwYX0gY29sbGVjdGl2ZWx5IG9yIChqYSkg ZGlzdHJpYnV0aXZlbHksIHtjaXRrYX0gbm9uLWNvbGxlY3RpdmVseSBhbmQgKGplKSBkaXN0cmli dXRpdmVseS4gQmVjYXVzZSBpdCBpbmNsdWRlcyBzZWxicmkge2ptYWppfSB0byBiZSBzYXRpc2Zp ZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5LCB0aGUgc3VtdGkgY2Fubm90IGJlIHJlcGxhY2VkIGJ5IG5l Z2F0aW9uIG9mIGV4aXN0ZW5jZSBvZiBib3VuZCBzaW5ndWxhciB2YXJpYWJsZSB7bmFrdSBzdSdv IGRhfT17bm8gZGF9LiBNb3Jlb3ZlciwgYmVjYXVzZSBpdCBpbmNsdWRlcyBzZWxicmkge2NpdGth fSB0byBiZSBzYXRpc2ZpZWQgbm9uLWNvbGxlY3RpdmVseSwge2xvfSBvZiB0aGUgc3VtdGkgY2Fu bm90IGJlIHJlcGxhY2VkIGJ5IHtsb2l9PXtsbyBndW5tYSBiZSBsb30uCgoKCkZvciBtYWtpbmcg c3VjaCBhIHByb3Bvc2l0aW9uIG1lYW5pbmdmdWwsIGl0IGlzIGVzc2VudGlhbCB0byBnaXZlIGFu IGV4cHJlc3Npb24ge2xvIG5vIGJyb2RhfSBhIG1lYW5pbmcgb2YgbmVnYXRpb24gb2YgZXhpc3Rl bmNlIG9mIHBsdXJhbCB2YXJpYWJsZS4KCkZvciB0aGlzIHB1cnBvc2UsIEkgc3VnZ2VzdCB0aGUg Zm9sbG93aW5nIGRlZmluaXRpb24gdmFsaWQgaW4gdGhlIGNhc2UgdGhhdCBQQT0wIGZvciB7bG8g UEEgYnJvZGF9LgoKO1Vub2ZmaWNpYWwgZGVmaW5pdGlvbiBvZiB7bG8gbm8gYnJvZGF9Onx8Cgps byBubyBicm9kYSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IG5ha3Ugc3Unb2kgZGEgcG9pIGtl J2EgYnJvZGEKCnx8CgoKCu+8iElmIGl0IHdlcmUgZGVmaW5lZCBhcyB7bmFrdSBsbyBicm9kYX0s IHRoZSBuZWdhdGlvbiB3b3VsZCBoYXZlIHNwYW5uZWQgdGhlIHdob2xlIHByb3Bvc2l0aW9uLCBh bmQgaXQgd291bGQgbm90IGhhdmUgaW1wbGllZCBxdWFudGlmaWNhdGlvbi4gSSBhYmFuZG9uZWQg dGhlcmVmb3JlIHN1Y2ggYSBkZWZpbml0aW9uLikKCgoKISEhISEjIENhbm5vdCBxdWFudGlmeSBt YXRlcmlhbCBub3VuIG9yIHNvbWV0aGluZwoKQXhpb20gMSBvZiAoKHwjSW5uZXJfcXVhbnRpZmlj YXRpb258U2VjdGlvbiAzLjEpKSBleGNsdWRlcyBzdW10aSB0aGF0IGlzIG5laXRoZXIgYW4gaW5k aXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgZnJvbSBleHByZXNzaW9ucyB7KHN1J28pIE4gbWVpfSBh bmQge2xvIE4gYnJvZGF9LgoKCgpDYW4gd2UgdXNlIHtwaVBBfSBmb3Igc3VtdGkgdGhhdCBpcyBu ZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzLCB0aGVuPyBOby4KCigoQlBGSyBT ZWN0aW9uOiBnYWRyaXxBY3R1YWxseSwgcGlQQSBpcyBkZWZpbmVkIG9ubHkgZm9yIG91dGVyIHF1 YW50aWZpY2F0aW9uLikpCgp8fAoKcGlQQSAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvIHBpUEEgc2kn ZSBiZSBwYSBtZSAnJ3N1bXRpJycKCnx8CgpBcyB3ZSBjYW4gc2VlIGluIHRoZSBkZWZpbml0aW9u LCB0aGUgYm9keSBvZiBvdXRlciBxdWFudGlmaWNhdGlvbiBieSB7cGlQQX0gaXMgcGx1cmFsIGNv bnN0YW50IHtsbyBwaVBBIHNpJ2V9LCB3aGljaCBpcyBub3QgYSBib3VuZCBzaW5ndWxhciB2YXJp YWJsZS4gSG93ZXZlciwgeDIgb2Yge3BpUEEgc2knZX0gaXMge3BhIG1lICcnc3VtdGknJ30sIHRv IHdoaWNoICgoQlBGSyBTZWN0aW9uOiBnYWRyaXx0aGUgZGVmaW5pdGlvbiBvZiBQQSBicm9kYSkp IGlzIGFwcGxpZWQ6Cgp8fAoKUEEgYnJvZGEgfmhzfnx+aHN+IFBBIGRhIHBvaSBicm9kYSAKCnx8 CgpBcyBhIHJlc3VsdCwge3BpUEEgJydzdW10aScnfSBpcyBkZWZpbmVkIG9ubHkgd2hlbiB0aGVy ZSBpcyBhbiBpbmRpdmlkdWFsIHRoYXQgc2F0aXNmaWVzIHgxIG9mIHttZSAnJ3N1bXRpJyd9LiBU aGF0IGlzIHRvIHNheSwgd2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1 YWxzIGlzIGV4Y2x1ZGVkIGFsc28gZnJvbSBhbiBleHByZXNzaW9uIG9mIG91dGVyIHF1YW50aWZp Y2F0aW9uIHdpdGgge3BpUEF9LgoKCgpXaGF0IHdvdWxkIGJlIGlmIHtwaVBBfSB3ZXJlIGRlZmlu ZWQgYWxzbyBmb3IgaW5uZXIgcXVhbnRpZmljYXRpb24/CgpJbiB0aGF0IGNhc2UsIHRoZSBmb2xs b3dpbmcgZGVmaW5pdGlvbiB3b3VsZCBiZSBkZXNpcmFibGUgdG8gY29uZm9ybSB0aGUgZGVmaW5p dGlvbiBvZiB7cGlQQX0gb2Ygb3V0ZXIgcXVhbnRpZmljYXRpb246Cgo7IFVub2ZmaWNpYWwgZGVm aW5pdGlvbiBvZiB7cGlQQX0gb2YgaW5uZXIgcXVhbnRpZmljYXRpb246fHwKCmxvIHBpUEEgYnJv ZGEgfmhzfnx+aHN+ID1jYSdlIH5oc358fmhzfiB6bydlIG5vaSBrZSdhIHBpUEEgc2knZSBiZSBs byBwYSBicm9kYQoKfHwKClRoaXMgZGVmaW5pdGlvbiBvZiB7cGlQQX0gb2YgaW5uZXIgcXVhbnRp ZmljYXRpb24gc3RpbGwgZXhjbHVkZXMgd2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9y IGluZGl2aWR1YWxzIHVubGVzcyB7bG8gcGEgYnJvZGF9IGlzIGRlZmluZWQgaW4gYW5vdGhlciB3 YXkgc28gdGhhdCBpdCBjYW4gYmUgd2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGlu ZGl2aWR1YWxzLgoKCgpXaHkgZG9uJ3Qgd2UgdXNlIHtQQSBzaSdlfSB0byBleHByZXNzIHF1YW50 aWZpY2F0aW9uIG9mIHdoYXQgaXMgbmVpdGhlciBhbiBpbmRpdmlkdWFsIG5vciBpbmRpdmlkdWFs cz8gCgpJdCBpcyBwb3NzaWJsZSwgYnV0ICgoQlBGSyBTZWN0aW9uOiBOdW1lcmljIHNlbGJyaXxC UEZLJ3MgY3VycmVudCBkZWZpbml0aW9uIG9mIHtzaSdlfSkpIGRlcGVuZHMgb24ge3BhZ2J1fToK Cnx8Cgp4MSBudW1iZXIgc2knZSB4MiB+aHN+fH5oc34geDEgcGFnYnUgeDIgZ2knZSBrbGFuaSBs aSBudW1iZXIgbG8gc2UgZ3JhZHUgYmUgeDIKCnx8CgpJZiB3ZSBpbnRlcnByZXQge3BhZ2J1fSBz byB0aGF0IHgxIGlzIG5vdCBsYXJnZXIgdGhhbiB4MiAoYW5kIHRoaXMgaXMgb3JkaW5hcnkgaW50 ZXJwcmV0YXRpb24pLCBbaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL21zZy9sb2piYW4vUkF0 RTdZay1kcXcvblViWml3bUIyTTBKfHtzaSdlfSBpcyB2ZXJ5IGluY29udmVuaWVudCBiZWNhdXNl IHRoZSB1bml0IHNob3VsZCBiZSBjaGFuZ2VkIGV2ZXJ5IHRpbWUgY291bnRpbmcgdXAuXSBJZiB7 c2knZX0gd2VyZSBkZWZpbmVkIHNvIHRoYXQgUEEgb2Yge1BBIHNpJ2V9IGNvdWxkIGJlIGxhcmdl ciB0aGFuIDEsIHtzaSdlfSB3b3VsZCBoYXZlIGJlZW4gcHJhZ21hdGljIGZvciBxdWFudGlmaWNh dGlvbiBvZiB3aGF0IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMuCgoK CkJlc2lkZXMgdGhvc2UgY29uc2lkZXJhdGlvbnMsIGlmIHdlIGFiYW5kb24gQXhpb20gMSBvZiAo KHwjSW5uZXJfcXVhbnRpZmljYXRpb258U2VjdGlvbiAzLjEpKSwgRGVmaW5pdGlvbnMgKEQxKSAo RDIpIChEMykgY2FuIGJlIGFwcGxpZWQgdG8gd2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwg bm9yIGluZGl2aWR1YWxzLgoKSW4gdGhpcyBjYXNlLCBhIHNwZWFrZXIgc2hvdWxkIHNlbGVjdCBz b21lIHBsdXJhbCBjb25zdGFudHMge2tvJ2EsIGtvJ2UsIC4uLn0sIGFuZCBkZWNpZGUgdGhhdCB7 W1trbydhL2tvJ2UvLi4uXSBzdSdvIHBhIG1laX07IHRoZSBzZWxlY3Rpb24gbXVzdCBiZSBkb25l IGF0dGVudGl2ZWx5IHNvIHRoYXQgcmVmZXJlbnRzIG9mIHBsdXJhbCBjb25zdGFudHMgdGhhdCBh cmUge3BhIG1laX0gZG8gbm90IG92ZXJsYXAgd2l0aCBlYWNoIG90aGVyLgoKVGhvc2UgcHJlcGFy YXRpb25zIG9mIHtrbydhLCBrbydlLCAuLi59IGFuZCAoRDIpIGltcGx5IG9ubHkKCnx8CgpnYW5h aSBbW2tvJ2Eva28nZS8uLi5dIHBhIG1laSAKCmdpIHJvJ29pIGRlIHBvaSBtZSBbW2tvJ2Eva28n ZS8uLi5dIHpvJ3UgZGUgbWUgW1trbydhL2tvJ2UvLi4uXQoKfHwKClVuZGVyIHRoZXNlIGNvbmRp dGlvbnMsIHRoZXJlIGlzIG5vIG5lZWQgdGhhdCB3aGF0IGlzIHgxIG9mIHtwYSBtZWl9IGlzIGFu IGluZGl2aWR1YWwuCgoKCldoZW4gd2UgdXNlIERlZmluaXRpb25zIChEMSkgKEQyKSAoRDMpIHdp dGhvdXQgdXNpbmcgQXhpb20gMSBvZiAoKHwjSW5uZXJfcXVhbnRpZmljYXRpb258U2VjdGlvbiAz LjEpKSwgYSBjb25kaXRpb24ge2dpJ2Ugc3UnbyBwYSBtZWl9IG11c3QgYmUgYWRkZWQgdG8ge2Rl fSBvZiAoRDEp77yIV2hlbiBBeGlvbSAxIGlzIHVzZWQsIHJlZmVyZW50cyBpbiB0aGUgZG9tYWlu IG9mIHZhcmlhYmxlIHtkZX0gc2F0aXNmaWVzIHRoaXMgY29uZGl0aW9uIGF1dG9tYXRpY2FsbHkp LiAKCjtVbm9mZmljaWFsIGRlZmluaXRpb25zIHVuZGVyIHRoZSBjb25kaXRpb24gdGhhdCBBeGlv bSAxIGlzIGFiYW5kb25lZDp8fAoKKEQxJykga28nYSBzdSdvIE4gbWVpIH5oc358fmhzfiA9Y2En ZSB+aHN+fH5oc34gc3Unb2kgZGEgcG9pIG1lIGtvJ2Ega3UnbyBzdSdvaSBkZSBwb2kgbWUga28n YSBnaSdlIHN1J28gcGEgbWVpIHpvJ3UgZ2UgZGEgc3UnbyBOLTEgbWVpIGdpbmFpIGRlIG1lIGRh CgooRDIpIGtvJ2EgTiBtZWkgfmhzfnx+aHN+ID1jYSdlIH5oc358fmhzfiBrbydhIHN1J28gTiBt ZWkgZ2knZSBuYWkgc3UnbyBOKzEgbWVpIAoKKEQzKSBsbyBQQSBicm9kYSB+aHN+fH5oc34gPWNh J2Ugfmhzfnx+aHN+IHpvJ2Ugbm9pIGtlJ2EgUEEgbWVpIGdpJ2UgYnJvZGEKCnx8CgpVc2luZyB0 aGVzZSBkZWZpbml0aW9ucywgaW5uZXIgcXVhbnRpZmljYXRpb24gb2Ygd2hhdCBpcyBuZWl0aGVy IGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzIGJlY29tZXMgcG9zc2libGUuIE1vcmVvdmVy LCAiVW5vZmZpY2lhbCBkZWZpbml0aW9uIG9mIHtwaVBBfSBvZiBpbm5lciBxdWFudGlmaWNhdGlv biIgZGlzY3Vzc2VkIGFib3ZlIGJlY29tZXMgYWJsZSB0byBiZSBhcHBsaWVkIHRvIHdoYXQgaXMg bmVpdGhlciBhbiBpbmRpdmlkdWFsIG5vciBpbmRpdmlkdWFscy4KCgoKVGhlIGRpYWdyYW0gYmVs b3cgc2hvd3MgYSBwcm9jZWR1cmUgb2YgY291bnRpbmcgdXAgd2hhdCBpcyBuZWl0aGVyIGFuIGlu ZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzIHJlcHJlc2VudGVkIHdpdGggYSBkaXJlY3RlZCBncmFw aC4gSW4gdGhpcyBkaWFncmFtLCBsb29wcyBzdWNoIGFzIHtYIG1lIFh9IGFyZSBvbWl0dGVkIGZv ciBzaW1wbGljaXR5LCB0aG91Z2ggdGhleSBleGlzdC4gQW1vbmcgaW5maW5pdGUgbnVtYmVyIG9m IHZlcnRpY2VzIChwbHVyYWwgY29uc3RhbnRzKSwgdGhlIHZlcnRpY2VzIHRoYXQgYSBzcGVha2Vy IHNlbGVjdGVkIGFzIHtzdSdvIHBhIG1laX0gYXJlIGNvbG9yZWQgcGluay4gQ291bnRpbmcgdXAg Y29ycmVzcG9uZHMgdG8gc2VsZWN0aW5nIGEgdHJlZSB0aGF0IGlzIGEgc3ViZ3JhcGggb2YgYSBk aXJlY3RlZCBncmFwaCBmb3JtZWQgd2l0aCB7bWV9LCBmb3IgZXhhbXBsZSB0aGUgcGFydCBvZiBi bHVlIGNvbG9yIGluIHRoZSBkaWFncmFtLgoKCgp7aW1nIGZpbGVJZD0iOSIgdGh1bWI9InkiIHJl bD0iYm94W2ddIn0KCgoKISEhIyBPdXRlciBxdWFudGlmaWNhdGlvbgoKKChCUEZLIFNlY3Rpb246 IGdhZHJpfEJQRksgZGVmaW5lcyBvdXRlciBxdWFudGlmaWNhdGlvbikpIGFzIGZvbGxvd3M6Cgp8 fAoKUEEgJydzdW10aScnIH5oc358fmhzfiBQQSBkYSBwb2kga2UnYSBtZSAnJ3N1bXRpJycKClBB IGJyb2RhIH5oc358fmhzfiBQQSBkYSBwb2kgYnJvZGEgCgpwaVBBICcnc3VtdGknJyB+aHN+fH5o c34gbG8gcGlQQSBzaSdlIGJlIHBhIG1lICcnc3VtdGknJwoKfHwKCgoKT3V0ZXIgcXVhbnRpZmlj YXRpb24gZXhjZXB0IHtwaVBBfSBmb3JtcyB7UEEgZGF9LCB3aGljaCBpcyBvZmZpY2lhbGx5IGEg Ym91bmQgc2luZ3VsYXIgdmFyaWFibGUuIEl0IGltcGxpZXMgdGhhdCB0aGVzZSBhcmd1bWVudHMg c2F0aXNmeSBhIHByZWRpY2F0ZSBfX2Rpc3RyaWJ1dGl2ZWx5X18uIEZvciBleGFtcGxlLCBpdCBp cyBtZWFuaW5nbGVzcyB0byB1c2Uge2NpIGxvIHByZW51fSBhcyB4MSBvZiB7am1haml9IChnYXRo ZXIpLCBiZWNhdXNlIGl0IGlzIG5vdCB0aGUgY2FzZSB0aGF0IGVhY2ggb2YgdGhyZWUgcGVvcGxl IHNhdGlzZmllcyB0aGUgcHJlZGljYXRlICJnYXRoZXIiLgoKCgpIb3dldmVyLCBpZiB3ZSB1c2Ug dW5vZmZpY2lhbCBwbHVyYWwgcXVhbnRpZmllcnMge3JvJ29pfSBvciB7c3Unb2l9IGZvciBQQSwg b3V0ZXIgcXVhbnRpZmljYXRpb24gY2FuIGZvcm0gYm91bmQgcGx1cmFsIHZhcmlhYmxlLiBGb3Ig ZXhhbXBsZSwKCl5zdSdvaSBwcmVudSBjdSBqbWFqaSB+aHN+IHRoZXJlIGFyZSBwZW9wbGUgd2hv IGdhdGhlci5eCgpUaGlzIHByb3Bvc2l0aW9uIGlzIGltcGxpZWQgYnkgYSBwcm9wb3NpdGlvbiBp bmNsdWRpbmcgcGx1cmFsIGNvbnN0YW50CgpebG8gcHJlbnUgY3Ugam1hamkgfmhzfiBQZW9wbGUg Z2F0aGVyLl4KCndpdGggdGhlIGxvZ2ljYWwgYXhpb20gaW4gKCh8I0FfbG9naWNhbF9heGlvbV9v bl9wbHVyYWxfY29uc3RhbnR8U2VjdGlvbiAyLjIuNikpLgoKCgp7UEEgbG8gYnJvZGF9IGRpZmZl cnMgZnJvbSB7UEEgYnJvZGF9IGluIGRvbWFpbiBvZiByZWZlcmVudHMgb2YgYm91bmQgc2luZ3Vs YXIgdmFyaWFibGUgdG8gYmUgY291bnRlZC4gVGhlIGRlZmluaXRpb25zIG9mIG91dGVyIHF1YW50 aWZpY2F0aW9uIGFyZSBhcHBsaWVkIHRvIHRoZW0gYXMgZm9sbG93czoKCnx8CgpQQSBsbyBicm9k YSB+aHN+fH5oc34gUEEgZGEgcG9pIGtlJ2EgbWUgbG8gYnJvZGEgfmhzfnx+aHN+IFRoZSBkb21h aW4gb2YgYm91bmQgc2luZ3VsYXIgdmFyaWFibGUgaXMgYSByZWZlcmVudCBvZiBwbHVyYWwgY29u c3RhbnQge2xvIGJyb2RhfSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLCBhbmQgY291bnRl ZCB0byBiZSBQQQoKUEEgYnJvZGEgfmhzfnx+aHN+IFBBIGRhIHBvaSBrZSdhIGJyb2RhIH5oc358 fmhzfiBUaGUgZG9tYWluIG9mIGJvdW5kIHNpbmd1bGFyIHZhcmlhYmxlIGlzIGFsbCB0aGF0IGFy ZSB7YnJvZGF9IGluIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UsIGFuZCBjb3VudGVkIHRvIGJl IFBBCgp8fAoKCgpeCgo7RXhhbXBsZSAxOiBybyBqbWl2ZSBiYSBtb3JzaSB+aHN+ICcnQWxsIGxp dmluZyB0aGluZ3Mgd2lsbCBkaWUuJycKCjtFeGFtcGxlIDI6IHJvIGxvIHByZW51IHRpIGtsYW1h IH5oc34gJydBbGwgdGhlIHBlb3BsZSBjb21lIGhlcmUuJydeCgpFeGFtcGxlIDEgbWVudGlvbnMg YWxsIHtqbWl2ZX0gaW4gdGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZS4gSW4gdGhlIHVuaXZlcnNl IG9mIGRpc2NvdXJzZSBvZiBFeGFtcGxlIDIsIGl0IGlzIHBvc3NpYmxlIHRvIGludGVycHJldCB0 aGF0IHRoZXJlIGFyZSB7cHJlbnV9IG90aGVyIHRoYW4gdGhlIHJlZmVyZW50IG9mIHRoZSBwbHVy YWwgY29uc3RhbnQge2xvIHByZW51fS4KCgoKVGhlIG91dGVyIHF1YW50aWZpY2F0aW9uIGJ5IHtw aVBBfSBmb3JtcyBwbHVyYWwgY29uc3RhbnQge2xvIHBpUEEgc2knZX0uIEhvd2V2ZXIsIHgyIG9m IHtwaVBBIHNpJ2V9IGlzIGJvdW5kIHNpbmd1bGFyIHZhcmlhYmxlIHtwYSBtZSAnJ3N1bXRpJyd9 LiB7cGl9IGluIHRoaXMgZGVmaW5pdGlvbiBtZWFucyAibm90IGxhcmdlciB0aGFuIDEiOyBwcmFj dGljYWxseSwge2ZpJ3V9IG9yIHNvbWV0aGluZyBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIHtwaX0K CgoKISEhISMgQ29tYmluYXRpb24gb2Ygb3V0ZXIgYW5kIGlubmVyIHF1YW50aWZpY2F0aW9ucwoK VGhlIGRlZmluaXRpb25zIG9mIGlubmVyIGFuZCBvdXRlciBxdWFudGlmaWNhdGlvbiBpbXBseSB0 aGUgZm9sbG93aW5nIGludGVycHJldGF0aW9uczoKCnx8CgpNIGxvIFtbTl0gYnJvZGEgfmhzfnx+ aHN+IE0gKHdoaWNoIHNhdGlzZmllcyBhIHByZWRpY2F0ZSBkaXN0cmlidXRpdmVseSkgb2Yge2xv IGJyb2RhfSBbW3RoYXQgYXJlIE5dCgpNIGxvaSBbW05dIGJyb2RhIH5oc358fmhzfiBNICh3aGlj aCBzYXRpc2ZpZXMgYSBwcmVkaWNhdGUgZGlzdHJpYnV0aXZlbHkpIG9mIHtsbyBndW5tYX0gdGhh dCBjb25zaXN0cyBvZiB7bG8gYnJvZGF9IFtbdGhhdCBhcmUgTl0KCk0gbG8naSBbW05dIGJyb2Rh IH5oc358fmhzfiBNICh3aGljaCBzYXRpc2ZpZXMgYSBwcmVkaWNhdGUgZGlzdHJpYnV0aXZlbHkp IG9mIHtsbyBzZWxjbWl9IHRoYXQgY29uc2lzdHMgb2Yge2xvIGJyb2RhfSBbW3RoYXQgYXJlIE5d CgpwaSBNIGxvIFtbTl0gYnJvZGEgfmhzfnx+aHN+IFF1YW50aXR5IHtwaSBNIHNpJ2V9IG9mIGEg cGFydCBvZiBvbmUgb2Yge2xvIGJyb2RhfSBbW3RoYXQgYXJlIE5dCgpwaSBNIGxvaSBbW05dIGJy b2RhIH5oc358fmhzfiBRdWFudGl0eSB7cGkgTSBzaSdlfSBvZiBhIHBhcnQgb2Ygb25lIG9mIHts byBndW5tYX0gdGhhdCBjb25zaXN0cyBvZiB7bG8gYnJvZGF9IFtbdGhhdCBhcmUgTl0KCnBpIE0g bG8naSBbW05dIGJyb2RhIH5oc358fmhzfiBRdWFudGl0eSB7cGkgTSBzaSdlfSBvZiBhIHBhcnQg KHN1YnNldCkgb2Ygb25lIG9mIHtsbyBzZWxjbWl9IHRoYXQgY29uc2lzdHMgb2Yge2xvIGJyb2Rh fSBbW3RoYXQgYXJlIE5dCgp8fAoKCgpBbW9uZyB0aGVtLCB7TSBsbyBbW05dIGJyb2RhfSBhbmQg e3BpIE0gbG9pIFtbTl0gYnJvZGF9IGNhbiBleHByZXNzIHNvbWUgb2YgcGx1cmFsIG51bWJlciBv ZiB0aGluZ3MuCgpeCgo7RXhhbXBsZSAxOiByZSBsbyBbW2NpXSBtbGF0dSBtaSB2aXNrYSB+aHN+ ICcnVHdvIFtbb2YgdGhyZWVdIGNhdHMgc2VlIG1lLicnCgo7RXhhbXBsZSAyOiByZSBmaSd1IGNp IGxvaSBbW3ZlaSBjaSBwaSdpIG55ICh2ZSdvKV0gbWxhdHUgbWkgdmlza2EgfmhzfiAnJ1R3byB0 aGlyZCBvZiBbWzNuXSBjYXRzIHNlZSBtZS4nJ14KCgoKe3JlIGxvIFtbY2ldIG1sYXR1fSBvZiBF eGFtcGxlIDEgcmVmZXJzIHRvIHR3byBjYXRzIGFtb25nIFtbdGhyZWVdIGNhdHMgdGhhdCBhcmUg cmVmZXJlbnQgb2Yge2xvIFtbY2ldIG1sYXR1fS4KCklmIHRoZSBpbm5lciBxdWFudGlmaWVyIHtj aX0gaXMgbm90IHNhaWQsIGl0IGlzIHVuY2xlYXIgaG93IG1hbnkgY2F0cyBhcmUgcmVmZXJyZWQg dG8gYnkge2xvIG1sYXR1fTsgaW4gYW55IGNhc2Uge3JlIGxvIG1sYXR1fSByZWZlcnMgdG8gdHdv IG9mIHRoZW0uCgoKCkluIEV4YW1wbGUgMiwgdGhlIGFyZ3VtZW50IGlzIGZvcm1lZCBieSB7bG9p fSwgYW5kIHRoZSByZWZlcmVudCBpcyBhY3R1YWxseSB7bG8gZ3VubWF9LiBFeHBhbmRpbmcgRXhh bXBsZSAyIGFjY29yZGluZyB0byB0aGUgZGVmaW5pdGlvbnMgb2Yge2xvaX0gYW5kIHtwaVBBICcn c3VtdGknJ30sCgpeCgo7RXhhbXBsZSAyLTE6IGxvIHJlIGZpJ3UgY2kgc2knZSBiZSBwYSBtZSBs byBndW5tYSBiZSBsbyBbW3ZlaSBjaSBwaSdpIG55ICh2ZSdvKV0gbWxhdHUgbWkgdmlza2FeCgpU aGF0IGlzIHRvIHNheSwge3JlIGZpJ3UgY2kgbG9pLi4ufSByZWZlcnMgdG8gdHdvIHRoaXJkIG9m IGFuIGluZGl2aWR1YWwge3BhIG1lIGxvIGd1bm1hLi4ufS4gVGhpcyB7bG8gZ3VubWF9IGNvbnNp c3RzIG9mIHt2ZWkgY2kgcGknaSBueSAodmUnbyl9IGNhdHMuIAoKSWYgdGhlIGlubmVyIHF1YW50 aWZpZXIgaXMgbm90IHNhaWQsIGl0IGlzIHVuY2xlYXIgaG93IG1hbnkgY2F0cyBjb25zdGl0dXRl IHtsbyBndW5tYX0gdGhhdCBpcyB7bG9pIG1sYXR1fTsgaW4gYW55IGNhc2Uge3JlIGZpJ3UgY2kg bG9pIG1sYXR1fSByZWZlcnMgdG8gdHdvIHRoaXJkIG9mIHtsbyBndW5tYX0uIEhvd2V2ZXIsIAoK XnJlIGZpJ3UgY2kgbG9pIG1sYXR1IG1pIHZpc2thXgoKaXMgbWVhbmluZ2Z1bCBvbmx5IHdoZW4g e2xvaSBtbGF0dX0gY29uc2lzdHMgb2YgM24gY2F0cywgYmVjYXVzZSBpdCBpcyBub3Qgb3JkaW5h cnkgdG8gaW50ZXJwcmV0IHRoYXQgYSBmcmFnbWVudCBvZiBhIGNhdCBzYXRpc2ZpZXMgdGhlIHBy ZWRpY2F0ZSB7dmlza2F9LgoKQWNjb3JkaW5nIHRvIEJQRksncyBkZWZpbml0aW9uLCB7bG9pfSBj YW5ub3QgZm9ybSBhIHBsdXJhbCBjb25zdGFudCB0aGF0IHNhdGlzZmllcyBhIHByZWRpY2F0ZSBu b24tY29sbGVjdGl2ZWx5LiBJZiB5b3Ugd2FudCB0byBtZWFuICJjYXRzIHNlZSBtZSBub24tY29s bGVjdGl2ZWx5IiwgYXZvaWQge2xvaX0sIG9yIHVzZSB7bHUnYX0sIHdoaWNoIHdpbGwgYmUgZGlz Y3Vzc2VkIGluICgofCNSZWxhdGlvbl9iZXR3ZWVuX2x1X2FfbHVfb19sdV9pX2FuZF9nYWRyaXxT ZWN0aW9uIDMuMykpOgoKXmx1J2EgcmUgZmkndSBjaSBsb2kgbWxhdHUgbWkgdmlza2FeCgoKCiEh ISEjIEJvdW5kIHZhcmlhYmxlcyBhbmQgY29uc3RhbnRzIGluIGEgc3RhdGVtZW50CgpXaGVuIGJv dGggYm91bmQgdmFyaWFibGVzIGFuZCBjb25zdGFudHMgYXBwZWFyIGluIGEgc3RhdGVtZW50LCB0 aGUgY29uc3RhbnRzIGRvIG5vdCBuZWNlc3NhcmlseSBzcGFuIG92ZXIgYWxsIGJvdW5kIHZhcmlh Ymxlcy4gQWx0aG91Z2ggdGhleSBhcmUgY2FsbGVkICJjb25zdGFudHMiLCBpdCBpcyBub3QgZ2Vu ZXJhbGx5IGRldGVybWluZWQgd2hldGhlciB0aGV5IHJlZmVyIHRvIGNvbW1vbiByZWZlcmVudHMg Zm9yIGFsbCByZWZlcmVudHMgaW4gZG9tYWlucyBvZiB2YXJpYWJsZXMsIG9yIHRoZXkgcmVmZXIg dG8gZGlmZmVyZW50IHJlZmVyZW50cyBkZXBlbmRlbnQgb24gcmVmZXJlbnRzIGluIGRvbWFpbnMg b2YgdmFyaWFibGVzLiBUaGUgcmVhc29uIGZvbGxvd3MgYmVsb3cgKFtodHRwczovL2dyb3Vwcy5n b29nbGUuY29tL2QvbXNnL2xvamJhbi9SQXRFN1lrLWRxdy9BQkRmT2Z1b3pXRUp8RGlzY3Vzc2lv bl0pLgoKCgpXaGVuIHNvbWUgc3VtdGkgb2YgdGVyYnJpIGluIGEgc3RhdGVtZW50IGFyZSBvbWl0 dGVkLCBpdCBpcyBjb25zaWRlcmVkIHRoYXQgdGhlcmUgYXJlIGltcGxpY2l0IHt6bydlfSBpbiB0 aG9zZSBwbGFjZXMgKFtodHRwOi8vZGFnLmdpdGh1Yi5pby9jbGwvNy83L3xDTEwgNy43XSkuCgpG b3IgZXhhbXBsZSwKCl5ybyBtbGF0dSBjdSBqYmVuYX5wcH4KCn4vcHB+ICAnJ0FsbCBjYXRzIGFy ZS93aWxsIGJlIGJvcm4uJydeCgpzZWVtcyB0byBiZSB0cnVlIGZyb20gYSBzdGFuZGFyZCBwb2lu dCBvZiB2aWV3LiBBY2NvcmRpbmcgdG8gZGVmaW5pdGlvbiBvZiB0ZXJicmkgb2Yge2piZW5hfSwg aXQgaXMgY29uc2lkZXJlZCB0aGF0IHRocmVlIHN1bXRpIGFyZSBvbWl0dGVkLCBhbmQgdGhpcyBz dGF0ZW1lbnQgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMKCl5ybyBtbGF0dSBjdSBqYmVuYSB6bydl IHpvJ2Ugem8nZV4KCmluIHdoaWNoIHt6bydlfSBhcmUgZXhwbGljaXQuIAoKVW5sZXNzIGFsbCBj YXRzIGluIHRoaXMgdW5pdmVyc2Ugb2YgZGlzY291cnNlIGFyZS93aWxsIGJlIGJvcm4gdG8gY29t bW9uIHBhcmVudHMgYXQgdGhlIHNhbWUgdGltZSBhdCB0aGUgc2FtZSBwbGFjZSwgdGhlc2Uge3pv J2V9IGNhbm5vdCBiZSBjb25zaWRlcmVkIGFzIGNvbW1vbiBjb25zdGFudHMgZm9yIGFsbCByZWZl cmVudHMgaW4gYSBkb21haW4gb2Yge3JvIG1sYXR1fS4gSW4gb3JkZXIgdG8gbWFrZSBzdWNoIGFu IGV4cHJlc3Npb24gbGlrZSB7cm8gbWxhdHUgY3UgamJlbmF9IGhhdmUgaW50ZW5kZWQgbWVhbmlu ZywgImNvbnN0YW50cyIgb2YgTG9qYmFuIGNhbiBiZSBkZXBlbmRlbnQgb24gcmVmZXJlbnRzIGlu IGRvbWFpbnMgb2YgYm91bmQgdmFyaWFibGVzLgoKCgoiQ29uc3RhbnRzIiBpbiB0aGlzIG1lYW5p bmcgY29ycmVzcG9uZCB0byBTa29sZW0gZnVuY3Rpb25zIGluIFNrb2xlbSBub3JtYWwgZm9ybXMg b2YgcHJlZGljYXRlIGxvZ2ljLiBUaGUgdGFibGUgYmVsb3cgc2hvd3MgY29tcGFyaXNvbiBvZiBp bnRlcnByZXRhdGlvbnMgYmV0d2VlbiBwcmVkaWNhdGUgbG9naWMsIHhvcmxvIG9uIHdoaWNoIHRo aXMgY29tbWVudGFyeSBkZXBlbmRzIGFuZCBpbXBsaWNpdCBxdWFudGlmaWVyIChbaHR0cDovL2Rh Zy5naXRodWIuaW8vY2xsLzYvMS98Q0xMIHZlci4xLjAgQ2hhcHRlciA2XSkgd2hpY2ggd2FzIGFi b2xpc2hlZC4gVGhlIGV4cHJlc3Npb25zIHRoYXQgaGF2ZSB0aGUgc2FtZSB0cnV0aCB2YWx1ZSBh cmUgYWxpZ25lZCBpbiB0aGUgc2FtZSBjb2x1bW4uIFVwcGVyIGNhc2UgWSByZXByZXNlbnRzIGEg cGx1cmFsIHZhcmlhYmxlLiBUaGUgcm93IG9mIHpvJ2UreG9ybG8gc2hvd3MgdW5vZmZpY2lhbCBz dWdnZXN0aW9uIG9mIGludGVycHJldGF0aW9uLiBJbiB0aGUgZ3JheSBwYXJ0IGluIHRoZSByb3cg b2YgUHJlbmV4IG5vcm1hbCwgdW5vZmZpY2lhbCBleHByZXNzaW9ucyB3aXRoIGFuIGV4cGVyaW1l bnRhbCBjbWF2byB7c3Unb2l9IGFyZSBzaG93bi4gKENsaWNrIG9uIHRoZSB0YWJsZSB0byBlbmxh cmdlLikKCntpbWcgZmlsZUlkPSIxMiIgdGh1bWI9InkiIGxpbms9ImRpc3BsYXkxMSIgcmVsPSJi b3hbZ10ifQoKCgohISEjIFJlbGF0aW9uIGJldHdlZW4gbHUnYSwgbHUnbywgbHUnaSBhbmQgZ2Fk cmkKCigoQlBGSyBTZWN0aW9uOiBJbmRpcmVjdCBSZWZlcmVyc3xCUEZLIGRlZmluZXMpKSB7bHUn YX0sIHtsdSdvfSwge2x1J2l9IG9mIExBaEUgYXMgZm9sbG93czoKCnx8CgpsdSdhICcnc3VtdGkn JyB+aHN+fH5oc34gbG8gbWUgJydzdW10aScnIH5oc358fmhzfiBsbyBjbWltYSBiZSAnJ3N1bXRp JycgW1tub2kgc2VsY21pXQoKbHUnbyAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvaSBtZSAnJ3N1bXRp JycKCmx1J2kgJydzdW10aScnIH5oc358fmhzfiBsbydpIG1lICcnc3VtdGknJwoKfHwKCkhvd2V2 ZXIsIGd1ZXNzaW5nIGZyb20gdGhlIEVuZ2xpc2ggZGVmaW5pdGlvbnMgb24gdGhlIHNhbWUgcGFn ZSwgdGhlIGRlZmluaXRpb24gb2Yge2x1J2F9IGlzIHVuc2F0aXNmYWN0b3J5LCBhbmQgdGhhdCBv ZiB7bHUnb30gaGFzIHNvbWUgcHJvYmxlbS4KCgoKe2x1J2F9IGV4dHJhY3RzIHgyIG9mIHtzZWxj bWl9IGZyb20gc3VtdGkgdGhhdCBpcyB7bG8gc2VsY21pfSwgYW5kIHgyIG9mIHtndW5tYX0gZnJv bSBzdW10aSB0aGF0IGlzIHtsbyBndW5tYX0uIE1vcmVvdmVyLCB7bHUnYX0gbWFrZXMgZXhwbGlj aXQgdGhhdCB0aGUgc3VtdGkgc2F0aXNmaWVzIGEgcHJlZGljYXRlIGRpc3RyaWJ1dGl2ZWx5IGFu ZCBub24tY29sbGVjdGl2ZWx5LiBPbiB0aGUgb3RoZXIgaGFuZCwgYWNjb3JkaW5nIHRvIHRoZSBk ZWZpbml0aW9uIG9mIHtsb30sIHtsbyBtZSAnJ3N1bXRpJyd9IGRvZXMgbm90IGltcGx5ICJkaXN0 cmlidXRpdmVseSBhbmQgbm9uLWNvbGxlY3RpdmVseSIuCgoKCntsdSdvfSBtYWtlcyBleHBsaWNp dCB0aGF0IHRoZSBzdW10aSBzYXRpc2ZpZXMgYSBwcmVkaWNhdGUgbm9uLWRpc3RyaWJ1dGl2ZWx5 IGFuZCBjb2xsZWN0aXZlbHkuIE9uIHRoZSBvdGhlciBoYW5kLCBhY2NvcmRpbmcgdG8gdGhlIGRl ZmluaXRpb24gb2Yge2xvaX0sIHtsb2kgbWUgJydzdW10aScnfSBzYXRpc2ZpZXMgYSBwcmVkaWNh dGUgY29sbGVjdGl2ZWx5LCBidXQgc3RpbGwgdW5jbGVhciBpZiBpdCBkb2VzIG5vbi1kaXN0cmli dXRpdmVseS4gRm9yIGNvbnNpc3RlbmN5LCBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gYWRkICJ7bG9p IGJyb2RhfSBpbXBsaWVzIHRoYXQgcmVmZXJlbnQgb2YgeDEgb2YgYnJvZGEgY29sbGVjdGl2ZWx5 IGFuZCBub24tZGlzdHJpYnV0aXZlbHkgc2F0aXNmaWVzIGEgcHJlZGljYXRlIiB0byB0aGUgZGVm aW5pdGlvbiBvZiB7bG9pfS4KCgoKQXMgYSBjb25jbHVzaW9uIG9mIHRoaXMgc2VjdGlvbiwgSSBz dWdnZXN0IHRvIHJlLWRlZmluZSB7bHUnYX0gYXMgZm9sbG93czoKCjsgVW5vZmZpY2lhbCBkZWZp bml0aW9uIG9mIHtsdSdhfTp8fAoKbHUnYSAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvIGNtaW1hIGJl ICcnc3VtdGknJyBub2kgc2VsY21pIGt1IG9uYWkgbG8gc2UgZ3VubWEgYmUgJydzdW10aScnIG5v aSBndW5tYSBrdSBvbmFpIGxvIG1lICcnc3VtdGknJyBrdSB+cHB+Cgp+L3BwfiB+aHN+IHZ1J28g bm9pIHN1J28gZGEgem8ndSBkYSBtZSBrZSdhIGdpJ2Ugbm8nYQoKfHwKCkluIHtub2l9IGNsYXVz ZSBhZnRlciB7dnUnb30sIGl0IGlzIG1hZGUgZXhwbGljaXQgdGhhdCB0aGUgcmVmZXJlbnQgb2Yg e2x1J2EgJydzdW10aScnfSBkaXN0cmlidXRpdmVseSBzYXRpc2ZpZXMgdGhlIHNlbnRlbmNlIHRo YXQgaW5jbHVkZXMgdGhpcyBzdW10aS4KCgoKISEhIyBSZWxhdGlvbiBiZXR3ZWVuIGpvJ3UsIGpv aSwgY2UgYW5kIGdhZHJpCgooKEJQRksgU2VjdGlvbjogTm9uLWxvZ2ljYWwgQ29ubmVjdGl2ZXN8 QWNjb3JkaW5nIHRvIEJQRksgU2VjdGlvbikpIHtqbyd1fSwge2pvaX0gYW5kIHtjZX0gb2Ygc2Vs bWEnbyBKT0kgYXJlIGRlZmluZWQgYXMgZm9sbG93czp8fAoKX19YX18gam8ndSBfX1lfXyB+aHN+ fH5oc34gbG8gc3V6bWVpIG5vaSBfX1hfXyAuZSBfX1lfXyAuZSBubyBkcmF0YSBiZSBfX1hfXyAu ZSBfX1lfXyBjdSBtZSBrZSdhCgpfX1hfXyBqb2kgX19ZX18gfmhzfnx+aHN+IGxvIGd1bm1hIGJl IF9fWF9fIC5lIF9fWV9fIC5lIG5vIGRyYXRhIGJlIF9fWF9fIC5lIF9fWV9fCgpfX1hfXyBjZSBf X1lfXyB+aHN+fH5oc34gbG8gc2UgY21pbWEgYmUgX19YX18gLmUgX19ZX18gLmUgbm8gZHJhdGEg YmUgX19YX18gLmUgX19ZX18KCnx8CgpUaGV5IGNvcnJlc3BvbmQgcmVzcGVjdGl2ZWx5IHRvIHts b30sIHtsb2l9LCB7bG8naX0gb2YgZ2FkcmkuIFRoZXkgY29ubmVjdCB0d28gc3VtdGk6IHtqbyd1 fSBmb3JtcyBhIHBsdXJhbCBjb25zdGFudCwge2pvaX0gYSBub24tZGlzdHJpYnV0aXZlIHBsdXJh bCBjb25zdGFudCwge2NlfSBhIHBsdXJhbCBjb25zdGFudCB0aGF0IHJlZmVycyB0byBzZXQocykg dGhhdCBjb25zaXN0KHMpIG9mIHRoZSBzdW10aSB0aGF0IHtjZX0gY29ubmVjdHMuIEluIHRoZSBF bmdsaXNoIGRlZmluaXRpb24gb2Yge2pvaX0gb2YgQlBGSywgIm5vbi1kaXN0cmlidXRpdmUiIGlz IG1lbnRpb25lZC4gVGhpcyBmYWN0IGFsc28gc3VwcG9ydHMgdGhlIHN1Z2dlc3Rpb24gaW4gKCh8 I1JlbGF0aW9uX2JldHdlZW5fbHVfYV9sdV9vX2x1X2lfYW5kX2dhZHJpfFNlY3Rpb24gMy4zKSkg dG8gYWRkICJ7bG9pIGJyb2RhfSBpbXBsaWVzIHRoYXQgcmVmZXJlbnQgb2YgeDEgb2YgYnJvZGEg Y29sbGVjdGl2ZWx5IGFuZCBub24tZGlzdHJpYnV0aXZlbHkgc2F0aXNmaWVzIGEgcHJlZGljYXRl IiB0byB0aGUgZGVmaW5pdGlvbiBvZiB7bG9pfS4KCgoKRXZlbiBpZiBfX1hfXyBvciBfX1lfXyBh cmUgYm91bmQgdmFyaWFibGVzLCB0aGVzZSBjb25uZWN0aXZlcyBmb3JtIGNvbnN0YW50cy4gSW4g dGhpcyBjYXNlLCBpdCBpcyBub3QgZGV0ZXJtaW5lZCB3aGV0aGVyIHRoZSBmb3JtZWQgY29uc3Rh bnRzIGRlcGVuZCBvbiBfX1hfXyBhbmQgX19ZX18sIG9yIHRoZXkgYXJlIGNvbW1vbiB0byBhbGwg X19YX18gYW5kIF9fWV9fIGluIHRoZWlyIGRvbWFpbnMuIFNlZSAoKHwjQm91bmRfdmFyaWFibGVz X2FuZF9jb25zdGFudHNfaW5fYV9zdGF0ZW1lbnR8U2VjdGlvbiAzLjIuMikpIGZvciBkZXRhaWwu CgoKCkJlY2F1c2UgdGhleSBhcmUgY21hdm8gaW4gc2VsbWEnbyBKT0ksIHRoZXkgY2FuIGNvbm5l Y3Qgd2hhdCBhcmUgbm90IHN1bXRpLCBidXQgdGhlIG1lYW5pbmdzIGluIHRoaXMgdXNhZ2UgYXJl IG5vdCBvZmZpY2lhbGx5IGRlZmluZWQuIFRoZXkgY2FuIGZvcm0gYWxzbyBmb3JldGhvdWdodCBj b25uZWN0aXZlIHtKT0kgZ2kgX19YX18gZ2kgX19ZX199LiBXaGVuIHRoZSBmb3JldGhvdWdodCBj b25uZWN0aXZlcyBhcmUgdXNlZCBmb3Igc3VtdGksIHRoZXkgZm9ybSB0aGUgc2FtZSBjb25zdGFu dHMgYXMgdGhlIGFmdGVydGhvdWdodCB1c2FnZSBkZWZpbmVkIGFib3ZlLgoKCgohISMgTm90ZXMK ClRoaXMgc2VjdGlvbiBjb25zaXN0cyBvZiBub3RlcyBvZiB0aGUgYXV0aG9yIGd1c2thbnQsIGFu ZCBpdCBpcyBub3QgYXQgYWxsIGltcG9ydGFudCBmb3IgdW5kZXJzdGFuZGluZyBnYWRyaS4KCgoK ISEhIyBBYm91dCBvbnRvbG9neQoKXigoQlBGSyBTZWN0aW9uOiBnYWRyaXwnJ1Bvc2l0aXZlIGlt cGFjdDogU29tZSB1c2FnZXMgdGhhdCBtYWtlIGxpdHRsZSBzZW5zZSB3aXRoIHtsb309e3N1J299 IGJlY29tZSB2YWxpZGF0ZWQuJycpKSBhY2NvcmRpbmcgdG8gQlBGSy5eCgoKCntsb309e3N1J299 IHdhcyBhYmFuZG9uZWQsIGJ1dCBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQge2xvIGJyb2RhfSBp cyBhIHBsdXJhbCBjb25zdGFudCwgYW5kIGJlY2F1c2Ugb2YgYSBsb2dpY2FsIGF4aW9tIG9mIHBs dXJhbCBjb25zdGFudCBpbiAoKHwjQV9sb2dpY2FsX2F4aW9tX29uX3BsdXJhbF9jb25zdGFudHxT ZWN0aW9uIDIuMi42KSksIHtsbyBicm9kYSBjdSBicm9kZX0gaW1wbGljaXRseSBpbXBsaWVzIHtz dSdvaSBkYSBicm9kZX0uCgoKCiEhISMgY2xheHUgeDIKCl4oKEJQRksgU2VjdGlvbjogZ2Fkcml8 bGUgY21hbmEgX19sb19fIGNpZGphIGJhIGNsYXh1KSl+cHB+Cgp+L3BwfiAgJydJbiB0aGUgbW91 bnRhaW5zIHRoZXJlIGlzIG5vIGZvb2QuJyd+cHB+Cgp+L3BwfigobGFwb2kgcGVseHUga3UnbyB0 cmFqeW5vYmxpKSleCgoKCkV4cGFuZGluZyB7bG8gY2lkamF9LCAKCl5sZSBjbWFuYSB6bydlIG5v aSBrZSdhIGNpZGphIGt1J28gYmEgY2xheHVeCgpBY2NvcmRpbmcgdG8gKChCUEZLIFNlY3Rpb246 IFN1Ym9yZGluYXRvcnN8dGhlIGRlZmluaXRpb24gb2Yge25vaX0pKSwgCgpebGUgY21hbmEgem8n ZSB0byByaSB4aSByYXUgY2lkamEgdG9pIGJhIGNsYXh1XgoKVGhlIHBhcnQgYmV0d2VlbiB7dG99 IGFuZCB7dG9pfSBpcyBhIHBhcmVudGhldGljYWwgZXhwcmVzc2lvbi4gVGhlIG1haW4gcHJvcG9z aXRpb24gaXMgdGh1cwoKXmxlIGNtYW5hIHpvJ2UgYmEgY2xheHVeCgp3aGVyZSB7em8nZX0gaXMg YSBwbHVyYWwgY29uc3RhbnQuIEFjY29yZGluZyB0byB0aGUgbG9naWNhbCBheGlvbSBvZiBwbHVy YWwgY29uc3RhbnQgaW4gKCh8I0FfbG9naWNhbF9heGlvbV9vbl9wbHVyYWxfY29uc3RhbnR8U2Vj dGlvbiAyLjIuNikpLCBUaGlzIHByb3Bvc2l0aW9uIGltcGxpZXMgCgpec3Unb2kgZGEgem8ndSBs ZSBjbWFuYSBkYSBiYSBjbGF4dV4KCndoaWNoIG1lYW5zIHRoYXQgdGhlcmUgaXMgYSByZWZlcmVu dCBvZiAid2hhdCBpcyBsYWNrZWQgYnkgdGhlIG1vdW50YWluIiBpbiB0aGUgdW5pdmVyc2Ugb2Yg ZGlzY291cnNlLgoKVGhlIHN0cmFuZ2VuZXNzIGNvbWVzIGZyb20gdGhlIGZhY3QgdGhhdCB4MiBv ZiB7Y2xheHV9IF9fYXBwYXJlbnRseV9fIG1lYW5zIG5vbi1leGlzdGVuY2UuIFdlIGNhbiBpbnRl cnByZXQgaXQgY29uc2lzdGVudGx5IHRoYXQge2NsYXh1fSBtZWFucyBvbmx5IHRoYXQgdGhlIHJl ZmVyZW50IG9mIHgyIGlzIG5vdCBwbGFjZWQgYXQgdGhlIHJlZmVyZW50IG9mIHgxLCBhbmQgaXQg c2F5cyBub3RoaW5nIGFib3V0IGV4aXN0ZW5jZSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNl LiAKCgoKISEhIyB6bydlIGlzIGEgcGx1cmFsIGNvbnN0YW50CgpBc3N1bWluZyB0aGF0IHt6bydl fSBjYW4gYmUgYW55IG9mIGZyZWUgdmFyaWFibGUsIGJvdW5kIHBsdXJhbCB2YXJpYWJsZSBvciBw bHVyYWwgY29uc3RhbnQsIHRoZSBsYW5ndWFnZSB3b3VsZCBiZSBtb3JlIHJlYXNvbmFibGUgZnJv bSBhIGxvZ2ljYWwgcG9pbnQgb2Ygdmlldy4KCkhvd2V2ZXIsIHRoaXMgaWRlYSB3YXMgY2xlYXJs eSBkZW5pZWQgaW4gW2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZC90b3BpYy9sb2piYW4vUkF0 RTdZay1kcXcvZGlzY3Vzc2lvbnx0aGUgZGlzY3Vzc2lvbl0uIFRoYXQgaXMgdG8gc2F5LCB7em8n ZX0gaXMgYWx3YXlzIGEgcGx1cmFsIGNvbnN0YW50IGFjY29yZGluZyB0byB0aGUgb2ZmaWNpYWwg aW50ZXJwcmV0YXRpb24uCgpJIHdpbGwgZXhhbWluZSB0aGVzZSBjb25mbGljdGluZyBpZGVhcywg YW5kIHRyeSB0byBzb2x2ZSBzb21lIHByb2JsZW1zIGNhdXNlZCBieSB0aGUgb2ZmaWNpYWwgaW50 ZXJwcmV0YXRpb24gdGhhdCB7em8nZX0gaXMgYSBwbHVyYWwgY29uc3RhbnQuCgoKCiEhISEjIElm IHpvJ2UgY291bGQgYmUgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUKCkkgd2lsbCBsaXN0IHVwIGhl cmUgbWVyaXRzIGFuZCBkZW1lcml0cyBvZiBhc3N1bWluZyB0aGF0IHt6bydlfSBpbiBubyBjb250 ZXh0IGlzIGEgZnJlZSB2YXJpYWJsZSwgYW5kIHRoYXQgdGhlIGNvbnRleHQgZGV0ZXJtaW5lcyB0 aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLCBiYXNlZCBvbiB3aGljaCB7em8nZX0gaXMgcmVnYXJk ZWQgYXMgc3Vic3RpdHV0ZWQgZm9yIGJ5IGEgcGx1cmFsIGNvbnN0YW50LCBvciBib3VuZCBieSBh IHBsdXJhbCBxdWFudGlmaWVyLgoKCgohISEhISMgTWVyaXRzCgpVbmRlciB0aGlzIGFzc3VtcHRp b24sIHRoZXJlIGlzIG5vIG5lZWQgdG8gZXhjbHVkZSB0aGUgY2FzZSBQQT0wIG9mIHtsbyBQQSBi cm9kYX0sIG9yIGdpdmUgaXQgYW4gdW5vZmZpY2lhbCBkZWZpbml0aW9uIGFzIGRpc2N1c3NlZCBp biAoKHwjQ2Fubm90X3NheV96ZXJvfFNlY3Rpb24gMy4xLjIuMSkpLiBJdCBpcyBiZWNhdXNlIGlm IHtsbyBQQSBicm9kYX0gaW4gbm8gY29udGV4dCBpcyBhIGZyZWUgdmFyaWFibGUsIHdlIGNhbiBp bnRlcnByZXQgaXQsIHdoZW4gYSBjb250ZXh0IGlzIGdpdmVuLCBhcyBzdWJzdGl0dXRlZCBmb3Ig YnkgYSBwbHVyYWwgY29uc3RhbnQgb3IgYm91bmQgYnkgYSBwbHVyYWwgcXVhbnRpZmllciBsaWtl IHtzdSdvaSBkYX0gaW4gdGhlIGNhc2Ugb2YgUEE+MDsgd2UgY2FuIGludGVycHJldCBpdCBhcyBi b3VuZCBieSB7bmFrdSBzdSdvaSBkYX0gaW4gdGhlIGNhc2Ugb2YgUEE9MCBhcyB3ZWxsLgoKCgpU aGlzIGFzc3VtcHRpb24gbWFrZXMgdGhlIGludGVycHJldGF0aW9uIGNsb3NlciB0byBuYXR1cmFs IGxhbmd1YWdlcyBub3Qgb25seSBpbiB0aGUgY2FzZSBQQT0wIGJ1dCBhbHNvIGluIHRoZSBjYXNl IFBBPjAuIEZvciBleGFtcGxlLCAKCl5sbyBjaSB4YW50byBjdSB6aWxrYW5jdSBsaSBjaSBsbyB4 YW50b14KClRoZSBsYXN0IHtsbyB4YW50b30gaXMgYSB1bml0IG9mIGNvdW50aW5nLiBJdCBpcyBu YXR1cmFsIHRvIGludGVycHJldCBpdCBhcyBhIGJvdW5kIHBsdXJhbCB2YXJpYWJsZSBxdWFudGlm aWVkIGJ5ICIxIiByYXRoZXIgdGhhbiBhIHBsdXJhbCBjb25zdGFudCwgd2hpY2ggc2hvdWxkIHJl ZmVyIHRvIHNvbWV0aGluZy4gSWYgd2UgaW50ZXJwcmV0IGl0IGFzIGEgYm91bmQgcGx1cmFsIHZh cmlhYmxlLCB3ZSBzaG91bGQgY29uc2lkZXIgdGhlIHJlbGF0aXZlIG9yZGVyIHdpdGggdGhlIG90 aGVyIGJvdW5kIHZhcmlhYmxlcyBhbmQge25ha3V9LiBXZSBjYW4gaGFuZGxlIHRoZSBvcmRlciBm cmVlbHkgYnkgcHV0dGluZyB0aGUgYXJndW1lbnRzIGluIHByZW5leC4KCgoKTW9yZW92ZXIsIHRo aXMgYXNzdW1wdGlvbiBlbWJvZGllcyB0aGUgcHJvcGVydHkgb2YgbmF0dXJhbCBsYW5ndWFnZXMg dGhhdCB0aGUgdHJ1dGggdmFsdWUgb2YgYSBwcm9wb3NpdGlvbiBpbiBubyBjb250ZXh0IGlzIGdl bmVyYWxseSBpbmRlZmluaXRlLiBCeSBpbnRlcnByZXRpbmcgdGhhdCB7em8nZX0gaW4gbm8gY29u dGV4dCBpcyBhIGZyZWUgdmFyaWFibGUsIHdoaWNoIHdpbGwgYmUgc3Vic3RpdHV0ZWQgZm9yIGJ5 IGEgcGx1cmFsIGNvbnN0YW50IG9yIGJvdW5kIGJ5IGEgcGx1cmFsIHF1YW50aWZpZXIgd2hlbiBh IGNvbnRleHQgaXMgZ2l2ZW4sIG5hdHVyYWwgaW50ZXJwcmV0YXRpb24gb2YgTG9qYmFuIHNlbnRl bmNlIGlzIHBvc3NpYmxlIHdpdGhvdXQgbG9zaW5nIGxvZ2ljYWwgYXNwZWN0cyBhbmQgc3RydWN0 dXJhbCBiZWF1dHkuCgoKCiEhISEhIyBEZW1lcml0cwoKQmVjYXVzZSB7em8nZX0gY2FuIGJlIGEg ZnJlZSB2YXJpYWJsZSwgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUgb3IgYSBwbHVyYWwgY29uc3Rh bnQgZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0LCBhIHNpbmdsZSBicmlkaSBkb2VzIG5vdCBsZXQg bGlzdGVuZXJzIGRldGVybWluZSB3aGljaCBvZiB0aGVtIGlzIHRoZSBjdXJyZW50IHt6bydlfSwg b3IgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBwcm9wb3NpdGlvbi4KCkhvd2V2ZXIsIHN1Y2ggYW4g YXNwZWN0IHRoYXQgdGhlIHRydXRoIHZhbHVlIG9mIGEgcHJvcG9zaXRpb24gZ2VuZXJhbGx5IGRl cGVuZHMgb24gdGhlIGNvbnRleHQgaXMgYSBjb21tb24gcHJvcGVydHkgdG8gYWxsIG5hdHVyYWwg bGFuZ3VhZ2VzLgoKCgpPbiB0aGUgb3RoZXIgaGFuZCwgZXZlbiBpZiB3ZSB0YWtlIHRoZSBvZmZp Y2lhbCBpbnRlcnByZXRhdGlvbiB0aGF0IHt6bydlfSBpcyBhbHdheXMgYSBwbHVyYWwgY29uc3Rh bnQsIGxpc3RlbmVycyBhcmUgb25seSBpbmZvcm1lZCBieSB7em8nZX0gdGhhdCBhIGNlcnRhaW4g dW5pdmVyc2Ugb2YgZGlzY291cnNlIGlzIGdpdmVuLiBXaXRoIG5vIGNvbnRleHQsIHRoZXJlIGlz IG5vIHdheSB0byBkZXRlcm1pbmUgd2hhdCBpcyB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLiBU aGUgdHJ1dGggdmFsdWUgb2YgYSBwcm9wb3NpdGlvbiBpbiBubyBjb250ZXh0IGlzIGluZGVmaW5p dGUgZXZlbiB3aXRoIHRoZSBvZmZpY2lhbCBpbnRlcnByZXRhdGlvbi4KCgoKISEhISMgUHJvYmxl bXMgY2F1c2VkIGJ5IHRoZSBmYWN0IHRoYXQgem8nZSBpcyBhIHBsdXJhbCBjb25zdGFudCBhbmQg dGhlIGNvdW50ZXItbWVhc3VyZXMKClRoZSBvZmZpY2lhbCBpbnRlcnByZXRhdGlvbiB0aGF0IHt6 bydlfSBpcyBhIHBsdXJhbCBjb25zdGFudCBjYXVzZXMgdGhlIGZvbGxvd2luZyBwcm9ibGVtcy4K CgoKISEhISEjIENhbm5vdCBleHByZXNzIHBsdXJhbCBxdWFudGlmaWNhdGlvbiBvZiBub24tZXhp c3RlbmNlCgpSZWFzb25hYmxlIGludGVycHJldGF0aW9uIG9mIHtsbyBubyBicm9kYX0gaXMgb2Zm aWNpYWxseSBleGNsdWRlZCBmcm9tIExvamJhbi4gVGhhdCBpcyB0byBzYXksIExvamJhbiBjYW5u b3Qgb2ZmaWNpYWxseSBkZWFsIHdpdGggdGhlIGV4cHJlc3Npb24gInRoZXJlIGlzIG5vdCB3aGF0 IGlzIHN1YnN0aXR1dGVkIGZvciB7ZGF9IiBmb3IgcGx1cmFsIHZhcmlhYmxlICh7bmFrdSBzdSdv aSBkYX0pLCB3aGljaCBpcyBuYXR1cmFsbHkgZGVhbHQgd2l0aCBieSBwbHVyYWwgcXVhbnRpZmlj YXRpb24uIEluIG9yZGVyIHRvIGV4cHJlc3Mge2xvIG5vIGJyb2RhfSB3aXRoIHJlYXNvbmFibGUg aW50ZXJwcmV0YXRpb24sIHdlIG5lZWQgYW4gdW5vZmZpY2lhbCBpbnRlcnByZXRhdGlvbiBsaWtl ICgofCNDYW5ub3Rfc2F5X3plcm98U2VjdGlvbiAzLjEuMi4xKSkuCgoKCiEhISEhIyBDYW5ub3Qg ZXhwcmVzcyBib3VuZCBwbHVyYWwgdmFyaWFibGUsIHdoaWNoIGRvZXMgbm90IHNwZWNpZnkgYSBy ZWZlcmVudAoKQmVjYXVzZSB0aGUgb2ZmaWNpYWwgaW50ZXJwcmV0YXRpb24gZG9lcyBub3QgYWxs b3cge2xvIFBBIGJyb2RhfSB0byBiZSBhIGJvdW5kIHBsdXJhbCB2YXJpYWJsZSBkZXBlbmRpbmcg b24gdGhlIGNvbnRleHQsIGFuIGFyZ3VtZW50IHRoYXQgc2hvdWxkIHJlZmVyIHRvIG5vdGhpbmcs IGEgdW5pdCBvZiBjb3VudGluZyBmb3IgZXhhbXBsZSwgc2hvdWxkIGJlIGludGVycHJldGVkIGFz IGEgcGx1cmFsIGNvbnN0YW50LCB3aGljaCByZWZlcnMgdG8gc29tZXRoaW5nLiBGb3IgZXhhbXBs ZSAKCl5sbyBjaSB4YW50byBjdSB6aWxrYW5jdSBsaSBjaSBsbyB4YW50b14KCmZvciB3aGljaCB3 ZSBhcmUgY29tcGVsbGVkIHRvIGludGVycHJldCB0aGF0IHRoZXJlIGlzIHRoZSAiRWxlcGhhbnQg ZGVzIEFyY2hpdmVzIiBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLCBqdXN0IGxpa2UgdGhl ICJNw6h0cmUgZGVzIEFyY2hpdmVzIiAoYWx0aG91Z2ggaXQgaGFzIGFscmVhZHkgZmluaXNoZWQg aXRzIHJvbGUpLCBpbiBvcmRlciB0byB1c2Uge2xvIHhhbnRvfSBhcyBhIHVuaXQgaW4gYSBwcm9w b3NpdGlvbi4KCgoKISEhISEjIENhbm5vdCBleHByZXNzIGVsZW1lbnRhcnkgcGFydGljbGVzIHdp dGggbG8KCkFzIGxvbmcgYXMge2xvIGJyb2RhfSBpcyBpbnRlcnByZXRlZCBhcyBhIHBsdXJhbCBj b25zdGFudCwgdGhlIGZvbGxvd2luZyBMb2piYW4gc2VudGVuY2UgaXMgbWVhbmluZ2xlc3M6CgoK Cl5sbyBndXNrYSd1IGN1IGdhdSBqbWFqaSBzZXBpJ28gbG8gbGVuam8gZ2knZSBwYWdyZSBsbyBm ZW5yYX5wcH4KCn4vcHB+JydQaG90b25zIGFyZSBjb25kZW5zZWQgYnkgbGVuc2VzLCBhbmQgcGFz cyB0aHJvdWdoIHNsaXRzLicnXgoKCgpBY3R1YWxseSwgcGhvdG9ucyBhcmUgaW5kaXZpZHVhbHMs IGFuZCB3ZSBjYW4gY291bnQgdGhlbSwgYnV0IHdlIGNhbm5vdCBkaXN0aW5ndWlzaCBlYWNoIG9m IHRoZW06IHdlIGNhbm5vdCByZWZlciB0byBhIHNwZWNpZmljIHBob3Rvbi4gUXVhbnRpZmljYXRp b24gaXMgaW5kZWVkIHN1aXRhYmxlIGZvciBhcmd1bWVudHMgdGhhdCByZXByZXNlbnQgcGFydGlj bGVzIGxpa2UgcGhvdG9ucy4gSG93ZXZlciwgTG9qYmFuIG9mZmljaWFsbHkgZG9lcyBub3QgaGF2 ZSBhIHBsdXJhbCBxdWFudGlmaWVyLCBhbmQgY2Fubm90IGV4cHJlc3MgcXVhbnRpZmljYXRpb24g b2YgIHN1bXRpIHRoYXQgc2F0aXNmaWVzIHNlbGJyaSBib3RoIGNvbGxlY3RpdmVseSBhbmQgZGlz dHJpYnV0aXZlbHkuIE1vcmVvdmVyLCBiZWNhdXNlIHtsbyBicm9kYX0gaXMgb2ZmaWNpYWxseSBh bHdheXMgYSBwbHVyYWwgY29uc3RhbnQsIHRoZXJlIGlzIG5vIHJvb20gdG8gaW50ZXJwcmV0IHts byBndXNrYSd1fSBhcyBhIGJvdW5kIHBsdXJhbCB2YXJpYWJsZS4gSW4gb3JkZXIgdG8gc29sdmUg dGhlIHByb2JsZW0sIHdlIHNob3VsZCB1c2UgYW4gdW5vZmZpY2lhbCBwbHVyYWwgcXVhbnRpZmll ciB7c3Unb2l9IHN1Z2dlc3RlZCBieSAoKHhvcnhlc3xsYSB4b3J4ZXMpKS4KCgoKXnN1J29pIGRh IHBvaSBrZSdhIGd1c2thJ3UgY3UgZ2F1IGptYWppIHNlcGknbyBsbyBsZW5qbyBnaSdlIHBhZ3Jl IGxvIGZlbnJhXgoKCgohISEhISMgSG93IHRvIGludGVycHJldCBhIHByZXZhaWxpbmcgdmlldwoK VGhlIGZvbGxvd2luZyBleGFtcGxlIGlzIGdpdmVuIG9uICgoQlBGSyBTZWN0aW9uOiBnYWRyaXxC UEZLJ3MgZ2FkcmkgcGFnZSkpOgoKCgpebG8gcGEgcGl4cmEgY3Ugc2UgdmFtamkgbG8ga2knbyB2 YWxzaX5wcH4KCn4vcHB+JydPbmUgcGljdHVyZSBpcyB3b3J0aCBhIHRob3VzYW5kIHdvcmRzLicn IF4KCgoKRXZlbiBpbiBzdWNoIGEgc2VudGVuY2UgdGhhdCBzZWVtcyBhIHByZXZhaWxpbmcgdmll dywge2xvIHBhIHBpeHJhfSBhbmQge2xvIGtpJ28gdmFsc2l9IGFyZSBpbnRlcnByZXRlZCBhcyBy ZWZlcnJpbmcgdG8gc29tZXRoaW5nLiBXZSBzaG91bGQgcHJlcGFyZSBzb21lIHJlZmVyZW50cyBv ZiBzdW10aSBvZiBhIHByZXZhaWxpbmcgdmlldyBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNl LgoKCgpJbnR1aXRpb25hbGx5IHNwZWFraW5nLCB3ZSBtYXkgdXNlIHtsbydlfSBpbnN0ZWFkIG9m IHtsb30sIGJ1dCB3ZSBjYW5ub3QgeWV0IGV4cGxhaW4ge2xvJ2V9IGZyb20gYSBsb2dpY2FsIHBv aW50IG9mIHZpZXcgYmVjYXVzZSAoKEJQRksgU2VjdGlvbjogVHlwaWNhbHN8YWN0dWFsbHkgdGhl cmUgaXMgbm8gb2ZmaWNpYWwgY29uY2x1c2lvbiBhYm91dCByZWxhdGlvbiBiZXR3ZWVuIHtsbydl fSBhbmQge2xvfSkpLgoKCgpBcyBhIG1ldGhvZCBvZiBhdm9pZGluZyBtZW50aW9uIG9mIGEgcmVm ZXJlbnQgaW4gYW4gZXhwcmVzc2lvbiBvZiBwcmV2YWlsaW5nIHZpZXcsIHdlIG1heSBwdXQgdGhl IHdob2xlIHByb3Bvc2l0aW9uIGluIE5VIGNsYXVzZS4gSW4gZmFjdCwgdHJ1dGggdmFsdWUgb2Yg YSBwcm9wb3NpdGlvbiBpbiBOVSBjbGF1c2UgZG9lcyBub3QgaW5mbHVlbmNlIHRydXRoIHZhbHVl IG9mIHRoZSBvdXRlciBwcm9wb3NpdGlvbiAocmVmZXJlbnRpYWxseSBvcGFxdWU7IHRoaXMgdG9w aWMgaXMgcmVsYXRlZCB0byBbaHR0cDovL2RhZy5naXRodWIuaW8vY2xsLzkvNy98Q0xMOS43XSku IEluIG90aGVyIHdvcmRzLCB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlIG9mIGEgcHJvcG9zaXRp b24gaW4gTlUgY2xhdXNlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vy c2Ugb2YgYSBwcm9wb3NpdGlvbiBvdXQgb2YgTlUuCgpJZiB3ZSBhY2NlcHQgdGhpcyBtZXRob2Qs IHRoZSBleGFtcGxlIGFib3ZlIHdpbGwgYmUgbW9kaWZpZWQsIHVzaW5nIHtzaSdvfSBmb3IgZXhh bXBsZSwgYXMgZm9sbG93czoKCgoKXnNpJ28gbG8gcGEgcGl4cmEgY3Ugc2UgdmFtamkgbG8ga2kn byB2YWxzaSB+cHB+Cgp+L3BwficnSXMgYW4gaWRlYSB0aGF0IG9uZSBwaWN0dXJlIGlzIHdvcnRo IGEgdGhvdXNhbmQgd29yZHMuJydeCgoKCndoZXJlIHgxIG9mIHtzaSdvfSBpcyBpbXBsaWNpdCB7 em8nZX0sIHdoaWNoIGhhcyBhIHJlZmVyZW50IGluIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2Uu IEFzIGFuIGludGVycHJldGF0aW9uIG9mIGEgcHJldmFpbGluZyB2aWV3LCBzdXBwb3NpbmcgYSBy ZWZlcmVudCBvZiB4MSBvZiB7c2knb30gaXMgbW9yZSBuYXR1cmFsIHRoYW4gc3VwcG9zaW5nIGEg cmVmZXJlbnQgb2Yge2xvIHBhIHBpeHJhfSBvciB7bG8ga2knbyB2YWxzaX0uCgooU3VjaCBhIGJy aWRpIHdpdGggbm8gdGVyYnJpIGlzIGNhbGxlZCAib2JzZXJ2YXRpdmUiIGluICgoVGhlIENvbXBs ZXRlIExvamJhbiBMYW5ndWFnZSkpLCBidXQgdGhpcyBpbnRlcnByZXRhdGlvbiBpcyBub3Qgc3Vp dGFibGUgaGVyZSwgYmVjYXVzZSB0aGlzIGlzIG5vdCB0aGUgdXR0ZXJhbmNlIHRoYXQgaXMgYWx3 YXlzIGNhdXNlZCBieSBhIHNwZWNpZmljIHN0aW11bHVzLikKCgoKISEhISEjIEhvdyB0byBleHBy ZXNzIGZyZWUgdmFyaWFibGVzCgpBcyBhIGN1c3RvbSwga28nVi9mbydWIHNlcmllcyBvZiBLT2hB NCBhcmUgdXNlZCBhcyBmcmVlIHZhcmlhYmxlcyBpbiBkZWZpbml0aW9ucyBvZiB3b3JkcyBvciBz b21ldGhpbmcuIEhvd2V2ZXIsIHRoZXkgYXJlIGFjdHVhbGx5IHBsdXJhbCBjb25zdGFudHMuCgpJ ZiB3ZSBhYmFuZG9uIHRoaXMgY3VzdG9tLCB7a2UnYX0gYW5kIHtjZSd1fSBhcmUgc3VpdGFibGUg Zm9yIGV4cHJlc3Npb24gd2l0aCBmcmVlIHZhcmlhYmxlcyAob3BlbiBzZW50ZW5jZSksIGJlY2F1 c2UgdGhlIHRydXRoIHZhbHVlIG9mIGJyaWRpIGluIHdoaWNoIHtrZSdhfSBvciB7Y2UndX0gaXMg dXNlZCBpcyBpbmRlZmluaXRlLiAKCkluIGEgYnJpZGkgaW4gd2hpY2gge2tlJ2F9IGFwcGVhcnMg dHdvIHRpbWVzIG9yIG1vcmUsIHRoZXNlIHtrZSdhfXMgYXJlIHJlZ2FyZGVkIGFzIHJlcHJlc2Vu dGluZyBhbiBpZGVudGljYWwgc3VtdGk6CgpeZGEgcG9pIGtlJ2EgZ3kgeGx1cmEga2UnYSBjdSBw YW5jaSBsbyBrYSdlIHNlIGNpdGthfnBwfgoKfi9wcH5+LS1+ICgobG8gbnUgYmlueG8pKV4KCk9u IHRoZSBvdGhlciBoYW5kLCBpbiBhIGJyaWRpIGluIHdoaWNoIHtjZSd1fSBhcHBlYXJzIHR3byB0 aW1lcyBvciBtb3JlLCB0aGVzZSB7Y2UndX1zIGFyZSBub3QgbmVjZXNzYXJpbHkgcmVnYXJkZWQg YXMgcmVwcmVzZW50aW5nIGFuIGlkZW50aWNhbCBzdW10aToKCl5sbyBtYW10YSBqbyd1IGxvIG1l bnNpIGN1IHNpbXh1IGxvIGthIGNlJ3UgY2lzbWEgZmEnYSBjZSd1fnBwfgoKfi9wcH5+LS1+ICgo bG8gbnUgYmlueG8pKV4KCkNvbnNpZGVyaW5nIHRoZXNlIHByb3BlcnRpZXMsIGluIG9yZGVyIHRv IGV4cHJlc3MgYW4gb3BlbiBzZW50ZW5jZSB3aXRoIGZyZWUgdmFyaWFibGVzIGluIG5vIGNvbnRl eHQsIHtjZSd1fSBpcyBtb3JlIGNvbnZlbmllbnQgdGhhbiB7a2UnYX0gd2hpY2ggaGFzIHJlc3Ry aWN0aW9uIG9mIGlkZW50aWNhbCBzdW10aS4KCl5jZSd1IGNlJ3UgY2l0a2F+cHB+Cgp+L3Bwficn QSBlYXRzIEIuJycgKE9wZW4gc2VudGVuY2UsIHRydXRoIHZhbHVlIGluZGVmaW5pdGUuKV4KCgoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2luZXVy b3RpYyBtYWlsaW5nIGxpc3QKV2lraW5ldXJvdGljQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9q YmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2luZXVyb3RpYwo=