Received: from localhost ([::1]:53822 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1WmMzL-0005CT-8p; Mon, 19 May 2014 05:48:19 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:57755 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1WmMzA-0005CM-Sl for wikineurotic@lojban.org; Mon, 19 May 2014 05:48:17 -0700 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Mon, 19 May 2014 05:48:08 -0700 From: "Apache" Date: Mon, 19 May 2014 05:48:08 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 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 12:47 UTC 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: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 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.15 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgZ2Fkcmk6IGFuIHVub2ZmaWNpYWwgY29tbWVudGFyeSBmcm9tIGEgbG9naWNhbCBw b2ludCBvZiB2aWV3IHdhcyBjaGFuZ2VkIGJ5IGd1c2thbnQgYXQgMTI6NDcgVVRDCgpZb3UgY2Fu IHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJh bi5vcmcvdGlraS9nYWRyaSUzQSUyMGFuJTIwdW5vZmZpY2lhbCUyMGNvbW1lbnRhcnklMjBmcm9t JTIwYSUyMGxvZ2ljYWwlMjBwb2ludCUyMG9mJTIwdmlldwoKWW91IGNhbiB2aWV3IGEgZGlmZiBi YWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRw Oi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPWdhZHJpJTNB JTIwYW4lMjB1bm9mZmljaWFsJTIwY29tbWVudGFyeSUyMGZyb20lMjBhJTIwbG9naWNhbCUyMHBv aW50JTIwb2YlMjB2aWV3JmNvbXBhcmU9MSZvbGR2ZXI9MTAmbmV3dmVyPTExCgoKKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNo YW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhl IGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA1MjAtNTI0IGNoYW5n ZWQgdG8gK0xpbmVzOiA1MjAtNTI0IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCn4vcHB+JydPbmUgcGljdHVyZSBpcyB3b3J0aCBh IHRob3VzYW5kIHdvcmRzLicnIF4KCi0gRXZlbiBpbiBzdWNoIGEgc2VudGVuc2UgdGhhdCBzZWVt cyBhIHByZXZhaWxpbmcgdmlldywge2xvIHBhIHBpeHJhfSBhbmQge2xvIGtpJ28gdmFsc2l9IGFy ZSBpbnRlcnByZXRlZCBhcyByZWZlcnJpbmcgdG8gc29tZXRoaW5nLiBXZSBzaG91bGQgcHJlcGFy ZSBzb21lIHJlZmVyZW50cyBvZiBzdW10aSBvZiBhIHByZXZhaWxpbmcgdmlldyBpbiB0aGUgdW5p dmVyc2Ugb2YgZGlzY291cnNlLgorIEV2ZW4gaW4gc3VjaCBhIHNlbnRlbmNlIHRoYXQgc2VlbXMg YSBwcmV2YWlsaW5nIHZpZXcsIHtsbyBwYSBwaXhyYX0gYW5kIHtsbyBraSdvIHZhbHNpfSBhcmUg aW50ZXJwcmV0ZWQgYXMgcmVmZXJyaW5nIHRvIHNvbWV0aGluZy4gV2Ugc2hvdWxkIHByZXBhcmUg c29tZSByZWZlcmVudHMgb2Ygc3VtdGkgb2YgYSBwcmV2YWlsaW5nIHZpZXcgaW4gdGhlIHVuaXZl cnNlIG9mIGRpc2NvdXJzZS4KCkludHVpdGlvbmFsbHkgc3BlYWtpbmcsIHdlIG1heSB1c2Uge2xv J2V9IGluc3RlYWQgb2Yge2xvfSwgYnV0IHdlIGNhbm5vdCB5ZXQgZXhwbGFpbiB7bG8nZX0gZnJv bSBhIGxvZ2ljYWwgcG9pbnQgb2YgdmlldyBiZWNhdXNlICgoQlBGSyBTZWN0aW9uOiBUeXBpY2Fs c3xhY3R1YWxseSB0aGVyZSBpcyBubyBvZmZpY2lhbCBjb25jbHVzaW9uIGFib3V0IHJlbGF0aW9u IGJldHdlZW4ge2xvJ2V9IGFuZCB7bG99KSkuCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBm b2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgoKKChCUEZLIFNlY3Rpb246IGdhZHJpfEJQRksncyBnYWRyaSBwYWdl KSkgY29udGFpbnMgZXhwcmVzc2lvbnMgbWlzbGVhZGluZyBwZW9wbGUgd2hvIGhhdmUgYXQgbGVh c3QgYSBsaXR0bGUga25vd2xlZGdlIG9mIGxvZ2ljIChbaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNv bS9kL3RvcGljL2xvamJhbi9SQXRFN1lrLWRxdy9kaXNjdXNzaW9ufGRpc2N1c3Npb25dKS4KCkkg d2lsbCBtYWtlIGhlcmUgYSBjb21tZW50YXJ5IG9uIEJQRksncyBnYWRyaSBzbyB0aGF0IGl0IGlz IHVuZGVyc29vZCBieSB0aGVtIGNvcnJlY3RseS4KCgoKe21ha2V0b2N9CgoKCiEhIyBHbG9zc2Fy eQoKV2Ugd2lsbCB1c2UgdGhlIGZvbGxvd2luZyB0ZXJtcyBpbiB0aGlzIGNvbW1lbnRhcnkuCgo7 X19hcmd1bWVudCAoc3VtdGkpX186IFN5bWJvbCB0aGF0IHJlZmVycyB0byBhIHJlZmVyZW50LCBv ciB0aGF0IGFub3RoZXIgYXJndW1lbnQgY2FuIGJlIHN1YnN0aXR1dGVkIGZvci4KCjtfX3VuaXZl cnNlIG9mIGRpc2NvdXJzZV9fOiBTZXQgb2YgYWxsIHJlZmVyZW50cyBvZiBhcmd1bWVudHMuIEl0 IGlzIG5hdHVyYWxseSBhIHVuaXZlcnNlIHRoYXQgaXMgZGlzY3Vzc2VkLiBBIHVuaXZlcnNlIG9m IGRpc2NvdXJzZSBkZXBlbmRzIG9uIHRoZSBjb250ZXh0LgoKO19fY29uc3RhbnRfXzogQXJndW1l bnQgdGhhdCByZWZlcnMgdG8gYSByZWZlcmVudC4KCjtfX3ZhcmlhYmxlX186IEFyZ3VtZW50IGFz IGEgcGxhY2UgaG9sZGVyLiBJdCBkb2VzIG5vdCByZWZlciB0byBhbnl0aGluZy4gSXQgaXMgdG8g YmUgc3Vic3RpdHV0ZWQgZm9yLiBWYXJpYWJsZSBvdGhlciB0aGFuIGJvdW5kIHZhcmlhYmxlIHRo YXQgd2lsbCBiZSBkZWZpbmVkIGJlbGxvdyBpcyBjYWxsZWQgX19mcmVlIHZhcmlhYmxlX18uIFRo ZSB0cnV0aCB2YWx1ZSBvZiBhIHNlbnRlbmNlIHRoYXQgaW5jbHVkZXMgYSBmcmVlIHZhcmlhYmxl IGlzIGluZGVmaW5pdGUuIFN1Y2ggYSBzZW50ZW5jZSBpcyBjYWxsZWQgX19vcGVuIHNlbnRlbmNl X18uCgpeSW4gTG9qYmFuLCB7a2UnYX0gYW5kIHtjZSd1fSBhcmUgYWx3YXlzIGZyZWUgdmFyaWFi bGVzLiBBIHNlbnRlbmNlIGluIE5PSS1jbGF1c2Ugb3IgTlUtY2xhdXNlIHdpdGgge2NlJ3V9IGlz IG9wZW4uIChBIHNlbnRlbmNlIGluIE5VLWNsYXNlIHdpdGggbm8ge2NlJ3V9IGhhcyBhIHRydXRo IHZhbHVlLCBidXQgZWFjaCBvZiB0aGUgaW5zaWRlIGFuZCB0aGUgb3V0c2lkZSBvZiBOVS1jbGF1 c2UgaGFzIGFuIGluZGVwZW5kZW50IHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgYW5kIHRodXMgZWFj aCBvZiB0aGVtIGhhcyBhbiBpbmRlcGVuZGVudCB0cnV0aCB2YWx1ZSAoZm9yIGV4YW1wbGUsIHNl ZSBbaHR0cDovL2RhZy5naXRodWIuaW8vY2xsLzkvNy98Q0xMOS43XSkuIEluIGRlZmluaXRpb25z IG9mIHdvcmRzIGluIExvamJhbiwga28nVi9mbydWIHNlcmllcyB7a28nYSwga28nZSwgLi4ufSBv ZiBzZWxtYSdvIEtPaEE0IGFyZSB1c2VkIGFzIGZyZWUgdmFyaWFibGVzLCBidXQgaXQgaXMgb25s eSBhIGN1c3RvbSBmb3IgY29udmVuaWVuY2UuIEFsbCBjbWF2byBvZiBLT2hBMiwzLDQsNSw2IGFu ZCB7em8nZX0gb2YgS09oQTcgYXJlIGVzc2VudGlhbGx5IGNvbnN0YW50cy5eCgo7X19xdWFudGlm eV9fOiBJbiBzdWJzdGl0dXRpbmcgcG9zc2libGUgYXJndW1lbnRzIG9uZSBieSBvbmUgZm9yIGEg dmFyaWFibGUgaW4gYSBzZW50ZW5jZSwgY291bnQgdGhlIG51bWJlciBvZiByZWZlcmVudHMgdGhh dCBtYWtlIHRoZSBzZW50ZW5jZSB0cnVlLCBhbmQgcHJlZml4IHRoZSBudW1iZXIgdG8gdGhlIHZh cmlhYmxlLgoKO19fcXVhbnRpZmllcl9fOiBOdW1iZXIgdXNlZCBmb3IgcXVhbnRpZmljYXRpb24u IEJlc2lkZXMge3BhfSwge3JlfSwge3ZlaSBueSBzdSdpIHBhICh2ZSdvKX0gYW5kIHNvIG9uLCB7 cm99ICJhbGwiIGFuZCB7c3Unb30gInRoZXJlIGlzIG9uZSBvciBtb3JlIiBhcmUgYWxzbyBxdWFu dGlmaWVycy4KCjtfX2JvdW5kIHZhcmlhYmxlX186IFZhcmlhYmxlIHByZWZpeGVkIGJ5IGEgcXVh bnRpZmllci4gQXMgYSByZXN1bHQgb2YgcXVhbnRpZmljYXRpb24sIHRoZXJlIGlzIG5vIHJvb20g Zm9yIHN1YnN0aXR1dGluZyBhbiBhcmJpdHJhcnkgYXJndW1lbnQgZm9yIHRoZSB2YXJpYWJsZS4K Cl5JbiBMb2piYW4sIHtkYX0sIHtkZX0gYW5kIHtkaX0gYXJlIGJvdW5kIHZhcmlhYmxlcy4gRm9y IGV4YW1wbGUsIHtybyBkYSB6byd1IGRhIGJyb2RhfSBtZWFucyAiRm9yIGFsbCB7ZGF9IGluIHRo ZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UsIHtkYSBicm9kYX0gaXMgdHJ1ZS4iIEluIHRoZSBjYXNl IHRoYXQge2RhfSwge2RlfSBvciB7ZGl9IGFyZSBub3QgcHJlZml4ZWQgYnkgYSBxdWFudGlmaWVy LCB0aGV5IGFyZSByZWdhcmRlZCBhcyBpbXBsaWNpdGx5IHByZWZpeGVkIGJ5IHtzdSdvfS5eCgo7 X19kb21haW5fXzogUmFuZ2Ugb2YgcmVmZXJlbnRzIHRvIGJlIHN1YnN0aXR1dGVkIGZvciBhIHZh cmlhYmxlLCBvciByYW5nZSB0byBiZSBjb25zaWRlcmVkIGluIGNvdW50aW5nIHJlZmVyZW50cyBp biBxdWFudGlmaWNhdGlvbi4KCl5JbiBMb2piYW4sIGEgZG9tYWluIG9mIGEgYm91bmQgdmFyaWFi bGUgY2FuIGJlIGxpbWl0ZWQgd2l0aCBhbiBleHByZXNzaW9uIHtkYSBwb2kuLi59LiBGb3IgZXhh bXBsZSwge3JvIGRhIHBvaSBrZSdhIGJyb2RhIHpvJ3UgZGEgYnJvZGV9IG1lYW5zICJGb3IgYWxs IHtkYX0gdGhhdCBhcmUgeDEgb2Yge2Jyb2RhfSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNl LCB7ZGEgYnJvZGV9IGlzIHRydWUuIiBJZiB7cG9pLi4ufSBkb2VzIG5vdCBmb2xsb3cge2RhfSwg dGhlIGRvbWFpbiBpcyB0aGUgd2hvbGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLl4KCjtfX3RhdXRv bG9neV9fOiBTZW50ZW5jZSB0aGF0IGlzIGFsd2F5cyB0cnVlIGluZGVwZW5kZW50bHkgb2YgY29u dGV4dC4ge2tvJ2EgZHUga28nYX0gZXRjLgoKO19fbG9naWNhbCBheGlvbXNfXzogU2VudGVuY2Vz IHNlbGVjdGVkIGZyb20gdGF1dG9sb2dpZXMgc28gdGhhdCBhbGwgdGF1dG9sb2dpZXMgYXJlIHBy b3ZlZCBmcm9tIHRoZW0gd2l0aCBydWxlcyBvZiBpbmZlcmVuY2UgdGhhdCBhcmUgZGVmaW5lZC4K CgoKISEjIFBsdXJhbCBxdWFudGlmaWNhdGlvbgoKSW4gb3JkZXIgdG8gdW5kZXJzdGFuZCBhcmd1 bWVudHMgb2YgTG9qYmFuIGZyb20gYSBsb2dpY2FsIHBvaW50IG9mIHZpZXcsIGl0IGlzIGVzc2Vu dGlhbCB0byBoYXZlIGEga25vd2xlZGdlIG9mIF9fcGx1cmFsIHF1YW50aWZpY2F0aW9uX18uCgoK ClBsdXJhbCBxdWFudGlmaWNhdGlvbiB3YXMgaW52ZW50ZWQgaW4gb3JkZXIgdG8gZmFjaWxpdGF0 ZSBleHByZXNzaW9uIG9mIHByb3Bvc2l0aW9uIHRoYXQgaXMgbWVhbmluZ2Z1bCBvbmx5IHdoZW4g dGhlIHJlZmVyZW50IG9mIGFuIGFyZ3VtZW50IGlzIHBsdXJhbC4gCgpeCgo7RXhhbXBsZTogUGVv cGxlIGdhdGhlcmVkLCBjb29rZWQgYW5kIGF0ZS5eCgpMb2dpY2FsbHksIHRoaXMgc2VudGVuY2Ug aXMgYSBwcm9wb3NpdGlvbiB0aGF0IGNvbnNpc3RzIG9mIGEgY29uc3RhbnQgInBlb3BsZSIgYW5k IHRocmVlIHByZWRpY2F0ZXMgImdhdGhlcmVkIiAiY29va2VkIiBhbmQgImF0ZSIuIFRoZSBwcmVk aWNhdGVzIGFyZSBkaWZmZXJlbnQgZnJvbSBlYWNoIG90aGVyIGluIHByb3BlcnR5IG9mIHRyZWF0 aW5nIHRoZSBhcmd1bWVudC4gV2Ugd2lsbCBkaXNjdXNzIHByZWNpc2VseSBob3cgdGhlIGFyZ3Vt ZW50IGluIHRoZSBzZW50ZW5jZSBpcyB0cmVhdGVkLgoKCgohISEjIENvbGxlY3Rpdml0eSBhbmQg ZGlzdHJpYnV0aXZpdHkKCgoKQ29uc2lkZXIgdGhlIGV4cHJlc3Npb24gInBlb3BsZSBnYXRoZXJl ZCI6IGJhc2VkIG9uIHRoZSBtZWFuaW5nIG9mIHRoZSBwcmVkaWNhdGUgImdhdGhlcmVkIiwgdGhl IGNvbnN0YW50ICJwZW9wbGUiIHNob3VsZCByZWZlciB0byBwbHVyYWwgcGVvcGxlLgoKV2hlbiBy ZWZlcmVudHMgb2YgYW4gYXJndW1lbnQgc2F0aXNmeSBhIHByZWRpY2F0ZSBhcyBjb2xsZWN0aXZl IHBsdXJhbCB0aGluZ3MgbGlrZSB0aGlzLCB3ZSBleHByZXNzIGl0IGFzICJhbiBhcmd1bWVudCBz YXRpc2ZpZXMgYW4gcHJlZGljYXRlIF9fY29sbGVjdGl2ZWx5X18iLCBvciAidGhlIGFyZ3VtZW50 IGhhcyBfX2NvbGxlY3Rpdml0eV9fIi4KCgoKQXMgZm9yIGVhY2ggb2YgdGhlIHBsdXJhbCBwZW9w bGUgcmVmZXJyZWQgdG8gYnkgdGhlIGNvbnN0YW50LCAgZWFjaCBzZW50ZW5jZSBzdWNoIHRoYXQg IkFsaWNlIGdhdGhlcmVkIiwgIkJvYiBnYXRoZXJlZCIgYW5kIHNvIG9uIGlzIG5vbnNlbnNlLgoK V2hlbiBlYWNoIHJlZmVyZW50IHJlZmVycmVkIHRvIGJ5IGEgY29uc3RhbnQgY2Fubm90IHNhdGlz ZnkgYSBwcmVkaWNhdGUgYWxvbmUsIHdlIGV4cHJlc3MgaXQgYXMgImFuIGFyZ3VtZW50IHNhdGlz ZmllcyBhbiBwcmVkaWNhdGUgX19ub24tZGlzdHJpYnV0aXZlbHlfXyIuCgoKCk9uIHRoZSBvdGhl ciBoYW5kLCBpbiB0aGUgZXhwcmVzc2lvbiAicGVvcGxlIGF0ZSIsIGFsdGhvdWdoIHRoZSBjb25z dGFudCAicGVvcGxlIiByZWZlcnMgdG8gcGx1cmFsIHBlb3BsZSwgdGhlIHByZWRpY2F0ZSAiYXRl IiBpcyBzYXRpc2ZpZWQgYnkgZWFjaCBwZXJzb24uIFRoYXQgaXMgdG8gc2F5LCBlYWNoIHNlbnRl bmNlIHN1Y2ggdGhhdCAiQWxpY2UgYXRlIiwgIkJvYiBhdGUiIGFuZCBzbyBvbiBpcyBtZWFuaW5n ZnVsLgoKV2hlbiBlYWNoIHJlZmVyZW50IHJlZmVycmVkIHRvIGJ5IGEgY29uc3RhbnQgc2F0aXNm aWVzIGEgcHJlZGljYXRlIGFsb25lLCB3ZSBleHByZXNzIGl0IGFzICJhbiBhcmd1bWVudCBzYXRp c2ZpZXMgYW4gcHJlZGljYXRlIF9fZGlzdHJpYnV0aXZlbHlfXyIsIG9yICJ0aGUgYXJndW1lbnQg aGFzIF9fZGlzdHJpYnV0aXZpdHlfXyIuCgoKCk1vcmVvdmVyLCBpZiB0aGUgcHJlZGljYXRlICJl YXQiIG1lYW5zIGFuIGFjdCAicHV0IGZvb2QgaW4gYSBtb3V0aCwgYml0ZSBpdCwgbGV0IGl0IHBh c3MgdGhyb3VnaCBhbiBlc29waGFndXMgYW5kIHNlbmQgaXQgdG8gYSBzdG9tYWNoIiwgaXQgaXMg aGFyZGx5IGNvbnNpZGVyZWQgdGhhdCAicGVvcGxlIiBzYXRpc2ZpZXMgImVhdCIgY29sbGVjdGl2 ZWx5LiBFdmVuIGlmIGEgcGVyc29uIGhlbHBzIGFub3RoZXIgdG8gZWF0LCB0aGUgaGVscGVyIGlz IG5vdCBlYXRlciwgYW5kIHRoZSBlYXRlciBpcyBub3QgY29sbGVjdGl2ZSBwZW9wbGUgYnV0IGFu IGluZGl2aWR1YWwuIAoKV2hlbiBlYWNoIHJlZmVyZW50IHJlZmVycmVkIHRvIGJ5IGEgY29uc3Rh bnQgY2Fubm90IHNhdGlzZnkgYSBwcmVkaWNhdGUgYXMgY29sbGVjdGl2ZSBwbHVyYWwgdGhpbmdz LCB3ZSBleHByZXNzIGl0IGFzICJhbiBhcmd1bWVudCBzYXRpc2ZpZXMgYW4gcHJlZGljYXRlIF9f bm9uLWNvbGxlY3RpdmVseV9fIi4KCihIb3dldmVyLCBpdCBpcyBwb3NzaWJsZSB0byBpbnRlcnBy ZXQgdGhlIHByZWRpY2F0ZSAiZWF0IiBhcyBpbnZvbHZpbmcgY29sbGVjdGl2aXR5LiBGb3IgZXhh bXBsZSwgaWYgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgInB1dCBmb29kIGF3YXkgZnJvbSBvdXRzaWRl IHRvIGluc2lkZSBvZiBib2R5Iiwgd2UgbWF5IHNheSAiY29sbGVjdGl2ZWx5IGVhdCIgdG8gZXhw cmVzcyBhbiBldmVudCB0aGF0IHBlb3BsZSBlYXQgYW5kIGNvbnN1bWUgYSBtYXNzIG9mIGZvb2Qg dG9nZXRoZXIuKQoKCgpUaGVyZSBhcmUgYWxzbyBwcmVkaWNhdGVzIHRoYXQgYWxsb3cgYm90aCBw cm9wZXJ0aWVzICJjb2xsZXZ0aXZpdHkiIGFuZCAiZGlzdHJpYnV0aXZpdHkiLgoKIlBlb3BsZSBj b29rZWQiIG1heSBtZWFuIHRoYXQgcGx1cmFsIHBlb3BsZSBrbmVhZCBwYXN0ZSBvZiBwaXp6YSB0 b2dldGhlciwgYW5kIHRoYXQgZWFjaCBvZiB0aGVtIGlzIGluIGNoYXJnZSBvZiBjYWtlcyBvciBw b3QtYXUtZmV1LiBJbiB0aGlzIGNhc2UsIHRoZSBjb25zdGFudCAicGVvcGxlIiByZWZlcnMgdG8g cGx1cmFsIHBlb3BsZSwgYW5kIHRoZXkgY29va2VkIHBpenphIGNvbGxlY3RpdmVseSwgY2FrZXMg YW5kIHBvdC1hdS1mZXUgZGlzdHJpYnV0aXZlbHkuIFRoZSBjb25zdGFudCAicGVvcGxlIiB0aHVz IHNhdGlzZmllcyB0aGUgcHJlZGljYXRlICJjb29rZWQiIGNvbGxlY3RpdmVseSBhbmQgZGlzdHJp YnV0aXZlbHkuCgoKCk5vdGUgdGhhdCB0aGUgY29uc3RhbnQgInBlb3BsZSIgcmVmZXJzIHRvIHdo YXQgaXMgY29tbW9uIHRvIHRocmVlIHByZWRpY2F0ZXMgImdhdGhlcmVkIiwgImNvb2tlZCIgYW5k ICJhdGUiLiBObyBtYXR0ZXIgaWYgYSBjb25zdGFudCBzYXRpc2ZpZXMgcHJlZGljYXRlcyBjb2xs ZWN0aXZlbHkgb3IgZGlzdHJpYnV0aXZlbHksIHRoZSByZWZlcmVudCBpcyB0aGUgc2FtZS4KCgoK SWYgd2UgdXNlIGFuIGFyZ3VtZW50ICJhIHNldCBvZiBwZW9wbGUiIGluIHRoZSBjYXNlIG9mIHNh dGlzZnlpbmcgYSBwcmVkaWNhdGUgY29sbGVjdGl2ZWx5LCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0 byBpbnRlcnByZXQgdGhlIHByZWRpY2F0ZSAiZ2F0aGVyZWQiIHNvIHRoYXQgdGhlIGFyZ3VtZW50 IHNhdGlzZmllcyBpdCwgYnV0IHRoZSBzYW1lIGFyZ3VtZW50IGNhbm5vdCBzYXRpc2Z5IHRoZSBw cmVkaWNhdGUgImF0ZSIsIGJlY2F1c2Ugd2UgY2FuIGhhcmRseSBzYXkgdGhhdCBhIHNldCBvZiBw ZW9wbGUsIHdoaWNoIGlzIGFuIGFic3RyYWN0IGVudGl0eSwgcGVyZm9ybXMgImF0ZSIuCgoKClVz aW5nIHBsdXJhbCBjb25zdGFudHMgYW5kIHBsdXJhbCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIGRp c2N1c3NlZCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLCB3ZSBjYW4gZXhwcmVzcyBwbHVyYWwg dGhpbmdzIGluIHRoZSBmb3JtIG9mIHByZWRpY2F0ZSBsb2dpYyB3aXRob3V0IHVzaW5nIHNldHMu CgoKCiEhISMgUGx1cmFsIGNvbnN0YW50IGFuZCBwbHVyYWwgdmFyaWFibGUKCkFuIGFyZ3VtZW50 IHRoYXQgcmVmZXJzIHRvIHJlZmVyZW50IHdpdGhvdXQgaW50cm9kdWNpbmcgYSBub3Rpb24gb2Yg c2V0cywgd2l0aG91dCBkaXN0aW5ndWlzaGluZyBjb2xsZWN0aXZpdHkgYW5kIGRpc3RyaWJ1dGl2 aXR5LCB3aXRob3V0IGRpc3Rpbmd1aXNoaW5nIHBsdXJhbGl0eSBhbmQgc2luZ3VsYXJpdHksIGlz IGNhbGxlZCBfX3BsdXJhbCBjb25zdGFudF9fLgoKQSB2YXJpYWJsZSBmb3Igd2hpY2ggYSBwbHVy YWwgY29uc3RhbnQgY2FuIGJlIHN1YnN0aXR1dGVkIGlzIGNhbGxlZCBfX3BsdXJhbCB2YXJpYWJs ZV9fLgoKUXVhbnRpZnlpbmcgYSBwbHVyYWwgdmFyaWFibGUgaXMgY2FsbGVkIF9fcGx1cmFsIHF1 YW50aWZpY2F0aW9uX18uIEEgcXVhbnRpZmllciB1c2VkIGZvciBwbHVyYWwgcXVhbnRpZmljYXRp b24gaXMgY2FsbGVkIF9fcGx1cmFsIHF1YW50aWZpZXJfXy4gQSBwbHVyYWwgdmFyaWFibGUgcHJl Zml4ZWQgd2l0aCBhIHBsdXJhbCBxdWFudGlmaWVyIGlzIGNhbGxlZCBhIF9fYm91bmQgcGx1cmFs IHZhcmlhYmxlX18uCgoKCiEhISEjIG1lIGFuZCBqbyd1CgpXZSBpbnRyb2R1Y2UgcmVsYXRpb25z IGJldHdlZW4gcGx1cmFsIGNvbnN0YW50cyBhbmQgcGx1cmFsIHZhcmlhYmxlczoge21lfSBhbmQg e2pvJ3V9LgoKCgp8fAoKWCBtZSBZIChtZSd1KSB+aHN+fH5oc34gWCBpcyBhbW9uZyBZCgp8fAoK WCBhbmQgWSByZXByZXNlbnQgaGVyZSBwbHVyYWwgY29uc3RhbnRzIG9yIHBsdXJhbCB2YXJpYWJs ZXMuIEEgY2x1c3RlciB7bWUgWSAobWUndSl9IGlzIGEgc2VsYnJpIGluIExvamJhbiBncmFtbWFy LiB7bWUndX0gaXMgYW4gZWxpZGFibGUgdGVybWluYXRvciBvZiBzdHJ1Y3R1cmUgYmVnaW5uaW5n IHdpdGgge21lfS4KCgoKe21lfSBoYXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdpdGggYXJi aXRyYXJ5IGFyZ3VtZW50cyBYLCBZIGFuZCBaOgoKIyBYIG1lIFggKHJlZmxleGl2aXR5KQoKIyBY IG1lIFkgaWplYm8gWSBtZSBaIGluYWphIFggbWUgWiAodHJhbnNpdGl2aXR5KQoKIyBYIG1lIFkg aWplYm8gWSBtZSBYIGlqbyBYIGR1IFkgKGlkZW50aXR5KQoKVGhlIHByb3BlcnR5IDMgbWVhbnMg dGhhdCB0aGUgaWRlbnRpdHkgYmV0d2VlbiByZWZlcmVudHMgb2YgWCBhbmQgWSBpcyByZXByZXNl bnRlZCB3aXRoIHttZX0sIGFzIGEgcmVsYXRpb24gdGhhdCB7WCBtZSBZIGlqZWJvIFkgbWUgWH0u CgoKCnx8CgpYIGpvJ3UgWSB+aHN+fH5oc34gWCBhbmQgWQoKfHwKCntqbyd1fSBjb21iaW5lcyB0 d28gYXJndW1lbnRzIFggYW5kIFkgaW50byBvbmUgcGx1cmFsIGNvbnN0YW50IG9yIG9uZSBwbHVy YWwgdmFyaWFibGUuCgoKCntqbyd1fSBoYXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdpdGgg YXJiaXRyYXJ5IGFyZ3VtZW50cyBYIGFuZCBZOgoKIyBYIG1lIFggam8ndSBZCgojIFggam8ndSBZ IGR1IFkgam8ndSBYCgojIFggam8ndSBYIGR1IFgKClRoZSBwcm9wZXJ0eSAyIG1lYW5zIHRoYXQg dGhlIHJlZmVyZW50IG9mIHRoZSB3aG9sZSBhcmd1bWVudCBkb2VzIG5vdCB2YXJ5IHdoZW4gdHdv IGFyZ3VtZW50cyBjb21iaW5lZCBieSB7am8ndX0gYXJlIGludGVyY2hhbmdlZCB3aXRoIGVhY2gg b3RoZXIuIFRoZSBwcm9wZXJ0eSAzIG1lYW5zIHRoYXQge2pvJ3V9IGRvZXMgbm90IGFkZCBhbnkg cmVmZXJlbnQgd2hlbiBpdCBjb21iaW5lcyBhbiBhcmd1bWVudCB3aXRoIGl0c2VsZi4KCgoKVXNp bmcge2pvJ3V9LCB0aGUgZm9sbG93aW5nIGV4cHJlc3Npb24gaXMgcG9zc2libGU6CgpeCgo7RXhh bXBsZTogQiBhbmQgQyBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGUuCgo7OiBieSBqbyd1IGN5IGpt YWppIGdpJ2UganVrcGEgZ2knZSBjaXRrYV4KCkVhY2ggb2Yge2J5fSBhbmQge2N5fSBpcyBhIHBs dXJhbCBjb25zdGFudC4KCgoKVGhlIHByZWRpY2F0ZSB7anVrcGF9IChjb29rKSBjYW4gYmUgaW50 ZXJwcmV0ZWQgY29sbGVjdGl2ZWx5IGFuZC9vciBkaXN0cmlidXRpdmVseSwgYnV0IHRoZSBwbHVy YWwgY29uc3RhbnQge2J5IGpvJ3UgY3l9IHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGl0IHNh dGlzZmllcyB7anVrcGF9IGNvbGxlY3RpdmVseSBhbmQvb3IgZGlzdHJpYnV0aXZlbHkuIElmIHdl IHdhbnQgdG8gbWFrZSBleHBsaWNpdCB0aGF0IHRoZXkgY29va2VkICJjb2xsZWN0aXZlbHkiLCB3 ZSBzYXkge2J5IGpvaSBjeX0gdXNpbmcgKChCUEZLIFNlY3Rpb246IE5vbi1sb2dpY2FsIENvbm5l Y3RpdmVzfHtqb2l9IHRoYXQgY29tYmluZXMgdHdvIGFyZ3VtZW50cyBpbnRvIGFuIGFyZ3VtZW50 IHRoYXQgc2F0aXNmaWVzIGEgcHJlZGljYXRlIG5vbi1kaXN0cmlidXRpdmVseSkpLCBvciB7bHUn byBieSBqbyd1IGN5fSB1c2luZyB7bHUnb30gdGhhdCB3aWxsIGJlIGRpc2N1c3NlZCBpbiAoKHwj UmVsYXRpb25fYmV0d2Vlbl9sdV9hX2x1X29fbHVfaV9hbmRfZ2Fkcml8U2VjdGlvbiAzLjMpKS4g Q29udHJhc3RpdmVseSwgaWYgd2Ugd2FudCB0byBtYWtlIGV4cGxpY2l0IHRoYXQgdGhleSBjb29r ZWQgImRpc3RyaWJ1dGl2ZWx5Iiwgd2Ugc2F5ICB7bHUnYSBieSBqbyd1IGN5fSB1c2luZyB7bHUn YX0gdGhhdCB3aWxsIGJlIGRpc2N1c3NlZCBpbiAoKHwjUmVsYXRpb25fYmV0d2Vlbl9sdV9hX2x1 X29fbHVfaV9hbmRfZ2Fkcml8U2VjdGlvbiAzLjMpKS4gSG93ZXZlciwgdGhlc2UgYXJndW1lbnRz IHRoYXQgc2F5cyBleHBsaWNpdGx5IGNvbGxlY3Rpdml0eSBhbmQvb3IgZGlzdHJpYnV0aXZpdHkg YXJlIG5vdCBhbHdheXMgY29tbW9ubHkgdXNlZCBmb3Igb3RoZXIgcHJlZGljYXRlcyBsaWtlIHtq bWFqaX0gb3Ige2NpdGthfS4KCgoKVGhlIGRpYWdyYW0gYmVsbG93IHNob3dzIHJlbGF0aW9ucyBj b25zdHJ1Y3RlZCB3aXRoIHttZX0gYW5kIHtqbyd1fSByZXByZXNlbnRlZCB3aXRoIGEgZGlyZWN0 ZWQgZ3JhcGgsIGluIHdoaWNoIHRoZSB2ZXJ0aWNlcyByZXByZXNlbnQgcGx1cmFsIGNvbnN0YW50 cy4KCgoKe2ltZyBmaWxlSWQ9IjciIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgoKCiEhISEjIElu ZGl2aWR1YWwKClJlZmVyZW50IG9mIGEgcGx1cmFsIGNvbnN0YW50IGlzIG5vdCBuZWNlc3Nhcmls eSBwbHVyYWw6IGEgcGx1cmFsIGNvbnN0YW50IGNhbiByZWZlciB0byBvbmUgaW5kaXZpZHVhbC4K Cl9fQW4gaW5kaXZpZHVhbF9fIGlzIGRlZmluZWQgYXMgZm9sbG93czoKCnx8CgpfX1ggaXMgYW4g aW5kaXZpZHVhbF9fIH5oc358fmhzfiA9Y2EnZSB+aHN+fH5oc34gcm8nb2kgZGEgcG9pIGtlJ2Eg bWUgWCB6byd1IFggbWUgZGEKCnx8CgoKCndoZXJlIF9fcm8nb2lfXyBpcyBhbiBleHBlcmltZW50 YWwgY21hdm8gcHJvcG9zZWQgYnkgKCh4b3J4ZXN8bGEgeG9yeGVzKSksIHdoaWNoIGlzIGEgcGx1 cmFsIHF1YW50aWZpZXIgbWVhbmluZyAiYWxsIi4gIHtybydvaSBkYX0gaXMgYSBib3VuZCBwbHVy YWwgdmFyaWFibGUgbWVhbmluZyAiZm9yIGFsbCB0aGF0IGNhbiBiZSBzdWJzdGl0dXRlZCBmb3Ig e2RhfSIuIFRoaXMgZGVmaW5pdGlvbiBtZWFucyB0aGF0IFggaXMgY2FsbGVkIGFuIGluZGl2aWR1 YWwgd2hlbiB0aGUgY29uZGl0aW9uICJmb3IgYWxsIHtkYX0gdGhhdCBhcmUgYW1vbmcgWCwgWCBp cyBhbW9uZyB7ZGF9IiBpcyBzYXRpc2ZpZWQuIEluIG90aGVyIHdvcmRzLCAiaW4gdGhlIHVuaXZl cnNlIG9mIGRpc2NvdXJzZSwgbm90aGluZyBvdGhlciB0aGFuIHtYfSBjYW4gYmUgc3Vic3RpdHV0 ZWQgZm9yIHtkYX0gc3VjaCB0aGF0IHtYIG1lIGRhfSIgaXMgZXhwcmVzc2VkIGJ5ICJYIGlzIGFu IGluZGl2aWR1YWwiLgoKCgpXaGVuIGVhY2ggb2YgWCBhbmQgWSBpcyBhbiBpbmRpdmlkdWFsLCB7 WCBqbyd1IFl9IGlzIGNhbGxlZCBfX2luZGl2aWR1YWxzX18uIFdoZW4gZWFjaCBvZiBYIGFuZCBZ IGlzIGFuIGluZGl2aWR1YWwgb3IgaW5kaXZpZHVhbHMsIHtYIGpvJ3UgWX0gaXMgY2FsbGVkIGlu ZGl2aWR1YWxzIGFzIHdlbGwuCgoKCiEhISEjIERpZmZlcmVuY2UgYmV0d2VlbiBwbHVyYWwgYW5k IHNpbmd1bGFyCgpBIHBsdXJhbCBjb25zdGFudCB0aGF0IGlzIGFuIGluZGl2aWR1YWwgaXMgY2Fs bGVkIF9fc2luZ3VsYXIgY29uc3RhbnRfXy4KCgoKTm8gbWF0dGVyIHdoZXRoZXIgZWFjaCBvZiBY IGFuZCBZIGlzIHBsdXJhbCBvciBzaW5ndWxhciwge1ggam8ndSBZfSBpcyBub3QgYSBzaW5ndWxh ciBjb25zdGFudC4gSXQgaXMgYmVjYXVzZSAKCl5YIG1lIFggam8ndSBZIGlqZW5haSBYIGpvJ3Ug WSBtZSBYXgoKaG9sZHMgdHJ1ZSwgYW5kIHRoZW4ge1ggam8ndSBZfSBkb2VzIG5vdCBzYXRpc2Z5 IHRoZSBjb25kaXRpb24gb2YgYW4gaW5kaXZpZHVhbCB7cm8nb2kgZGEgcG9pIGtlJ2EgbWUgWCBq byd1IFkgem8ndSBYIGpvJ3UgWSBtZSBkYX0uCgoKCiEhISEjIEJvdW5kIHNpbmd1bGFyIHZhcmlh YmxlCgpXaGVuIHRoZSBkb21haW4gb2YgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUgaXMgcmVzdHJp Y3RlZCB0byB3aGF0IGlzIGFuIGluZGl2aWR1YWwsIHRoZSB2YXJpYWJsZSBpcyBjYWxsZWQgX19i b3VuZCBzaW5ndWxhciB2YXJpYWJsZV9fLgoKe3JvIGRhfSAoZm9yIGFsbCB7ZGF9KSBhbmQge3N1 J28gZGF9ICh0aGVyZSBpcyBhdCBsZWFzdCBvbmUge2RhfSksIHdoaWNoIGFyZSBvZmZpY2lhbGx5 IGRlZmluZWQgaW4gTG9qYmFuLCBhcmUgYm91bmQgc2luZ3VsYXIgdmFyaWFibGVzLiBUaGV5IGNh biBiZSBkZWZpbmVkIHdpdGggYm91bmQgcGx1cmFsIHZhcmlhYmxlcyBhcyBmb2xsb3dzOgoKfHwK CnJvIGRhIH5oc358fmhzfiBybydvaSBkYSBwb2kgcm8nb2kgZGUgcG9pIGtlJ2EgeGkgcGEgbWUg a2UnYSB4aSByZSB6byd1IGtlJ2EgeGkgcmUgbWUgZGUKCnN1J28gZGEgfmhzfnx+aHN+IHN1J29p IGRhIHBvaSBybydvaSBkZSBwb2kga2UnYSB4aSBwYSBtZSBrZSdhIHhpIHJlIHpvJ3Uga2UnYSB4 aSByZSBtZSBkZQoKfHwKCl9fc3Unb2lfXyBpcyBhbiBleHBlcmltZW50YWwgY21hdm8gcHJvcG9z ZWQgYnkgKCh4b3J4ZXN8bGEgeG9yeGVzKSksIGFuZCBpcyBhIHBsdXJhbCBxdWFudGlmaWVyIG1l YW5pbmcgInRoZXJlIGlzL2FyZSIuIE5vdGUgdGhhdCB7c3Unb2l9IGlzIF9fbm90X18gImF0IGxl YXN0IG9uZSIuIHtzdSdvaSBkYX0gaXMgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUgbWVhbmluZyAi dGhlcmUgaXMvYXJlIHtkYX0iLgoKCgpGb3IgZXhhbXBsZSwgYSBwbHVyYWwgY29uc3RhbnQge0Eg am8ndSBCfSBjYW4gYmUgaW4gYSBkb21haW4gb2YgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUsIGJ1 dCBpdCBjYW5ub3QgYmUgaW4gYSBkb21haW4gb2YgYSBib3VuZCBzaW5ndWxhciB2YXJpYWJsZSBi ZWNhdXNlIGl0IGlzIG5vdCBhbiBpbmRpdmlkdWFsLgoKCgohISEhIyBXaGF0IGlzIG5laXRoZXIg YW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMKClJlZmVyZW50IG9mIGEgcGx1cmFsIGNvbnN0 YW50IGlzIG5vdCBuZWNlc3NhcmlseSBhbiBpbmRpdmlkdWFsIG9yIGluZGl2aWR1YWxzLiAKCkl0 IGlzIHBvc3NpYmxlIHRvIGRpc2N1c3MgYSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2Ugc3VjaCB0aGF0 IHJlZmVyZW50IG9mIGEgcGx1cmFsIGNvbnN0YW50IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBu b3IgaW5kaXZpZHVhbHMuCgoKCkZvciBleGFtcGxlLCBjb25zaWRlciBzdWNoIGEgdW5pdmVyc2Ug b2YgZGlzY291cnNlIGluIHdoaWNoIHRoZSBmb2xsb3dpbmcgcHJvcG9zaXRpb24gaG9sZHMgdHJ1 ZS4KCl5ybydvaSBkYSBwb2kga2UnYSBtZSBrbydhIGt1J28gc3Unb2kgZGUgem8ndSBkZSBtZSBk YSBpamVuYWkgZGEgbWUgZGUgfi0tfiBDb25kaXRpb25fMV4KCkluIG90aGVyIHdvcmRzLCBpbiB0 aGlzIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgZm9yIGFsbCBYIHN1Y2ggdGhhdCB7WCBtZSBrbydh fSwgdGhlcmUgaXMgYWx3YXlzIFkgc3VjaCB0aGF0IHtZIG1lIFh9IGFuZCBub3Qge1ggbWUgWX0u CgoKCjtUaGVvcmVtOiBJbiBhIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSB3aGVyZSBDb25kaXRpb25f MSBpcyB0cnVlLCB7a28nYX0gaXMgbmVpdGhlciBhbiBpbmRpdmlkdWFsIG5vciBpbmRpdmlkdWFs cy4KCgoKO1Byb29mOiBTdXBwb3NlIHtrbydhfSBpcyBhbiBpbmRpdmlkdWFsLiBGcm9tIHRoZSBk ZWZpbml0aW9uIG9mICJhbiBpbmRpdmlkdWFsIjoKCl5ybydvaSBkYSBwb2kga2UnYSBtZSBrbydh IHpvJ3Uga28nYSBtZSBkYSB+LS1+IFN1cHBvc2l0aW9uXzJeCgpSZXBsYWNlIHtybydvaSBkYX0g d2l0aCB7bmFrdSBzdSdvaSBkYSBuYWt1fToKCl5uYWt1IHN1J29pIGRhIHBvaSBrZSdhIG1lIGtv J2Ega3UnbyBuYWt1IHpvJ3Uga28nYSBtZSBkYSB+LS1+IFN1cHBvc2l0aW9uXzItMV4KCk1vdmUg dGhlIGlubmVyLW1vc3Qge25ha3V9IGludG8gdGhlIHByb3Bvc2l0aW9uOgoKXm5ha3Ugc3Unb2kg ZGEgcG9pIGtlJ2EgbWUga28nYSB6byd1IG5ha3Uga28nYSBtZSBkYSB+LS1+IFN1cHBvc2l0aW9u XzItMl4KClJlcGxhY2Uge3N1J29pIGRhIHBvaX0gd2l0aCB7aWplfSBhbmQgbW92ZSBpbnRvIHRo ZSBwcm9wb3NpdGlvbjoKCl5uYWt1IHN1J29pIGRhIHpvJ3UgZGEgbWUga28nYSBpamUgbmFrdSBr bydhIG1lIGRhIH4tLX4gU3VwcG9zaXRpb25fMi0zXgoKUmVwbGFjZSB7aWplIG5ha3V9IHdpdGgg e2lqZW5haX06CgpebmFrdSBzdSdvaSBkYSB6byd1IGRhIG1lIGtvJ2EgaWplbmFpIGtvJ2EgbWUg ZGEgfi0tfiBTdXBwb3NpdGlvbl8yLTReCgpCeSB0aGUgd2F5LCBmcm9tIGEgcHJvcGVydHkgb2Yg e21lfSwKCl5rbydhIG1lIGtvJ2EgXgoKaXMgYWx3YXlzIHRydWUuIHtrbydhfSBpcyB0aGVyZWZv cmUgaW4gdGhlIGRvbWFpbiBvZiB7ZGF9IG9mIENvbmRpdGlvbl8xLiBSZXBsYWNlIHtybydvaSBk YX0gb2YgQ29uZGl0aW9uXzEgd2l0aCB7a28nYX0sIGFuZCBpdCB0aHVzIGhvbGRzIHRydWU6Cgpe c3Unb2kgZGUgem8ndSBkZSBtZSBrbydhIGlqZW5haSBrbydhIG1lIGRlIH4tLX4gQ29uZGl0aW9u XzEtMV4KCkNvbmRpdGlvbl8xLTEgYW5kIFN1cHBvc2l0aW9uXzItNCBjb250cmFkaWN0IGVhY2gg b3RoZXIuCgpTdXBwb3NpdGlvbl8yIGlzIHRodXMgcmVqZWN0ZWQgYnkgcmVkdWN0aW8gYWQgYWJz dXJkdW0uCgpJdCBtZWFucyB0aGF0IHtrbydhfSBpcyBub3QgYW4gaW5kaXZpZHVhbC4KCgoKTW9y ZW92ZXIsIHdoZW4ge2tvJ2F9IGlzIGV4cGFuZGVkIHRvIHtBIGpvJ3UgQn0sIGZyb20gYSBwcm9w ZXJ0eSBvZiB7am8ndX0sIHRoZSBmb2xsb3dpbmcgcHJvcG9zaXRpb25zIGhvbGQgdHJ1ZToKCl5B IG1lIGtvJ2F+cHB+Cgp+L3BwfkIgbWUga28nYV4KCkVhY2ggb2YgQSBhbmQgQiBpcyBpbiB0aGUg ZG9tYWluIG9mIHtkYX0gb2YgQ29uZGl0aW9uXzEuIENvbnNpZGVyaW5nIHNpbWlsYXJseSB0byBD b25kaXRpb25fMS0xLCBuZWl0aGVyIEEgbm9yIEIgaXMgYW4gaW5kaXZpZHVhbC4ge2tvJ2F9IGlz IHRodXMgbm90IGluZGl2aWR1YWxzLgoKUS5FLkQuCgoKCldoZW4ge2tvJ2F9IGlzIG5laXRoZXIg YW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMsIHdoYXQgYWN0dWFsbHkgZG9lcyBpdCByZWZl ciB0bz8KCldlIG1heSBpbnRlcnByZXQgdGhhdCBpdCByZWZlcnMgdG8gd2hhdCBpcyByZWZlcmVk IHRvIGJ5IGEgbWF0ZXJpYWwgbm91biwgZm9yIGV4YW1wbGUuCgpCeSBhIHNwZWFrZXIgd2hvIHRo aW5rcyB0aGF0IGEgY3V0LW9mZiBwaWVjZSBvZiBicmVhZCBpcyBhbHNvIGJyZWFkLCBicmVhZCBp cyByZWdhcmRlZCBhcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzLgoKCgpb aHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL21zZy9sb2piYW4vUkF0RTdZay1kcXcvcENHZVlD RTlsMVFKfChSZWxhdGVkIGRpc2N1c3Npb246IGZvciB0aGUgY2FzZSBvZiB7a28nYX09e2xvIHNp ZGJvfSwgSSB3cm90ZSB0aGUgc2FtZSBwcm9vZiBvbmx5IGluIExvamJhbi4pXQoKCgohISEhIyBB IGxvZ2ljYWwgYXhpb20gb24gcGx1cmFsIGNvbnN0YW50CgpUaGUgZm9sbG93aW5nIGxvZ2ljYWwg YXhpb20gaXMgZ2l2ZW4gdG8gYW4gYXJiaXRyYXJ5IHBsdXJhbCBjb25zdGFudCBDOgoKXmdhbmFp IEMgYnJvZGEgZ2kgc3Unb2kgZGEgem8ndSBkYSBicm9kYV4KCgoKSXQgbWVhbnMgImluIGEgdW5p dmVyc2Ugb2YgZGlzY291cnNlLCBpZiBhIHByb3Bvc2l0aW9uIGluIHdoaWNoIGEgcGx1cmFsIGNv bnN0YW50IGlzIHgxIG9mIHticm9kYX0gaG9sZHMgdHJ1ZSwgdGhlcmUgaXMgcmVmZXJlbnQgdGhh dCBpcyB4MSBvZiB7YnJvZGF9Ii4KCgoKVGhhdCBpcyB0byBzYXksIGFuIGFyZ3VtZW50IHRoYXQg aGFzIG5vIHJlZmVyZW50IGluIGEgdW5pdmVyc2Ugb2YgZGlzY291cnNlIGNhbm5vdCBiZSByZXBy ZXNlbnRlZCBieSBhIHBsdXJhbCBjb25zdGFudC4gQW4gYXJndW1lbnQgdGhhdCBoYXMgbm8gcmVm ZXJlbnQgaXMgZXhwcmVzc2VkIGluIHRoZSBmb3JtIHtuYWt1IHN1J29pIGRhfSwgd2hpY2ggaXMg YSBuZWdhdGlvbiBvZiBhIGJvdW5kIHBsdXJhbCB2YXJpYWJsZSB7c3Unb2kgZGF9IG1lYW5pbmcg InRoZXJlIGlzL2FyZSIuCgoKCiEhIyBEZWZpbml0aW9uIG9mIGdhZHJpCgo7X19sb19fIChMRSk6 IEl0IGlzIHByZWZpeGVkIHRvIHNlbGJyaSwgYW5kIGZvcm1zIGEgcGx1cmFsIGNvbnN0YW50IHRo YXQgcmVmZXJzIHRvIHdoYXQgc2F0aXNmaWVzIHgxLCB0aGUgZmlyc3QgcGxhY2Ugb2YgdGhlIHNl bGJyaS4gSWYgYSBxdWFudGlmaWVyIGZvbGxvd3Mge2xvfSwgdGhlIHF1YW50aWZpZXIgcmVwcmVz ZW50cyB0aGUgc3VtIG9mIGFsbCB0aGUgcmVmZXJlbnRzIG9mIHRoZSBwbHVyYWwgY29uc3RhbnQu IEluIHRoZSBjYXNlIHRoYXQgYSBxdWFudGlmaWVyIGZvbGxvd3Mge2xvfSwgYSBzdW10aSBtYXkg Zm9sbG93IGl0LCBhbmQgdGhlIHF1YW50aWZpZXIgcmVwcmVzZW50cyB0aGUgc3VtIG9mIGFsbCB0 aGUgcmVmZXJlbnRzIG9mIHRoZSBzdW10aS4KCnx8CgpsbyBbW1BBXSBicm9kYSAoa3UpIH5oc358 fmhzfiB6bydlIG5vaSBrZSdhIGJyb2RhIFtbZ2knZSB6aWxrYW5jdSBsaSBQQSBsbyBicm9kYV0g KGt1J28pIH5oc358fmhzfiB3aGF0IGlzL2FyZSBicm9kYSBbW3RoYXQgaXMvYXJlIFBBIGluIHRv dGFsXQoKbG8gUEEgJydzdW10aScnIChrdSkgfmhzfnx+aHN+IGxvIFBBIG1lICcnc3VtdGknJyAo bWUndSkgKGt1KSB+aHN+fH5oc34gd2hhdCBpcy9hcmUgYW1vbmcgJydzdW10aScnIHRoYXQgaXMv YXJlIFBBIGluIHRvdGFsCgp8fAoKe2t1fSwge2t1J299LCB7bWUndX0gYXJlIGVsaWRhYmxlIHRl cm1pbmF0b3JzLgoKCgpQdXR0aW5nIGEgcXVhbnRpZmllciBhZnRlciBnYWRyaSBsaWtlIHtsbyBQ QX0gaXMgY2FsbGVkIF9faW5uZXIgcXVhbnRpZmljYXRpb25fXywgYW5kIHRoZSBxdWFudGlmaWVy IGlzIGNhbGxlZCBfX2lubmVyIHF1YW50aWZpZXJfXy4gQWx0aG91Z2ggdGhlIHRlcm0gInF1YW50 aWZ5IiBpcyBpbnZvbHZlZCwgaXQgaXMgZGlmZmVyZW50IGZyb20gcXVhbnRpZmljYXRpb24gb2Yg bG9naWMuIElubmVyIHF1YW50aWZpY2F0aW9uIGRvZXMgbm90IGludm9sdmUgY291bnRpbmcgcmVm ZXJlbnRzIG9mIGNvbnN0YW50cyB0aGF0IGNhbiBiZSBzdWJzdGl0dXRlZCBmb3IgYSB2YXJpYWJs ZSwgYnV0IGNvdW50aW5nIGFsbCB0aGUgcmVmZXJlbnRzIG9mIG9uZSBwbHVyYWwgY29uc3RhbnQu IElubmVyIHF1YW50aWZpY2F0aW9uIHdpbGwgYmUgZGlzY3Vzc2VkIG1vcmUgcHJlY2lzZWx5IGlu ICgofCNJbm5lcl9xdWFudGlmaWNhdGlvbnxTZWN0aW9uIDMuMSkpLgoKCgpPbiB0aGUgb3RoZXIg aGFuZCwgcHV0dGluZyBhIHF1YW50aWZpZXIgYmVmb3JlIGdhZHJpLCBvciBiZWZvcmUgYSBzdW10 aSBtb3JlIGdlbmVyYWxseSwgaXMgY2FsbGVkIF9fb3V0ZXIgcXVhbnRpZmljYXRpb25fXywgYW5k IHRoZSBxdWFudGlmaWVyIGlzIGNhbGxlZCBfX291dGVyIHF1YW50aWZpZXJfXy4gT3V0ZXIgcXVh bnRpZmljYXRpb24gd2lsbCBiZSBkaXNjdXNzZWQgbW9yZSBwcmVjaXNlbHkgaW4gKCh8I091dGVy X3F1YW50aWZpY2F0aW9ufFNlY3Rpb24gMy4yKSkuCgoKCkFsbCBzdW10aSBmb3JtZWQgd2l0aCBn YWRyaSBhcmUgZGVmaW5lZCBzbyB0aGF0IHRoZXkgYXJlIGV4cGFuZGVkIGludG8gZXhwcmVzc2lv bnMgd2l0aCB7em8nZX0uIFRoYXQgaXMgdG8gc2F5LCB0aGUgbW9zdCBnZW5lcmFsIHBsdXJhbCBj b25zdGFudCBpcyByZXByZXNlbnRlZCBieSBhIHNpbmdsZSB7em8nZX0uIEEgc3VtdGkgZm9ybWVk IHdpdGggZ2FkcmkgaXMge3pvJ2V9IGFjY29ucGFuaWVkIGJ5IGFuIGV4cGxhbmF0aW9uLgoKXgoK O0V4YW1wbGU6IFBlb3BsZSBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGUuCgo7OiBsbyBwcmVudSBj dSBqbWFqaSBnaSdlIGp1a3BhIGdpJ2UgY2l0a2FeCgoKCldoaWxlIHRoZSBwcmVkaWNhdGUge2p1 a3BhfSAoY29vaykgY2FuIGJlIGludGVycHJldGVkIGNvbGxlY3RpdmVseSBhcyB3ZWxsIGFzIGRp c3RyaWJ1dGl2ZWx5LCB0aGUgcGx1cmFsIGNvbnN0YW50IHtsbyBwcmVudX0gKHBlb3BsZSkgZG9l cyBub3Qgc2F5IGV4cGxpY2l0bHkgaWYgaXQgc2F0aXNmaWVzIHtqdWtwYX0gY29sbGVjdGl2ZWx5 IG9yIGRpc3RyaWJ1dGl2ZWx5LiBJZiB3ZSB3YW50IHRvIHNheSBleHBsaWNpdGx5IHRoYXQgdGhl eSAiY29sbGVjdGl2ZWx5IiBjb29rZWQsIHdlIHVzZSB7bG9pfSwgd2hpY2ggd2lsbCBiZSBkaXNj dXNzZWQgbGF0ZXIsIGFuZCBzYXkge2xvaSBwcmVudX0uIENvbnRyYXN0aXZlbHksIGlmIHdlIHdh bnQgdG8gc2F5IGV4cGxpY2l0bHkgdGhhdCB0aGV5ICJkaXN0cmlidXRpdmVseSIgY29va2VkLCB3 ZSBzYXkge3JvIGxvIHByZW51fSB3aXRoIGFuIG91dGVyIHF1YW50aWZpY2F0aW9uLCBvciB7bHUn YSBsbyBwcmVudX0uIEhvd2V2ZXIsIGEgc3VtdGkgdGhhdCBzYXlzIGV4cGxpY2l0bHkgY29sbGVj dGl2aXR5IG9yIGRpc3RyaWJ1dGl2aXR5IGlzIG5vdCBuZWNlc3NhcmlseSBhYmxlIHRvIGJlIHNo YXJlZCB3aXRoIG90aGVyIHByZWRpY2F0ZSBsaWtlIHtqbWFqaX0gb3Ige2NpdGthfS4KCgoKO19f bGVfXyAoTEUpOiB7bGUgYnJvZGF9IHJlZmVycyBfX3NwZWNpZmljYWxseV9fIHRvIGEgcmVmZXJl bnQgb2Yge2xvIGJyb2RhfSwgYW5kIF9fZXhwbGljaXRseSBleHByZXNzIHRoYXQgdGhlIHNwZWFr ZXIgaGFzIHRoZSByZWZlcmVudCBpbiBtaW5kX18uIEl0cyBsb2dpY2FsIHByb3BlcnR5IGlzIHRo ZSBzYW1lIGFzIHRoYXQgb2Yge2xvfS4KCnx8CgpsZSBbW1BBXSBicm9kYSAoa3UpIH5oc358fmhz fiB6bydlIG5vaSBtaSBrZSdhIGRvIHNraWN1IGxvIGthIGNlJ3UgYnJvZGEgW1tnaSdlIHppbGth bmN1IGxpIFBBIGxvIGJyb2RhXSAoa3UnbykgCgpsZSBQQSAnJ3N1bXRpJycgKGt1KSB+aHN+fH5o c34gbGUgUEEgbWUgJydzdW10aScnIChtZSd1KSAoa3UpCgp8fAoKCgo7X19sYV9fIChMQSk6IEl0 IGlzIHByZWZpeGVkIHRvIHNlbGJyaSBvciBjbWV2bGEsIGFuZCBmb3JtcyBhIHBsdXJhbCBjb25z dGFudCB0aGF0IHJlZmVycyB0byB3aGF0IGlzIG5hbWVkIHRoZSBzZWxicmkgb3IgY21ldmxhIHN0 cmluZy4gSXRzIGxvZ2ljYWwgcHJvcGVydHkgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB7bG99LgoK fHwKCmxhIFtbUEFdIGJyb2RhIChrdSkgfmhzfnx+aHN+IHpvJ2Ugbm9pIGx1IFtbUEFdIGJyb2Rh IGxpJ3UgY21lbmUga2UnYSBtaSAoa3UnbykgCgpsYSBQQSAnJ3N1bXRpJycgKGt1KSB+aHN+fH5o c34gem8nZSBub2kgbHUgUEEgc3VtdGkgbGkndSBjbWVuZSBrZSdhIG1pIChrdSdvKSAKCnx8CgoK CjtfX2xvaV9fIChMRSksIF9fbGVpX18gKExFKSwgX19sYWlfXyAoTEEpOiB7bG9pL2xlaS9sYWkg YnJvZGF9IHJlZmVycyB0byBhIHJlZmVyZW50IG9mIHtsby9sZS9sYSBicm9kYX0sIGFuZCBfX2V4 cGxpY2l0bHkgZXhwcmVzcyB0aGF0IHRoZSByZWZlcmVudCBzYXRpc2ZpZXMgYSBwcmVkaWNhdGUg Y29sbGVjdGl2ZWx5X18uCgp8fAoKbG9pIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBi ZSBsbyBbW1BBXSBicm9kYQoKbGVpIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBs ZSBbW1BBXSBicm9kYQoKbGFpIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBsYSBb W1BBXSBicm9kYQoKbG9pIFBBICcnc3VtdGknJyB+aHN+fH5oc34gbG8gZ3VubWEgYmUgbG8gUEEg JydzdW10aScnCgpsZWkgUEEgJydzdW10aScnIH5oc358fmhzfiBsbyBndW5tYSBiZSBsZSBQQSAn J3N1bXRpJycKCmxhaSBQQSAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvIGd1bm1hIGJlIGxhIFBBICcn c3VtdGknJwoKfHwKCkJhY2F1c2Uge2xvaS9sZWkvbGFpfSBpcyB0aHVzIGRlZmluZWQgYnkgYW5v dGhlciBwbHVyYWwgY29uc3RhbnQge2xvIGd1bm1hIGJlIGxvL2xlL2xhfSwgaXQgZG9lcyBub3Qg cmVmZXIgZGlyZWN0bHkgdG8gcmVmZXJlbnQgb2Yge2xvIGJyb2RhfSBvciB7bG8gUEEgJydzdW10 aScnfSwgYnV0IHJlZmVyZW50IG9mIHtsbyBndW5tYX0uIFRoZXJlZm9yZSwgZXZlbiBpZiB7bG8g YnJvZGF9IG9yIHtsbyBQQSAnJ3N1bXRpJyd9IGlzIG5vdCBhbiBpbmRpdmlkdWFsLCB7bG9pIGJy b2RhfSBvciB7bG9pIFBBICcnc3VtdGknJ30gY2FuIGJlIGFuIGluZGl2aWR1YWwge2xvIGd1bm1h fSB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbjoKCl5ybydvaSBkYSBwb2kga2UnYSBtZSBs byBndW5tYSBiZSBsby9sZS9sYSBbW1BBXSBicm9kYSB6byd1IGxvIGd1bm1hIGJlIGxvL2xlL2xh IFtbUEFdIGJyb2RhIGN1IG1lIGRhfnBwfgoKfi9wcH5ybydvaSBkYSBwb2kga2UnYSBtZSBsbyBn dW5tYSBiZSBsby9sZS9sYSBQQSAnJ3N1bXRpJycgem8ndSBsbyBndW5tYSBiZSBsby9sZS9sYSBQ QSAnJ3N1bXRpJycgY3UgbWUgZGFeCgoKCjtfX2xvJ2lfXyAoTEUpLCBfX2xlJ2lfXyAoTEUpLCBf X2xhJ2lfXyAoTEEpOiB7bG8naS9sZSdpL2xhJ2kgYnJvZGF9IHJlZmVycyB0byBhIHNldCBvciBz ZXRzIG9mIGluZGl2aWR1YWwocykgdGhhdCBjb25zdGl0dXRlKHMpIGEgcGx1cmFsIGNvbnN0YW50 IHtsby9sZS9sYSBicm9kYX0uIEJlY2F1c2Uge2xvJ2kvbGUnaS9sYSdpfSBmb3JtcyBhIHNldCBv ciBzZXRzLCBpdCBpcyBkZWZpbmVkIG9ubHkgd2hlbiBpdHMvdGhlaXIgbWVtYmVyKHMpIHtsby9s ZS9sYSBicm9kYX0gaXMvYXJlIGFuIGluZGl2aWR1YWwgb3IgaW5kaXZpZHVhbHMuIEEgc2V0IGl0 c2VsZiBpcyBhbHdheXMgYW4gaW5kaXZpZHVhbCwgYW5kIHNldHMgYXJlIGFsd2F5cyBpbmRpdmlk dWFsczogdGhlcmUgaXMgbm8gc2V0IHRoYXQgaXMgbm90IGFuIGluZGl2aWR1YWwuCgp8fAoKbG8n aSBbW1BBXSBicm9kYSB+aHN+fH5oc34gbG8gc2VsY21pIGJlIGxvIFtbUEFdIGJyb2RhCgpsZSdp IFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBzZWxjbWkgYmUgbGUgW1tQQV0gYnJvZGEKCmxhJ2kg W1tQQV0gYnJvZGEgfmhzfnx+aHN+IGxvIHNlbGNtaSBiZSBsYSBbW1BBXSBicm9kYQoKbG8naSBQ QSAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvIHNlbGNtaSBiZSBsbyBQQSAnJ3N1bXRpJycKCmxlJ2kg UEEgJydzdW10aScnIH5oc358fmhzfiBsbyBzZWxjbWkgYmUgbGUgUEEgJydzdW10aScnCgpsYSdp IFBBICcnc3VtdGknJyB+aHN+fH5oc34gbG8gc2VsY21pIGJlIGxhIFBBICcnc3VtdGknJwoKfHwK CkJlY2F1c2Uge2xvJ2kvbGUnaS9sYSdpfSBpcyBkZWZpbmVkIGJ5IGFub3RoZXIgcGx1cmFsIGNv bnN0YW50IHtsbyBzZWxjbWkgYmUgbG8vbGUvbGF9LCBpdCBkb2VzIG5vdCByZWZlciBkaXJlY3Rs eSB0byByZWZlcmVudCBvZiB7bG8gYnJvZGF9IG9yIHtsbyBQQSAnJ3N1bXRpJyd9LCBidXQgcmVm ZXJlbnQgb2Yge2xvIHNlbGNtaX0uCgoKCkFuIGVtcHR5IHNldCBpcyB7bG8gc2VsY21pIGJlIG5v IGRhfSwgYW5kIGFuIGV4cHJlc3Npb24ge2xvIG5vIGJyb2RhfSBpcyBvZmZpY2lhbGx5IG1lYW5p bmdsZXNzIChzZWUgKCh8I0lubmVyX3F1YW50aWZpY2F0aW9ufFNlY3Rpb24gMy4xKSkuIFRoaXMg aW1wbGllcyB0aGF0IGFuIGVtcHR5IHNldCBjYW5ub3QgYmUgZXhwcmVzc2VkIHdpdGgge2xvJ2kv bGUnaS9sYSdpfS4gCgoKCiEhISMgSW5uZXIgcXVhbnRpZmljYXRpb24KCigoQlBGSyBTZWN0aW9u OiBnYWRyaXxCUEZLIGRlZmluZXMgaW5uZXIgcXVhbnRpZmljYXRpb24pKSBhcyBmb2xsb3dzOgoK fHwKCmxvIFtbUEFdIGJyb2RhIH5oc358fmhzfiB6bydlIG5vaSBrZSdhIGJyb2RhIFtbZ2knZSB6 aWxrYW5jdSBsaSBQQSBsbyBicm9kYV0KCmxvIFBBICcnc3VtdGknJyB+aHN+fH5oc34gbG8gUEEg bWUgJydzdW10aScnCgp8fAoKVGhhdCBpcyB0byBzYXksIGlubmVyIHF1YW50aWZpZXIgbWVhbnMg bnVtYmVyIG9mIHJlZmVyZW50IGNvdW50ZWQgYnkgdW5pdCB7bG8gYnJvZGF9IG9yIHtsbyBtZSAn J3N1bXRpJyd9IHRoYXQgaXMgeDMgb2Yge3ppbGthbmN1fS4gCgpIb3dldmVyLCBpbnN0ZWFkIG9m IHt6aWxrYW5jdX0sIHRoZSBtZWFuaW5nIG9mIHdoaWNoIGlzIHRvbyB2YWd1ZSBmb3IgZGVmaW5p dGlvbiwgW2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZC9tc2cvbG9qYmFuL1JBdEU3WWstZHF3 L3hpMmg2QTE3Q3VzSnxhbiBpZGVhIG9mIHJlZGVmaW5pdGlvbiB1c2luZyB7bWVpfSB3YXMgc3Vn Z2VzdGVkXSBhcyBmb2xsb3dzOgoKCgo7QXhpb20gMTogcm8nb2kgZGEgc3UnbyBwYSBtZWkKCjtE ZWZpbml0aW9uOnx8CgooRDEpIGtvJ2Egc3UnbyBOIG1laSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+ aHN+IHN1J29pIGRhIHBvaSBtZSBrbydhIGt1J28gc3Unb2kgZGUgcG9pIG1lIGtvJ2Egem8ndSBn ZSBkYSBzdSdvIE4tMSBtZWkgZ2luYWkgZGUgbWUgZGEKCihEMikga28nYSBOIG1laSB+aHN+fH5o c34gPWNhJ2Ugfmhzfnx+aHN+IGtvJ2Egc3UnbyBOIG1laSBnaSdlIG5haSBzdSdvIE4rMSBtZWkg CgooRDMpIGxvIFBBIGJyb2RhIH5oc358fmhzfiA9Y2EnZSB+aHN+fH5oc34gem8nZSBub2kga2Un YSBQQSBtZWkgZ2knZSBicm9kYQoKfHwKCgoKVXNpbmcgdGhlc2UgZGVmaW5pdGlvbnMgYW5kIEF4 aW9tIDEsIHRoZSBmb2xsb3dpbmcgdGhlb3JlbSB3aWxsIGJlIHByb3ZlZC4KCl5JZiBhbmQgb25s eSBpZiB7a28nYSBwYSBtZWl9LCB7a28nYX0gaXMgYW4gaW5kaXZpZHVhbC5eCgoKCjtQcm9vZjog KEQyKSBpcwoKfHwKCmtvJ2EgTiBtZWkJfD18IGtvJ2Egc3UnbyBOIG1laSBnaSdlIG5haSBzdSdv IE4rMSBtZWkgCgoJCXw9fCBnZSBrbydhIHN1J28gTiBtZWkgLS0tLS0oUzEpCgoJCXwgfCBnaSBu YWt1IGtvJ2Egc3UnbyBOKzEgbWVpIC0tLS0tKFMyKQoKfHwKCkFwcGx5aW5nIChEMSkgdG8gKFMy KSwgCgp8fAoKKFMyKQkJfD18IG5ha3Ugc3Unb2kgZGEgcG9pIG1lIGtvJ2Ega3UnbyBzdSdvaSBk ZSBwb2kgbWUga28nYSB6byd1IAoKCQl8IHwgZ2UgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpbmFp IGRlIG1lIGRhCgoJCXw9fCBybydvaSBkYSBwb2kgbWUga28nYSBrdSdvIHJvJ29pIGRlIHBvaSBt ZSBrbydhIHpvJ3UKCgkJfCB8IG5ha3UgZ2UgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpIG5ha3Ug ZGUgbWUgZGEKCgkJfD18IHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1J28gcm8nb2kgZGUgcG9pIG1l IGtvJ2Egem8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpIGRlIG1lIGRh Cgp8fAoKKEQyKSBpcyB0aGVyZWZvcmUKCnx8CgprbydhIE4gbWVpCXw9fCBnZSAoUzEpIGdpIChT MikgCgoJCXw9fCBnZSBrbydhIHN1J28gTiBtZWkKCgkJfCB8IGdpIHJvJ29pIGRhIHBvaSBtZSBr bydhIGt1J28gcm8nb2kgZGUgcG9pIG1lIGtvJ2Egem8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBO IG1laSAKCgkJfCB8IGdpIGRlIG1lIGRhCgp8fAoKV2hlbiBOPTEsCgp8fAoKa28nYSBwYSBtZWkJ fD18IGdlIGtvJ2Egc3UnbyBwYSBtZWkKCgkJfCB8IGdpIHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1 J28gcm8nb2kgZGUgcG9pIG1lIGtvJ2Egem8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBwYSBtZWkg CgoJCXwgfCBnaSBkZSBtZSBkYSAKCnx8CgpCZWNhdXNlIG9mIEF4aW9tIDEsIGl0IGltcGxpZXMK Cnx8CgprbydhIHBhIG1laQl8PXwgcm8nb2kgZGEgcG9pIG1lIGtvJ2Ega3UnbyBybydvaSBkZSBw b2kgbWUga28nYSB6byd1IGRlIG1lIGRhCgp8fAoKVGhlIHJpZ2h0IHNpZGUgaW1wbGllcyB7cm8n b2kgZGEgcG9pIGtlJ2EgbWUga28nYSB6byd1IGtvJ2EgbWUgZGF9LCB3aGljaCBpcyB0aGUgY29u ZGl0aW9uIGZvciAie2tvJ2F9IGlzIGFuIGluZGl2aWR1YWwiLiBJdHMgY29udmVyc2UgaXMgYWxz byB0cnVlLgoKUS5FLkQuCgoKClRoZSBkaWFncmFtIGJlbG93IHNob3dzIGEgcHJvY2VkdXJlIG9m IGNvdW50aW5nIHNvbWV0aGluZyB1cCB0byBmb3VyIHJlcHJlc2VudGVkIHdpdGggYSBkaXJlY3Rl ZCBncmFwaC4gSW4gdGhpcyBkaWFncmFtLCBsb29wcyBzdWNoIGFzIHtYIG1lIFh9IGFyZSBvbWl0 dGVkIGZvciBzaW1wbGljaXR5LCB0aG91Z2ggdGhleSBleGlzdC4gQ291bnRpbmcgdXAgY29ycmVz cG9uZHMgdG8gc2VsZWN0aW5nIGEgc3ViZ3JhcGggb2YgYSBkaXJlY3RlZCBncmFwaCBmb3JtZWQg d2l0aCB7bWV9OiB0aGUgc3ViZ3JhcGggdGhhdCBoYXMgYSBmb3JtIG9mIHRyZWUgdGhhdCBpbmNs dWRlcyBhbGwgbGVhdmVzIChjb25zdGFudHMgZWFjaCBvZiB3aGljaCBpcyBhbiBpbmRpdmlkdWFs KSB0byBiZSBjb3VudGVkLCBmb3IgZXhhbXBsZSB0aGUgcGFydCBvZiBtYWdlbnRhIGNvbG9yIGlu IHRoZSBkaWFncmFtLgoKCgp7aW1nIGZpbGVJZD0iMTAiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9 CgoKCiEhISEjIFJlcGVhdGluZyBpbm5lciBxdWFudGlmaWNhdGlvbgoKQmVjYXVzZSB7bG8gUEEg JydzdW10aScnfSBpcyBkZWZpbmVkLCB3ZSBjYW4gcmVwZWF0IGlubmVyIHF1YW50aWZpY2F0aW9u IHRvIGZvcm0gYW4gYXJndW1lbnQuCgpeCgo7RXhhbXBsZTogbG8gbXVsbm8ga2FyZHlncmkgY3Ug Z3VubWEgbG8gdm8gbG9pIHBhY2kga2FyZGEgfmhzfiAnJ0EgZnVsbCBkZWNrIGNvbnNpc3RzIG9m IGZvdXIgZ3JvdXBzIG9mIHRoaXJ0ZWVuIGNhcmRzLicnCgo7OiBzdSdvIGRhIHpvJ3UgbG9pIHJl IGxvJ2kgcm8gbW9rY2Egbm9pIHNlcGxpIHB5IG5vaSBtb2tjYSBrdSdvIGRhIGN1IHJlbGN1a3Rh aSB+aHN+ICcnVHdvIHNldHMgb2YgcG9pbnRzIHRoYXQgYXJlIGVxdWlkaXN0YW50IGZyb20gYSBw b2ludCBQIGlzIGEgZG91YmxlIGNpcmNsZS4nJ14KCgoKISEhISMgUHJvYmxlbXMgb24gaW5uZXIg cXVhbnRpZmljYXRpb24KCiEhISEhIyBDYW5ub3Qgc2F5IHplcm8KCgoKQmVjYXVzZSBhbiBhcmd1 bWVudCBmb3JtZWQgYnkgZ2FkcmkgaXMgYSBwbHVyYWwgY29uc3RhbnQsIHtsbyBicm9kYX0gaW1w bGllcyB7c3Unb2kgZGEgem8ndSBkYSBicm9kYX0gYWNjb3JkaW5nIHRvIHRoZSBsb2dpY2FsIGF4 aW9tIG9uIHBsdXJhbCBjb25zdGFudCBzaG93biBpbiAoKHwjQV9sb2dpY2FsX2F4aW9tX29uX3Bs dXJhbF9jb25zdGFudHxTZWN0aW9uIDIuMi42KSkuIFRoYXQgaXMgdG8gc2F5LCB0aGUgZXhwcmVz c2lvbiB7bG8gbm8gYnJvZGF9IGltcGxpZXMgInRoZXJlIGFyZSB3aGF0IGFyZSBicm9kYSwgd2hp Y2ggYXJlIGNvdW50ZWQgMCIsIHdoaWNoIHNlZW1zIG1lYW5pbmdsZXNzLgoKCgpUaGlzIG1lYW5z IHRoYXQgb2ZmaWNpYWwgTG9qYmFuIGNhbm5vdCBleHByZXNzIG5lZ2F0aW9uIG9mIGV4aXN0ZW5j ZSBvZiBwbHVyYWwgdmFyaWFibGUge25ha3Ugc3Unb2kgZGF9LCB3aGljaCBpcyBuZXZlcnRoZWxl c3MgbmVjZXNzYXJ5LCBmb3IgZXhhbXBsZSBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbjoKCgoK XiBsbyB4byBwcmVudSBjdSBqbWFqaSBnaSdlIGp1a3BhIGdpJ2UgY2l0a2Egfmhzfn4tLX4gbm9+ cHB+Cgp+L3BwficnIkhvdyBtYW55IHBlb3BsZSBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGU/IiAi emVyby4iJydeCgoKClRoaXMgcmVzcG9uc2UgaXMgYW4gYWJicmV2aWF0ZWQgZm9ybSBvZiB7bG8g bm8gcHJlbnUgY3Ugam1hamkgZ2knZSBqdWtwYSBnaSdlIGNpdGthfS4KCgoKVGhpcyBwcm9wb3Np dGlvbiBtZWFucyB0aGF0IHtsbyBubyBwcmVudX0gc2F0aXNmaWVzIHNlbGJyaSB7am1haml9IGNv bGxlY3RpdmVseSBhbmQgKGplKSBub24tZGlzdHJpYnV0aXZlbHksIHtqdWtwYX0gY29sbGVjdGl2 ZWx5IG9yIChqYSkgZGlzdHJpYnV0aXZlbHksIHtjaXRrYX0gbm9uLWNvbGxlY3RpdmVseSBhbmQg KGplKSBkaXN0cmlidXRpdmVseS4gQmVjYXVzZSBpdCBpbmNsdWRlcyBzZWxicmkge2ptYWppfSB0 byBiZSBzYXRpc2ZpZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5LCB0aGUgc3VtdGkgY2Fubm90IGJlIHJl cGxhY2VkIGJ5IG5lZ2F0aW9uIG9mIGV4aXN0ZW5jZSBvZiBib3VuZCBzaW5ndWxhciB2YXJpYWJs ZSB7bmFrdSBzdSdvIGRhfT17bm8gZGF9LiBNb3Jlb3ZlciwgYmVjYXVzZSBpdCBpbmNsdWRlcyBz ZWxicmkge2NpdGthfSB0byBiZSBzYXRpc2ZpZWQgbm9uLWNvbGxlY3RpdmVseSwge2xvfSBvZiB0 aGUgc3VtdGkgY2Fubm90IGJlIHJlcGxhY2VkIGJ5IHtsb2l9PXtsbyBndW5tYSBiZSBsb30uCgoK CkZvciBtYWtpbmcgc3VjaCBhIHByb3Bvc2l0aW9uIG1lYW5pbmdmdWwsIGl0IGlzIGVzc2VudGlh bCB0byBnaXZlIGFuIGV4cHJlc3Npb24ge2xvIG5vIGJyb2RhfSBhIG1lYW5pbmcgb2YgbmVnYXRp b24gb2YgZXhpc3RlbmNlIG9mIHBsdXJhbCB2YXJpYWJsZS4KCkZvciB0aGlzIHB1cnBvc2UsIEkg c3VnZ2VzdCB0aGUgZm9sbG93aW5nIGRlZmluaXRpb24gdmFsaWQgaW4gdGhlIGNhc2UgdGhhdCBQ QT0wIGZvciB7bG8gUEEgYnJvZGF9LgoKO1Vub2ZmaWNpYWwgZGVmaW5pdGlvbiBvZiB7bG8gbm8g YnJvZGF9Onx8CgpsbyBubyBicm9kYSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IG5ha3Ugc3Un b2kgZGEgcG9pIGtlJ2EgYnJvZGEKCnx8CgoKCu+8iElmIGl0IHdlcmUgZGVmaW5lZCBhcyB7bmFr dSBsbyBicm9kYX0sIHRoZSBuZWdhdGlvbiB3b3VsZCBoYXZlIHNwYW5uZWQgdGhlIHdob2xlIHBy b3Bvc2l0aW9uLCBhbmQgaXQgd291bGQgbm90IGhhdmUgaW1wbGllZCBxdWFudGlmaWNhdGlvbi4g SSBhYmFuZG9uZWQgdGhlcmVmb3JlIHN1Y2ggYSBkZWZpbml0aW9uLikKCgoKISEhISEjIENhbm5v dCBxdWFudGlmeSBtYXRlcmlhbCBub3VuIG9yIHNvbWV0aGluZwoKQXhpb20gMSBvZiAoKHwjSW5u ZXJfcXVhbnRpZmljYXRpb258U2VjdGlvbiAzLjEpKSBleGNsdWRlcyBzdW10aSB0aGF0IGlzIG5l aXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgZnJvbSBleHByZXNzaW9ucyB7KHN1 J28pIE4gbWVpfSBhbmQge2xvIE4gYnJvZGF9LgoKCgpDYW4gd2UgdXNlIHtwaVBBfSBmb3Igc3Vt dGkgdGhhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzLCB0aGVuPyBO by4KCigoQlBGSyBTZWN0aW9uOiBnYWRyaXxBY3R1YWxseSwgcGlQQSBpcyBkZWZpbmVkIG9ubHkg Zm9yIG91dGVyIHF1YW50aWZpY2F0aW9uLikpCgp8fAoKcGlQQSAnJ3N1bXRpJycgfmhzfnx+aHN+ IGxvIHBpUEEgc2knZSBiZSBwYSBtZSAnJ3N1bXRpJycKCnx8CgpBcyB3ZSBjYW4gc2VlIGluIHRo ZSBkZWZpbml0aW9uLCB0aGUgYm9keSBvZiBvdXRlciBxdWFudGlmaWNhdGlvbiBieSB7cGlQQX0g aXMgcGx1cmFsIGNvbnN0YW50IHtsbyBwaVBBIHNpJ2V9LCB3aGljaCBpcyBub3QgYSBib3VuZCBz aW5ndWxhciB2YXJpYWJsZS4gSG93ZXZlciwgeDIgb2Yge3BpUEEgc2knZX0gaXMge3BhIG1lICcn c3VtdGknJ30sIHRvIHdoaWNoICgoQlBGSyBTZWN0aW9uOiBnYWRyaXx0aGUgZGVmaW50aW9uIG9m IFBBIGJyb2RhKSkgaXMgYXBwbGllZDoKCnx8CgpQQSBicm9kYSB+aHN+fH5oc34gUEEgZGEgcG9p IGJyb2RhIAoKfHwKCkFzIGEgcmVzdWx0LCB7cGlQQSAnJ3N1bXRpJyd9IGlzIGRlZmluZWQgb25s eSB3aGVuIHRoZXJlIGlzIGFuIGluZGl2aWR1YWwgdGhhdCBzYXRpc2ZpZXMgeDEgb2Yge21lICcn c3VtdGknJ30uIFRoYXQgaXMgdG8gc2F5LCB3aGF0IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBu b3IgaW5kaXZpZHVhbHMgaXMgZXhjbHVkZWQgYWxzbyBmcm9tIGFuIGV4cHJlc3Npb24gb2Ygb3V0 ZXIgcXVhbnRpZmljYXRpb24gd2l0aCB7cGlQQX0uCgoKCldoYXQgd291bGQgYmUgaWYge3BpUEF9 IHdlcmUgZGVmaW5lZCBhbHNvIGZvciBpbm5lciBxdWFudGlmaWNhdGlvbj8KCkluIHRoYXQgY2Fz ZSwgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9uIHdvdWxkIGJlIGRlc2lyYWJsZSB0byBjb25mb3Jt IHRoZSBkZWZpbml0aW9uIG9mIHtwaVBBfSBvZiBvdXRlciBxdWFudGlmaWNhdGlvbjoKCjsgVW5v ZmZpY2lhbCBkZWZpbml0aW9uIG9mIHtwaVBBfSBvZiBpbm5lciBxdWFudGlmaWNhdGlvbjp8fAoK bG8gcGlQQSBicm9kYSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IHpvJ2Ugbm9pIGtlJ2EgcGlQ QSBzaSdlIGJlIGxvIHBhIGJyb2RhCgp8fAoKVGhpcyBkZWZpbml0aW9uIG9mIHtwaVBBfSBvZiBp bm5lciBxdWFudGlmaWNhdGlvbiBzdGlsbCBleGNsdWRlcyB3aGF0IGlzIG5laXRoZXIgYW4gaW5k aXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgdW5sZXNzIHtsbyBwYSBicm9kYX0gaXMgZGVmaW5lZCBp biBhbm90aGVyIHdheSBzbyB0aGF0IGl0IGNhbiBiZSB3aGF0IGlzIG5laXRoZXIgYW4gaW5kaXZp ZHVhbCBub3IgaW5kaXZpZHVhbHMuCgoKCldoeSBkb24ndCB3ZSB1c2Uge1BBIHNpJ2V9IHRvIGV4 cHJlc3MgcXVhbnRpZmljYXRpb24gb2Ygd2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9y IGluZGl2aWR1YWxzPyAKCkl0IGlzIHBvc3NpYmxlLCBidXQgKChCUEZLIFNlY3Rpb246IE51bWVy aWMgc2VsYnJpfEJQRksncyBjdXJyZW50IGRlZmluaXRpb24gb2Yge3NpJ2V9KSkgZGVwZW5kcyBv biB7cGFnYnV9OgoKfHwKCngxIG51bWJlciBzaSdlIHgyIH5oc358fmhzfiB4MSBwYWdidSB4MiBn aSdlIGtsYW5pIGxpIG51bWJlciBsbyBzZSBncmFkdSBiZSB4MgoKfHwKCklmIHdlIGludGVycHJl dCB7cGFnYnV9IHNvIHRoYXQgeDEgaXMgbm90IGxhcmdlciB0aGFuIHgyIChhbmQgdGhpcyBpcyBv cmRpbmFyeSBpbnRlcnByZXRhdGlvbiksIFtodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2QvbXNn L2xvamJhbi9SQXRFN1lrLWRxdy9uVWJaaXdtQjJNMEp8e3NpJ2V9IGlzIHZlcnkgaW5jb252ZW5p ZW50IGJlY2F1c2UgdGhlIHVuaXQgc2hvdWxkIGJlIGNoYW5nZWQgZXZlcnkgdGltZSBjb3VudGlu ZyB1cC5dIElmIHtzaSdlfSB3ZXJlIGRlZmluZWQgc28gdGhhdCBQQSBvZiB7UEEgc2knZX0gY291 bGQgYmUgbGFyZ2VyIHRoYW4gMSwge3NpJ2V9IHdvdWxkIGhhdmUgYmVlbiBwcmFnbWF0aWMgZm9y IHF1YW50aWZpY2F0aW9uIG9mIHdoYXQgaXMgbmVpdGhlciBhbiBpbmRpdmlkdWFsIG5vciBpbmRp dmlkdWFscy4KCgoKQmVzaWRlcyB0aG9zZSBjb25zaWRlcmF0aW9ucywgaWYgd2UgYWJhbmRvbiBB eGlvbSAxIG9mICgofCNJbm5lcl9xdWFudGlmaWNhdGlvbnxTZWN0aW9uIDMuMSkpLCBEZWZpbml0 aW9ucyAoRDEpIChEMikgKEQzKSBjYW4gYmUgYXBwbGllZCB0byB3aGF0IGlzIG5laXRoZXIgYW4g aW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMuCgpJbiB0aGlzIGNhc2UsIGEgc3BlYWtlciBzaG91 bGQgc2VsZWN0IHNvbWUgcGx1cmFsIGNvbnN0YW50cyB7a28nYSwga28nZSwgLi4ufSwgYW5kIGRl Y2lkZSB0aGF0IHtbW2tvJ2Eva28nZS8uLi5dIHN1J28gcGEgbWVpfTsgdGhlIHNlbGVjdGlvbiBt dXN0IGJlIGRvbmUgYXR0ZW50aXZlbHkgc28gdGhhdCByZWZlcmVudHMgb2YgcGx1cmFsIGNvbnN0 YW50cyB0aGF0IGFyZSB7cGEgbWVpfSBkbyBub3Qgb3ZlcmxhcCB3aXRoIGVhY2ggb3RoZXIuCgpU aG9zZSBwcmVwYXJhdGlvbnMgb2Yge2tvJ2EsIGtvJ2UsIC4uLn0gYW5kIChEMikgaW1wbHkgb25s eQoKfHwKCmdhbmFpIFtba28nYS9rbydlLy4uLl0gcGEgbWVpIAoKZ2kgcm8nb2kgZGUgcG9pIG1l IFtba28nYS9rbydlLy4uLl0gem8ndSBkZSBtZSBbW2tvJ2Eva28nZS8uLi5dCgp8fAoKVW5kZXIg dGhlc2UgY29uZGl0aW9ucywgdGhlcmUgaXMgbm8gbmVlZCB0aGF0IHdoYXQgaXMgeDEgb2Yge3Bh IG1laX0gaXMgYW4gaW5kaXZpZHVhbC4KCgoKV2hlbiB3ZSB1c2UgRGVmaW5pdGlvbnMgKEQxKSAo RDIpIChEMykgd2l0aG91dCB1c2luZyBBeGlvbSAxIG9mICgofCNJbm5lcl9xdWFudGlmaWNhdGlv bnxTZWN0aW9uIDMuMSkpLCBhIGNvbmRpdGlvbiB7Z2knZSBzdSdvIHBhIG1laX0gbXVzdCBiZSBh ZGRlZCB0byB7ZGV9IG9mIChEMSnvvIhXaGVuIEF4aW9tIDEgaXMgdXNlZCwgcmVmZXJlbnRzIGlu IHRoZSBkb21haW4gb2YgdmFyaWFibGUge2RlfSBzYXRpc2ZpZXMgdGhpcyBjb25kaXRpb24gYXV0 b21hdGljYWxseSkuIAoKO1Vub2ZmaWNpYWwgZGVmaW5pdGlvbnMgdW5kZXIgdGhlIGNvbmRpdGlv biB0aGF0IEF4aW9tIDEgaXMgYWJhbmRvbmVkOnx8CgooRDEnKSBrbydhIHN1J28gTiBtZWkgfmhz fnx+aHN+ID1jYSdlIH5oc358fmhzfiBzdSdvaSBkYSBwb2kgbWUga28nYSBrdSdvIHN1J29pIGRl IHBvaSBtZSBrbydhIGdpJ2Ugc3UnbyBwYSBtZWkgem8ndSBnZSBkYSBzdSdvIE4tMSBtZWkgZ2lu YWkgZGUgbWUgZGEKCihEMikga28nYSBOIG1laSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IGtv J2Egc3UnbyBOIG1laSBnaSdlIG5haSBzdSdvIE4rMSBtZWkgCgooRDMpIGxvIFBBIGJyb2RhIH5o c358fmhzfiA9Y2EnZSB+aHN+fH5oc34gem8nZSBub2kga2UnYSBQQSBtZWkgZ2knZSBicm9kYQoK fHwKClVzaW5nIHRoZXNlIGRlZmluaXRpb25zLCBpbm5lciBxdWFudGlmaWNhdGlvbiBvZiB3aGF0 IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgYmVjb21lcyBwb3NzaWJs ZS4gTW9yZW92ZXIsICJVbm9mZmljaWFsIGRlZmluaXRpb24gb2Yge3BpUEF9IG9mIGlubmVyIHF1 YW50aWZpY2F0aW9uIiBkaXNjdXNzZWQgYWJvdmUgYmVjb21lcyBhYmxlIHRvIGJlIGFwcGxpZWQg dG8gd2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzLgoKCgpUaGUg ZGlhZ3JhbSBiZWxvdyBzaG93cyBhIHByb2NlZHVyZSBvZiBjb3VudGluZyB1cCB3aGF0IGlzIG5l aXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgcmVwcmVzZW50ZWQgd2l0aCBhIGRp cmVjdGVkIGdyYXBoLiBJbiB0aGlzIGRpYWdyYW0sIGxvb3BzIHN1Y2ggYXMge1ggbWUgWH0gYXJl IG9taXR0ZWQgZm9yIHNpbXBsaWNpdHksIHRob3VnaCB0aGV5IGV4aXN0LiBBbW9uZyBpbmZpbml0 ZSBudW1iZXIgb2YgdmVydGljZXMgKHBsdXJhbCBjb25zdGFudHMpLCB0aGUgdmVydGljZXMgdGhh dCBhIHNwZWFrZXIgc2VsZWN0ZWQgYXMge3N1J28gcGEgbWVpfSBhcmUgY29sb3JlZCBwaW5rLiBD b3VudGluZyB1cCBjb3JyZXNwb25kcyB0byBzZWxlY3RpbmcgYSB0cmVlIHRoYXQgaXMgYSBzdWJn cmFwaCBvZiBhIGRpcmVjdGVkIGdyYXBoIGZvcm1lZCB3aXRoIHttZX0sIGZvciBleGFtcGxlIHRo ZSBwYXJ0IG9mIGJsdWUgY29sb3IgaW4gdGhlIGRpYWdyYW0uCgoKCntpbWcgZmlsZUlkPSI5IiB0 aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKCgohISEjIE91dGVyIHF1YW50aWZpY2F0aW9uCgooKEJQ RksgU2VjdGlvbjogZ2Fkcml8QlBGSyBkZWZpbmVzIG91dGVyIHF1YW50aWZpY2F0aW9uKSkgYXMg Zm9sbG93czoKCnx8CgpQQSAnJ3N1bXRpJycgfmhzfnx+aHN+IFBBIGRhIHBvaSBrZSdhIG1lICcn c3VtdGknJwoKUEEgYnJvZGEgfmhzfnx+aHN+IFBBIGRhIHBvaSBicm9kYSAKCnBpUEEgJydzdW10 aScnIH5oc358fmhzfiBsbyBwaVBBIHNpJ2UgYmUgcGEgbWUgJydzdW10aScnCgp8fAoKCgpPdXRl ciBxdWFudGlmaWNhdGlvbiBleGNlcHQge3BpUEF9IGZvcm1zIHtQQSBkYX0sIHdoaWNoIGlzIG9m ZmljaWFsbHkgYSBib3VuZCBzaW5ndWxhciB2YXJpYWJsZS4gSXQgaW1wbGllcyB0aGF0IHRoZXNl IGFyZ3VtZW50cyBzYXRpc2Z5IGEgcHJlZGljYXRlIF9fZGlzdHJpYnV0aXZlbHlfXy4gRm9yIGV4 YW1wbGUsIGl0IGlzIG1lYW5pbmdsZXNzIHRvIHVzZSB7Y2kgbG8gcHJlbnV9IGFzIHgxIG9mIHtq bWFqaX0gKGdhdGhlciksIGJlY2F1c2UgaXQgaXMgbm90IHRoZSBjYXNlIHRoYXQgZWFjaCBvZiB0 aHJlZSBwZW9wbGUgc2F0aXNmaWVzIHRoZSBwcmVkaWNhdGUgImdhdGhlciIuCgoKCkhvd2V2ZXIs IGlmIHdlIHVzZSB1bm9mZmljaWFsIHBsdXJhbCBxdWFudGlmaWVycyB7cm8nb2l9IG9yIHtzdSdv aX0gZm9yIFBBLCBvdXRlciBxdWFudGlmaWNhdGlvbiBjYW4gZm9ybSBib3VuZCBwbHVyYWwgdmFy aWFibGUuIEZvciBleGFtcGxlLAoKXnN1J29pIHByZW51IGN1IGptYWppIH5oc34gdGhlcmUgYXJl IHBlb3BsZSB3aG8gZ2F0aGVyLl4KClRoaXMgcHJvcG9zaXRpb24gaXMgaW1wbGllZCBieSBhIHBy b3Bvc2l0aW9uIGluY2x1ZGluZyBwbHVyYWwgY29uc3RhbnQKCl5sbyBwcmVudSBjdSBqbWFqaSB+ aHN+IFBlb3BsZSBnYXRoZXIuXgoKd2l0aCB0aGUgbG9naWNhbCBheGlvbSBpbiAoKHwjQV9sb2dp Y2FsX2F4aW9tX29uX3BsdXJhbF9jb25zdGFudHxTZWN0aW9uIDIuMi42KSkuCgoKCntQQSBsbyBi cm9kYX0gZGlmZmVycyBmcm9tIHtQQSBicm9kYX0gaW4gZG9tYWluIG9mIHJlZmVyZW50cyBvZiBi b3VuZCBzaW5ndWxhciB2YXJpYWJsZSB0byBiZSBjb3VudGVkLiBUaGUgZGVmaW5pdGlvbnMgb2Yg b3V0ZXIgcXVhbnRpZmljYXRpb24gYXJlIGFwcGxpZWQgdG8gdGhlbSBhcyBmb2xsb3dzOgoKfHwK ClBBIGxvIGJyb2RhIH5oc358fmhzfiBQQSBkYSBwb2kga2UnYSBtZSBsbyBicm9kYSB+aHN+fH5o c34gVGhlIGRvbWFpbiBvZiBib3VuZCBzaW5ndWxhciB2YWlhYmxlIGlzIGEgcmVmZXJlbnQgb2Yg cGx1cmFsIGNvbnN0YW50IHtsbyBicm9kYX0gaW4gdGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwg YW5kIGNvdW50ZWQgdG8gYmUgUEEKClBBIGJyb2RhIH5oc358fmhzfiBQQSBkYSBwb2kga2UnYSBi cm9kYSB+aHN+fH5oc34gVGhlIGRvbWFpbiBvZiBib3VuZCBzaW5ndWxhciB2YXJpYWJsZSBpcyBh bGwgdGhhdCBhcmUge2Jyb2RhfSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLCBhbmQgY291 bnRlZCB0byBiZSBQQQoKfHwKCgoKXgoKO0V4YW1wbGUgMTogcm8gam1pdmUgYmEgbW9yc2kgfmhz fiAnJ0FsbCBsaXZpbmcgdGhpbmdzIHdpbGwgZGllJycKCjtFeGFtcGxlIDI6IHJvIGxvIHByZW51 IHRpIGtsYW1hIH5oc34gJydBbGwgdGhlIHBlb3BsZSBjb21lIGhlcmUnJ14KCkV4YW1wbGUgMSBt ZW50aW9ucyBhbGwge2ptaXZlfSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLiBJbiB0aGUg dW5pdmVyc2Ugb2YgZGlzY291cnNlIG9mIEV4YW1wbGUgMiwgaXQgaXMgcG9zc2libGUgdG8gaW50 ZXJwcmV0IHRoYXQgdGhlcmUgYXJlIHtwcmVudX0gb3RoZXIgdGhhbiB0aGUgcmVmZXJlbnQgb2Yg dGhlIHBsdXJhbCBjb25zdGFudCB7bG8gcHJlbnV9LgoKCgpUaGUgb3V0ZXIgcXVhbnRpZmljYXRp b24gYnkge3BpUEF9IGZvcm1zIHBsdXJhbCBjb25zdGFudCB7bG8gcGlQQSBzaSdlfS4gSG93ZXZl ciwgeDIgb2Yge3BpUEEgc2knZX0gaXMgYm91bmQgc2luZ3VsYXIgdmFyaWFibGUge3BhIG1lICcn c3VtdGknJ30uIHtwaX0gaW4gdGhpcyBkZWZpbml0aW9uIG1lYW5zICJub3QgbGFyZ2VyIHRoYW4g MSI7IHByYWN0aWNhbGx5LCB7ZmkndX0gb3Igc29tZXRoaW5nIGNhbiBiZSB1c2VkIGluc3RlYWQg b2Yge3BpfQoKCgohISEhIyBDb21iaW5hdGlvbiBvZiBvdXRlciBhbmQgaW5uZXIgcXVhbnRpZmlj YXRpb25zCgpUaGUgZGVmaW5pdGlvbnMgb2YgaW5uZXIgYW5kIG91dGVyIHF1YW50aWZpY2F0aW9u IGltcGx5IHRoZSBmb2xsb3dpbmcgaW50ZXJwcmV0YXRpb25zOgoKfHwKCk0gbG8gW1tOXSBicm9k YSB+aHN+fH5oc34gTSAod2hpY2ggc2F0aXNmaWVzIGEgcHJlZGljYXRlIGRpc3RyaWJ1dGl2ZWx5 KSBvZiB7bG8gYnJvZGF9IFtbdGhhdCBhcmUgTl0KCk0gbG9pIFtbTl0gYnJvZGEgfmhzfnx+aHN+ IE0gKHdoaWNoIHNhdGlzZmllcyBhIHByZWRpY2F0ZSBkaXN0cmlidXRpdmVseSkgb2Yge2xvIGd1 bm1hfSB0aGF0IGNvbnNpc3RzIG9mIHtsbyBicm9kYX0gW1t0aGF0IGFyZSBOXQoKTSBsbydpIFtb Tl0gYnJvZGEgfmhzfnx+aHN+IE0gKHdoaWNoIHNhdGlzZmllcyBhIHByZWRpY2F0ZSBkaXN0cmli dXRpdmVseSkgb2Yge2xvIHNlbGNtaX0gdGhhdCBjb25zaXN0cyBvZiB7bG8gYnJvZGF9IFtbdGhh dCBhcmUgTl0KCnBpIE0gbG8gW1tOXSBicm9kYSB+aHN+fH5oc34gUXVhbnRpdHkge3BpIE0gc2kn ZX0gb2YgYSBwYXJ0IG9mIG9uZSBvZiB7bG8gYnJvZGF9IFtbdGhhdCBhcmUgTl0KCnBpIE0gbG9p IFtbTl0gYnJvZGEgfmhzfnx+aHN+IFF1YW50aXR5IHtwaSBNIHNpJ2V9IG9mIGEgcGFydCBvZiBv bmUgb2Yge2xvIGd1bm1hfSB0aGF0IGNvbnNpc3RzIG9mIHtsbyBicm9kYX0gW1t0aGF0IGFyZSBO XQoKcGkgTSBsbydpIFtbTl0gYnJvZGEgfmhzfnx+aHN+IFF1YW50aXR5IHtwaSBNIHNpJ2V9IG9m IGEgcGFydCAoc3Vic2V0KSBvZiBvbmUgb2Yge2xvIHNlbGNtaX0gdGhhdCBjb25zaXN0cyBvZiB7 bG8gYnJvZGF9IFtbdGhhdCBhcmUgTl0KCnx8CgoKCkFtb25nIHRoZW0sIHtNIGxvIFtbTl0gYnJv ZGF9IGFuZCB7cGkgTSBsb2kgW1tOXSBicm9kYX0gY2FuIGV4cHJlc3Mgc29tZSBvZiBwbHVyYWwg bnVtYmVyIG9mIHRoaW5ncy4KCl4KCjtFeGFtcGxlIDE6IHJlIGxvIFtbY2ldIG1sYXR1IG1pIHZp c2thIH5oc34gJydUd28gW1tvZiB0aHJlZV0gY2F0cyBzZWUgbWUuJycKCjtFeGFtcGxlIDI6IHJl IGZpJ3UgY2kgbG9pIFtbdmVpIGNpIHBpJ2kgbnkgKHZlJ28pXSBtbGF0dSBtaSB2aXNrYSB+aHN+ ICcnVHdvIHRoaXJkIG9mIFtbM25dIGNhdHMgc2VlIG1lLicnXgoKCgp7cmUgbG8gW1tjaV0gbWxh dHV9IG9mIEV4YW1wbGUgMSByZWZlcnMgdG8gdHdvIGNhdHMgYW1vbmcgW1t0aHJlZV0gY2F0cyB0 aGF0IGFyZSByZWZlcmVudCBvZiB7bG8gW1tjaV0gbWxhdHV9LgoKSWYgdGhlIGlubmVyIHF1YW50 aWZpZXIge2NpfSBpcyBub3Qgc2FpZCwgaXQgaXMgdW5jbGVhciBob3cgbWFueSBjYXRzIGFyZSBy ZWZlcnJlZCB0byBieSB7bG8gbWxhdHV9OyBpbiBhbnkgY2FzZSB7cmUgbG8gbWxhdHV9IHJlZmVy cyB0byB0d28gb2YgdGhlbS4KCgoKSW4gRXhhbXBsZSAyLCB0aGUgYXJndW1lbnQgaXMgZm9ybWVk IGJ5IHtsb2l9LCBhbmQgdGhlIHJlZmVyZW50IGlzIGFjdHVhbGx5IHtsbyBndW5tYX0uIEV4cGFu ZGluZyBFeGFtcGxlIDIgYWNjb3JkaW5nIHRvIHRoZSBkZWZpbml0aW9ucyBvZiB7bG9pfSBhbmQg e3BpUEEgJydzdW10aScnfSwKCl4KCjtFeGFtcGxlIDItMTogbG8gcmUgZmkndSBjaSBzaSdlIGJl IHBhIG1lIGxvIGd1bm1hIGJlIGxvIFtbdmVpIGNpIHBpJ2kgbnkgKHZlJ28pXSBtbGF0dSBtaSB2 aXNrYV4KClRoYXQgaXMgdG8gc2F5LCB7cmUgZmkndSBjaSBsb2kuLi59IHJlZmVycyB0byB0d28g dGhpcmQgb2YgYW4gaW5kaXZpZHVhbCB7cGEgbWUgbG8gZ3VubWEuLi59LiBUaGlzIHtsbyBndW5t YX0gY29uc2lzdHMgb2Yge3ZlaSBjaSBwaSdpIG55ICh2ZSdvKX0gY2F0cy4gCgpJZiB0aGUgaW5u ZXIgcXVhbnRpZmllciBpcyBub3Qgc2FpZCwgaXQgaXMgdW5jbGVhciBob3cgbWFueSBjYXRzIGNv bnN0aXR1dGUge2xvIGd1bm1hfSB0aGF0IGlzIHtsb2kgbWxhdHV9OyBpbiBhbnkgY2FzZSB7cmUg ZmkndSBjaSBsb2kgbWxhdHV9IHJlZmVycyB0byB0d28gdGhpcmQgb2Yge2xvIGd1bm1hfS4gSG93 ZXZlciwgCgpecmUgZmkndSBjaSBsb2kgbWxhdHUgbWkgdmlza2FeCgppcyBtZWFuaW5nZnVsIG9u bHkgd2hlbiB7bG9pIG1sYXR1fSBjb25zaXN0cyBvZiAzbiBjYXRzLCBiZWNhdXNlIGl0IGlzIG5v dCBvcmRpbmFyeSB0byBpbnRlcnByZXQgdGhhdCBhIGZyYWdtZW50IG9mIGEgY2F0IHNhdGlzZmll cyB0aGUgcHJlZGljYXRlIHt2aXNrYX0uCgpBY2NvcmRpbmcgdG8gQlBGSydzIGRlZmluaXRpb24s IHtsb2l9IGNhbm5vdCBmb3JtIGEgcGx1cmFsIGNvbnN0YW50IHRoYXQgc2F0aXNmaWVzIGEgcHJl ZGljYXRlIG5vbi1jb2xsZWN0aXZlbHkuIElmIHlvdSB3YW50IHRvIG1lYW4gImNhdHMgc2VlIG1l IG5vbi1jb2xsZWN0aXZlbHkiLCBhdm9pZCB7bG9pfSwgb3IgdXNlIHtsdSdhfSwgd2hpY2ggd2ls bCBiZSBkaXNjdXNzZWQgaW4gKCh8I1JlbGF0aW9uX2JldHdlZW5fbHVfYV9sdV9vX2x1X2lfYW5k X2dhZHJpfFNlY3Rpb24gMy4zKSk6CgpebHUnYSByZSBmaSd1IGNpIGxvaSBtbGF0dSBtaSB2aXNr YV4KCgoKISEhIyBSZWxhdGlvbiBiZXR3ZWVuIGx1J2EsIGx1J28sIGx1J2kgYW5kIGdhZHJpCgoo KEJQRksgU2VjdGlvbjogSW5kaXJlY3QgUmVmZXJlcnN8QlBGSyBkZWZpbmVzKSkge2x1J2F9LCB7 bHUnb30sIHtsdSdpfSBvZiBMQWhFIGFzIGZvbGxvd3M6Cgp8fAoKbHUnYSAnJ3N1bXRpJycgfmhz fnx+aHN+IGxvIG1lICcnc3VtdGknJyB+aHN+fH5oc34gbG8gY21pbWEgYmUgJydzdW10aScnIFtb bm9pIHNlbGNtaV0KCmx1J28gJydzdW10aScnIH5oc358fmhzfiBsb2kgbWUgJydzdW10aScnCgps dSdpICcnc3VtdGknJyB+aHN+fH5oc34gbG8naSBtZSAnJ3N1bXRpJycKCnx8CgpIb3dldmVyLCBn dWVzc2luZyBmcm9tIHRoZSBFbmdsaXNoIGRlZmluaXRpb25zIG9uIHRoZSBzYW1lIHBhZ2UsIHRo ZSBkZWZpbml0aW9uIG9mIHtsdSdhfSBpcyB1bnNhdGlzZmFjdG9yeSwgYW5kIHRoYXQgb2Yge2x1 J299IGhhcyBzb21lIHByb2JsZW0uCgoKCntsdSdhfSBleHRyYWN0cyB4MiBvZiB7c2VsY21pfSBm cm9tIHN1bXRpIHRoYXQgaXMge2xvIHNlbGNtaX0sIGFuZCB4MiBvZiB7Z3VubWF9IGZyb20gc3Vt dGkgdGhhdCBpcyB7bG8gZ3VubWF9LiBNb3Jlb3Zlciwge2x1J2F9IG1ha2VzIGV4cGxpY2l0IHRo YXQgdGhlIHN1bXRpIHNhdGlzZmllcyBhIHByZWRpY2F0ZSBkaXN0cmlidXRpdmVseSBhbmQgbm9u LWNvbGxlY3RpdmVseS4gT24gdGhlIG90aGVyIGhhbmQsIGFjY29yZGluZyB0byB0aGUgZGVmaW5p dGlvbiBvZiB7bG99LCB7bG8gbWUgJydzdW10aScnfSBkb2VzIG5vdCBpbXBseSAiZGlzdHJpYnV0 aXZlbHkgYW5kIG5vbi1jb2xsZWN0aXZlbHkiLgoKCgp7bHUnb30gbWFrZXMgZXhwbGljaXQgdGhh dCB0aGUgc3VtdGkgc2F0aXNmaWVzIGEgcHJlZGljYXRlIG5vbi1kaXN0cmlidXRpdmVseSBhbmQg Y29sbGVjdGl2ZWx5LiBPbiB0aGUgb3RoZXIgaGFuZCwgYWNjb3JkaW5nIHRvIHRoZSBkZWZpbml0 aW9uIG9mIHtsb2l9LCB7bG9pIG1lICcnc3VtdGknJ30gc2F0aXNmaWVzIGEgcHJlZGljYXRlIGNv bGxlY3RpdmVseSwgYnV0IHN0aWxsIHVuY2xlYXIgaWYgaXQgZG9lcyBub24tZGlzdHJpYnV0aXZl bHkuIEZvciBjb25zaXN0ZW5jeSwgaXQgd291bGQgYmUgYmV0dGVyIHRvIGFkZCAie2xvaSBicm9k YX0gaW1wbGllcyB0aGF0IHJlZmVyZW50IG9mIHgxIG9mIGJyb2RhIGNvbGxlY3RpdmVseSBhbmQg bm9uLWRpc3RyaWJ1dGl2ZWx5IHNhdGlzZmllcyBhIHByZWRpY2F0ZSIgdG8gdGhlIGRlZmluaXRp b24gb2Yge2xvaX0uCgoKCkFzIGEgY29uY2x1c2lvbiBvZiB0aGlzIHNlY3Rpb24sIEkgc3VnZ2Vz dCB0byByZS1kZWZpbmUge2x1J2F9IGFzIGZvbGxvd3M6Cgo7IFVub2ZmaWNpYWwgZGVmaW5pdGlv biBvZiB7bHUnYX06fHwKCmx1J2EgJydzdW10aScnIH5oc358fmhzfiBsbyBjbWltYSBiZSAnJ3N1 bXRpJycgbm9pIHNlbGNtaSBrdSBvbmFpIGxvIHNlIGd1bm1hIGJlICcnc3VtdGknJyBub2kgZ3Vu bWEga3Ugb25haSBsbyBtZSAnJ3N1bXRpJycga3UgfnBwfgoKfi9wcH4gfmhzfiB2dSdvIG5vaSBz dSdvIGRhIHpvJ3UgZGEgbWUga2UnYSBnaSdlIG5vJ2EKCnx8CgpJbiB7bm9pfSBjbGF1c2UgYWZ0 ZXIge3Z1J299LCBpdCBpcyBtYWRlIGV4cGxpY2l0IHRoYXQgdGhlIHJlZmVyZW50IG9mIHtsdSdh ICcnc3VtdGknJ30gZGlzdHJpYnV0aXZlbHkgc2F0aXNmaWVzIHRoZSBzZW50ZW5jZSB0aGF0IGlu Y2x1ZGVzIHRoaXMgc3VtdGkuCgoKCiEhIyBOb3RlcwoKVGhpcyBzZWN0aW9uIGNvbnNpc3RzIG9m IG5vdGVzIG9mIHRoZSBhdXRob3IgZ3Vza2FudCwgYW5kIGl0IGlzIG5vdCBhdCBhbGwgaW1wb3J0 YW50IGZvciB1bmRlcnN0YW5kaW5nIGdhZHJpLgoKCgohISEjIEFib3V0IG9udG9sb2d5CgpeKChC UEZLIFNlY3Rpb246IGdhZHJpfCcnUG9zaXRpdmUgaW1wYWN0OiBTb21lIHVzYWdlcyB0aGF0IG1h a2UgbGl0dGxlIHNlbnNlIHdpdGgge2xvfT17c3Unb30gYmVjb21lIHZhbGlkYXRlZC4nJykpIGFj Y29yZGluZyB0byBCUEZLLl4KCgoKe2xvfT17c3Unb30gd2FzIGFiYW5kb25lZCwgYnV0IGJlY2F1 c2Ugb2YgdGhlIGZhY3QgdGhhdCB7bG8gYnJvZGF9IGlzIGEgcGx1cmFsIGNvbnN0YW50LCBhbmQg YmVjYXVzZSBvZiBhIGxvZ2ljYWwgYXhpb20gb2YgcGx1cmFsIGNvbnN0YW50IGluICgofCNBX2xv Z2ljYWxfYXhpb21fb25fcGx1cmFsX2NvbnN0YW50fFNlY3Rpb24gMi4yLjYpKSwge2xvIGJyb2Rh IGN1IGJyb2RlfSBpbXBsaWNpdGx5IGltcGxpZXMge3N1J29pIGRhIGJyb2RlfS4KCgoKISEhIyBj bGF4dSB4MgoKXigoQlBGSyBTZWN0aW9uOiBnYWRyaXxsZSBjbWFuYSBfX2xvX18gY2lkamEgYmEg Y2xheHUpKX5wcH4KCn4vcHB+ICAnJ0luIHRoZSBtb3VudGFpbnMgdGhlcmUgaXMgbm8gZm9vZC4n J35wcH4KCn4vcHB+KChsYXBvaSBwZWx4dSBrdSdvIHRyYWp5bm9ibGkpKV4KCgoKRXhwYW5kaW5n IHtsbyBjaWRqYX0sIAoKXmxlIGNtYW5hIHpvJ2Ugbm9pIGtlJ2EgY2lkamEga3UnbyBiYSBjbGF4 dV4KCkFjY29yZGluZyB0byAoKEJQRksgU2VjdGlvbjogU3Vib3JkaW5hdG9yc3x0aGUgZGVmaW5p dGlvbiBvZiB7bm9pfSkpLCAKCl5sZSBjbWFuYSB6bydlIHRvIHJpIHhpIHJhdSBjaWRqYSB0b2kg YmEgY2xheHVeCgpUaGUgcGFydCBiZXR3ZWVuIHt0b30gYW5kIHt0b2l9IGlzIGEgcGFyZW50aGV0 aWNhbCBleHByZXNzaW9uLiBUaGUgbWFpbiBwcm9wb3NpdGlvbiBpcyB0aHVzCgpebGUgY21hbmEg em8nZSBiYSBjbGF4dV4KCndoZXJlIHt6bydlfSBpcyBhIHBsdXJhbCBjb25zdGFudC4gQWNjb3Jk aW5nIHRvIHRoZSBsb2dpY2FsIGF4aW9tIG9mIHBsdXJhbCBjb25zdGFudCBpbiAoKHwjQV9sb2dp Y2FsX2F4aW9tX29uX3BsdXJhbF9jb25zdGFudHxTZWN0aW9uIDIuMi42KSksIFRoaXMgcHJvcG9z aXRpb24gaW1wbGllcyAKCl5zdSdvaSBkYSB6byd1IGxlIGNtYW5hIGRhIGJhIGNsYXh1XgoKd2hp Y2ggbWVhbnMgdGhhdCB0aGVyZSBpcyBhIHJlZmVyZW50IG9mICJ3aGF0IGlzIGxhY2tlZCBieSB0 aGUgbW91bnRhaW4iIGluIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuCgpUaGUgc3RyYW5nZW5l c3MgY29tZXMgZnJvbSB0aGUgZmFjdCB0aGF0IHgyIG9mIHtjbGF4dX0gX19hcHBhcmVudGx5X18g bWVhbnMgbm9uLWV4aXN0ZW5jZS4gV2UgY2FuIGludGVycHJldCBpdCBjb25zaXN0ZW50bHkgdGhh dCB7Y2xheHV9IG1lYW5zIG9ubHkgdGhhdCB0aGUgcmVmZXJlbnQgb2YgeDIgaXMgbm90IHBsYWNl ZCBhdCB0aGUgcmVmZXJlbnQgb2YgeDEsIGFuZCBpdCBzYXlzIG5vdGhpbmcgYWJvdXQgZXhpc3Rl bmN5IGluIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuIAoKCgohISEjIHpvJ2UgaXMgYSBwbHVy YWwgY29uc3RhbnQKCkFzc3VtaW5nIHRoYXQge3pvJ2V9IGNhbiBiZSBhbnkgb2YgZnJlZSB2YXJp YWJsZSwgYm91bmQgcGx1cmFsIHZhcmlhYmxlIG9yIHBsdXJhbCBjb25zdGFudCwgdGhlIGxhbmd1 YWdlIHdvdWxkIGJlIG1vcmUgcmVhc29uYWJsZSBmcm9tIGEgbG9naWNhbCBwb2ludCBvZiB2aWV3 LgoKSG93ZXZlciwgdGhpcyBpZGVhIHdhcyBjbGVhcmx5IGRlbmllZCBpbiBbaHR0cHM6Ly9ncm91 cHMuZ29vZ2xlLmNvbS9kL3RvcGljL2xvamJhbi9SQXRFN1lrLWRxdy9kaXNjdXNzaW9ufHRoZSBk aXNjdXNzaW9uXS4gVGhhdCBpcyB0byBzYXksIHt6bydlfSBpcyBhbHdheXMgYSBwbHVyYWwgY29u c3RhbnQgYWNjb3JkaW5nIHRvIHRoZSBvZmZpY2lhbCBpbnRlcnByZXRhdGlvbi4KCkkgd2lsbCBl eGFtaW5lIHRoZXNlIGNvbmZsaWN0aW5nIGlkZWFzLCBhbmQgdHJ5IHRvIHNvbHZlIHNvbWUgcHJv YmxlbXMgY2F1c2VkIGJ5IHRoZSBvZmZpY2lhbCBpbnRlcnByZXRhdGlvbiB0aGF0IHt6bydlfSBp cyBhIHBsdXJhbCBjb25zdGFudC4KCgoKISEhISMgSWYgem8nZSBjb3VsZCBiZSBhIGJvdW5kIHBs dXJhbCB2YXJpYWJsZQoKSSB3aWxsIGxpc3QgdXAgaGVyZSBtZXJpdHMgYW5kIGRlbWVyaXRzIG9m IGFzc3VtaW5nIHRoYXQge3pvJ2V9IGluIG5vIGNvbnRleHQgaXMgYSBmcmVlIHZhcmlhYmxlLCBh bmQgdGhhdCB0aGUgY29udGV4dCBkZXRlcm1pbmVzIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2Us IGJhc2VkIG9uIHdoaWNoIHt6bydlfSBpcyByZWdhcmRlZCBhcyBzdWJzdGl0dXRlZCBmb3IgYnkg YSBwbHVyYWwgY29uc3RhbnQsIG9yIGJvdW5kIGJ5IGEgcGx1cmFsIHF1YW50aWZpZXIuCgoKCiEh ISEhIyBNZXJpdHMKClVuZGVyIHRoaXMgYXNzdW1wdGlvbiwgdGhlcmUgaXMgbm8gbmVlZCB0byBl eGNsdWRlIHRoZSBjYXNlIFBBPTAgb2Yge2xvIFBBIGJyb2RhfSwgb3IgZ2l2ZSBpdCBhbiB1bm9m ZmljaWFsIGRlZmluaXRpb24gYXMgZGlzY3Vzc2VkIGluICgofCNDYW5ub3Rfc2F5X3plcm98U2Vj dGlvbiAzLjEuMi4xKSkuIEl0IGlzIGJlY2F1c2UgaWYge2xvIFBBIGJyb2RhfSBpbiBubyBjb250 ZXh0IGlzIGEgZnJlZSB2YXJpYWJsZSwgd2UgY2FuIGludGVycHJldCBpdCwgd2hlbiBhIGNvbnRl eHQgaXMgZ2l2ZW4sIGFzIHN1YnN0aXR1dGVkIGZvciBieSBhIHBsdXJhbCBjb25zdGFudCBvciBi b3VuZCBieSBhIHBsdXJhbCBxdWFudGlmaWVyIGxpa2Uge3N1J29pIGRhfSBpbiB0aGUgY2FzZSBv ZiBQQT4wOyB3ZSBjYW4gaW50ZXJwcmV0IGl0IGFzIGJvdW5kIGJ5IHtuYWt1IHN1J29pIGRhfSBp biB0aGUgY2FzZSBvZiBQQT0wIGFzIHdlbGwuCgoKClRoaXMgYXNzdW1wdGlvbiBtYWtlcyB0aGUg aW50ZXJwcmV0YXRpb24gY2xvc2VyIHRvIG5hdHVyYWwgbGFuZ3VhZ2VzIG5vdCBvbmx5IGluIHRo ZSBjYXNlIFBBPTAgYnV0IGFsc28gaW4gdGhlIGNhc2UgUEE+MC4gRm9yIGV4YW1wbGUsIAoKXmxv IGNpIHhhbnRvIGN1IHppbGthbmN1IGxpIGNpIGxvIHhhbnRvXgoKVGhlIGxhc3Qge2xvIHhhbnRv fSBpcyBhIHVuaXQgb2YgY291bnRpbmcuIEl0IGlzIG5hdHVyYWwgdG8gaW50ZXJwcmV0IGl0IGFz IGEgYm91bmQgcGx1cmFsIHZhcmlhYmxlIHF1YW50aWZpZWQgYnkgIjEiIHJhdGhlciB0aGFuIGEg cGx1cmFsIGNvbnN0YW50LCB3aGljaCBzaG91bGQgcmVmZXIgdG8gc29tZXRoaW5nLiBJZiB3ZSBp bnRlcnByZXQgaXQgYXMgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUsIHdlIHNob3VsZCBjb25zaWRl ciB0aGUgcmVsYXRpdmUgb3JkZXIgd2l0aCB0aGUgb3RoZXIgYm91bmQgdmFyaWFibGVzIGFuZCB7 bmFrdX0uIFdlIGNhbiBoYW5kbGUgdGhlIG9yZGVyIGZyZWVseSBieSBwdXR0aW5nIHRoZSBhcmd1 bWVudHMgaW4gcHJlbmV4LgoKCgpNb3Jlb3ZlciwgdGhpcyBhc3N1bXB0aW9uIGVtYm9kaWVzIHRo ZSBwcm9wZXJ0eSBvZiBuYXR1cmFsIGxhbmd1YWdlcyB0aGF0IHRoZSB0cnV0aCB2YWx1ZSBvZiBh IHByb3Bvc2l0aW9uIGluIG5vIGNvbnRleHQgaXMgZ2VuZXJhbGx5IGluZGVmaW5pdGUuIEJ5IGlu dGVycHJldGluZyB0aGF0IHt6bydlfSBpbiBubyBjb250ZXh0IGlzIGEgZnJlZSB2YXJpYWJsZSwg d2hpY2ggd2lsbCBiZSBzdWJzdGl0dXRlZCBmb3IgYnkgYSBwbHVyYWwgY29uc3RhbnQgb3IgYm91 bmQgYnkgYSBwbHVyYWwgcXVhbnRpZmllciB3aGVuIGEgY29udGV4dCBpcyBnaXZlbiwgbmF0dXJh bCBpbnRlcnByZXRhdGlvbiBvZiBMb2piYW4gc2VudGVuY2UgaXMgcG9zc2libGUgd2l0aG91dCBs b3NpbmcgbG9naWNhbCBhc3BlY3RzIGFuZCBzdHJ1Y3R1cmFsIGJlYXV0eS4KCgoKISEhISEjIERl bWVyaXRzCgpCZWNhdXNlIHt6bydlfSBjYW4gYmUgYSBmcmVlIHZhcmlhYmxlLCBhIGJvdW5kIHBs dXJhbCB2YXJpYWJsZSBvciBhIHBsdXJhbCBjb25zdGFudCBkZXBlbmRpbmcgb24gdGhlIGNvbnRl eHQsIGEgc2luZ2xlIGJyaWRpIGRvZXMgbm90IGxldCBsaXN0ZW5lcnMgZGV0ZXJtaW5lIHdoaWNo IG9mIHRoZW0gaXMgdGhlIGN1cnJlbnQge3pvJ2V9LCBvciB0aGUgdHJ1dGggdmFsdWUgb2YgdGhl IHByb3Bvc2l0aW9uLgoKSG93ZXZlciwgc3VjaCBhbiBhc3BlY3QgdGhhdCB0aGUgdHJ1dGggdmFs dWUgb2YgYSBwcm9wb3NpdGlvbiBnZW5lcmFsbHkgZGVwZW5kcyBvbiB0aGUgY29udGV4dCBpcyBh IGNvbW1vbiBwcm9wZXJ0eSB0byBhbGwgbmF0dXJhbCBsYW5ndWFnZXMuCgoKCk9uIHRoZSBvdGhl ciBoYW5kLCBldmVuIGlmIHdlIHRha2UgdGhlIG9mZmljaWFsIGludGVycHJldGF0aW9uIHRoYXQg e3pvJ2V9IGlzIGFsd2F5cyBhIHBsdXJhbCBjb25zdGFudCwgbGlzdGVuZXJzIGFyZSBvbmx5IGlu Zm9ybWVkIGJ5IHt6bydlfSB0aGF0IGEgY2VydGFpbiB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UgaXMg Z2l2ZW4uIFdpdGggbm8gY29udGV4dCwgdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVybWluZSB3aGF0 IGlzIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuIFRoZSB0cnV0aCB2YWx1ZSBvZiBhIHByb3Bv c2l0aW9uIGluIG5vIGNvbnRleHQgaXMgaW5kZWZpbml0ZSBldmVuIHdpdGggdGhlIG9mZmljaWFs IGludGVycHJldGF0aW9uLgoKCgohISEhIyBQcm9ibGVtcyBjYXVzZWQgYnkgdGhlIGZhY3QgdGhh dCB6bydlIGlzIGEgcGx1cmFsIGNvbnN0YW50IGFuZCB0aGUgY291bnRlci1tZWFzdXJlcwoKVGhl IG9mZmljaWFsIGludGVycHJldGF0aW9uIHRoYXQge3pvJ2V9IGlzIGEgcGx1cmFsIGNvbnN0YW50 IGNhdXNlcyB0aGUgZm9sbG93aW5nIHByb2JsZW1zLgoKCgohISEhISMgQ2Fubm90IGV4cHJlc3Mg cGx1cmFsIHF1YW50aWZpY2F0aW9uIG9mIG5vbi1leGlzdGVuY2UKClJlYXNvbmFibGUgaW50ZXJw cmV0YXRpb24gb2Yge2xvIG5vIGJyb2RhfSBpcyBvZmZpY2lhbGx5IGV4Y2x1ZGVkIGZyb20gTG9q YmFuLiBUaGF0IGlzIHRvIHNheSwgTG9qYmFuIGNhbm5vdCBvZmZpY2lhbGx5IGRlYWwgd2l0aCB0 aGUgZXhwcmVzc2lvbiAidGhlcmUgaXMgbm90IHdoYXQgaXMgc3Vic3RpdHV0ZWQgZm9yIHtkYX0i IGZvciBwbHVyYWwgdmFyaWFibGUgKHtuYWt1IHN1J29pIGRhfSksIHdoaWNoIGlzIG5hdHVyYWxs eSBkZWFsdCB3aXRoIGJ5IHBsdXJhbCBxdWFudGlmaWNhdGlvbi4gSW4gb3JkZXIgdG8gZXhwcmVz cyB7bG8gbm8gYnJvZGF9IHdpdGggcmVhc29uYWJsZSBpbnRlcnByZXRhdGlvbiwgd2UgbmVlZCBh biB1bm9mZmljaWFsIGludGVycHJldGF0aW9uIGxpa2UgKCh8I0Nhbm5vdF9zYXlfemVyb3xTZWN0 aW9uIDMuMS4yLjEpKS4KCgoKISEhISEjIENhbm5vdCBleHByZXNzIGJvdW5kIHBsdXJhbCB2YXJp YWJsZSwgd2hpY2ggZG9lcyBub3Qgc3BlY2lmeSBhIHJlZmVyZW50CgpCZWNhdXNlIHRoZSBvZmZp Y2lhbCBpbnRlcnByZXRhdGlvbiBkb2VzIG5vdCBhbGxvdyB7bG8gUEEgYnJvZGF9IHRvIGJlIGEg Ym91bmQgcGx1cmFsIHZhcmlhYmxlIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dCwgYW4gYXJndW1l bnQgdGhhdCBzaG91bGQgcmVmZXIgdG8gbm90aGluZywgYSB1bml0IG9mIGNvdW50aW5nIGZvciBl eGFtcGxlLCBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXMgYSBwbHVyYWwgY29uc3RhbnQsIHdoaWNo IHJlZmVycyB0byBzb21ldGhpbmcuIEZvciBleGFtcGxlIAoKXmxvIGNpIHhhbnRvIGN1IHppbGth bmN1IGxpIGNpIGxvIHhhbnRvXgoKZm9yIHdoaWNoIHdlIGFyZSBjb21wZWxsZWQgdG8gaW50ZXJw cmV0IHRoYXQgdGhlcmUgaXMgdGhlICJFbGVwaGFudCBkZXMgQXJjaGl2ZXMiIGluIHRoZSB1bml2 ZXJzZSBvZiBkaXNjb3Vyc2UsIGp1c3QgbGlrZSB0aGUgIk3DqHRyZSBkZXMgQXJjaGl2ZXMiIChh bHRob3VnaCBpdCBoYXMgYWxyZWFkeSBmaW5pc2hlZCBpdHMgcm9sZSksIGluIG9yZGVyIHRvIHVz ZSB7bG8geGFudG99IGFzIGEgdW5pdCBpbiBhIHByb3Bvc2l0aW9uLgoKCgohISEhISMgQ2Fubm90 IGV4cHJlc3MgZWxlbWVudGFyeSBwYXJ0aWNsZXMgd2l0aCBsbwoKQXMgbG9uZyBhcyB7bG8gYnJv ZGF9IGlzIGludGVycHJldGVkIGFzIGEgcGx1cmFsIGNvbnN0YW50LCB0aGUgZm9sbG93aW5nIExv amJhbiBzZW50ZW5jZSBpcyBtZWFuaW5nbGVzczoKCgoKXmxvIGd1c2thJ3UgY3UgZ2F1IGptYWpp IHNlcGknbyBsbyBsZW5qbyBnaSdlIHBhZ3JlIGxvIGZlbnJhfnBwfgoKfi9wcH4nJ1Bob3RvbnMg YXJlIGNvbmRlbnNlZCBieSBsZW5zZXMsIGFuZCBwYXNzIHRocm91Z2ggc2xpdHMuJydeCgoKCkFj dHVhbGx5LCBwaG90b25zIGFyZSBpbmRpdmlkdWFscywgYW5kIHdlIGNhbiBjb3VudCB0aGVtLCBi dXQgd2UgY2Fubm90IGRpc3Rpbmd1aXNoIGVhY2ggb2YgdGhlbTogd2UgY2Fubm90IHJlZmVyIHRv IGEgc3BlY2lmaWMgcGhvdG9uLiBRdWFudGlmaWNhdGlvbiBpcyBpbmRlZWQgc3VpdGFibGUgZm9y IGFyZ3VtZW50cyB0aGF0IHJlcHJlc2VudCBwYXJ0aWNsZXMgbGlrZSBwaG90b25zLiBIb3dldmVy LCBMb2piYW4gb2ZmaWNpYWxseSBkb2VzIG5vdCBoYXZlIGEgcGx1cmFsIHF1YW50aWZpZXIsIGFu ZCBjYW5ub3QgZXhwcmVzcyBxdWFudGlmaWNhdGlvbiBvZiAgc3VtdGkgdGhhdCBzYXRpc2ZpZXMg c2VsYnJpIGJvdGggY29sbGVjdGl2ZWx5IGFuZCBkaXN0cmlidXRpdmVseS4gTW9yZW92ZXIsIGJl Y2F1c2Uge2xvIGJyb2RhfSBpcyBvZmZpY2lhbGx5IGFsd2F5cyBhIHBsdXJhbCBjb25zdGFudCwg dGhlcmUgaXMgbm8gcm9vbSB0byBpbnRlcnByZXQge2xvIGd1c2thJ3V9IGFzIGEgYm91bmQgcGx1 cmFsIHZhcmlhYmxlLiBJbiBvcmRlciB0byBzb2x2ZSB0aGUgcHJvYmxlbSwgd2Ugc2hvdWxkIHVz ZSBhbiB1bm9mZmljaWFsIHBsdXJhbCBxdWFudGlmaWVyIHtzdSdvaX0gc3VnZ2VzdGVkIGJ5ICgo eG9yeGVzfGxhIHhvcnhlcykpLgoKCgpec3Unb2kgZGEgcG9pIGtlJ2EgZ3Vza2EndSBjdSBnYXUg am1hamkgc2VwaSdvIGxvIGxlbmpvIGdpJ2UgcGFncmUgbG8gZmVucmFeCgoKCiEhISEhIyBIb3cg dG8gaW50ZXJwcmV0IGEgcHJldmFpbGluZyB2aWV3CgpUaGUgZm9sbG93aW5nIGV4YW1wbGUgaXMg Z2l2ZW4gb24gKChCUEZLIFNlY3Rpb246IGdhZHJpfEJQRksncyBnYWRyaSBwYWdlKSk6CgoKCl5s byBwYSBwaXhyYSBjdSBzZSB2YW1qaSBsbyBraSdvIHZhbHNpfnBwfgoKfi9wcH4nJ09uZSBwaWN0 dXJlIGlzIHdvcnRoIGEgdGhvdXNhbmQgd29yZHMuJycgXgoKCgpFdmVuIGluIHN1Y2ggYSBzZW50 ZW5jZSB0aGF0IHNlZW1zIGEgcHJldmFpbGluZyB2aWV3LCB7bG8gcGEgcGl4cmF9IGFuZCB7bG8g a2knbyB2YWxzaX0gYXJlIGludGVycHJldGVkIGFzIHJlZmVycmluZyB0byBzb21ldGhpbmcuIFdl IHNob3VsZCBwcmVwYXJlIHNvbWUgcmVmZXJlbnRzIG9mIHN1bXRpIG9mIGEgcHJldmFpbGluZyB2 aWV3IGluIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuCgoKCkludHVpdGlvbmFsbHkgc3BlYWtp bmcsIHdlIG1heSB1c2Uge2xvJ2V9IGluc3RlYWQgb2Yge2xvfSwgYnV0IHdlIGNhbm5vdCB5ZXQg ZXhwbGFpbiB7bG8nZX0gZnJvbSBhIGxvZ2ljYWwgcG9pbnQgb2YgdmlldyBiZWNhdXNlICgoQlBG SyBTZWN0aW9uOiBUeXBpY2Fsc3xhY3R1YWxseSB0aGVyZSBpcyBubyBvZmZpY2lhbCBjb25jbHVz aW9uIGFib3V0IHJlbGF0aW9uIGJldHdlZW4ge2xvJ2V9IGFuZCB7bG99KSkuCgoKCkFzIGEgbWV0 aG9kIG9mIGF2b2lkaW5nIG1lbnRpb24gb2YgYSByZWZlcmVudCBpbiBhbiBleHByZXNzaW9uIG9m IHByZXZhaWxpbmcgdmlldywgd2UgbWF5IHB1dCB0aGUgd2hvbGUgcHJvcG9zaXRpb24gaW4gTlUg Y2xhdXNlLiBJbiBmYWN0LCB0cnV0aCB2YWx1ZSBvZiBhIHByb3Bvc2l0aW9uIGluIE5VIGNsYXVz ZSBkb2VzIG5vdCBpbmZsdWVuY2UgdHJ1dGggdmFsdWUgb2YgdGhlIG91dGVyIHByb3Bvc2l0aW9u IChyZWZlcmVudGlhbGx5IG9wYXF1ZTsgdGhpcyB0b3BpYyBpcyByZWxhdGVkIHRvIFtodHRwOi8v ZGFnLmdpdGh1Yi5pby9jbGwvOS83L3xDTEw5LjddKS4gSW4gb3RoZXIgd29yZHMsIHRoZSB1bml2 ZXJzZSBvZiBkaXNjb3Vyc2Ugb2YgYSBwcm9wb3NpdGlvbiBpbiBOVSBjbGF1c2UgaXMgZGlmZmVy ZW50IGZyb20gdGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSBvZiBhIHByb3Bvc2l0aW9uIG91dCBv ZiBOVS4KCklmIHdlIGFjY2VwdCB0aGlzIG1ldGhvZCwgdGhlIGV4YW1wbGUgYWJvdmUgd2lsbCBi ZSBtb2RpZmllZCwgdXNpbmcge3NpJ299IGZvciBleGFtcGxlLCBhcyBmb2xsb3dzOgoKCgpec2kn byBsbyBwYSBwaXhyYSBjdSBzZSB2YW1qaSBsbyBraSdvIHZhbHNpIH5wcH4KCn4vcHB+JydJcyBh biBpZGVhIHRoYXQgb25lIHBpY3R1cmUgaXMgd29ydGggYSB0aG91c2FuZCB3b3Jkcy4nJ14KCgoK d2hlcmUgeDEgb2Yge3NpJ299IGlzIGltcGxpY2l0IHt6bydlfSwgd2hpY2ggaGFzIGEgcmVmZXJl bnQgaW4gdGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZS4gQXMgYW4gaW50ZXJwcmV0YXRpb24gb2Yg YSBwcmV2YWlsaW5nIHZpZXcsIHN1cHBvc2luZyBhIHJlZmVyZW50IG9mIHgxIG9mIHtzaSdvfSBp cyBtb3JlIG5hdHVyYWwgdGhhbiBzdXBwb3NpbmcgYSByZWZlcmVudCBvZiB7bG8gcGEgcGl4cmF9 IG9yIHtsbyBraSdvIHZhbHNpfS4KCihTdWNoIGEgYnJpZGkgd2l0aCBubyB0ZXJicmkgaXMgY2Fs bGVkICJvYnNlcnZhdGl2ZSIgaW4gKChUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlKSksIGJ1 dCB0aGlzIGludGVycHJldGF0aW9uIGlzIG5vdCBzdWl0YWJsZSBoZXJlLCBiZWNhdXNlIHRoaXMg aXMgbm90IHRoZSB1dHRlcmFuY2UgdGhhdCBpcyBhbHdheXMgY2F1c2VkIGJ5IGEgc3BlY2lmaWMg c3RpbXVsdXMuKQoKCgohISEhISMgSG93IHRvIGV4cHJlc3MgZnJlZSB2YXJpYWJsZXMKCkFzIGEg Y3VzdG9tLCBrbydWL2ZvJ1Ygc2VyaWVzIG9mIEtPaEE0IGFyZSB1c2VkIGFzIGZyZWUgdmFyaWFi bGVzIGluIGRlZmluaXRpb25zIG9mIHdvcmRzIG9yIHNvbWV0aGluZy4gSG93ZXZlciwgdGhleSBh cmUgYWN0dWFsbHkgcGx1cmFsIGNvbnN0YW50cy4KCklmIHdlIGFiYW5kb24gdGhpcyBjdXN0b20s IHtrZSdhfSBhbmQge2NlJ3V9IGFyZSBzdWl0YWJsZSBmb3IgZXhwcmVzc2lvbiB3aXRoIGZyZWUg dmFyaWFibGVzIChvcGVuIHNlbnRlbmNlKSwgYmVjYXVzZSB0aGUgdHJ1dGggdmFsdWUgb2YgYnJp ZGkgaW4gd2hpY2gge2tlJ2F9IG9yIHtjZSd1fSBpcyB1c2VkIGlzIGluZGVmaW5pdGUuIAoKSW4g YSBicmlkaSBpbiB3aGljaCB7a2UnYX0gYXBwZWFycyB0d28gdGltZXMgb3IgbW9yZSwgdGhlc2Ug e2tlJ2F9cyBhcmUgcmVnYXJkZWQgYXMgcmVwcmVzZW50aW5nIGFuIGlkZW50aWNhbCBzdW10aToK Cl5kYSBwb2kga2UnYSBneSB4bHVyYSBrZSdhIGN1IHBhbmNpIGxvIGthJ2Ugc2UgY2l0a2F+cHB+ Cgp+L3Bwfn4tLX4gKChsbyBudSBiaW54bykpXgoKT24gdGhlIG90aGVyIGhhbmQsIGluIGEgYnJp ZGkgaW4gd2hpY2gge2NlJ3V9IGFwcGVhcnMgdHdvIHRpbWVzIG9yIG1vcmUsIHRoZXNlIHtjZSd1 fXMgYXJlIG5vdCBuZWNlc3NhcmlseSByZWdhcmRlZCBhcyByZXByZXNlbnRpbmcgYW4gaWRlbnRp Y2FsIHN1bXRpOgoKXmxvIG1hbXRhIGpvJ3UgbG8gbWVuc2kgY3Ugc2lteHUgbG8ga2EgY2UndSBj aXNtYSBmYSdhIGNlJ3V+cHB+Cgp+L3Bwfn4tLX4gKChsbyBudSBiaW54bykpXgoKQ29uc2lkZXJp bmcgdGhlc2UgcHJvcGVydGllcywgaW4gb3JkZXIgdG8gZXhwcmVzcyBhbiBvcGVuIHNlbnRlbmNl IHdpdGggZnJlZSB2YXJpYWJsZXMgaW4gbm8gY29udGV4dCwge2NlJ3V9IGlzIG1vcmUgY29udmVu aWVudCB0aGFuIHtrZSdhfSB3aGljaCBoYXMgcmVzdHJpY3Rpb24gb2YgaWRlbnRpY2FsIHN1bXRp LgoKXmNlJ3UgY2UndSBjaXRrYX5wcH4KCn4vcHB+JydBIGVhdHMgQi4nJyAoT3BlbiBzZW50ZW5j ZSwgdHJ1dGggdmFsdWUgaW5kZWZpbml0ZS4pXgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1 cm90aWNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8v d2lraW5ldXJvdGljCg==