Received: from localhost ([::1]:53745 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1WmMtG-00055T-JK; Mon, 19 May 2014 05:42:02 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:57408 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1WmMt5-00055M-3y for wikichanges@lojban.org; Mon, 19 May 2014 05:41:59 -0700 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Mon, 19 May 2014 05:41:50 -0700 From: "Apache" Date: Mon, 19 May 2014 05:41:50 -0700 To: wikichanges@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:41 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: [Wikichanges] Wiki page gadri: an unofficial commentary from a logical point of view changed by guskant X-BeenThere: wikichanges@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: wikichanges-bounces@lojban.org Content-Length: 65768 VGhlIHBhZ2UgZ2Fkcmk6IGFuIHVub2ZmaWNpYWwgY29tbWVudGFyeSBmcm9tIGEgbG9naWNhbCBw b2ludCBvZiB2aWV3IHdhcyBjaGFuZ2VkIGJ5IGd1c2thbnQgYXQgMTI6NDEgVVRDCgpZb3UgY2Fu IHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJh bi5vcmcvdGlraS9nYWRyaSUzQSUyMGFuJTIwdW5vZmZpY2lhbCUyMGNvbW1lbnRhcnklMjBmcm9t JTIwYSUyMGxvZ2ljYWwlMjBwb2ludCUyMG9mJTIwdmlldwoKWW91IGNhbiB2aWV3IGEgZGlmZiBi YWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRw Oi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPWdhZHJpJTNB JTIwYW4lMjB1bm9mZmljaWFsJTIwY29tbWVudGFyeSUyMGZyb20lMjBhJTIwbG9naWNhbCUyMHBv aW50JTIwb2YlMjB2aWV3JmNvbXBhcmU9MSZvbGR2ZXI9OCZuZXd2ZXI9OQoKCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFu Z2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBj dXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNDc1LTQ3OSBjaGFuZ2Vk IHRvICtMaW5lczogNDc1LTQ3OSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKwpJIHdpbGwgZXhhbWluZSB0aGVzZSBjb25mbGljdGlu ZyBpZGVhcywgYW5kIHRyeSB0byBzb2x2ZSBzb21lIHByb2JsZW1zIGNhdXNlZCBieSB0aGUgb2Zm aWNpYWwgaW50ZXJwcmV0YXRpb24gdGhhdCB7em8nZX0gaXMgYSBwbHVyYWwgY29uc3RhbnQuCgot ICEhISEjIElmIHpvJ2UgY2hvdWxkIGJlIGEgYm91bmQgcGx1cmFsIHZhcmlhYmxlCisgISEhISMg SWYgem8nZSBjb3VsZCBiZSBhIGJvdW5kIHBsdXJhbCB2YXJpYWJsZQpJIHdpbGwgbGlzdCB1cCBo ZXJlIG1lcml0cyBhbmQgZGVtZXJpdHMgb2YgYXNzdW1pbmcgdGhhdCB7em8nZX0gaW4gbm8gY29u dGV4dCBpcyBhIGZyZWUgdmFyaWFibGUsIGFuZCB0aGF0IHRoZSBjb250ZXh0IGRldGVybWluZXMg dGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgYmFzZWQgb24gd2hpY2gge3pvJ2V9IGlzIHJlZ2Fy ZGVkIGFzIHN1YnN0aXR1dGVkIGZvciBieSBhIHBsdXJhbCBjb25zdGFudCwgb3IgYm91bmQgYnkg YSBwbHVyYWwgcXVhbnRpZmllci4KCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dz IGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgoKKChCUEZLIFNlY3Rpb246IGdhZHJpfEJQRksncyBnYWRyaSBwYWdlKSkgY29u dGFpbnMgZXhwcmVzc2lvbnMgbWlzbGVhZGluZyBwZW9wbGUgd2hvIGhhdmUgYXQgbGVhc3QgYSBs aXR0bGUga25vd2xlZGdlIG9mIGxvZ2ljIChbaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL3Rv cGljL2xvamJhbi9SQXRFN1lrLWRxdy9kaXNjdXNzaW9ufGRpc2N1c3Npb25dKS4KCkkgd2lsbCBt YWtlIGhlcmUgYSBjb21tZW50YXJ5IG9uIEJQRksncyBnYWRyaSBzbyB0aGF0IGl0IGlzIHVuZGVy c29vZCBieSB0aGVtIGNvcnJlY3RseS4KCgoKe21ha2V0b2N9CgoKCiEhIyBHbG9zc2FyeQoKV2Ug d2lsbCB1c2UgdGhlIGZvbGxvd2luZyB0ZXJtcyBpbiB0aGlzIGNvbW1lbnRhcnkuCgo7X19hcmd1 bWVudCAoc3VtdGkpX186IFN5bWJvbCB0aGF0IHJlZmVycyB0byBhIHJlZmVyZW50LCBvciB0aGF0 IGFub3RoZXIgYXJndW1lbnQgY2FuIGJlIHN1YnN0aXR1dGVkIGZvci4KCjtfX3VuaXZlcnNlIG9m IGRpc2NvdXJzZV9fOiBTZXQgb2YgYWxsIHJlZmVyZW50cyBvZiBhcmd1bWVudHMuIEl0IGlzIG5h dHVyYWxseSBhIHVuaXZlcnNlIHRoYXQgaXMgZGlzY3Vzc2VkLiBBIHVuaXZlcnNlIG9mIGRpc2Nv dXJzZSBkZXBlbmRzIG9uIHRoZSBjb250ZXh0LgoKO19fY29uc3RhbnRfXzogQXJndW1lbnQgdGhh dCByZWZlcnMgdG8gYSByZWZlcmVudC4KCjtfX3ZhcmlhYmxlX186IEFyZ3VtZW50IGFzIGEgcGxh Y2UgaG9sZGVyLiBJdCBkb2VzIG5vdCByZWZlciB0byBhbnl0aGluZy4gSXQgaXMgdG8gYmUgc3Vi c3RpdHV0ZWQgZm9yLiBWYXJpYWJsZSBvdGhlciB0aGFuIGJvdW5kIHZhcmlhYmxlIHRoYXQgd2ls bCBiZSBkZWZpbmVkIGJlbGxvdyBpcyBjYWxsZWQgX19mcmVlIHZhcmlhYmxlX18uIFRoZSB0cnV0 aCB2YWx1ZSBvZiBhIHNlbnRlbmNlIHRoYXQgaW5jbHVkZXMgYSBmcmVlIHZhcmlhYmxlIGlzIGlu ZGVmaW5pdGUuIFN1Y2ggYSBzZW50ZW5jZSBpcyBjYWxsZWQgX19vcGVuIHNlbnRlbmNlX18uCgpe SW4gTG9qYmFuLCB7a2UnYX0gYW5kIHtjZSd1fSBhcmUgYWx3YXlzIGZyZWUgdmFyaWFibGVzLiBB IHNlbnRlbmNlIGluIE5PSS1jbGF1c2Ugb3IgTlUtY2xhdXNlIHdpdGgge2NlJ3V9IGlzIG9wZW4u IChBIHNlbnRlbmNlIGluIE5VLWNsYXNlIHdpdGggbm8ge2NlJ3V9IGhhcyBhIHRydXRoIHZhbHVl LCBidXQgZWFjaCBvZiB0aGUgaW5zaWRlIGFuZCB0aGUgb3V0c2lkZSBvZiBOVS1jbGF1c2UgaGFz IGFuIGluZGVwZW5kZW50IHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgYW5kIHRodXMgZWFjaCBvZiB0 aGVtIGhhcyBhbiBpbmRlcGVuZGVudCB0cnV0aCB2YWx1ZSAoZm9yIGV4YW1wbGUsIHNlZSBbaHR0 cDovL2RhZy5naXRodWIuaW8vY2xsLzkvNy98Q0xMOS43XSkuIEluIGRlZmluaXRpb25zIG9mIHdv cmRzIGluIExvamJhbiwga28nVi9mbydWIHNlcmllcyB7a28nYSwga28nZSwgLi4ufSBvZiBzZWxt YSdvIEtPaEE0IGFyZSB1c2VkIGFzIGZyZWUgdmFyaWFibGVzLCBidXQgaXQgaXMgb25seSBhIGN1 c3RvbSBmb3IgY29udmVuaWVuY2UuIEFsbCBjbWF2byBvZiBLT2hBMiwzLDQsNSw2IGFuZCB7em8n ZX0gb2YgS09oQTcgYXJlIGVzc2VudGlhbGx5IGNvbnN0YW50cy5eCgo7X19xdWFudGlmeV9fOiBJ biBzdWJzdGl0dXRpbmcgcG9zc2libGUgYXJndW1lbnRzIG9uZSBieSBvbmUgZm9yIGEgdmFyaWFi bGUgaW4gYSBzZW50ZW5jZSwgY291bnQgdGhlIG51bWJlciBvZiByZWZlcmVudHMgdGhhdCBtYWtl IHRoZSBzZW50ZW5jZSB0cnVlLCBhbmQgcHJlZml4IHRoZSBudW1iZXIgdG8gdGhlIHZhcmlhYmxl LgoKO19fcXVhbnRpZmllcl9fOiBOdW1iZXIgdXNlZCBmb3IgcXVhbnRpZmljYXRpb24uIEJlc2lk ZXMge3BhfSwge3JlfSwge3ZlaSBueSBzdSdpIHBhICh2ZSdvKX0gYW5kIHNvIG9uLCB7cm99ICJh bGwiIGFuZCB7c3Unb30gInRoZXJlIGlzIG9uZSBvciBtb3JlIiBhcmUgYWxzbyBxdWFudGlmaWVy cy4KCjtfX2JvdW5kIHZhcmlhYmxlX186IFZhcmlhYmxlIHByZWZpeGVkIGJ5IGEgcXVhbnRpZmll ci4gQXMgYSByZXN1bHQgb2YgcXVhbnRpZmljYXRpb24sIHRoZXJlIGlzIG5vIHJvb20gZm9yIHN1 YnN0aXR1dGluZyBhbiBhcmJpdHJhcnkgYXJndW1lbnQgZm9yIHRoZSB2YXJpYWJsZS4KCl5JbiBM b2piYW4sIHtkYX0sIHtkZX0gYW5kIHtkaX0gYXJlIGJvdW5kIHZhcmlhYmxlcy4gRm9yIGV4YW1w bGUsIHtybyBkYSB6byd1IGRhIGJyb2RhfSBtZWFucyAiRm9yIGFsbCB7ZGF9IGluIHRoZSB1bml2 ZXJzZSBvZiBkaXNjb3Vyc2UsIHtkYSBicm9kYX0gaXMgdHJ1ZS4iIEluIHRoZSBjYXNlIHRoYXQg e2RhfSwge2RlfSBvciB7ZGl9IGFyZSBub3QgcHJlZml4ZWQgYnkgYSBxdWFudGlmaWVyLCB0aGV5 IGFyZSByZWdhcmRlZCBhcyBpbXBsaWNpdGx5IHByZWZpeGVkIGJ5IHtzdSdvfS5eCgo7X19kb21h aW5fXzogUmFuZ2Ugb2YgcmVmZXJlbnRzIHRvIGJlIHN1YnN0aXR1dGVkIGZvciBhIHZhcmlhYmxl LCBvciByYW5nZSB0byBiZSBjb25zaWRlcmVkIGluIGNvdW50aW5nIHJlZmVyZW50cyBpbiBxdWFu dGlmaWNhdGlvbi4KCl5JbiBMb2piYW4sIGEgZG9tYWluIG9mIGEgYm91bmQgdmFyaWFibGUgY2Fu IGJlIGxpbWl0ZWQgd2l0aCBhbiBleHByZXNzaW9uIHtkYSBwb2kuLi59LiBGb3IgZXhhbXBsZSwg e3JvIGRhIHBvaSBrZSdhIGJyb2RhIHpvJ3UgZGEgYnJvZGV9IG1lYW5zICJGb3IgYWxsIHtkYX0g dGhhdCBhcmUgeDEgb2Yge2Jyb2RhfSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLCB7ZGEg YnJvZGV9IGlzIHRydWUuIiBJZiB7cG9pLi4ufSBkb2VzIG5vdCBmb2xsb3cge2RhfSwgdGhlIGRv bWFpbiBpcyB0aGUgd2hvbGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLl4KCjtfX3RhdXRvbG9neV9f OiBTZW50ZW5jZSB0aGF0IGlzIGFsd2F5cyB0cnVlIGluZGVwZW5kZW50bHkgb2YgY29udGV4dC4g e2tvJ2EgZHUga28nYX0gZXRjLgoKO19fbG9naWNhbCBheGlvbXNfXzogU2VudGVuY2VzIHNlbGVj dGVkIGZyb20gdGF1dG9sb2dpZXMgc28gdGhhdCBhbGwgdGF1dG9sb2dpZXMgYXJlIHByb3ZlZCBm cm9tIHRoZW0gd2l0aCBydWxlcyBvZiBpbmZlcmVuY2UgdGhhdCBhcmUgZGVmaW5lZC4KCgoKISEj IFBsdXJhbCBxdWFudGlmaWNhdGlvbgoKSW4gb3JkZXIgdG8gdW5kZXJzdGFuZCBhcmd1bWVudHMg b2YgTG9qYmFuIGZyb20gYSBsb2dpY2FsIHBvaW50IG9mIHZpZXcsIGl0IGlzIGVzc2VudGlhbCB0 byBoYXZlIGEga25vd2xlZGdlIG9mIF9fcGx1cmFsIHF1YW50aWZpY2F0aW9uX18uCgoKClBsdXJh bCBxdWFudGlmaWNhdGlvbiB3YXMgaW52ZW50ZWQgaW4gb3JkZXIgdG8gZmFjaWxpdGF0ZSBleHBy ZXNzaW9uIG9mIHByb3Bvc2l0aW9uIHRoYXQgaXMgbWVhbmluZ2Z1bCBvbmx5IHdoZW4gdGhlIHJl ZmVyZW50IG9mIGFuIGFyZ3VtZW50IGlzIHBsdXJhbC4gCgpeCgo7RXhhbXBsZTogUGVvcGxlIGdh dGhlcmVkLCBjb29rZWQgYW5kIGF0ZS5eCgpMb2dpY2FsbHksIHRoaXMgc2VudGVuY2UgaXMgYSBw cm9wb3NpdGlvbiB0aGF0IGNvbnNpc3RzIG9mIGEgY29uc3RhbnQgInBlb3BsZSIgYW5kIHRocmVl IHByZWRpY2F0ZXMgImdhdGhlcmVkIiAiY29va2VkIiBhbmQgImF0ZSIuIFRoZSBwcmVkaWNhdGVz IGFyZSBkaWZmZXJlbnQgZnJvbSBlYWNoIG90aGVyIGluIHByb3BlcnR5IG9mIHRyZWF0aW5nIHRo ZSBhcmd1bWVudC4gV2Ugd2lsbCBkaXNjdXNzIHByZWNpc2VseSBob3cgdGhlIGFyZ3VtZW50IGlu IHRoZSBzZW50ZW5jZSBpcyB0cmVhdGVkLgoKCgohISEjIENvbGxlY3Rpdml0eSBhbmQgZGlzdHJp YnV0aXZpdHkKCgoKQ29uc2lkZXIgdGhlIGV4cHJlc3Npb24gInBlb3BsZSBnYXRoZXJlZCI6IGJh c2VkIG9uIHRoZSBtZWFuaW5nIG9mIHRoZSBwcmVkaWNhdGUgImdhdGhlcmVkIiwgdGhlIGNvbnN0 YW50ICJwZW9wbGUiIHNob3VsZCByZWZlciB0byBwbHVyYWwgcGVvcGxlLgoKV2hlbiByZWZlcmVu dHMgb2YgYW4gYXJndW1lbnQgc2F0aXNmeSBhIHByZWRpY2F0ZSBhcyBjb2xsZWN0aXZlIHBsdXJh bCB0aGluZ3MgbGlrZSB0aGlzLCB3ZSBleHByZXNzIGl0IGFzICJhbiBhcmd1bWVudCBzYXRpc2Zp ZXMgYW4gcHJlZGljYXRlIF9fY29sbGVjdGl2ZWx5X18iLCBvciAidGhlIGFyZ3VtZW50IGhhcyBf X2NvbGxlY3Rpdml0eV9fIi4KCgoKQXMgZm9yIGVhY2ggb2YgdGhlIHBsdXJhbCBwZW9wbGUgcmVm ZXJyZWQgdG8gYnkgdGhlIGNvbnN0YW50LCAgZWFjaCBzZW50ZW5jZSBzdWNoIHRoYXQgIkFsaWNl IGdhdGhlcmVkIiwgIkJvYiBnYXRoZXJlZCIgYW5kIHNvIG9uIGlzIG5vbnNlbnNlLgoKV2hlbiBl YWNoIHJlZmVyZW50IHJlZmVycmVkIHRvIGJ5IGEgY29uc3RhbnQgY2Fubm90IHNhdGlzZnkgYSBw cmVkaWNhdGUgYWxvbmUsIHdlIGV4cHJlc3MgaXQgYXMgImFuIGFyZ3VtZW50IHNhdGlzZmllcyBh biBwcmVkaWNhdGUgX19ub24tZGlzdHJpYnV0aXZlbHlfXyIuCgoKCk9uIHRoZSBvdGhlciBoYW5k LCBpbiB0aGUgZXhwcmVzc2lvbiAicGVvcGxlIGF0ZSIsIGFsdGhvdWdoIHRoZSBjb25zdGFudCAi cGVvcGxlIiByZWZlcnMgdG8gcGx1cmFsIHBlb3BsZSwgdGhlIHByZWRpY2F0ZSAiYXRlIiBpcyBz YXRpc2ZpZWQgYnkgZWFjaCBwZXJzb24uIFRoYXQgaXMgdG8gc2F5LCBlYWNoIHNlbnRlbmNlIHN1 Y2ggdGhhdCAiQWxpY2UgYXRlIiwgIkJvYiBhdGUiIGFuZCBzbyBvbiBpcyBtZWFuaW5nZnVsLgoK V2hlbiBlYWNoIHJlZmVyZW50IHJlZmVycmVkIHRvIGJ5IGEgY29uc3RhbnQgc2F0aXNmaWVzIGEg cHJlZGljYXRlIGFsb25lLCB3ZSBleHByZXNzIGl0IGFzICJhbiBhcmd1bWVudCBzYXRpc2ZpZXMg YW4gcHJlZGljYXRlIF9fZGlzdHJpYnV0aXZlbHlfXyIsIG9yICJ0aGUgYXJndW1lbnQgaGFzIF9f ZGlzdHJpYnV0aXZpdHlfXyIuCgoKCk1vcmVvdmVyLCBpZiB0aGUgcHJlZGljYXRlICJlYXQiIG1l YW5zIGFuIGFjdCAicHV0IGZvb2QgaW4gYSBtb3V0aCwgYml0ZSBpdCwgbGV0IGl0IHBhc3MgdGhy b3VnaCBhbiBlc29waGFndXMgYW5kIHNlbmQgaXQgdG8gYSBzdG9tYWNoIiwgaXQgaXMgaGFyZGx5 IGNvbnNpZGVyZWQgdGhhdCAicGVvcGxlIiBzYXRpc2ZpZXMgImVhdCIgY29sbGVjdGl2ZWx5LiBF dmVuIGlmIGEgcGVyc29uIGhlbHBzIGFub3RoZXIgdG8gZWF0LCB0aGUgaGVscGVyIGlzIG5vdCBl YXRlciwgYW5kIHRoZSBlYXRlciBpcyBub3QgY29sbGVjdGl2ZSBwZW9wbGUgYnV0IGFuIGluZGl2 aWR1YWwuIAoKV2hlbiBlYWNoIHJlZmVyZW50IHJlZmVycmVkIHRvIGJ5IGEgY29uc3RhbnQgY2Fu bm90IHNhdGlzZnkgYSBwcmVkaWNhdGUgYXMgY29sbGVjdGl2ZSBwbHVyYWwgdGhpbmdzLCB3ZSBl eHByZXNzIGl0IGFzICJhbiBhcmd1bWVudCBzYXRpc2ZpZXMgYW4gcHJlZGljYXRlIF9fbm9uLWNv bGxlY3RpdmVseV9fIi4KCihIb3dldmVyLCBpdCBpcyBwb3NzaWJsZSB0byBpbnRlcnByZXQgdGhl IHByZWRpY2F0ZSAiZWF0IiBhcyBpbnZvbHZpbmcgY29sbGVjdGl2aXR5LiBGb3IgZXhhbXBsZSwg aWYgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgInB1dCBmb29kIGF3YXkgZnJvbSBvdXRzaWRlIHRvIGlu c2lkZSBvZiBib2R5Iiwgd2UgbWF5IHNheSAiY29sbGVjdGl2ZWx5IGVhdCIgdG8gZXhwcmVzcyBh biBldmVudCB0aGF0IHBlb3BsZSBlYXQgYW5kIGNvbnN1bWUgYSBtYXNzIG9mIGZvb2QgdG9nZXRo ZXIuKQoKCgpUaGVyZSBhcmUgYWxzbyBwcmVkaWNhdGVzIHRoYXQgYWxsb3cgYm90aCBwcm9wZXJ0 aWVzICJjb2xsZXZ0aXZpdHkiIGFuZCAiZGlzdHJpYnV0aXZpdHkiLgoKIlBlb3BsZSBjb29rZWQi IG1heSBtZWFuIHRoYXQgcGx1cmFsIHBlb3BsZSBrbmVhZCBwYXN0ZSBvZiBwaXp6YSB0b2dldGhl ciwgYW5kIHRoYXQgZWFjaCBvZiB0aGVtIGlzIGluIGNoYXJnZSBvZiBjYWtlcyBvciBwb3QtYXUt ZmV1LiBJbiB0aGlzIGNhc2UsIHRoZSBjb25zdGFudCAicGVvcGxlIiByZWZlcnMgdG8gcGx1cmFs IHBlb3BsZSwgYW5kIHRoZXkgY29va2VkIHBpenphIGNvbGxlY3RpdmVseSwgY2FrZXMgYW5kIHBv dC1hdS1mZXUgZGlzdHJpYnV0aXZlbHkuIFRoZSBjb25zdGFudCAicGVvcGxlIiB0aHVzIHNhdGlz ZmllcyB0aGUgcHJlZGljYXRlICJjb29rZWQiIGNvbGxlY3RpdmVseSBhbmQgZGlzdHJpYnV0aXZl bHkuCgoKCk5vdGUgdGhhdCB0aGUgY29uc3RhbnQgInBlb3BsZSIgcmVmZXJzIHRvIHdoYXQgaXMg Y29tbW9uIHRvIHRocmVlIHByZWRpY2F0ZXMgImdhdGhlcmVkIiwgImNvb2tlZCIgYW5kICJhdGUi LiBObyBtYXR0ZXIgaWYgYSBjb25zdGFudCBzYXRpc2ZpZXMgcHJlZGljYXRlcyBjb2xsZWN0aXZl bHkgb3IgZGlzdHJpYnV0aXZlbHksIHRoZSByZWZlcmVudCBpcyB0aGUgc2FtZS4KCgoKSWYgd2Ug dXNlIGFuIGFyZ3VtZW50ICJhIHNldCBvZiBwZW9wbGUiIGluIHRoZSBjYXNlIG9mIHNhdGlzZnlp bmcgYSBwcmVkaWNhdGUgY29sbGVjdGl2ZWx5LCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0byBpbnRl cnByZXQgdGhlIHByZWRpY2F0ZSAiZ2F0aGVyZWQiIHNvIHRoYXQgdGhlIGFyZ3VtZW50IHNhdGlz ZmllcyBpdCwgYnV0IHRoZSBzYW1lIGFyZ3VtZW50IGNhbm5vdCBzYXRpc2Z5IHRoZSBwcmVkaWNh dGUgImF0ZSIsIGJlY2F1c2Ugd2UgY2FuIGhhcmRseSBzYXkgdGhhdCBhIHNldCBvZiBwZW9wbGUs IHdoaWNoIGlzIGFuIGFic3RyYWN0IGVudGl0eSwgcGVyZm9ybXMgImF0ZSIuCgoKClVzaW5nIHBs dXJhbCBjb25zdGFudHMgYW5kIHBsdXJhbCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIGRpc2N1c3Nl ZCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLCB3ZSBjYW4gZXhwcmVzcyBwbHVyYWwgdGhpbmdz IGluIHRoZSBmb3JtIG9mIHByZWRpY2F0ZSBsb2dpYyB3aXRob3V0IHVzaW5nIHNldHMuCgoKCiEh ISMgUGx1cmFsIGNvbnN0YW50IGFuZCBwbHVyYWwgdmFyaWFibGUKCkFuIGFyZ3VtZW50IHRoYXQg cmVmZXJzIHRvIHJlZmVyZW50IHdpdGhvdXQgaW50cm9kdWNpbmcgYSBub3Rpb24gb2Ygc2V0cywg d2l0aG91dCBkaXN0aW5ndWlzaGluZyBjb2xsZWN0aXZpdHkgYW5kIGRpc3RyaWJ1dGl2aXR5LCB3 aXRob3V0IGRpc3Rpbmd1aXNoaW5nIHBsdXJhbGl0eSBhbmQgc2luZ3VsYXJpdHksIGlzIGNhbGxl ZCBfX3BsdXJhbCBjb25zdGFudF9fLgoKQSB2YXJpYWJsZSBmb3Igd2hpY2ggYSBwbHVyYWwgY29u c3RhbnQgY2FuIGJlIHN1YnN0aXR1dGVkIGlzIGNhbGxlZCBfX3BsdXJhbCB2YXJpYWJsZV9fLgoK UXVhbnRpZnlpbmcgYSBwbHVyYWwgdmFyaWFibGUgaXMgY2FsbGVkIF9fcGx1cmFsIHF1YW50aWZp Y2F0aW9uX18uIEEgcXVhbnRpZmllciB1c2VkIGZvciBwbHVyYWwgcXVhbnRpZmljYXRpb24gaXMg Y2FsbGVkIF9fcGx1cmFsIHF1YW50aWZpZXJfXy4gQSBwbHVyYWwgdmFyaWFibGUgcHJlZml4ZWQg d2l0aCBhIHBsdXJhbCBxdWFudGlmaWVyIGlzIGNhbGxlZCBhIF9fYm91bmQgcGx1cmFsIHZhcmlh YmxlX18uCgoKCiEhISEjIG1lIGFuZCBqbyd1CgpXZSBpbnRyb2R1Y2UgcmVsYXRpb25zIGJldHdl ZW4gcGx1cmFsIGNvbnN0YW50cyBhbmQgcGx1cmFsIHZhcmlhYmxlczoge21lfSBhbmQge2pvJ3V9 LgoKCgp8fAoKWCBtZSBZIChtZSd1KSB+aHN+fH5oc34gWCBpcyBhbW9uZyBZCgp8fAoKWCBhbmQg WSByZXByZXNlbnQgaGVyZSBwbHVyYWwgY29uc3RhbnRzIG9yIHBsdXJhbCB2YXJpYWJsZXMuIEEg Y2x1c3RlciB7bWUgWSAobWUndSl9IGlzIGEgc2VsYnJpIGluIExvamJhbiBncmFtbWFyLiB7bWUn dX0gaXMgYW4gZWxpZGFibGUgdGVybWluYXRvciBvZiBzdHJ1Y3R1cmUgYmVnaW5uaW5nIHdpdGgg e21lfS4KCgoKe21lfSBoYXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdpdGggYXJiaXRyYXJ5 IGFyZ3VtZW50cyBYLCBZIGFuZCBaOgoKIyBYIG1lIFggKHJlZmxleGl2aXR5KQoKIyBYIG1lIFkg aWplYm8gWSBtZSBaIGluYWphIFggbWUgWiAodHJhbnNpdGl2aXR5KQoKIyBYIG1lIFkgaWplYm8g WSBtZSBYIGlqbyBYIGR1IFkgKGlkZW50aXR5KQoKVGhlIHByb3BlcnR5IDMgbWVhbnMgdGhhdCB0 aGUgaWRlbnRpdHkgYmV0d2VlbiByZWZlcmVudHMgb2YgWCBhbmQgWSBpcyByZXByZXNlbnRlZCB3 aXRoIHttZX0sIGFzIGEgcmVsYXRpb24gdGhhdCB7WCBtZSBZIGlqZWJvIFkgbWUgWH0uCgoKCnx8 CgpYIGpvJ3UgWSB+aHN+fH5oc34gWCBhbmQgWQoKfHwKCntqbyd1fSBjb21iaW5lcyB0d28gYXJn dW1lbnRzIFggYW5kIFkgaW50byBvbmUgcGx1cmFsIGNvbnN0YW50IG9yIG9uZSBwbHVyYWwgdmFy aWFibGUuCgoKCntqbyd1fSBoYXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdpdGggYXJiaXRy YXJ5IGFyZ3VtZW50cyBYIGFuZCBZOgoKIyBYIG1lIFggam8ndSBZCgojIFggam8ndSBZIGR1IFkg am8ndSBYCgojIFggam8ndSBYIGR1IFgKClRoZSBwcm9wZXJ0eSAyIG1lYW5zIHRoYXQgdGhlIHJl ZmVyZW50IG9mIHRoZSB3aG9sZSBhcmd1bWVudCBkb2VzIG5vdCB2YXJ5IHdoZW4gdHdvIGFyZ3Vt ZW50cyBjb21iaW5lZCBieSB7am8ndX0gYXJlIGludGVyY2hhbmdlZCB3aXRoIGVhY2ggb3RoZXIu IFRoZSBwcm9wZXJ0eSAzIG1lYW5zIHRoYXQge2pvJ3V9IGRvZXMgbm90IGFkZCBhbnkgcmVmZXJl bnQgd2hlbiBpdCBjb21iaW5lcyBhbiBhcmd1bWVudCB3aXRoIGl0c2VsZi4KCgoKVXNpbmcge2pv J3V9LCB0aGUgZm9sbG93aW5nIGV4cHJlc3Npb24gaXMgcG9zc2libGU6CgpeCgo7RXhhbXBsZTog QiBhbmQgQyBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGUuCgo7OiBieSBqbyd1IGN5IGptYWppIGdp J2UganVrcGEgZ2knZSBjaXRrYV4KCkVhY2ggb2Yge2J5fSBhbmQge2N5fSBpcyBhIHBsdXJhbCBj b25zdGFudC4KCgoKVGhlIHByZWRpY2F0ZSB7anVrcGF9IChjb29rKSBjYW4gYmUgaW50ZXJwcmV0 ZWQgY29sbGVjdGl2ZWx5IGFuZC9vciBkaXN0cmlidXRpdmVseSwgYnV0IHRoZSBwbHVyYWwgY29u c3RhbnQge2J5IGpvJ3UgY3l9IHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGl0IHNhdGlzZmll cyB7anVrcGF9IGNvbGxlY3RpdmVseSBhbmQvb3IgZGlzdHJpYnV0aXZlbHkuIElmIHdlIHdhbnQg dG8gbWFrZSBleHBsaWNpdCB0aGF0IHRoZXkgY29va2VkICJjb2xsZWN0aXZlbHkiLCB3ZSBzYXkg e2J5IGpvaSBjeX0gdXNpbmcgKChCUEZLIFNlY3Rpb246IE5vbi1sb2dpY2FsIENvbm5lY3RpdmVz fHtqb2l9IHRoYXQgY29tYmluZXMgdHdvIGFyZ3VtZW50cyBpbnRvIGFuIGFyZ3VtZW50IHRoYXQg c2F0aXNmaWVzIGEgcHJlZGljYXRlIG5vbi1kaXN0cmlidXRpdmVseSkpLCBvciB7bHUnbyBieSBq byd1IGN5fSB1c2luZyB7bHUnb30gdGhhdCB3aWxsIGJlIGRpc2N1c3NlZCBpbiAoKHwjUmVsYXRp b25fYmV0d2Vlbl9sdV9hX2x1X29fbHVfaV9hbmRfZ2Fkcml8U2VjdGlvbiAzLjMpKS4gQ29udHJh c3RpdmVseSwgaWYgd2Ugd2FudCB0byBtYWtlIGV4cGxpY2l0IHRoYXQgdGhleSBjb29rZWQgImRp c3RyaWJ1dGl2ZWx5Iiwgd2Ugc2F5ICB7bHUnYSBieSBqbyd1IGN5fSB1c2luZyB7bHUnYX0gdGhh dCB3aWxsIGJlIGRpc2N1c3NlZCBpbiAoKHwjUmVsYXRpb25fYmV0d2Vlbl9sdV9hX2x1X29fbHVf aV9hbmRfZ2Fkcml8U2VjdGlvbiAzLjMpKS4gSG93ZXZlciwgdGhlc2UgYXJndW1lbnRzIHRoYXQg c2F5cyBleHBsaWNpdGx5IGNvbGxlY3Rpdml0eSBhbmQvb3IgZGlzdHJpYnV0aXZpdHkgYXJlIG5v dCBhbHdheXMgY29tbW9ubHkgdXNlZCBmb3Igb3RoZXIgcHJlZGljYXRlcyBsaWtlIHtqbWFqaX0g b3Ige2NpdGthfS4KCgoKVGhlIGRpYWdyYW0gYmVsbG93IHNob3dzIHJlbGF0aW9ucyBjb25zdHJ1 Y3RlZCB3aXRoIHttZX0gYW5kIHtqbyd1fSByZXByZXNlbnRlZCB3aXRoIGEgZGlyZWN0ZWQgZ3Jh cGgsIGluIHdoaWNoIHRoZSB2ZXJ0aWNlcyByZXByZXNlbnQgcGx1cmFsIGNvbnN0YW50cy4KCgoK e2ltZyBmaWxlSWQ9IjciIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgoKCiEhISEjIEluZGl2aWR1 YWwKClJlZmVyZW50IG9mIGEgcGx1cmFsIGNvbnN0YW50IGlzIG5vdCBuZWNlc3NhcmlseSBwbHVy YWw6IGEgcGx1cmFsIGNvbnN0YW50IGNhbiByZWZlciB0byBvbmUgaW5kaXZpZHVhbC4KCl9fQW4g aW5kaXZpZHVhbF9fIGlzIGRlZmluZWQgYXMgZm9sbG93czoKCnx8CgpfX1ggaXMgYW4gaW5kaXZp ZHVhbF9fIH5oc358fmhzfiA9Y2EnZSB+aHN+fH5oc34gcm8nb2kgZGEgcG9pIGtlJ2EgbWUgWCB6 byd1IFggbWUgZGEKCnx8CgoKCndoZXJlIF9fcm8nb2lfXyBpcyBhbiBleHBlcmltZW50YWwgY21h dm8gcHJvcG9zZWQgYnkgKCh4b3J4ZXN8bGEgeG9yeGVzKSksIHdoaWNoIGlzIGEgcGx1cmFsIHF1 YW50aWZpZXIgbWVhbmluZyAiYWxsIi4gIHtybydvaSBkYX0gaXMgYSBib3VuZCBwbHVyYWwgdmFy aWFibGUgbWVhbmluZyAiZm9yIGFsbCB0aGF0IGNhbiBiZSBzdWJzdGl0dXRlZCBmb3Ige2RhfSIu IFRoaXMgZGVmaW5pdGlvbiBtZWFucyB0aGF0IFggaXMgY2FsbGVkIGFuIGluZGl2aWR1YWwgd2hl biB0aGUgY29uZGl0aW9uICJmb3IgYWxsIHtkYX0gdGhhdCBhcmUgYW1vbmcgWCwgWCBpcyBhbW9u ZyB7ZGF9IiBpcyBzYXRpc2ZpZWQuIEluIG90aGVyIHdvcmRzLCAiaW4gdGhlIHVuaXZlcnNlIG9m IGRpc2NvdXJzZSwgbm90aGluZyBvdGhlciB0aGFuIHtYfSBjYW4gYmUgc3Vic3RpdHV0ZWQgZm9y IHtkYX0gc3VjaCB0aGF0IHtYIG1lIGRhfSIgaXMgZXhwcmVzc2VkIGJ5ICJYIGlzIGFuIGluZGl2 aWR1YWwiLgoKCgpXaGVuIGVhY2ggb2YgWCBhbmQgWSBpcyBhbiBpbmRpdmlkdWFsLCB7WCBqbyd1 IFl9IGlzIGNhbGxlZCBfX2luZGl2aWR1YWxzX18uIFdoZW4gZWFjaCBvZiBYIGFuZCBZIGlzIGFu IGluZGl2aWR1YWwgb3IgaW5kaXZpZHVhbHMsIHtYIGpvJ3UgWX0gaXMgY2FsbGVkIGluZGl2aWR1 YWxzIGFzIHdlbGwuCgoKCiEhISEjIERpZmZlcmVuY2UgYmV0d2VlbiBwbHVyYWwgYW5kIHNpbmd1 bGFyCgpBIHBsdXJhbCBjb25zdGFudCB0aGF0IGlzIGFuIGluZGl2aWR1YWwgaXMgY2FsbGVkIF9f c2luZ3VsYXIgY29uc3RhbnRfXy4KCgoKTm8gbWF0dGVyIHdoZXRoZXIgZWFjaCBvZiBYIGFuZCBZ IGlzIHBsdXJhbCBvciBzaW5ndWxhciwge1ggam8ndSBZfSBpcyBub3QgYSBzaW5ndWxhciBjb25z dGFudC4gSXQgaXMgYmVjYXVzZSAKCl5YIG1lIFggam8ndSBZIGlqZW5haSBYIGpvJ3UgWSBtZSBY XgoKaG9sZHMgdHJ1ZSwgYW5kIHRoZW4ge1ggam8ndSBZfSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBj b25kaXRpb24gb2YgYW4gaW5kaXZpZHVhbCB7cm8nb2kgZGEgcG9pIGtlJ2EgbWUgWCBqbyd1IFkg em8ndSBYIGpvJ3UgWSBtZSBkYX0uCgoKCiEhISEjIEJvdW5kIHNpbmd1bGFyIHZhcmlhYmxlCgpX aGVuIHRoZSBkb21haW4gb2YgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUgaXMgcmVzdHJpY3RlZCB0 byB3aGF0IGlzIGFuIGluZGl2aWR1YWwsIHRoZSB2YXJpYWJsZSBpcyBjYWxsZWQgX19ib3VuZCBz aW5ndWxhciB2YXJpYWJsZV9fLgoKe3JvIGRhfSAoZm9yIGFsbCB7ZGF9KSBhbmQge3N1J28gZGF9 ICh0aGVyZSBpcyBhdCBsZWFzdCBvbmUge2RhfSksIHdoaWNoIGFyZSBvZmZpY2lhbGx5IGRlZmlu ZWQgaW4gTG9qYmFuLCBhcmUgYm91bmQgc2luZ3VsYXIgdmFyaWFibGVzLiBUaGV5IGNhbiBiZSBk ZWZpbmVkIHdpdGggYm91bmQgcGx1cmFsIHZhcmlhYmxlcyBhcyBmb2xsb3dzOgoKfHwKCnJvIGRh IH5oc358fmhzfiBybydvaSBkYSBwb2kgcm8nb2kgZGUgcG9pIGtlJ2EgeGkgcGEgbWUga2UnYSB4 aSByZSB6byd1IGtlJ2EgeGkgcmUgbWUgZGUKCnN1J28gZGEgfmhzfnx+aHN+IHN1J29pIGRhIHBv aSBybydvaSBkZSBwb2kga2UnYSB4aSBwYSBtZSBrZSdhIHhpIHJlIHpvJ3Uga2UnYSB4aSByZSBt ZSBkZQoKfHwKCl9fc3Unb2lfXyBpcyBhbiBleHBlcmltZW50YWwgY21hdm8gcHJvcG9zZWQgYnkg KCh4b3J4ZXN8bGEgeG9yeGVzKSksIGFuZCBpcyBhIHBsdXJhbCBxdWFudGlmaWVyIG1lYW5pbmcg InRoZXJlIGlzL2FyZSIuIE5vdGUgdGhhdCB7c3Unb2l9IGlzIF9fbm90X18gImF0IGxlYXN0IG9u ZSIuIHtzdSdvaSBkYX0gaXMgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUgbWVhbmluZyAidGhlcmUg aXMvYXJlIHtkYX0iLgoKCgpGb3IgZXhhbXBsZSwgYSBwbHVyYWwgY29uc3RhbnQge0Egam8ndSBC fSBjYW4gYmUgaW4gYSBkb21haW4gb2YgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUsIGJ1dCBpdCBj YW5ub3QgYmUgaW4gYSBkb21haW4gb2YgYSBib3VuZCBzaW5ndWxhciB2YXJpYWJsZSBiZWNhdXNl IGl0IGlzIG5vdCBhbiBpbmRpdmlkdWFsLgoKCgohISEhIyBXaGF0IGlzIG5laXRoZXIgYW4gaW5k aXZpZHVhbCBub3IgaW5kaXZpZHVhbHMKClJlZmVyZW50IG9mIGEgcGx1cmFsIGNvbnN0YW50IGlz IG5vdCBuZWNlc3NhcmlseSBhbiBpbmRpdmlkdWFsIG9yIGluZGl2aWR1YWxzLiAKCkl0IGlzIHBv c3NpYmxlIHRvIGRpc2N1c3MgYSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2Ugc3VjaCB0aGF0IHJlZmVy ZW50IG9mIGEgcGx1cmFsIGNvbnN0YW50IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5k aXZpZHVhbHMuCgoKCkZvciBleGFtcGxlLCBjb25zaWRlciBzdWNoIGEgdW5pdmVyc2Ugb2YgZGlz Y291cnNlIGluIHdoaWNoIHRoZSBmb2xsb3dpbmcgcHJvcG9zaXRpb24gaG9sZHMgdHJ1ZS4KCl5y bydvaSBkYSBwb2kga2UnYSBtZSBrbydhIGt1J28gc3Unb2kgZGUgem8ndSBkZSBtZSBkYSBpamVu YWkgZGEgbWUgZGUgfi0tfiBDb25kaXRpb25fMV4KCkluIG90aGVyIHdvcmRzLCBpbiB0aGlzIHVu aXZlcnNlIG9mIGRpc2NvdXJzZSwgZm9yIGFsbCBYIHN1Y2ggdGhhdCB7WCBtZSBrbydhfSwgdGhl cmUgaXMgYWx3YXlzIFkgc3VjaCB0aGF0IHtZIG1lIFh9IGFuZCBub3Qge1ggbWUgWX0uCgoKCjtU aGVvcmVtOiBJbiBhIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSB3aGVyZSBDb25kaXRpb25fMSBpcyB0 cnVlLCB7a28nYX0gaXMgbmVpdGhlciBhbiBpbmRpdmlkdWFsIG5vciBpbmRpdmlkdWFscy4KCgoK O1Byb29mOiBTdXBwb3NlIHtrbydhfSBpcyBhbiBpbmRpdmlkdWFsLiBGcm9tIHRoZSBkZWZpbml0 aW9uIG9mICJhbiBpbmRpdmlkdWFsIjoKCl5ybydvaSBkYSBwb2kga2UnYSBtZSBrbydhIHpvJ3Ug a28nYSBtZSBkYSB+LS1+IFN1cHBvc2l0aW9uXzJeCgpSZXBsYWNlIHtybydvaSBkYX0gd2l0aCB7 bmFrdSBzdSdvaSBkYSBuYWt1fToKCl5uYWt1IHN1J29pIGRhIHBvaSBrZSdhIG1lIGtvJ2Ega3Un byBuYWt1IHpvJ3Uga28nYSBtZSBkYSB+LS1+IFN1cHBvc2l0aW9uXzItMV4KCk1vdmUgdGhlIGlu bmVyLW1vc3Qge25ha3V9IGludG8gdGhlIHByb3Bvc2l0aW9uOgoKXm5ha3Ugc3Unb2kgZGEgcG9p IGtlJ2EgbWUga28nYSB6byd1IG5ha3Uga28nYSBtZSBkYSB+LS1+IFN1cHBvc2l0aW9uXzItMl4K ClJlcGxhY2Uge3N1J29pIGRhIHBvaX0gd2l0aCB7aWplfSBhbmQgbW92ZSBpbnRvIHRoZSBwcm9w b3NpdGlvbjoKCl5uYWt1IHN1J29pIGRhIHpvJ3UgZGEgbWUga28nYSBpamUgbmFrdSBrbydhIG1l IGRhIH4tLX4gU3VwcG9zaXRpb25fMi0zXgoKUmVwbGFjZSB7aWplIG5ha3V9IHdpdGgge2lqZW5h aX06CgpebmFrdSBzdSdvaSBkYSB6byd1IGRhIG1lIGtvJ2EgaWplbmFpIGtvJ2EgbWUgZGEgfi0t fiBTdXBwb3NpdGlvbl8yLTReCgpCeSB0aGUgd2F5LCBmcm9tIGEgcHJvcGVydHkgb2Yge21lfSwK Cl5rbydhIG1lIGtvJ2EgXgoKaXMgYWx3YXlzIHRydWUuIHtrbydhfSBpcyB0aGVyZWZvcmUgaW4g dGhlIGRvbWFpbiBvZiB7ZGF9IG9mIENvbmRpdGlvbl8xLiBSZXBsYWNlIHtybydvaSBkYX0gb2Yg Q29uZGl0aW9uXzEgd2l0aCB7a28nYX0sIGFuZCBpdCB0aHVzIGhvbGRzIHRydWU6Cgpec3Unb2kg ZGUgem8ndSBkZSBtZSBrbydhIGlqZW5haSBrbydhIG1lIGRlIH4tLX4gQ29uZGl0aW9uXzEtMV4K CkNvbmRpdGlvbl8xLTEgYW5kIFN1cHBvc2l0aW9uXzItNCBjb250cmFkaWN0IGVhY2ggb3RoZXIu CgpTdXBwb3NpdGlvbl8yIGlzIHRodXMgcmVqZWN0ZWQgYnkgcmVkdWN0aW8gYWQgYWJzdXJkdW0u CgpJdCBtZWFucyB0aGF0IHtrbydhfSBpcyBub3QgYW4gaW5kaXZpZHVhbC4KCgoKTW9yZW92ZXIs IHdoZW4ge2tvJ2F9IGlzIGV4cGFuZGVkIHRvIHtBIGpvJ3UgQn0sIGZyb20gYSBwcm9wZXJ0eSBv ZiB7am8ndX0sIHRoZSBmb2xsb3dpbmcgcHJvcG9zaXRpb25zIGhvbGQgdHJ1ZToKCl5BIG1lIGtv J2F+cHB+Cgp+L3BwfkIgbWUga28nYV4KCkVhY2ggb2YgQSBhbmQgQiBpcyBpbiB0aGUgZG9tYWlu IG9mIHtkYX0gb2YgQ29uZGl0aW9uXzEuIENvbnNpZGVyaW5nIHNpbWlsYXJseSB0byBDb25kaXRp b25fMS0xLCBuZWl0aGVyIEEgbm9yIEIgaXMgYW4gaW5kaXZpZHVhbC4ge2tvJ2F9IGlzIHRodXMg bm90IGluZGl2aWR1YWxzLgoKUS5FLkQuCgoKCldoZW4ge2tvJ2F9IGlzIG5laXRoZXIgYW4gaW5k aXZpZHVhbCBub3IgaW5kaXZpZHVhbHMsIHdoYXQgYWN0dWFsbHkgZG9lcyBpdCByZWZlciB0bz8K CldlIG1heSBpbnRlcnByZXQgdGhhdCBpdCByZWZlcnMgdG8gd2hhdCBpcyByZWZlcmVkIHRvIGJ5 IGEgbWF0ZXJpYWwgbm91biwgZm9yIGV4YW1wbGUuCgpCeSBhIHNwZWFrZXIgd2hvIHRoaW5rcyB0 aGF0IGEgY3V0LW9mZiBwaWVjZSBvZiBicmVhZCBpcyBhbHNvIGJyZWFkLCBicmVhZCBpcyByZWdh cmRlZCBhcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzLgoKCgpbaHR0cHM6 Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL21zZy9sb2piYW4vUkF0RTdZay1kcXcvcENHZVlDRTlsMVFK fChSZWxhdGVkIGRpc2N1c3Npb246IGZvciB0aGUgY2FzZSBvZiB7a28nYX09e2xvIHNpZGJvfSwg SSB3cm90ZSB0aGUgc2FtZSBwcm9vZiBvbmx5IGluIExvamJhbi4pXQoKCgohISEhIyBBIGxvZ2lj YWwgYXhpb20gb24gcGx1cmFsIGNvbnN0YW50CgpUaGUgZm9sbG93aW5nIGxvZ2ljYWwgYXhpb20g aXMgZ2l2ZW4gdG8gYW4gYXJiaXRyYXJ5IHBsdXJhbCBjb25zdGFudCBDOgoKXmdhbmFpIEMgYnJv ZGEgZ2kgc3Unb2kgZGEgem8ndSBkYSBicm9kYV4KCgoKSXQgbWVhbnMgImluIGEgdW5pdmVyc2Ug b2YgZGlzY291cnNlLCBpZiBhIHByb3Bvc2l0aW9uIGluIHdoaWNoIGEgcGx1cmFsIGNvbnN0YW50 IGlzIHgxIG9mIHticm9kYX0gaG9sZHMgdHJ1ZSwgdGhlcmUgaXMgcmVmZXJlbnQgdGhhdCBpcyB4 MSBvZiB7YnJvZGF9Ii4KCgoKVGhhdCBpcyB0byBzYXksIGFuIGFyZ3VtZW50IHRoYXQgaGFzIG5v IHJlZmVyZW50IGluIGEgdW5pdmVyc2Ugb2YgZGlzY291cnNlIGNhbm5vdCBiZSByZXByZXNlbnRl ZCBieSBhIHBsdXJhbCBjb25zdGFudC4gQW4gYXJndW1lbnQgdGhhdCBoYXMgbm8gcmVmZXJlbnQg aXMgZXhwcmVzc2VkIGluIHRoZSBmb3JtIHtuYWt1IHN1J29pIGRhfSwgd2hpY2ggaXMgYSBuZWdh dGlvbiBvZiBhIGJvdW5kIHBsdXJhbCB2YXJpYWJsZSB7c3Unb2kgZGF9IG1lYW5pbmcgInRoZXJl IGlzL2FyZSIuCgoKCiEhIyBEZWZpbml0aW9uIG9mIGdhZHJpCgo7X19sb19fIChMRSk6IEl0IGlz IHByZWZpeGVkIHRvIHNlbGJyaSwgYW5kIGZvcm1zIGEgcGx1cmFsIGNvbnN0YW50IHRoYXQgcmVm ZXJzIHRvIHdoYXQgc2F0aXNmaWVzIHgxLCB0aGUgZmlyc3QgcGxhY2Ugb2YgdGhlIHNlbGJyaS4g SWYgYSBxdWFudGlmaWVyIGZvbGxvd3Mge2xvfSwgdGhlIHF1YW50aWZpZXIgcmVwcmVzZW50cyB0 aGUgc3VtIG9mIGFsbCB0aGUgcmVmZXJlbnRzIG9mIHRoZSBwbHVyYWwgY29uc3RhbnQuIEluIHRo ZSBjYXNlIHRoYXQgYSBxdWFudGlmaWVyIGZvbGxvd3Mge2xvfSwgYSBzdW10aSBtYXkgZm9sbG93 IGl0LCBhbmQgdGhlIHF1YW50aWZpZXIgcmVwcmVzZW50cyB0aGUgc3VtIG9mIGFsbCB0aGUgcmVm ZXJlbnRzIG9mIHRoZSBzdW10aS4KCnx8CgpsbyBbW1BBXSBicm9kYSAoa3UpIH5oc358fmhzfiB6 bydlIG5vaSBrZSdhIGJyb2RhIFtbZ2knZSB6aWxrYW5jdSBsaSBQQSBsbyBicm9kYV0gKGt1J28p IH5oc358fmhzfiB3aGF0IGlzL2FyZSBicm9kYSBbW3RoYXQgaXMvYXJlIFBBIGluIHRvdGFsXQoK bG8gUEEgJydzdW10aScnIChrdSkgfmhzfnx+aHN+IGxvIFBBIG1lICcnc3VtdGknJyAobWUndSkg KGt1KSB+aHN+fH5oc34gd2hhdCBpcy9hcmUgYW1vbmcgJydzdW10aScnIHRoYXQgaXMvYXJlIFBB IGluIHRvdGFsCgp8fAoKe2t1fSwge2t1J299LCB7bWUndX0gYXJlIGVsaWRhYmxlIHRlcm1pbmF0 b3JzLgoKCgpQdXR0aW5nIGEgcXVhbnRpZmllciBhZnRlciBnYWRyaSBsaWtlIHtsbyBQQX0gaXMg Y2FsbGVkIF9faW5uZXIgcXVhbnRpZmljYXRpb25fXywgYW5kIHRoZSBxdWFudGlmaWVyIGlzIGNh bGxlZCBfX2lubmVyIHF1YW50aWZpZXJfXy4gQWx0aG91Z2ggdGhlIHRlcm0gInF1YW50aWZ5IiBp cyBpbnZvbHZlZCwgaXQgaXMgZGlmZmVyZW50IGZyb20gcXVhbnRpZmljYXRpb24gb2YgbG9naWMu IElubmVyIHF1YW50aWZpY2F0aW9uIGRvZXMgbm90IGludm9sdmUgY291bnRpbmcgcmVmZXJlbnRz IG9mIGNvbnN0YW50cyB0aGF0IGNhbiBiZSBzdWJzdGl0dXRlZCBmb3IgYSB2YXJpYWJsZSwgYnV0 IGNvdW50aW5nIGFsbCB0aGUgcmVmZXJlbnRzIG9mIG9uZSBwbHVyYWwgY29uc3RhbnQuIElubmVy IHF1YW50aWZpY2F0aW9uIHdpbGwgYmUgZGlzY3Vzc2VkIG1vcmUgcHJlY2lzZWx5IGluICgofCNJ bm5lcl9xdWFudGlmaWNhdGlvbnxTZWN0aW9uIDMuMSkpLgoKCgpPbiB0aGUgb3RoZXIgaGFuZCwg cHV0dGluZyBhIHF1YW50aWZpZXIgYmVmb3JlIGdhZHJpLCBvciBiZWZvcmUgYSBzdW10aSBtb3Jl IGdlbmVyYWxseSwgaXMgY2FsbGVkIF9fb3V0ZXIgcXVhbnRpZmljYXRpb25fXywgYW5kIHRoZSBx dWFudGlmaWVyIGlzIGNhbGxlZCBfX291dGVyIHF1YW50aWZpZXJfXy4gT3V0ZXIgcXVhbnRpZmlj YXRpb24gd2lsbCBiZSBkaXNjdXNzZWQgbW9yZSBwcmVjaXNlbHkgaW4gKCh8I091dGVyX3F1YW50 aWZpY2F0aW9ufFNlY3Rpb24gMy4yKSkuCgoKCkFsbCBzdW10aSBmb3JtZWQgd2l0aCBnYWRyaSBh cmUgZGVmaW5lZCBzbyB0aGF0IHRoZXkgYXJlIGV4cGFuZGVkIGludG8gZXhwcmVzc2lvbnMgd2l0 aCB7em8nZX0uIFRoYXQgaXMgdG8gc2F5LCB0aGUgbW9zdCBnZW5lcmFsIHBsdXJhbCBjb25zdGFu dCBpcyByZXByZXNlbnRlZCBieSBhIHNpbmdsZSB7em8nZX0uIEEgc3VtdGkgZm9ybWVkIHdpdGgg Z2FkcmkgaXMge3pvJ2V9IGFjY29ucGFuaWVkIGJ5IGFuIGV4cGxhbmF0aW9uLgoKXgoKO0V4YW1w bGU6IFBlb3BsZSBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGUuCgo7OiBsbyBwcmVudSBjdSBqbWFq aSBnaSdlIGp1a3BhIGdpJ2UgY2l0a2FeCgoKCldoaWxlIHRoZSBwcmVkaWNhdGUge2p1a3BhfSAo Y29vaykgY2FuIGJlIGludGVycHJldGVkIGNvbGxlY3RpdmVseSBhcyB3ZWxsIGFzIGRpc3RyaWJ1 dGl2ZWx5LCB0aGUgcGx1cmFsIGNvbnN0YW50IHtsbyBwcmVudX0gKHBlb3BsZSkgZG9lcyBub3Qg c2F5IGV4cGxpY2l0bHkgaWYgaXQgc2F0aXNmaWVzIHtqdWtwYX0gY29sbGVjdGl2ZWx5IG9yIGRp c3RyaWJ1dGl2ZWx5LiBJZiB3ZSB3YW50IHRvIHNheSBleHBsaWNpdGx5IHRoYXQgdGhleSAiY29s bGVjdGl2ZWx5IiBjb29rZWQsIHdlIHVzZSB7bG9pfSwgd2hpY2ggd2lsbCBiZSBkaXNjdXNzZWQg bGF0ZXIsIGFuZCBzYXkge2xvaSBwcmVudX0uIENvbnRyYXN0aXZlbHksIGlmIHdlIHdhbnQgdG8g c2F5IGV4cGxpY2l0bHkgdGhhdCB0aGV5ICJkaXN0cmlidXRpdmVseSIgY29va2VkLCB3ZSBzYXkg e3JvIGxvIHByZW51fSB3aXRoIGFuIG91dGVyIHF1YW50aWZpY2F0aW9uLCBvciB7bHUnYSBsbyBw cmVudX0uIEhvd2V2ZXIsIGEgc3VtdGkgdGhhdCBzYXlzIGV4cGxpY2l0bHkgY29sbGVjdGl2aXR5 IG9yIGRpc3RyaWJ1dGl2aXR5IGlzIG5vdCBuZWNlc3NhcmlseSBhYmxlIHRvIGJlIHNoYXJlZCB3 aXRoIG90aGVyIHByZWRpY2F0ZSBsaWtlIHtqbWFqaX0gb3Ige2NpdGthfS4KCgoKO19fbGVfXyAo TEUpOiB7bGUgYnJvZGF9IHJlZmVycyBfX3NwZWNpZmljYWxseV9fIHRvIGEgcmVmZXJlbnQgb2Yg e2xvIGJyb2RhfSwgYW5kIF9fZXhwbGljaXRseSBleHByZXNzIHRoYXQgdGhlIHNwZWFrZXIgaGFz IHRoZSByZWZlcmVudCBpbiBtaW5kX18uIEl0cyBsb2dpY2FsIHByb3BlcnR5IGlzIHRoZSBzYW1l IGFzIHRoYXQgb2Yge2xvfS4KCnx8CgpsZSBbW1BBXSBicm9kYSAoa3UpIH5oc358fmhzfiB6bydl IG5vaSBtaSBrZSdhIGRvIHNraWN1IGxvIGthIGNlJ3UgYnJvZGEgW1tnaSdlIHppbGthbmN1IGxp IFBBIGxvIGJyb2RhXSAoa3UnbykgCgpsZSBQQSAnJ3N1bXRpJycgKGt1KSB+aHN+fH5oc34gbGUg UEEgbWUgJydzdW10aScnIChtZSd1KSAoa3UpCgp8fAoKCgo7X19sYV9fIChMQSk6IEl0IGlzIHBy ZWZpeGVkIHRvIHNlbGJyaSBvciBjbWV2bGEsIGFuZCBmb3JtcyBhIHBsdXJhbCBjb25zdGFudCB0 aGF0IHJlZmVycyB0byB3aGF0IGlzIG5hbWVkIHRoZSBzZWxicmkgb3IgY21ldmxhIHN0cmluZy4g SXRzIGxvZ2ljYWwgcHJvcGVydHkgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB7bG99LgoKfHwKCmxh IFtbUEFdIGJyb2RhIChrdSkgfmhzfnx+aHN+IHpvJ2Ugbm9pIGx1IFtbUEFdIGJyb2RhIGxpJ3Ug Y21lbmUga2UnYSBtaSAoa3UnbykgCgpsYSBQQSAnJ3N1bXRpJycgKGt1KSB+aHN+fH5oc34gem8n ZSBub2kgbHUgUEEgc3VtdGkgbGkndSBjbWVuZSBrZSdhIG1pIChrdSdvKSAKCnx8CgoKCjtfX2xv aV9fIChMRSksIF9fbGVpX18gKExFKSwgX19sYWlfXyAoTEEpOiB7bG9pL2xlaS9sYWkgYnJvZGF9 IHJlZmVycyB0byBhIHJlZmVyZW50IG9mIHtsby9sZS9sYSBicm9kYX0sIGFuZCBfX2V4cGxpY2l0 bHkgZXhwcmVzcyB0aGF0IHRoZSByZWZlcmVudCBzYXRpc2ZpZXMgYSBwcmVkaWNhdGUgY29sbGVj dGl2ZWx5X18uCgp8fAoKbG9pIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBsbyBb W1BBXSBicm9kYQoKbGVpIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBsZSBbW1BB XSBicm9kYQoKbGFpIFtbUEFdIGJyb2RhIH5oc358fmhzfiBsbyBndW5tYSBiZSBsYSBbW1BBXSBi cm9kYQoKbG9pIFBBICcnc3VtdGknJyB+aHN+fH5oc34gbG8gZ3VubWEgYmUgbG8gUEEgJydzdW10 aScnCgpsZWkgUEEgJydzdW10aScnIH5oc358fmhzfiBsbyBndW5tYSBiZSBsZSBQQSAnJ3N1bXRp JycKCmxhaSBQQSAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvIGd1bm1hIGJlIGxhIFBBICcnc3VtdGkn JwoKfHwKCkJhY2F1c2Uge2xvaS9sZWkvbGFpfSBpcyB0aHVzIGRlZmluZWQgYnkgYW5vdGhlciBw bHVyYWwgY29uc3RhbnQge2xvIGd1bm1hIGJlIGxvL2xlL2xhfSwgaXQgZG9lcyBub3QgcmVmZXIg ZGlyZWN0bHkgdG8gcmVmZXJlbnQgb2Yge2xvIGJyb2RhfSBvciB7bG8gUEEgJydzdW10aScnfSwg YnV0IHJlZmVyZW50IG9mIHtsbyBndW5tYX0uIFRoZXJlZm9yZSwgZXZlbiBpZiB7bG8gYnJvZGF9 IG9yIHtsbyBQQSAnJ3N1bXRpJyd9IGlzIG5vdCBhbiBpbmRpdmlkdWFsLCB7bG9pIGJyb2RhfSBv ciB7bG9pIFBBICcnc3VtdGknJ30gY2FuIGJlIGFuIGluZGl2aWR1YWwge2xvIGd1bm1hfSB1bmRl ciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbjoKCl5ybydvaSBkYSBwb2kga2UnYSBtZSBsbyBndW5t YSBiZSBsby9sZS9sYSBbW1BBXSBicm9kYSB6byd1IGxvIGd1bm1hIGJlIGxvL2xlL2xhIFtbUEFd IGJyb2RhIGN1IG1lIGRhfnBwfgoKfi9wcH5ybydvaSBkYSBwb2kga2UnYSBtZSBsbyBndW5tYSBi ZSBsby9sZS9sYSBQQSAnJ3N1bXRpJycgem8ndSBsbyBndW5tYSBiZSBsby9sZS9sYSBQQSAnJ3N1 bXRpJycgY3UgbWUgZGFeCgoKCjtfX2xvJ2lfXyAoTEUpLCBfX2xlJ2lfXyAoTEUpLCBfX2xhJ2lf XyAoTEEpOiB7bG8naS9sZSdpL2xhJ2kgYnJvZGF9IHJlZmVycyB0byBhIHNldCBvciBzZXRzIG9m IGluZGl2aWR1YWwocykgdGhhdCBjb25zdGl0dXRlKHMpIGEgcGx1cmFsIGNvbnN0YW50IHtsby9s ZS9sYSBicm9kYX0uIEJlY2F1c2Uge2xvJ2kvbGUnaS9sYSdpfSBmb3JtcyBhIHNldCBvciBzZXRz LCBpdCBpcyBkZWZpbmVkIG9ubHkgd2hlbiBpdHMvdGhlaXIgbWVtYmVyKHMpIHtsby9sZS9sYSBi cm9kYX0gaXMvYXJlIGFuIGluZGl2aWR1YWwgb3IgaW5kaXZpZHVhbHMuIEEgc2V0IGl0c2VsZiBp cyBhbHdheXMgYW4gaW5kaXZpZHVhbCwgYW5kIHNldHMgYXJlIGFsd2F5cyBpbmRpdmlkdWFsczog dGhlcmUgaXMgbm8gc2V0IHRoYXQgaXMgbm90IGFuIGluZGl2aWR1YWwuCgp8fAoKbG8naSBbW1BB XSBicm9kYSB+aHN+fH5oc34gbG8gc2VsY21pIGJlIGxvIFtbUEFdIGJyb2RhCgpsZSdpIFtbUEFd IGJyb2RhIH5oc358fmhzfiBsbyBzZWxjbWkgYmUgbGUgW1tQQV0gYnJvZGEKCmxhJ2kgW1tQQV0g YnJvZGEgfmhzfnx+aHN+IGxvIHNlbGNtaSBiZSBsYSBbW1BBXSBicm9kYQoKbG8naSBQQSAnJ3N1 bXRpJycgfmhzfnx+aHN+IGxvIHNlbGNtaSBiZSBsbyBQQSAnJ3N1bXRpJycKCmxlJ2kgUEEgJydz dW10aScnIH5oc358fmhzfiBsbyBzZWxjbWkgYmUgbGUgUEEgJydzdW10aScnCgpsYSdpIFBBICcn c3VtdGknJyB+aHN+fH5oc34gbG8gc2VsY21pIGJlIGxhIFBBICcnc3VtdGknJwoKfHwKCkJlY2F1 c2Uge2xvJ2kvbGUnaS9sYSdpfSBpcyBkZWZpbmVkIGJ5IGFub3RoZXIgcGx1cmFsIGNvbnN0YW50 IHtsbyBzZWxjbWkgYmUgbG8vbGUvbGF9LCBpdCBkb2VzIG5vdCByZWZlciBkaXJlY3RseSB0byBy ZWZlcmVudCBvZiB7bG8gYnJvZGF9IG9yIHtsbyBQQSAnJ3N1bXRpJyd9LCBidXQgcmVmZXJlbnQg b2Yge2xvIHNlbGNtaX0uCgoKCkFuIGVtcHR5IHNldCBpcyB7bG8gc2VsY21pIGJlIG5vIGRhfSwg YW5kIGFuIGV4cHJlc3Npb24ge2xvIG5vIGJyb2RhfSBpcyBvZmZpY2lhbGx5IG1lYW5pbmdsZXNz IChzZWUgKCh8I0lubmVyX3F1YW50aWZpY2F0aW9ufFNlY3Rpb24gMy4xKSkuIFRoaXMgaW1wbGll cyB0aGF0IGFuIGVtcHR5IHNldCBjYW5ub3QgYmUgZXhwcmVzc2VkIHdpdGgge2xvJ2kvbGUnaS9s YSdpfS4gCgoKCiEhISMgSW5uZXIgcXVhbnRpZmljYXRpb24KCigoQlBGSyBTZWN0aW9uOiBnYWRy aXxCUEZLIGRlZmluZXMgaW5uZXIgcXVhbnRpZmljYXRpb24pKSBhcyBmb2xsb3dzOgoKfHwKCmxv IFtbUEFdIGJyb2RhIH5oc358fmhzfiB6bydlIG5vaSBrZSdhIGJyb2RhIFtbZ2knZSB6aWxrYW5j dSBsaSBQQSBsbyBicm9kYV0KCmxvIFBBICcnc3VtdGknJyB+aHN+fH5oc34gbG8gUEEgbWUgJydz dW10aScnCgp8fAoKVGhhdCBpcyB0byBzYXksIGlubmVyIHF1YW50aWZpZXIgbWVhbnMgbnVtYmVy IG9mIHJlZmVyZW50IGNvdW50ZWQgYnkgdW5pdCB7bG8gYnJvZGF9IG9yIHtsbyBtZSAnJ3N1bXRp Jyd9IHRoYXQgaXMgeDMgb2Yge3ppbGthbmN1fS4gCgpIb3dldmVyLCBpbnN0ZWFkIG9mIHt6aWxr YW5jdX0sIHRoZSBtZWFuaW5nIG9mIHdoaWNoIGlzIHRvbyB2YWd1ZSBmb3IgZGVmaW5pdGlvbiwg W2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZC9tc2cvbG9qYmFuL1JBdEU3WWstZHF3L3hpMmg2 QTE3Q3VzSnxhbiBpZGVhIG9mIHJlZGVmaW5pdGlvbiB1c2luZyB7bWVpfSB3YXMgc3VnZ2VzdGVk XSBhcyBmb2xsb3dzOgoKCgo7QXhpb20gMTogcm8nb2kgZGEgc3UnbyBwYSBtZWkKCjtEZWZpbml0 aW9uOnx8CgooRDEpIGtvJ2Egc3UnbyBOIG1laSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IHN1 J29pIGRhIHBvaSBtZSBrbydhIGt1J28gc3Unb2kgZGUgcG9pIG1lIGtvJ2Egem8ndSBnZSBkYSBz dSdvIE4tMSBtZWkgZ2luYWkgZGUgbWUgZGEKCihEMikga28nYSBOIG1laSB+aHN+fH5oc34gPWNh J2Ugfmhzfnx+aHN+IGtvJ2Egc3UnbyBOIG1laSBnaSdlIG5haSBzdSdvIE4rMSBtZWkgCgooRDMp IGxvIFBBIGJyb2RhIH5oc358fmhzfiA9Y2EnZSB+aHN+fH5oc34gem8nZSBub2kga2UnYSBQQSBt ZWkgZ2knZSBicm9kYQoKfHwKCgoKVXNpbmcgdGhlc2UgZGVmaW5pdGlvbnMgYW5kIEF4aW9tIDEs IHRoZSBmb2xsb3dpbmcgdGhlb3JlbSB3aWxsIGJlIHByb3ZlZC4KCl5JZiBhbmQgb25seSBpZiB7 a28nYSBwYSBtZWl9LCB7a28nYX0gaXMgYW4gaW5kaXZpZHVhbC5eCgoKCjtQcm9vZjogKEQyKSBp cwoKfHwKCmtvJ2EgTiBtZWkJfD18IGtvJ2Egc3UnbyBOIG1laSBnaSdlIG5haSBzdSdvIE4rMSBt ZWkgCgoJCXw9fCBnZSBrbydhIHN1J28gTiBtZWkgLS0tLS0oUzEpCgoJCXwgfCBnaSBuYWt1IGtv J2Egc3UnbyBOKzEgbWVpIC0tLS0tKFMyKQoKfHwKCkFwcGx5aW5nIChEMSkgdG8gKFMyKSwgCgp8 fAoKKFMyKQkJfD18IG5ha3Ugc3Unb2kgZGEgcG9pIG1lIGtvJ2Ega3UnbyBzdSdvaSBkZSBwb2kg bWUga28nYSB6byd1IAoKCQl8IHwgZ2UgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpbmFpIGRlIG1l IGRhCgoJCXw9fCBybydvaSBkYSBwb2kgbWUga28nYSBrdSdvIHJvJ29pIGRlIHBvaSBtZSBrbydh IHpvJ3UKCgkJfCB8IG5ha3UgZ2UgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpIG5ha3UgZGUgbWUg ZGEKCgkJfD18IHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1J28gcm8nb2kgZGUgcG9pIG1lIGtvJ2Eg em8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBOIG1laSAKCgkJfCB8IGdpIGRlIG1lIGRhCgp8fAoK KEQyKSBpcyB0aGVyZWZvcmUKCnx8CgprbydhIE4gbWVpCXw9fCBnZSAoUzEpIGdpIChTMikgCgoJ CXw9fCBnZSBrbydhIHN1J28gTiBtZWkKCgkJfCB8IGdpIHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1 J28gcm8nb2kgZGUgcG9pIG1lIGtvJ2Egem8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBOIG1laSAK CgkJfCB8IGdpIGRlIG1lIGRhCgp8fAoKV2hlbiBOPTEsCgp8fAoKa28nYSBwYSBtZWkJfD18IGdl IGtvJ2Egc3UnbyBwYSBtZWkKCgkJfCB8IGdpIHJvJ29pIGRhIHBvaSBtZSBrbydhIGt1J28gcm8n b2kgZGUgcG9pIG1lIGtvJ2Egem8ndQoKCQl8IHwgZ2FuYWkgZGEgc3UnbyBwYSBtZWkgCgoJCXwg fCBnaSBkZSBtZSBkYSAKCnx8CgpCZWNhdXNlIG9mIEF4aW9tIDEsIGl0IGltcGxpZXMKCnx8Cgpr bydhIHBhIG1laQl8PXwgcm8nb2kgZGEgcG9pIG1lIGtvJ2Ega3UnbyBybydvaSBkZSBwb2kgbWUg a28nYSB6byd1IGRlIG1lIGRhCgp8fAoKVGhlIHJpZ2h0IHNpZGUgaW1wbGllcyB7cm8nb2kgZGEg cG9pIGtlJ2EgbWUga28nYSB6byd1IGtvJ2EgbWUgZGF9LCB3aGljaCBpcyB0aGUgY29uZGl0aW9u IGZvciAie2tvJ2F9IGlzIGFuIGluZGl2aWR1YWwiLiBJdHMgY29udmVyc2UgaXMgYWxzbyB0cnVl LgoKUS5FLkQuCgoKClRoZSBkaWFncmFtIGJlbG93IHNob3dzIGEgcHJvY2VkdXJlIG9mIGNvdW50 aW5nIHNvbWV0aGluZyB1cCB0byBmb3VyIHJlcHJlc2VudGVkIHdpdGggYSBkaXJlY3RlZCBncmFw aC4gSW4gdGhpcyBkaWFncmFtLCBsb29wcyBzdWNoIGFzIHtYIG1lIFh9IGFyZSBvbWl0dGVkIGZv ciBzaW1wbGljaXR5LCB0aG91Z2ggdGhleSBleGlzdC4gQ291bnRpbmcgdXAgY29ycmVzcG9uZHMg dG8gc2VsZWN0aW5nIGEgc3ViZ3JhcGggb2YgYSBkaXJlY3RlZCBncmFwaCBmb3JtZWQgd2l0aCB7 bWV9OiB0aGUgc3ViZ3JhcGggdGhhdCBoYXMgYSBmb3JtIG9mIHRyZWUgdGhhdCBpbmNsdWRlcyBh bGwgbGVhdmVzIChjb25zdGFudHMgZWFjaCBvZiB3aGljaCBpcyBhbiBpbmRpdmlkdWFsKSB0byBi ZSBjb3VudGVkLCBmb3IgZXhhbXBsZSB0aGUgcGFydCBvZiBtYWdlbnRhIGNvbG9yIGluIHRoZSBk aWFncmFtLgoKCgp7aW1nIGZpbGVJZD0iMTAiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgoKCiEh ISEjIFJlcGVhdGluZyBpbm5lciBxdWFudGlmaWNhdGlvbgoKQmVjYXVzZSB7bG8gUEEgJydzdW10 aScnfSBpcyBkZWZpbmVkLCB3ZSBjYW4gcmVwZWF0IGlubmVyIHF1YW50aWZpY2F0aW9uIHRvIGZv cm0gYW4gYXJndW1lbnQuCgpeCgo7RXhhbXBsZTogbG8gbXVsbm8ga2FyZHlncmkgY3UgZ3VubWEg bG8gdm8gbG9pIHBhY2kga2FyZGEgfmhzfiAnJ0EgZnVsbCBkZWNrIGNvbnNpc3RzIG9mIGZvdXIg Z3JvdXBzIG9mIHRoaXJ0ZWVuIGNhcmRzLicnCgo7OiBzdSdvIGRhIHpvJ3UgbG9pIHJlIGxvJ2kg cm8gbW9rY2Egbm9pIHNlcGxpIHB5IG5vaSBtb2tjYSBrdSdvIGRhIGN1IHJlbGN1a3RhaSB+aHN+ ICcnVHdvIHNldHMgb2YgcG9pbnRzIHRoYXQgYXJlIGVxdWlkaXN0YW50IGZyb20gYSBwb2ludCBQ IGlzIGEgZG91YmxlIGNpcmNsZS4nJ14KCgoKISEhISMgUHJvYmxlbXMgb24gaW5uZXIgcXVhbnRp ZmljYXRpb24KCiEhISEhIyBDYW5ub3Qgc2F5IHplcm8KCgoKQmVjYXVzZSBhbiBhcmd1bWVudCBm b3JtZWQgYnkgZ2FkcmkgaXMgYSBwbHVyYWwgY29uc3RhbnQsIHtsbyBicm9kYX0gaW1wbGllcyB7 c3Unb2kgZGEgem8ndSBkYSBicm9kYX0gYWNjb3JkaW5nIHRvIHRoZSBsb2dpY2FsIGF4aW9tIG9u IHBsdXJhbCBjb25zdGFudCBzaG93biBpbiAoKHwjQV9sb2dpY2FsX2F4aW9tX29uX3BsdXJhbF9j b25zdGFudHxTZWN0aW9uIDIuMi42KSkuIFRoYXQgaXMgdG8gc2F5LCB0aGUgZXhwcmVzc2lvbiB7 bG8gbm8gYnJvZGF9IGltcGxpZXMgInRoZXJlIGFyZSB3aGF0IGFyZSBicm9kYSwgd2hpY2ggYXJl IGNvdW50ZWQgMCIsIHdoaWNoIHNlZW1zIG1lYW5pbmdsZXNzLgoKCgpUaGlzIG1lYW5zIHRoYXQg b2ZmaWNpYWwgTG9qYmFuIGNhbm5vdCBleHByZXNzIG5lZ2F0aW9uIG9mIGV4aXN0ZW5jZSBvZiBw bHVyYWwgdmFyaWFibGUge25ha3Ugc3Unb2kgZGF9LCB3aGljaCBpcyBuZXZlcnRoZWxlc3MgbmVj ZXNzYXJ5LCBmb3IgZXhhbXBsZSBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbjoKCgoKXiBsbyB4 byBwcmVudSBjdSBqbWFqaSBnaSdlIGp1a3BhIGdpJ2UgY2l0a2Egfmhzfn4tLX4gbm9+cHB+Cgp+ L3BwficnIkhvdyBtYW55IHBlb3BsZSBnYXRoZXJlZCwgY29va2VkIGFuZCBhdGU/IiAiemVyby4i JydeCgoKClRoaXMgcmVzcG9uc2UgaXMgYW4gYWJicmV2aWF0ZWQgZm9ybSBvZiB7bG8gbm8gcHJl bnUgY3Ugam1hamkgZ2knZSBqdWtwYSBnaSdlIGNpdGthfS4KCgoKVGhpcyBwcm9wb3NpdGlvbiBt ZWFucyB0aGF0IHtsbyBubyBwcmVudX0gc2F0aXNmaWVzIHNlbGJyaSB7am1haml9IGNvbGxlY3Rp dmVseSBhbmQgKGplKSBub24tZGlzdHJpYnV0aXZlbHksIHtqdWtwYX0gY29sbGVjdGl2ZWx5IG9y IChqYSkgZGlzdHJpYnV0aXZlbHksIHtjaXRrYX0gbm9uLWNvbGxlY3RpdmVseSBhbmQgKGplKSBk aXN0cmlidXRpdmVseS4gQmVjYXVzZSBpdCBpbmNsdWRlcyBzZWxicmkge2ptYWppfSB0byBiZSBz YXRpc2ZpZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5LCB0aGUgc3VtdGkgY2Fubm90IGJlIHJlcGxhY2Vk IGJ5IG5lZ2F0aW9uIG9mIGV4aXN0ZW5jZSBvZiBib3VuZCBzaW5ndWxhciB2YXJpYWJsZSB7bmFr dSBzdSdvIGRhfT17bm8gZGF9LiBNb3Jlb3ZlciwgYmVjYXVzZSBpdCBpbmNsdWRlcyBzZWxicmkg e2NpdGthfSB0byBiZSBzYXRpc2ZpZWQgbm9uLWNvbGxlY3RpdmVseSwge2xvfSBvZiB0aGUgc3Vt dGkgY2Fubm90IGJlIHJlcGxhY2VkIGJ5IHtsb2l9PXtsbyBndW5tYSBiZSBsb30uCgoKCkZvciBt YWtpbmcgc3VjaCBhIHByb3Bvc2l0aW9uIG1lYW5pbmdmdWwsIGl0IGlzIGVzc2VudGlhbCB0byBn aXZlIGFuIGV4cHJlc3Npb24ge2xvIG5vIGJyb2RhfSBhIG1lYW5pbmcgb2YgbmVnYXRpb24gb2Yg ZXhpc3RlbmNlIG9mIHBsdXJhbCB2YXJpYWJsZS4KCkZvciB0aGlzIHB1cnBvc2UsIEkgc3VnZ2Vz dCB0aGUgZm9sbG93aW5nIGRlZmluaXRpb24gdmFsaWQgaW4gdGhlIGNhc2UgdGhhdCBQQT0wIGZv ciB7bG8gUEEgYnJvZGF9LgoKO1Vub2ZmaWNpYWwgZGVmaW5pdGlvbiBvZiB7bG8gbm8gYnJvZGF9 Onx8CgpsbyBubyBicm9kYSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IG5ha3Ugc3Unb2kgZGEg cG9pIGtlJ2EgYnJvZGEKCnx8CgoKCu+8iElmIGl0IHdlcmUgZGVmaW5lZCBhcyB7bmFrdSBsbyBi cm9kYX0sIHRoZSBuZWdhdGlvbiB3b3VsZCBoYXZlIHNwYW5uZWQgdGhlIHdob2xlIHByb3Bvc2l0 aW9uLCBhbmQgaXQgd291bGQgbm90IGhhdmUgaW1wbGllZCBxdWFudGlmaWNhdGlvbi4gSSBhYmFu ZG9uZWQgdGhlcmVmb3JlIHN1Y2ggYSBkZWZpbml0aW9uLikKCgoKISEhISEjIENhbm5vdCBxdWFu dGlmeSBtYXRlcmlhbCBub3VuIG9yIHNvbWV0aGluZwoKQXhpb20gMSBvZiAoKHwjSW5uZXJfcXVh bnRpZmljYXRpb258U2VjdGlvbiAzLjEpKSBleGNsdWRlcyBzdW10aSB0aGF0IGlzIG5laXRoZXIg YW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgZnJvbSBleHByZXNzaW9ucyB7KHN1J28pIE4g bWVpfSBhbmQge2xvIE4gYnJvZGF9LgoKCgpDYW4gd2UgdXNlIHtwaVBBfSBmb3Igc3VtdGkgdGhh dCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzLCB0aGVuPyBOby4KCigo QlBGSyBTZWN0aW9uOiBnYWRyaXxBY3R1YWxseSwgcGlQQSBpcyBkZWZpbmVkIG9ubHkgZm9yIG91 dGVyIHF1YW50aWZpY2F0aW9uLikpCgp8fAoKcGlQQSAnJ3N1bXRpJycgfmhzfnx+aHN+IGxvIHBp UEEgc2knZSBiZSBwYSBtZSAnJ3N1bXRpJycKCnx8CgpBcyB3ZSBjYW4gc2VlIGluIHRoZSBkZWZp bml0aW9uLCB0aGUgYm9keSBvZiBvdXRlciBxdWFudGlmaWNhdGlvbiBieSB7cGlQQX0gaXMgcGx1 cmFsIGNvbnN0YW50IHtsbyBwaVBBIHNpJ2V9LCB3aGljaCBpcyBub3QgYSBib3VuZCBzaW5ndWxh ciB2YXJpYWJsZS4gSG93ZXZlciwgeDIgb2Yge3BpUEEgc2knZX0gaXMge3BhIG1lICcnc3VtdGkn J30sIHRvIHdoaWNoICgoQlBGSyBTZWN0aW9uOiBnYWRyaXx0aGUgZGVmaW50aW9uIG9mIFBBIGJy b2RhKSkgaXMgYXBwbGllZDoKCnx8CgpQQSBicm9kYSB+aHN+fH5oc34gUEEgZGEgcG9pIGJyb2Rh IAoKfHwKCkFzIGEgcmVzdWx0LCB7cGlQQSAnJ3N1bXRpJyd9IGlzIGRlZmluZWQgb25seSB3aGVu IHRoZXJlIGlzIGFuIGluZGl2aWR1YWwgdGhhdCBzYXRpc2ZpZXMgeDEgb2Yge21lICcnc3VtdGkn J30uIFRoYXQgaXMgdG8gc2F5LCB3aGF0IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5k aXZpZHVhbHMgaXMgZXhjbHVkZWQgYWxzbyBmcm9tIGFuIGV4cHJlc3Npb24gb2Ygb3V0ZXIgcXVh bnRpZmljYXRpb24gd2l0aCB7cGlQQX0uCgoKCldoYXQgd291bGQgYmUgaWYge3BpUEF9IHdlcmUg ZGVmaW5lZCBhbHNvIGZvciBpbm5lciBxdWFudGlmaWNhdGlvbj8KCkluIHRoYXQgY2FzZSwgdGhl IGZvbGxvd2luZyBkZWZpbml0aW9uIHdvdWxkIGJlIGRlc2lyYWJsZSB0byBjb25mb3JtIHRoZSBk ZWZpbml0aW9uIG9mIHtwaVBBfSBvZiBvdXRlciBxdWFudGlmaWNhdGlvbjoKCjsgVW5vZmZpY2lh bCBkZWZpbml0aW9uIG9mIHtwaVBBfSBvZiBpbm5lciBxdWFudGlmaWNhdGlvbjp8fAoKbG8gcGlQ QSBicm9kYSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IHpvJ2Ugbm9pIGtlJ2EgcGlQQSBzaSdl IGJlIGxvIHBhIGJyb2RhCgp8fAoKVGhpcyBkZWZpbml0aW9uIG9mIHtwaVBBfSBvZiBpbm5lciBx dWFudGlmaWNhdGlvbiBzdGlsbCBleGNsdWRlcyB3aGF0IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVh bCBub3IgaW5kaXZpZHVhbHMgdW5sZXNzIHtsbyBwYSBicm9kYX0gaXMgZGVmaW5lZCBpbiBhbm90 aGVyIHdheSBzbyB0aGF0IGl0IGNhbiBiZSB3aGF0IGlzIG5laXRoZXIgYW4gaW5kaXZpZHVhbCBu b3IgaW5kaXZpZHVhbHMuCgoKCldoeSBkb24ndCB3ZSB1c2Uge1BBIHNpJ2V9IHRvIGV4cHJlc3Mg cXVhbnRpZmljYXRpb24gb2Ygd2hhdCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2 aWR1YWxzPyAKCkl0IGlzIHBvc3NpYmxlLCBidXQgKChCUEZLIFNlY3Rpb246IE51bWVyaWMgc2Vs YnJpfEJQRksncyBjdXJyZW50IGRlZmluaXRpb24gb2Yge3NpJ2V9KSkgZGVwZW5kcyBvbiB7cGFn YnV9OgoKfHwKCngxIG51bWJlciBzaSdlIHgyIH5oc358fmhzfiB4MSBwYWdidSB4MiBnaSdlIGts YW5pIGxpIG51bWJlciBsbyBzZSBncmFkdSBiZSB4MgoKfHwKCklmIHdlIGludGVycHJldCB7cGFn YnV9IHNvIHRoYXQgeDEgaXMgbm90IGxhcmdlciB0aGFuIHgyIChhbmQgdGhpcyBpcyBvcmRpbmFy eSBpbnRlcnByZXRhdGlvbiksIFtodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2QvbXNnL2xvamJh bi9SQXRFN1lrLWRxdy9uVWJaaXdtQjJNMEp8e3NpJ2V9IGlzIHZlcnkgaW5jb252ZW5pZW50IGJl Y2F1c2UgdGhlIHVuaXQgc2hvdWxkIGJlIGNoYW5nZWQgZXZlcnkgdGltZSBjb3VudGluZyB1cC5d IElmIHtzaSdlfSB3ZXJlIGRlZmluZWQgc28gdGhhdCBQQSBvZiB7UEEgc2knZX0gY291bGQgYmUg bGFyZ2VyIHRoYW4gMSwge3NpJ2V9IHdvdWxkIGhhdmUgYmVlbiBwcmFnbWF0aWMgZm9yIHF1YW50 aWZpY2F0aW9uIG9mIHdoYXQgaXMgbmVpdGhlciBhbiBpbmRpdmlkdWFsIG5vciBpbmRpdmlkdWFs cy4KCgoKQmVzaWRlcyB0aG9zZSBjb25zaWRlcmF0aW9ucywgaWYgd2UgYWJhbmRvbiBBeGlvbSAx IG9mICgofCNJbm5lcl9xdWFudGlmaWNhdGlvbnxTZWN0aW9uIDMuMSkpLCBEZWZpbml0aW9ucyAo RDEpIChEMikgKEQzKSBjYW4gYmUgYXBwbGllZCB0byB3aGF0IGlzIG5laXRoZXIgYW4gaW5kaXZp ZHVhbCBub3IgaW5kaXZpZHVhbHMuCgpJbiB0aGlzIGNhc2UsIGEgc3BlYWtlciBzaG91bGQgc2Vs ZWN0IHNvbWUgcGx1cmFsIGNvbnN0YW50cyB7a28nYSwga28nZSwgLi4ufSwgYW5kIGRlY2lkZSB0 aGF0IHtbW2tvJ2Eva28nZS8uLi5dIHN1J28gcGEgbWVpfTsgdGhlIHNlbGVjdGlvbiBtdXN0IGJl IGRvbmUgYXR0ZW50aXZlbHkgc28gdGhhdCByZWZlcmVudHMgb2YgcGx1cmFsIGNvbnN0YW50cyB0 aGF0IGFyZSB7cGEgbWVpfSBkbyBub3Qgb3ZlcmxhcCB3aXRoIGVhY2ggb3RoZXIuCgpUaG9zZSBw cmVwYXJhdGlvbnMgb2Yge2tvJ2EsIGtvJ2UsIC4uLn0gYW5kIChEMikgaW1wbHkgb25seQoKfHwK CmdhbmFpIFtba28nYS9rbydlLy4uLl0gcGEgbWVpIAoKZ2kgcm8nb2kgZGUgcG9pIG1lIFtba28n YS9rbydlLy4uLl0gem8ndSBkZSBtZSBbW2tvJ2Eva28nZS8uLi5dCgp8fAoKVW5kZXIgdGhlc2Ug Y29uZGl0aW9ucywgdGhlcmUgaXMgbm8gbmVlZCB0aGF0IHdoYXQgaXMgeDEgb2Yge3BhIG1laX0g aXMgYW4gaW5kaXZpZHVhbC4KCgoKV2hlbiB3ZSB1c2UgRGVmaW5pdGlvbnMgKEQxKSAoRDIpIChE Mykgd2l0aG91dCB1c2luZyBBeGlvbSAxIG9mICgofCNJbm5lcl9xdWFudGlmaWNhdGlvbnxTZWN0 aW9uIDMuMSkpLCBhIGNvbmRpdGlvbiB7Z2knZSBzdSdvIHBhIG1laX0gbXVzdCBiZSBhZGRlZCB0 byB7ZGV9IG9mIChEMSnvvIhXaGVuIEF4aW9tIDEgaXMgdXNlZCwgcmVmZXJlbnRzIGluIHRoZSBk b21haW4gb2YgdmFyaWFibGUge2RlfSBzYXRpc2ZpZXMgdGhpcyBjb25kaXRpb24gYXV0b21hdGlj YWxseSkuIAoKO1Vub2ZmaWNpYWwgZGVmaW5pdGlvbnMgdW5kZXIgdGhlIGNvbmRpdGlvbiB0aGF0 IEF4aW9tIDEgaXMgYWJhbmRvbmVkOnx8CgooRDEnKSBrbydhIHN1J28gTiBtZWkgfmhzfnx+aHN+ ID1jYSdlIH5oc358fmhzfiBzdSdvaSBkYSBwb2kgbWUga28nYSBrdSdvIHN1J29pIGRlIHBvaSBt ZSBrbydhIGdpJ2Ugc3UnbyBwYSBtZWkgem8ndSBnZSBkYSBzdSdvIE4tMSBtZWkgZ2luYWkgZGUg bWUgZGEKCihEMikga28nYSBOIG1laSB+aHN+fH5oc34gPWNhJ2Ugfmhzfnx+aHN+IGtvJ2Egc3Un byBOIG1laSBnaSdlIG5haSBzdSdvIE4rMSBtZWkgCgooRDMpIGxvIFBBIGJyb2RhIH5oc358fmhz fiA9Y2EnZSB+aHN+fH5oc34gem8nZSBub2kga2UnYSBQQSBtZWkgZ2knZSBicm9kYQoKfHwKClVz aW5nIHRoZXNlIGRlZmluaXRpb25zLCBpbm5lciBxdWFudGlmaWNhdGlvbiBvZiB3aGF0IGlzIG5l aXRoZXIgYW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgYmVjb21lcyBwb3NzaWJsZS4gTW9y ZW92ZXIsICJVbm9mZmljaWFsIGRlZmluaXRpb24gb2Yge3BpUEF9IG9mIGlubmVyIHF1YW50aWZp Y2F0aW9uIiBkaXNjdXNzZWQgYWJvdmUgYmVjb21lcyBhYmxlIHRvIGJlIGFwcGxpZWQgdG8gd2hh dCBpcyBuZWl0aGVyIGFuIGluZGl2aWR1YWwgbm9yIGluZGl2aWR1YWxzLgoKCgpUaGUgZGlhZ3Jh bSBiZWxvdyBzaG93cyBhIHByb2NlZHVyZSBvZiBjb3VudGluZyB1cCB3aGF0IGlzIG5laXRoZXIg YW4gaW5kaXZpZHVhbCBub3IgaW5kaXZpZHVhbHMgcmVwcmVzZW50ZWQgd2l0aCBhIGRpcmVjdGVk IGdyYXBoLiBJbiB0aGlzIGRpYWdyYW0sIGxvb3BzIHN1Y2ggYXMge1ggbWUgWH0gYXJlIG9taXR0 ZWQgZm9yIHNpbXBsaWNpdHksIHRob3VnaCB0aGV5IGV4aXN0LiBBbW9uZyBpbmZpbml0ZSBudW1i ZXIgb2YgdmVydGljZXMgKHBsdXJhbCBjb25zdGFudHMpLCB0aGUgdmVydGljZXMgdGhhdCBhIHNw ZWFrZXIgc2VsZWN0ZWQgYXMge3N1J28gcGEgbWVpfSBhcmUgY29sb3JlZCBwaW5rLiBDb3VudGlu ZyB1cCBjb3JyZXNwb25kcyB0byBzZWxlY3RpbmcgYSB0cmVlIHRoYXQgaXMgYSBzdWJncmFwaCBv ZiBhIGRpcmVjdGVkIGdyYXBoIGZvcm1lZCB3aXRoIHttZX0sIGZvciBleGFtcGxlIHRoZSBwYXJ0 IG9mIGJsdWUgY29sb3IgaW4gdGhlIGRpYWdyYW0uCgoKCntpbWcgZmlsZUlkPSI5IiB0aHVtYj0i eSIgcmVsPSJib3hbZ10ifQoKCgohISEjIE91dGVyIHF1YW50aWZpY2F0aW9uCgooKEJQRksgU2Vj dGlvbjogZ2Fkcml8QlBGSyBkZWZpbmVzIG91dGVyIHF1YW50aWZpY2F0aW9uKSkgYXMgZm9sbG93 czoKCnx8CgpQQSAnJ3N1bXRpJycgfmhzfnx+aHN+IFBBIGRhIHBvaSBrZSdhIG1lICcnc3VtdGkn JwoKUEEgYnJvZGEgfmhzfnx+aHN+IFBBIGRhIHBvaSBicm9kYSAKCnBpUEEgJydzdW10aScnIH5o c358fmhzfiBsbyBwaVBBIHNpJ2UgYmUgcGEgbWUgJydzdW10aScnCgp8fAoKCgpPdXRlciBxdWFu dGlmaWNhdGlvbiBleGNlcHQge3BpUEF9IGZvcm1zIHtQQSBkYX0sIHdoaWNoIGlzIG9mZmljaWFs bHkgYSBib3VuZCBzaW5ndWxhciB2YXJpYWJsZS4gSXQgaW1wbGllcyB0aGF0IHRoZXNlIGFyZ3Vt ZW50cyBzYXRpc2Z5IGEgcHJlZGljYXRlIF9fZGlzdHJpYnV0aXZlbHlfXy4gRm9yIGV4YW1wbGUs IGl0IGlzIG1lYW5pbmdsZXNzIHRvIHVzZSB7Y2kgbG8gcHJlbnV9IGFzIHgxIG9mIHtqbWFqaX0g KGdhdGhlciksIGJlY2F1c2UgaXQgaXMgbm90IHRoZSBjYXNlIHRoYXQgZWFjaCBvZiB0aHJlZSBw ZW9wbGUgc2F0aXNmaWVzIHRoZSBwcmVkaWNhdGUgImdhdGhlciIuCgoKCkhvd2V2ZXIsIGlmIHdl IHVzZSB1bm9mZmljaWFsIHBsdXJhbCBxdWFudGlmaWVycyB7cm8nb2l9IG9yIHtzdSdvaX0gZm9y IFBBLCBvdXRlciBxdWFudGlmaWNhdGlvbiBjYW4gZm9ybSBib3VuZCBwbHVyYWwgdmFyaWFibGUu IEZvciBleGFtcGxlLAoKXnN1J29pIHByZW51IGN1IGptYWppIH5oc34gdGhlcmUgYXJlIHBlb3Bs ZSB3aG8gZ2F0aGVyLl4KClRoaXMgcHJvcG9zaXRpb24gaXMgaW1wbGllZCBieSBhIHByb3Bvc2l0 aW9uIGluY2x1ZGluZyBwbHVyYWwgY29uc3RhbnQKCl5sbyBwcmVudSBjdSBqbWFqaSB+aHN+IFBl b3BsZSBnYXRoZXIuXgoKd2l0aCB0aGUgbG9naWNhbCBheGlvbSBpbiAoKHwjQV9sb2dpY2FsX2F4 aW9tX29uX3BsdXJhbF9jb25zdGFudHxTZWN0aW9uIDIuMi42KSkuCgoKCntQQSBsbyBicm9kYX0g ZGlmZmVycyBmcm9tIHtQQSBicm9kYX0gaW4gZG9tYWluIG9mIHJlZmVyZW50cyBvZiBib3VuZCBz aW5ndWxhciB2YXJpYWJsZSB0byBiZSBjb3VudGVkLiBUaGUgZGVmaW5pdGlvbnMgb2Ygb3V0ZXIg cXVhbnRpZmljYXRpb24gYXJlIGFwcGxpZWQgdG8gdGhlbSBhcyBmb2xsb3dzOgoKfHwKClBBIGxv IGJyb2RhIH5oc358fmhzfiBQQSBkYSBwb2kga2UnYSBtZSBsbyBicm9kYSB+aHN+fH5oc34gVGhl IGRvbWFpbiBvZiBib3VuZCBzaW5ndWxhciB2YWlhYmxlIGlzIGEgcmVmZXJlbnQgb2YgcGx1cmFs IGNvbnN0YW50IHtsbyBicm9kYX0gaW4gdGhlIHVuaXZlcnNlIG9mIGRpc2NvdXJzZSwgYW5kIGNv dW50ZWQgdG8gYmUgUEEKClBBIGJyb2RhIH5oc358fmhzfiBQQSBkYSBwb2kga2UnYSBicm9kYSB+ aHN+fH5oc34gVGhlIGRvbWFpbiBvZiBib3VuZCBzaW5ndWxhciB2YXJpYWJsZSBpcyBhbGwgdGhh dCBhcmUge2Jyb2RhfSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLCBhbmQgY291bnRlZCB0 byBiZSBQQQoKfHwKCgoKXgoKO0V4YW1wbGUgMTogcm8gam1pdmUgYmEgbW9yc2kgfmhzfiAnJ0Fs bCBsaXZpbmcgdGhpbmdzIHdpbGwgZGllJycKCjtFeGFtcGxlIDI6IHJvIGxvIHByZW51IHRpIGts YW1hIH5oc34gJydBbGwgdGhlIHBlb3BsZSBjb21lIGhlcmUnJ14KCkV4YW1wbGUgMSBtZW50aW9u cyBhbGwge2ptaXZlfSBpbiB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLiBJbiB0aGUgdW5pdmVy c2Ugb2YgZGlzY291cnNlIG9mIEV4YW1wbGUgMiwgaXQgaXMgcG9zc2libGUgdG8gaW50ZXJwcmV0 IHRoYXQgdGhlcmUgYXJlIHtwcmVudX0gb3RoZXIgdGhhbiB0aGUgcmVmZXJlbnQgb2YgdGhlIHBs dXJhbCBjb25zdGFudCB7bG8gcHJlbnV9LgoKCgpUaGUgb3V0ZXIgcXVhbnRpZmljYXRpb24gYnkg e3BpUEF9IGZvcm1zIHBsdXJhbCBjb25zdGFudCB7bG8gcGlQQSBzaSdlfS4gSG93ZXZlciwgeDIg b2Yge3BpUEEgc2knZX0gaXMgYm91bmQgc2luZ3VsYXIgdmFyaWFibGUge3BhIG1lICcnc3VtdGkn J30uIHtwaX0gaW4gdGhpcyBkZWZpbml0aW9uIG1lYW5zICJub3QgbGFyZ2VyIHRoYW4gMSI7IHBy YWN0aWNhbGx5LCB7ZmkndX0gb3Igc29tZXRoaW5nIGNhbiBiZSB1c2VkIGluc3RlYWQgb2Yge3Bp fQoKCgohISEhIyBDb21iaW5hdGlvbiBvZiBvdXRlciBhbmQgaW5uZXIgcXVhbnRpZmljYXRpb25z CgpUaGUgZGVmaW5pdGlvbnMgb2YgaW5uZXIgYW5kIG91dGVyIHF1YW50aWZpY2F0aW9uIGltcGx5 IHRoZSBmb2xsb3dpbmcgaW50ZXJwcmV0YXRpb25zOgoKfHwKCk0gbG8gW1tOXSBicm9kYSB+aHN+ fH5oc34gTSAod2hpY2ggc2F0aXNmaWVzIGEgcHJlZGljYXRlIGRpc3RyaWJ1dGl2ZWx5KSBvZiB7 bG8gYnJvZGF9IFtbdGhhdCBhcmUgTl0KCk0gbG9pIFtbTl0gYnJvZGEgfmhzfnx+aHN+IE0gKHdo aWNoIHNhdGlzZmllcyBhIHByZWRpY2F0ZSBkaXN0cmlidXRpdmVseSkgb2Yge2xvIGd1bm1hfSB0 aGF0IGNvbnNpc3RzIG9mIHtsbyBicm9kYX0gW1t0aGF0IGFyZSBOXQoKTSBsbydpIFtbTl0gYnJv ZGEgfmhzfnx+aHN+IE0gKHdoaWNoIHNhdGlzZmllcyBhIHByZWRpY2F0ZSBkaXN0cmlidXRpdmVs eSkgb2Yge2xvIHNlbGNtaX0gdGhhdCBjb25zaXN0cyBvZiB7bG8gYnJvZGF9IFtbdGhhdCBhcmUg Tl0KCnBpIE0gbG8gW1tOXSBicm9kYSB+aHN+fH5oc34gUXVhbnRpdHkge3BpIE0gc2knZX0gb2Yg YSBwYXJ0IG9mIG9uZSBvZiB7bG8gYnJvZGF9IFtbdGhhdCBhcmUgTl0KCnBpIE0gbG9pIFtbTl0g YnJvZGEgfmhzfnx+aHN+IFF1YW50aXR5IHtwaSBNIHNpJ2V9IG9mIGEgcGFydCBvZiBvbmUgb2Yg e2xvIGd1bm1hfSB0aGF0IGNvbnNpc3RzIG9mIHtsbyBicm9kYX0gW1t0aGF0IGFyZSBOXQoKcGkg TSBsbydpIFtbTl0gYnJvZGEgfmhzfnx+aHN+IFF1YW50aXR5IHtwaSBNIHNpJ2V9IG9mIGEgcGFy dCAoc3Vic2V0KSBvZiBvbmUgb2Yge2xvIHNlbGNtaX0gdGhhdCBjb25zaXN0cyBvZiB7bG8gYnJv ZGF9IFtbdGhhdCBhcmUgTl0KCnx8CgoKCkFtb25nIHRoZW0sIHtNIGxvIFtbTl0gYnJvZGF9IGFu ZCB7cGkgTSBsb2kgW1tOXSBicm9kYX0gY2FuIGV4cHJlc3Mgc29tZSBvZiBwbHVyYWwgbnVtYmVy IG9mIHRoaW5ncy4KCl4KCjtFeGFtcGxlIDE6IHJlIGxvIFtbY2ldIG1sYXR1IG1pIHZpc2thIH5o c34gJydUd28gW1tvZiB0aHJlZV0gY2F0cyBzZWUgbWUuJycKCjtFeGFtcGxlIDI6IHJlIGZpJ3Ug Y2kgbG9pIFtbdmVpIGNpIHBpJ2kgbnkgKHZlJ28pXSBtbGF0dSBtaSB2aXNrYSB+aHN+ICcnVHdv IHRoaXJkIG9mIFtbM25dIGNhdHMgc2VlIG1lLicnXgoKCgp7cmUgbG8gW1tjaV0gbWxhdHV9IG9m IEV4YW1wbGUgMSByZWZlcnMgdG8gdHdvIGNhdHMgYW1vbmcgW1t0aHJlZV0gY2F0cyB0aGF0IGFy ZSByZWZlcmVudCBvZiB7bG8gW1tjaV0gbWxhdHV9LgoKSWYgdGhlIGlubmVyIHF1YW50aWZpZXIg e2NpfSBpcyBub3Qgc2FpZCwgaXQgaXMgdW5jbGVhciBob3cgbWFueSBjYXRzIGFyZSByZWZlcnJl ZCB0byBieSB7bG8gbWxhdHV9OyBpbiBhbnkgY2FzZSB7cmUgbG8gbWxhdHV9IHJlZmVycyB0byB0 d28gb2YgdGhlbS4KCgoKSW4gRXhhbXBsZSAyLCB0aGUgYXJndW1lbnQgaXMgZm9ybWVkIGJ5IHts b2l9LCBhbmQgdGhlIHJlZmVyZW50IGlzIGFjdHVhbGx5IHtsbyBndW5tYX0uIEV4cGFuZGluZyBF eGFtcGxlIDIgYWNjb3JkaW5nIHRvIHRoZSBkZWZpbml0aW9ucyBvZiB7bG9pfSBhbmQge3BpUEEg JydzdW10aScnfSwKCl4KCjtFeGFtcGxlIDItMTogbG8gcmUgZmkndSBjaSBzaSdlIGJlIHBhIG1l IGxvIGd1bm1hIGJlIGxvIFtbdmVpIGNpIHBpJ2kgbnkgKHZlJ28pXSBtbGF0dSBtaSB2aXNrYV4K ClRoYXQgaXMgdG8gc2F5LCB7cmUgZmkndSBjaSBsb2kuLi59IHJlZmVycyB0byB0d28gdGhpcmQg b2YgYW4gaW5kaXZpZHVhbCB7cGEgbWUgbG8gZ3VubWEuLi59LiBUaGlzIHtsbyBndW5tYX0gY29u c2lzdHMgb2Yge3ZlaSBjaSBwaSdpIG55ICh2ZSdvKX0gY2F0cy4gCgpJZiB0aGUgaW5uZXIgcXVh bnRpZmllciBpcyBub3Qgc2FpZCwgaXQgaXMgdW5jbGVhciBob3cgbWFueSBjYXRzIGNvbnN0aXR1 dGUge2xvIGd1bm1hfSB0aGF0IGlzIHtsb2kgbWxhdHV9OyBpbiBhbnkgY2FzZSB7cmUgZmkndSBj aSBsb2kgbWxhdHV9IHJlZmVycyB0byB0d28gdGhpcmQgb2Yge2xvIGd1bm1hfS4gSG93ZXZlciwg CgpecmUgZmkndSBjaSBsb2kgbWxhdHUgbWkgdmlza2FeCgppcyBtZWFuaW5nZnVsIG9ubHkgd2hl biB7bG9pIG1sYXR1fSBjb25zaXN0cyBvZiAzbiBjYXRzLCBiZWNhdXNlIGl0IGlzIG5vdCBvcmRp bmFyeSB0byBpbnRlcnByZXQgdGhhdCBhIGZyYWdtZW50IG9mIGEgY2F0IHNhdGlzZmllcyB0aGUg cHJlZGljYXRlIHt2aXNrYX0uCgpBY2NvcmRpbmcgdG8gQlBGSydzIGRlZmluaXRpb24sIHtsb2l9 IGNhbm5vdCBmb3JtIGEgcGx1cmFsIGNvbnN0YW50IHRoYXQgc2F0aXNmaWVzIGEgcHJlZGljYXRl IG5vbi1jb2xsZWN0aXZlbHkuIElmIHlvdSB3YW50IHRvIG1lYW4gImNhdHMgc2VlIG1lIG5vbi1j b2xsZWN0aXZlbHkiLCBhdm9pZCB7bG9pfSwgb3IgdXNlIHtsdSdhfSwgd2hpY2ggd2lsbCBiZSBk aXNjdXNzZWQgaW4gKCh8I1JlbGF0aW9uX2JldHdlZW5fbHVfYV9sdV9vX2x1X2lfYW5kX2dhZHJp fFNlY3Rpb24gMy4zKSk6CgpebHUnYSByZSBmaSd1IGNpIGxvaSBtbGF0dSBtaSB2aXNrYV4KCgoK ISEhIyBSZWxhdGlvbiBiZXR3ZWVuIGx1J2EsIGx1J28sIGx1J2kgYW5kIGdhZHJpCgooKEJQRksg U2VjdGlvbjogSW5kaXJlY3QgUmVmZXJlcnN8QlBGSyBkZWZpbmVzKSkge2x1J2F9LCB7bHUnb30s IHtsdSdpfSBvZiBMQWhFIGFzIGZvbGxvd3M6Cgp8fAoKbHUnYSAnJ3N1bXRpJycgfmhzfnx+aHN+ IGxvIG1lICcnc3VtdGknJyB+aHN+fH5oc34gbG8gY21pbWEgYmUgJydzdW10aScnIFtbbm9pIHNl bGNtaV0KCmx1J28gJydzdW10aScnIH5oc358fmhzfiBsb2kgbWUgJydzdW10aScnCgpsdSdpICcn c3VtdGknJyB+aHN+fH5oc34gbG8naSBtZSAnJ3N1bXRpJycKCnx8CgpIb3dldmVyLCBndWVzc2lu ZyBmcm9tIHRoZSBFbmdsaXNoIGRlZmluaXRpb25zIG9uIHRoZSBzYW1lIHBhZ2UsIHRoZSBkZWZp bml0aW9uIG9mIHtsdSdhfSBpcyB1bnNhdGlzZmFjdG9yeSwgYW5kIHRoYXQgb2Yge2x1J299IGhh cyBzb21lIHByb2JsZW0uCgoKCntsdSdhfSBleHRyYWN0cyB4MiBvZiB7c2VsY21pfSBmcm9tIHN1 bXRpIHRoYXQgaXMge2xvIHNlbGNtaX0sIGFuZCB4MiBvZiB7Z3VubWF9IGZyb20gc3VtdGkgdGhh dCBpcyB7bG8gZ3VubWF9LiBNb3Jlb3Zlciwge2x1J2F9IG1ha2VzIGV4cGxpY2l0IHRoYXQgdGhl IHN1bXRpIHNhdGlzZmllcyBhIHByZWRpY2F0ZSBkaXN0cmlidXRpdmVseSBhbmQgbm9uLWNvbGxl Y3RpdmVseS4gT24gdGhlIG90aGVyIGhhbmQsIGFjY29yZGluZyB0byB0aGUgZGVmaW5pdGlvbiBv ZiB7bG99LCB7bG8gbWUgJydzdW10aScnfSBkb2VzIG5vdCBpbXBseSAiZGlzdHJpYnV0aXZlbHkg YW5kIG5vbi1jb2xsZWN0aXZlbHkiLgoKCgp7bHUnb30gbWFrZXMgZXhwbGljaXQgdGhhdCB0aGUg c3VtdGkgc2F0aXNmaWVzIGEgcHJlZGljYXRlIG5vbi1kaXN0cmlidXRpdmVseSBhbmQgY29sbGVj dGl2ZWx5LiBPbiB0aGUgb3RoZXIgaGFuZCwgYWNjb3JkaW5nIHRvIHRoZSBkZWZpbml0aW9uIG9m IHtsb2l9LCB7bG9pIG1lICcnc3VtdGknJ30gc2F0aXNmaWVzIGEgcHJlZGljYXRlIGNvbGxlY3Rp dmVseSwgYnV0IHN0aWxsIHVuY2xlYXIgaWYgaXQgZG9lcyBub24tZGlzdHJpYnV0aXZlbHkuIEZv ciBjb25zaXN0ZW5jeSwgaXQgd291bGQgYmUgYmV0dGVyIHRvIGFkZCAie2xvaSBicm9kYX0gaW1w bGllcyB0aGF0IHJlZmVyZW50IG9mIHgxIG9mIGJyb2RhIGNvbGxlY3RpdmVseSBhbmQgbm9uLWRp c3RyaWJ1dGl2ZWx5IHNhdGlzZmllcyBhIHByZWRpY2F0ZSIgdG8gdGhlIGRlZmluaXRpb24gb2Yg e2xvaX0uCgoKCkFzIGEgY29uY2x1c2lvbiBvZiB0aGlzIHNlY3Rpb24sIEkgc3VnZ2VzdCB0byBy ZS1kZWZpbmUge2x1J2F9IGFzIGZvbGxvd3M6Cgo7IFVub2ZmaWNpYWwgZGVmaW5pdGlvbiBvZiB7 bHUnYX06fHwKCmx1J2EgJydzdW10aScnIH5oc358fmhzfiBsbyBjbWltYSBiZSAnJ3N1bXRpJycg bm9pIHNlbGNtaSBrdSBvbmFpIGxvIHNlIGd1bm1hIGJlICcnc3VtdGknJyBub2kgZ3VubWEga3Ug b25haSBsbyBtZSAnJ3N1bXRpJycga3UgfnBwfgoKfi9wcH4gfmhzfiB2dSdvIG5vaSBzdSdvIGRh IHpvJ3UgZGEgbWUga2UnYSBnaSdlIG5vJ2EKCnx8CgpJbiB7bm9pfSBjbGF1c2UgYWZ0ZXIge3Z1 J299LCBpdCBpcyBtYWRlIGV4cGxpY2l0IHRoYXQgdGhlIHJlZmVyZW50IG9mIHtsdSdhICcnc3Vt dGknJ30gZGlzdHJpYnV0aXZlbHkgc2F0aXNmaWVzIHRoZSBzZW50ZW5jZSB0aGF0IGluY2x1ZGVz IHRoaXMgc3VtdGkuCgoKCiEhIyBOb3RlcwoKVGhpcyBzZWN0aW9uIGNvbnNpc3RzIG9mIG5vdGVz IG9mIHRoZSBhdXRob3IgZ3Vza2FudCwgYW5kIGl0IGlzIG5vdCBhdCBhbGwgaW1wb3J0YW50IGZv ciB1bmRlcnN0YW5kaW5nIGdhZHJpLgoKCgohISEjIEFib3V0IG9udG9sb2d5CgpeKChCUEZLIFNl Y3Rpb246IGdhZHJpfCcnUG9zaXRpdmUgaW1wYWN0OiBTb21lIHVzYWdlcyB0aGF0IG1ha2UgbGl0 dGxlIHNlbnNlIHdpdGgge2xvfT17c3Unb30gYmVjb21lIHZhbGlkYXRlZC4nJykpIGFjY29yZGlu ZyB0byBCUEZLLl4KCgoKe2xvfT17c3Unb30gd2FzIGFiYW5kb25lZCwgYnV0IGJlY2F1c2Ugb2Yg dGhlIGZhY3QgdGhhdCB7bG8gYnJvZGF9IGlzIGEgcGx1cmFsIGNvbnN0YW50LCBhbmQgYmVjYXVz ZSBvZiBhIGxvZ2ljYWwgYXhpb20gb2YgcGx1cmFsIGNvbnN0YW50IGluICgofCNBX2xvZ2ljYWxf YXhpb21fb25fcGx1cmFsX2NvbnN0YW50fFNlY3Rpb24gMi4yLjYpKSwge2xvIGJyb2RhIGN1IGJy b2RlfSBpbXBsaWNpdGx5IGltcGxpZXMge3N1J29pIGRhIGJyb2RlfS4KCgoKISEhIyBjbGF4dSB4 MgoKXigoQlBGSyBTZWN0aW9uOiBnYWRyaXxsZSBjbWFuYSBfX2xvX18gY2lkamEgYmEgY2xheHUp KX5wcH4KCn4vcHB+ICAnJ0luIHRoZSBtb3VudGFpbnMgdGhlcmUgaXMgbm8gZm9vZC4nJ35wcH4K Cn4vcHB+KChsYXBvaSBwZWx4dSBrdSdvIHRyYWp5bm9ibGkpKV4KCgoKRXhwYW5kaW5nIHtsbyBj aWRqYX0sIAoKXmxlIGNtYW5hIHpvJ2Ugbm9pIGtlJ2EgY2lkamEga3UnbyBiYSBjbGF4dV4KCkFj Y29yZGluZyB0byAoKEJQRksgU2VjdGlvbjogU3Vib3JkaW5hdG9yc3x0aGUgZGVmaW5pdGlvbiBv ZiB7bm9pfSkpLCAKCl5sZSBjbWFuYSB6bydlIHRvIHJpIHhpIHJhdSBjaWRqYSB0b2kgYmEgY2xh eHVeCgpUaGUgcGFydCBiZXR3ZWVuIHt0b30gYW5kIHt0b2l9IGlzIGEgcGFyZW50aGV0aWNhbCBl eHByZXNzaW9uLiBUaGUgbWFpbiBwcm9wb3NpdGlvbiBpcyB0aHVzCgpebGUgY21hbmEgem8nZSBi YSBjbGF4dV4KCndoZXJlIHt6bydlfSBpcyBhIHBsdXJhbCBjb25zdGFudC4gQWNjb3JkaW5nIHRv IHRoZSBsb2dpY2FsIGF4aW9tIG9mIHBsdXJhbCBjb25zdGFudCBpbiAoKHwjQV9sb2dpY2FsX2F4 aW9tX29uX3BsdXJhbF9jb25zdGFudHxTZWN0aW9uIDIuMi42KSksIFRoaXMgcHJvcG9zaXRpb24g aW1wbGllcyAKCl5zdSdvaSBkYSB6byd1IGxlIGNtYW5hIGRhIGJhIGNsYXh1XgoKd2hpY2ggbWVh bnMgdGhhdCB0aGVyZSBpcyBhIHJlZmVyZW50IG9mICJ3aGF0IGlzIGxhY2tlZCBieSB0aGUgbW91 bnRhaW4iIGluIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuCgpUaGUgc3RyYW5nZW5lc3MgY29t ZXMgZnJvbSB0aGUgZmFjdCB0aGF0IHgyIG9mIHtjbGF4dX0gX19hcHBhcmVudGx5X18gbWVhbnMg bm9uLWV4aXN0ZW5jZS4gV2UgY2FuIGludGVycHJldCBpdCBjb25zaXN0ZW50bHkgdGhhdCB7Y2xh eHV9IG1lYW5zIG9ubHkgdGhhdCB0aGUgcmVmZXJlbnQgb2YgeDIgaXMgbm90IHBsYWNlZCBhdCB0 aGUgcmVmZXJlbnQgb2YgeDEsIGFuZCBpdCBzYXlzIG5vdGhpbmcgYWJvdXQgZXhpc3RlbmN5IGlu IHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuIAoKCgohISEjIHpvJ2UgaXMgYSBwbHVyYWwgY29u c3RhbnQKCkFzc3VtaW5nIHRoYXQge3pvJ2V9IGNhbiBiZSBhbnkgb2YgZnJlZSB2YXJpYWJsZSwg Ym91bmQgcGx1cmFsIHZhcmlhYmxlIG9yIHBsdXJhbCBjb25zdGFudCwgdGhlIGxhbmd1YWdlIHdv dWxkIGJlIG1vcmUgcmVhc29uYWJsZSBmcm9tIGEgbG9naWNhbCBwb2ludCBvZiB2aWV3LgoKSG93 ZXZlciwgdGhpcyBpZGVhIHdhcyBjbGVhcmx5IGRlbmllZCBpbiBbaHR0cHM6Ly9ncm91cHMuZ29v Z2xlLmNvbS9kL3RvcGljL2xvamJhbi9SQXRFN1lrLWRxdy9kaXNjdXNzaW9ufHRoZSBkaXNjdXNz aW9uXS4gVGhhdCBpcyB0byBzYXksIHt6bydlfSBpcyBhbHdheXMgYSBwbHVyYWwgY29uc3RhbnQg YWNjb3JkaW5nIHRvIHRoZSBvZmZpY2lhbCBpbnRlcnByZXRhdGlvbi4KCkkgd2lsbCBleGFtaW5l IHRoZXNlIGNvbmZsaWN0aW5nIGlkZWFzLCBhbmQgdHJ5IHRvIHNvbHZlIHNvbWUgcHJvYmxlbXMg Y2F1c2VkIGJ5IHRoZSBvZmZpY2lhbCBpbnRlcnByZXRhdGlvbiB0aGF0IHt6bydlfSBpcyBhIHBs dXJhbCBjb25zdGFudC4KCgoKISEhISMgSWYgem8nZSBjb3VsZCBiZSBhIGJvdW5kIHBsdXJhbCB2 YXJpYWJsZQoKSSB3aWxsIGxpc3QgdXAgaGVyZSBtZXJpdHMgYW5kIGRlbWVyaXRzIG9mIGFzc3Vt aW5nIHRoYXQge3pvJ2V9IGluIG5vIGNvbnRleHQgaXMgYSBmcmVlIHZhcmlhYmxlLCBhbmQgdGhh dCB0aGUgY29udGV4dCBkZXRlcm1pbmVzIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UsIGJhc2Vk IG9uIHdoaWNoIHt6bydlfSBpcyByZWdhcmRlZCBhcyBzdWJzdGl0dXRlZCBmb3IgYnkgYSBwbHVy YWwgY29uc3RhbnQsIG9yIGJvdW5kIGJ5IGEgcGx1cmFsIHF1YW50aWZpZXIuCgoKCiEhISEhIyBN ZXJpdHMKClVuZGVyIHRoaXMgYXNzdW1wdGlvbiwgdGhlcmUgaXMgbm8gbmVlZCB0byBleGNsdWRl IHRoZSBjYXNlIFBBPTAgb2Yge2xvIFBBIGJyb2RhfSwgb3IgZ2l2ZSBpdCBhbiB1bm9mZmljaWFs IGRlZmluaXRpb24gYXMgZGlzY3Vzc2VkIGluICgofCNDYW5ub3Rfc2F5X3plcm98U2VjdGlvbiAz LjEuMi4xKSkuIEl0IGlzIGJlY2F1c2UgaWYge2xvIFBBIGJyb2RhfSBpbiBubyBjb250ZXh0IGlz IGEgZnJlZSB2YXJpYWJsZSwgd2UgY2FuIGludGVycHJldCBpdCwgd2hlbiBhIGNvbnRleHQgaXMg Z2l2ZW4sIGFzIHN1YnN0aXR1dGVkIGZvciBieSBhIHBsdXJhbCBjb25zdGFudCBvciBib3VuZCBi eSBhIHBsdXJhbCBxdWFudGlmaWVyIGxpa2Uge3N1J29pIGRhfSBpbiB0aGUgY2FzZSBvZiBQQT4w OyB3ZSBjYW4gaW50ZXJwcmV0IGl0IGFzIGJvdW5kIGJ5IHtuYWt1IHN1J29pIGRhfSBpbiB0aGUg Y2FzZSBvZiBQQT0wIGFzIHdlbGwuCgoKClRoaXMgYXNzdW1wdGlvbiBtYWtlcyB0aGUgaW50ZXJw cmV0YXRpb24gY2xvc2VyIHRvIG5hdHVyYWwgbGFuZ3VhZ2VzIG5vdCBvbmx5IGluIHRoZSBjYXNl IFBBPTAgYnV0IGFsc28gaW4gdGhlIGNhc2UgUEE+MC4gRm9yIGV4YW1wbGUsIAoKXmxvIGNpIHhh bnRvIGN1IHppbGthbmN1IGxpIGNpIGxvIHhhbnRvXgoKVGhlIGxhc3Qge2xvIHhhbnRvfSBpcyBh IHVuaXQgb2YgY291bnRpbmcuIEl0IGlzIG5hdHVyYWwgdG8gaW50ZXJwcmV0IGl0IGFzIGEgYm91 bmQgcGx1cmFsIHZhcmlhYmxlIHF1YW50aWZpZWQgYnkgIjEiIHJhdGhlciB0aGFuIGEgcGx1cmFs IGNvbnN0YW50LCB3aGljaCBzaG91bGQgcmVmZXIgdG8gc29tZXRoaW5nLiBJZiB3ZSBpbnRlcnBy ZXQgaXQgYXMgYSBib3VuZCBwbHVyYWwgdmFyaWFibGUsIHdlIHNob3VsZCBjb25zaWRlciB0aGUg cmVsYXRpdmUgb3JkZXIgd2l0aCB0aGUgb3RoZXIgYm91bmQgdmFyaWFibGVzIGFuZCB7bmFrdX0u IFdlIGNhbiBoYW5kbGUgdGhlIG9yZGVyIGZyZWVseSBieSBwdXR0aW5nIHRoZSBhcmd1bWVudHMg aW4gcHJlbmV4LgoKCgpNb3Jlb3ZlciwgdGhpcyBhc3N1bXB0aW9uIGVtYm9kaWVzIHRoZSBwcm9w ZXJ0eSBvZiBuYXR1cmFsIGxhbmd1YWdlcyB0aGF0IHRoZSB0cnV0aCB2YWx1ZSBvZiBhIHByb3Bv c2l0aW9uIGluIG5vIGNvbnRleHQgaXMgZ2VuZXJhbGx5IGluZGVmaW5pdGUuIEJ5IGludGVycHJl dGluZyB0aGF0IHt6bydlfSBpbiBubyBjb250ZXh0IGlzIGEgZnJlZSB2YXJpYWJsZSwgd2hpY2gg d2lsbCBiZSBzdWJzdGl0dXRlZCBmb3IgYnkgYSBwbHVyYWwgY29uc3RhbnQgb3IgYm91bmQgYnkg YSBwbHVyYWwgcXVhbnRpZmllciB3aGVuIGEgY29udGV4dCBpcyBnaXZlbiwgbmF0dXJhbCBpbnRl cnByZXRhdGlvbiBvZiBMb2piYW4gc2VudGVuY2UgaXMgcG9zc2libGUgd2l0aG91dCBsb3Npbmcg bG9naWNhbCBhc3BlY3RzIGFuZCBzdHJ1Y3R1cmFsIGJlYXV0eS4KCgoKISEhISEjIERlbWVyaXRz CgpCZWNhdXNlIHt6bydlfSBjYW4gYmUgYSBmcmVlIHZhcmlhYmxlLCBhIGJvdW5kIHBsdXJhbCB2 YXJpYWJsZSBvciBhIHBsdXJhbCBjb25zdGFudCBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQsIGEg c2luZ2xlIGJyaWRpIGRvZXMgbm90IGxldCBsaXN0ZW5lcnMgZGV0ZXJtaW5lIHdoaWNoIG9mIHRo ZW0gaXMgdGhlIGN1cnJlbnQge3pvJ2V9LCBvciB0aGUgdHJ1dGggdmFsdWUgb2YgdGhlIHByb3Bv c2l0aW9uLgoKSG93ZXZlciwgc3VjaCBhbiBhc3BlY3QgdGhhdCB0aGUgdHJ1dGggdmFsdWUgb2Yg YSBwcm9wb3NpdGlvbiBnZW5lcmFsbHkgZGVwZW5kcyBvbiB0aGUgY29udGV4dCBpcyBhIGNvbW1v biBwcm9wZXJ0eSB0byBhbGwgbmF0dXJhbCBsYW5ndWFnZXMuCgoKCk9uIHRoZSBvdGhlciBoYW5k LCBldmVuIGlmIHdlIHRha2UgdGhlIG9mZmljaWFsIGludGVycHJldGF0aW9uIHRoYXQge3pvJ2V9 IGlzIGFsd2F5cyBhIHBsdXJhbCBjb25zdGFudCwgbGlzdGVuZXJzIGFyZSBvbmx5IGluZm9ybWVk IGJ5IHt6bydlfSB0aGF0IGEgY2VydGFpbiB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UgaXMgZ2l2ZW4u IFdpdGggbm8gY29udGV4dCwgdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVybWluZSB3aGF0IGlzIHRo ZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuIFRoZSB0cnV0aCB2YWx1ZSBvZiBhIHByb3Bvc2l0aW9u IGluIG5vIGNvbnRleHQgaXMgaW5kZWZpbml0ZSBldmVuIHdpdGggdGhlIG9mZmljaWFsIGludGVy cHJldGF0aW9uLgoKCgohISEhIyBQcm9ibGVtcyBjYXVzZWQgYnkgdGhlIGZhY3QgdGhhdCB6bydl IGlzIGEgcGx1cmFsIGNvbnN0YW50IGFuZCB0aGUgY291bnRlci1tZWFzdXJlcwoKVGhlIG9mZmlj aWFsIGludGVycHJldGF0aW9uIHRoYXQge3pvJ2V9IGlzIGEgcGx1cmFsIGNvbnN0YW50IGNhdXNl cyB0aGUgZm9sbG93aW5nIHByb2JsZW1zLgoKCgohISEhISMgQ2Fubm90IGV4cHJlc3MgcGx1cmFs IHF1YW50aWZpY2F0aW9uIG9mIG5vbi1leHNpc3RlbmNlCgpSZWFzb25hYmxlIGludGVycHJldGF0 aW9uIG9mIHtsbyBubyBicm9kYX0gaXMgb2ZmaWNpYWxseSBleGNsdWRlZCBmcm9tIExvamJhbi4g VGhhdCBpcyB0byBzYXksIExvamJhbiBjYW5ub3Qgb2ZmaWNpYWxseSBkZWFsIHdpdGggdGhlIGV4 cHJlc3Npb24gInRoZXJlIGlzIG5vdCB3aGF0IGlzIHN1YnN0aXR1dGVkIGZvciB7ZGF9IiBmb3Ig cGx1cmFsIHZhcmlhYmxlICh7bmFrdSBzdSdvaSBkYX0pLCB3aGljaCBpcyBuYXR1cmFsbHkgZGVh bHQgd2l0aCBieSBwbHVyYWwgcXVhbnRpZmljYXRpb24uIEluIG9yZGVyIHRvIGV4cHJlc3Mge2xv IG5vIGJyb2RhfSB3aXRoIHJlYXNvbmFibGUgaW50ZXJwcmV0YXRpb24sIHdlIG5lZWQgYW4gdW5v ZmZpY2lhbCBpbnRlcnByZXRhdGlvbiBsaWtlICgofCNDYW5ub3Rfc2F5X3plcm98U2VjdGlvbiAz LjEuMi4xKSkuCgoKCiEhISEhIyBDYW5ub3QgZXhwcmVzcyBib3VuZCBwbHVyYWwgdmFyaWFibGUs IHdoaWNoIGRvZXMgbm90IHNwZWNpZnkgYSByZWZlcmVudAoKQmVjYXVzZSB0aGUgb2ZmaWNpYWwg aW50ZXJwcmV0YXRpb24gZG9lcyBub3QgYWxsb3cge2xvIFBBIGJyb2RhfSB0byBiZSBhIGJvdW5k IHBsdXJhbCB2YXJpYWJsZSBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQsIGFuIGFyZ3VtZW50IHRo YXQgc2hvdWxkIHJlZmVyIHRvIG5vdGhpbmcsIGEgdW5pdCBvZiBjb3VudGluZyBmb3IgZXhhbXBs ZSwgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGEgcGx1cmFsIGNvbnN0YW50LCB3aGljaCByZWZl cnMgdG8gc29tZXRoaW5nLiBGb3IgZXhhbXBsZSAKCl5sbyBjaSB4YW50byBjdSB6aWxrYW5jdSBs aSBjaSBsbyB4YW50b14KCmZvciB3aGljaCB3ZSBhcmUgY29tcGVsbGVkIHRvIGludGVycHJldCB0 aGF0IHRoZXJlIGlzIHRoZSAiRWxlcGhhbnQgZGVzIEFyY2hpdmVzIiBpbiB0aGUgdW5pdmVyc2Ug b2YgZGlzY291cnNlLCBqdXN0IGxpa2UgdGhlICJNw6h0cmUgZGVzIEFyY2hpdmVzIiAoYWx0aG91 Z2ggaXQgaGFzIGFscmVhZHkgZmluaXNoZWQgaXRzIHJvbGUpLCBpbiBvcmRlciB0byB1c2Uge2xv IHhhbnRvfSBhcyBhIHVuaXQgaW4gYSBwcm9wb3NpdGlvbi4KCgoKISEhISEjIENhbm5vdCBleHBy ZXNzIGVsZW1lbnRhcnkgcGFydGljbGVzIHdpdGggbG8KCkFzIGxvbmcgYXMge2xvIGJyb2RhfSBp cyBpbnRlcnByZXRlZCBhcyBhIHBsdXJhbCBjb25zdGFudCwgdGhlIGZvbGxvd2luZyBMb2piYW4g c2VudGVuY2UgaXMgbWVhbmluZ2xlc3M6CgoKCl5sbyBndXNrYSd1IGN1IGdhdSBqbWFqaSBzZXBp J28gbG8gbGVuam8gZ2knZSBwYWdyZSBsbyBmZW5yYX5wcH4KCn4vcHB+JydQaG90b25zIGFyZSBj b25kZW5zZWQgYnkgbGVuc2VzLCBhbmQgcGFzcyB0aHJvdWdoIHNsaXRzLicnXgoKCgpBY3R1YWxs eSwgcGhvdG9ucyBhcmUgaW5kaXZpZHVhbHMsIGFuZCB3ZSBjYW4gY291bnQgdGhlbSwgYnV0IHdl IGNhbm5vdCBkaXN0aW5ndWlzaCBlYWNoIG9mIHRoZW06IHdlIGNhbm5vdCByZWZlciB0byBhIHNw ZWNpZmljIHBob3Rvbi4gUXVhbnRpZmljYXRpb24gaXMgaW5kZWVkIHN1aXRhYmxlIGZvciBhcmd1 bWVudHMgdGhhdCByZXByZXNlbnQgcGFydGljbGVzIGxpa2UgcGhvdG9ucy4gSG93ZXZlciwgTG9q YmFuIG9mZmljaWFsbHkgZG9lcyBub3QgaGF2ZSBhIHBsdXJhbCBxdWFudGlmaWVyLCBhbmQgY2Fu bm90IGV4cHJlc3MgcXVhbnRpZmljYXRpb24gb2YgIHN1bXRpIHRoYXQgc2F0aXNmaWVzIHNlbGJy aSBib3RoIGNvbGxlY3RpdmVseSBhbmQgZGlzdHJpYnV0aXZlbHkuIE1vcmVvdmVyLCBiZWNhdXNl IHtsbyBicm9kYX0gaXMgb2ZmaWNpYWxseSBhbHdheXMgYSBwbHVyYWwgY29uc3RhbnQsIHRoZXJl IGlzIG5vIHJvb20gdG8gaW50ZXJwcmV0IHtsbyBndXNrYSd1fSBhcyBhIGJvdW5kIHBsdXJhbCB2 YXJpYWJsZS4gSW4gb3JkZXIgdG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHNob3VsZCB1c2UgYW4g dW5vZmZpY2lhbCBwbHVyYWwgcXVhbnRpZmllciB7c3Unb2l9IHN1Z2dlc3RlZCBieSAoKHhvcnhl c3xsYSB4b3J4ZXMpKS4KCgoKXnN1J29pIGRhIHBvaSBrZSdhIGd1c2thJ3UgY3UgZ2F1IGptYWpp IHNlcGknbyBsbyBsZW5qbyBnaSdlIHBhZ3JlIGxvIGZlbnJhXgoKCgohISEhISMgSG93IHRvIGlu dGVycHJldCBhIHByZXZhaWxpbmcgdmlldwoKVGhlIGZvbGxvd2luZyBleGFtcGxlIGlzIGdpdmVu IG9uICgoQlBGSyBTZWN0aW9uOiBnYWRyaXxCUEZLJ3MgZ2FkcmkgcGFnZSkpOgoKCgpebG8gcGEg cGl4cmEgY3Ugc2UgdmFtamkgbG8ga2knbyB2YWxzaX5wcH4KCn4vcHB+JydPbmUgcGljdHVyZSBp cyB3b3J0aCBhIHRob3VzYW5kIHdvcmRzLicnIF4KCgoKRXZlbiBpbiBzdWNoIGEgc2VudGVuc2Ug dGhhdCBzZWVtcyBhIHByZXZhaWxpbmcgdmlldywge2xvIHBhIHBpeHJhfSBhbmQge2xvIGtpJ28g dmFsc2l9IGFyZSBpbnRlcnByZXRlZCBhcyByZWZlcnJpbmcgdG8gc29tZXRoaW5nLiBXZSBzaG91 bGQgcHJlcGFyZSBzb21lIHJlZmVyZW50cyBvZiBzdW10aSBvZiBhIHByZXZhaWxpbmcgdmlldyBp biB0aGUgdW5pdmVyc2Ugb2YgZGlzY291cnNlLgoKCgpJbnR1aXRpb25hbGx5IHNwZWFraW5nLCB3 ZSBtYXkgdXNlIHtsbydlfSBpbnN0ZWFkIG9mIHtsb30sIGJ1dCB3ZSBjYW5ub3QgeWV0IGV4cGxh aW4ge2xvJ2V9IGZyb20gYSBsb2dpY2FsIHBvaW50IG9mIHZpZXcgYmVjYXVzZSAoKEJQRksgU2Vj dGlvbjogVHlwaWNhbHN8YWN0dWFsbHkgdGhlcmUgaXMgbm8gb2ZmaWNpYWwgY29uY2x1c2lvbiBh Ym91dCByZWxhdGlvbiBiZXR3ZWVuIHtsbydlfSBhbmQge2xvfSkpLgoKCgpBcyBhIG1ldGhvZCBv ZiBhdm9pZGluZyBtZW50aW9uIG9mIGEgcmVmZXJlbnQgaW4gYW4gZXhwcmVzc2lvbiBvZiBwcmV2 YWlsaW5nIHZpZXcsIHdlIG1heSBwdXQgdGhlIHdob2xlIHByb3Bvc2l0aW9uIGluIE5VIGNsYXVz ZS4gSW4gZmFjdCwgdHJ1dGggdmFsdWUgb2YgYSBwcm9wb3NpdGlvbiBpbiBOVSBjbGF1c2UgZG9l cyBub3QgaW5mbHVlbmNlIHRydXRoIHZhbHVlIG9mIHRoZSBvdXRlciBwcm9wb3NpdGlvbiAocmVm ZXJlbnRpYWxseSBvcGFxdWU7IHRoaXMgdG9waWMgaXMgcmVsYXRlZCB0byBbaHR0cDovL2RhZy5n aXRodWIuaW8vY2xsLzkvNy98Q0xMOS43XSkuIEluIG90aGVyIHdvcmRzLCB0aGUgdW5pdmVyc2Ug b2YgZGlzY291cnNlIG9mIGEgcHJvcG9zaXRpb24gaW4gTlUgY2xhdXNlIGlzIGRpZmZlcmVudCBm cm9tIHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2Ugb2YgYSBwcm9wb3NpdGlvbiBvdXQgb2YgTlUu CgpJZiB3ZSBhY2NlcHQgdGhpcyBtZXRob2QsIHRoZSBleGFtcGxlIGFib3ZlIHdpbGwgYmUgbW9k aWZpZWQsIHVzaW5nIHtzaSdvfSBmb3IgZXhhbXBsZSwgYXMgZm9sbG93czoKCgoKXnNpJ28gbG8g cGEgcGl4cmEgY3Ugc2UgdmFtamkgbG8ga2knbyB2YWxzaSB+cHB+Cgp+L3BwficnSXMgYW4gaWRl YSB0aGF0IG9uZSBwaWN0dXJlIGlzIHdvcnRoIGEgdGhvdXNhbmQgd29yZHMuJydeCgoKCndoZXJl IHgxIG9mIHtzaSdvfSBpcyBpbXBsaWNpdCB7em8nZX0sIHdoaWNoIGhhcyBhIHJlZmVyZW50IGlu IHRoZSB1bml2ZXJzZSBvZiBkaXNjb3Vyc2UuIEFzIGFuIGludGVycHJldGF0aW9uIG9mIGEgcHJl dmFpbGluZyB2aWV3LCBzdXBwb3NpbmcgYSByZWZlcmVudCBvZiB4MSBvZiB7c2knb30gaXMgbW9y ZSBuYXR1cmFsIHRoYW4gc3VwcG9zaW5nIGEgcmVmZXJlbnQgb2Yge2xvIHBhIHBpeHJhfSBvciB7 bG8ga2knbyB2YWxzaX0uCgooU3VjaCBhIGJyaWRpIHdpdGggbm8gdGVyYnJpIGlzIGNhbGxlZCAi b2JzZXJ2YXRpdmUiIGluICgoVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFnZSkpLCBidXQgdGhp cyBpbnRlcnByZXRhdGlvbiBpcyBub3Qgc3VpdGFibGUgaGVyZSwgYmVjYXVzZSB0aGlzIGlzIG5v dCB0aGUgdXR0ZXJhbmNlIHRoYXQgaXMgYWx3YXlzIGNhdXNlZCBieSBhIHNwZWNpZmljIHN0aW11 bHVzLikKCgoKISEhISEjIEhvdyB0byBleHByZXNzIGZyZWUgdmFyaWFibGVzCgpBcyBhIGN1c3Rv bSwga28nVi9mbydWIHNlcmllcyBvZiBLT2hBNCBhcmUgdXNlZCBhcyBmcmVlIHZhcmlhYmxlcyBp biBkZWZpbml0aW9ucyBvZiB3b3JkcyBvciBzb21ldGhpbmcuIEhvd2V2ZXIsIHRoZXkgYXJlIGFj dHVhbGx5IHBsdXJhbCBjb25zdGFudHMuCgpJZiB3ZSBhYmFuZG9uIHRoaXMgY3VzdG9tLCB7a2Un YX0gYW5kIHtjZSd1fSBhcmUgc3VpdGFibGUgZm9yIGV4cHJlc3Npb24gd2l0aCBmcmVlIHZhcmlh YmxlcyAob3BlbiBzZW50ZW5jZSksIGJlY2F1c2UgdGhlIHRydXRoIHZhbHVlIG9mIGJyaWRpIGlu IHdoaWNoIHtrZSdhfSBvciB7Y2UndX0gaXMgdXNlZCBpcyBpbmRlZmluaXRlLiAKCkluIGEgYnJp ZGkgaW4gd2hpY2gge2tlJ2F9IGFwcGVhcnMgdHdvIHRpbWVzIG9yIG1vcmUsIHRoZXNlIHtrZSdh fXMgYXJlIHJlZ2FyZGVkIGFzIHJlcHJlc2VudGluZyBhbiBpZGVudGljYWwgc3VtdGk6CgpeZGEg cG9pIGtlJ2EgZ3kgeGx1cmEga2UnYSBjdSBwYW5jaSBsbyBrYSdlIHNlIGNpdGthfnBwfgoKfi9w cH5+LS1+ICgobG8gbnUgYmlueG8pKV4KCk9uIHRoZSBvdGhlciBoYW5kLCBpbiBhIGJyaWRpIGlu IHdoaWNoIHtjZSd1fSBhcHBlYXJzIHR3byB0aW1lcyBvciBtb3JlLCB0aGVzZSB7Y2UndX1zIGFy ZSBub3QgbmVjZXNzYXJpbHkgcmVnYXJkZWQgYXMgcmVwcmVzZW50aW5nIGFuIGlkZW50aWNhbCBz dW10aToKCl5sbyBtYW10YSBqbyd1IGxvIG1lbnNpIGN1IHNpbXh1IGxvIGthIGNlJ3UgY2lzbWEg ZmEnYSBjZSd1fnBwfgoKfi9wcH5+LS1+ICgobG8gbnUgYmlueG8pKV4KCkNvbnNpZGVyaW5nIHRo ZXNlIHByb3BlcnRpZXMsIGluIG9yZGVyIHRvIGV4cHJlc3MgYW4gb3BlbiBzZW50ZW5jZSB3aXRo IGZyZWUgdmFyaWFibGVzIGluIG5vIGNvbnRleHQsIHtjZSd1fSBpcyBtb3JlIGNvbnZlbmllbnQg dGhhbiB7a2UnYX0gd2hpY2ggaGFzIHJlc3RyaWN0aW9uIG9mIGlkZW50aWNhbCBzdW10aS4KCl5j ZSd1IGNlJ3UgY2l0a2F+cHB+Cgp+L3BwficnQSBlYXRzIEIuJycgKE9wZW4gc2VudGVuY2UsIHRy dXRoIHZhbHVlIGluZGVmaW5pdGUuKV4KCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bs b2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hh bmdlcwo=