Received: from localhost ([::1]:55161 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UYVF8-0003aM-KO; Fri, 03 May 2013 22:42:46 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49377 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UYVEy-0003aF-Ql for wikichanges@lojban.org; Fri, 03 May 2013 22:42:44 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 3 May 2013 22:42:36 -0700 From: "Apache" Date: Fri, 3 May 2013 22:42:36 -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 leçons wave en français was changed by daeldir at 07:42 CEST Comment: Traduit « prononciation correcte » You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] 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.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_changed_by_daeldir?= X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 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 VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDA3OjQyIENFU1QKQ29tbWVudDogVHJhZHVpdCDCq8KgcHJvbm9uY2lhdGlvbiBjb3JyZWN0 ZcKgwrsKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0 dHA6Ly9sb2piYW4ub3JnL3Rpa2kvbGUlQzMlQTdvbnMlMjB3YXZlJTIwZW4lMjBmcmFuJUMzJUE3 YWlzCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkg Zm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly9sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlz dG9yeS5waHA/cGFnZT1sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMlQTdhaXMmY29t cGFyZT0xJm9sZHZlcj0xNCZuZXd2ZXI9MTUKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNp b24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2Ug dGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKwpAQCAtTGluZXM6IDkwLTk2IGNoYW5nZWQgdG8gK0xpbmVzOiA5MC0xMDAg QEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKCk1haW50ZW5hbnQsIMOpcGVsZXogdm90cmUgbm9tIGVuIGxvamJhbiAobGUgY2FzIMOp Y2jDqWFudCwgZGUgbGEgbWFuacOocmUgbGEgcGx1cyBwcm9jaGUgcXVlIHZvdXMgcG91dmV6IGF2 ZWMgbGVzIDI2IGxldHRyZXMgcXVlIG5vdXMgdmVub25zIGQnYXBwcmVuZHJlLCBldCBsJ2Fwb3N0 cm9waGUpLgotICEhISEgJ0NvcnJlY3QnIHByb251bmNpYXRpb248YnIgLz5Zb3UgZG9uJ3QgaGF2 ZSB0byBiZSB2ZXJ5IHByZWNpc2UgYWJvdXQgTG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2Ug dGhlIHBob25lbWVzIGFyZSBkaXN0cmlidXRlZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFr ZSBvbmUgc291bmQgZm9yIGFub3RoZXIuIFRoaXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUg J2NvcnJlY3QnIHByb251bmNpYXRpb24sIHRoZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBw cm9udW5jaWF0aW9udGhlIGdlbmVyYWwgcHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMgT0sg c28gbG9uZyBhcyBpdCBkb2Vzbid0IHNvdW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVsc2Uu IEZvciBleGFtcGxlLCBMb2piYW4gciBjYW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAmcXVvdDty JnF1b3Q7IGluIEVuZ2xpc2gsIFNjb3R0aXNoIG9yIEZyZW5jaC48YnIgLz5Ud28gdGhpbmdzIHRv IGJlIGNhcmVmdWwgb2YsIHRob3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJhbiAnJ2knJyBhbmQg Jyd1JycgbGlrZSBTdGFuZGFyZCBCcml0aXNoIEVuZ2xpc2ggJnF1b3Q7aGl0JnF1b3Q7IGFuZCAm cXVvdDtidXQmcXVvdDsgKE5vcnRoZXJuIEVuZ2xpc2ggJnF1b3Q7YnV0JnF1b3Q7IGlzIGZpbmUh KS4gVGhpcyBpcyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkgdGhlc2Ug dHdvLCBhcmUgdXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8gZmluZCB0 aGVtIGhhcmQgdG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMgc3BpdHRp bmcgb3V0IHRoZSAnJ3pkJycgaW4gJyd6ZGFuaScnIChob3VzZSksIHlvdSBjYW4gc2F5IHpkYW5p d2hlcmUgdGhlICZxdW90OyZxdW90OyBpcyB2ZXJ5IHNob3J0LCBidXQgdGhlIGZpbmFsICZxdW90 O2kmcXVvdDsgaGFzIHRvIGJlIGxvbmcuCisgISEhISBQcm9ub25jaWF0aW9uIGNvcnJlY3RlPGJy IC8+PGJyIC8+Vm91cyBuJ2F2ZXogcGFzICBhdm9pciB1bmUgcHJvbm9uY2lhdGlvbiBwcmNpc2Ug ZHUgbG9qYmFuLCBjYXIgY2hhcXVlIHBob25tZSBlc3QgZGlzdHJpYnUgZGUgbWFuaXJlICBjZSBx dSdpbCBzb2l0IGRpZmZpY2lsZSBkZSBjb25mb25kcmUgZGV1eCBzb25zLiBDZWNpIHNpZ25pZmll IHF1ZSwgcG91ciB1bmUgbGV0dHJlLCBwbHV0dCBxdSd1bmUgcHJvbm9uY2lhdGlvbiBjb3JyZWN0 ZSwgaWwgeSBhIHVuZSBnYW1tZSBkZSBzb25zIGFjY2VwdHMgIGxlIHByaW5jaXBlIGducmFsIHRh bnQgcXUndW4gc29uIGVzdCBib24gdGFudCBxdSdpbCBuZSByZXNzZW1ibGUgcGFzIHRyb3AgIHVu ZSBhdXRyZSBsZXR0cmUuIFBhciBleGVtcGxlLCBsZSByIGxvamJhbiBwZXV0IHRyZSBwcm9ub25j IGNvbW1lIGVuIGFuZ2xhaXMsIGNvc3NhaXMsIGZyYW5haXM8YnIgLz48YnIgLz4nJ1BvdXIgZGVz IHJhaXNvbnMgLS1kJ2luY29tcHRlbmNlLS0gZGUgZGlmZmljdWx0cyBkZSB0cmFkdWN0aW9uLCBs ZSBwYXNzYWdlIHN1aXZhbnQgc2UgYmFzZSBlbmNvcmUgc3VyIGRlcyBleGVtcGxlcyBkZSBtb3Rz IGFuZ2xhaXMgIHNpIHZvdXMgdHJvdXZleiB1biBxdWl2YWxlbnQgZnJhbmFpcywgbidoc2l0ZXog cGFzIScnPGJyIC8+PGJyIC8+SWwgZmF1dCBjZXBlbmRhbnQgYmllbiBmYWlyZSBhdHRlbnRpb24g IG5lIHBhcyBwcm9ub25jZXIgbGVzICcnaScnIGV0ICcndScnIGxvamJhbiBjb21tZSBkYW5zIGwn YW5nbGFpcyBzdGFuZGFyZCBoaXQgZXQgYnV0IChsZSBidXQgZGUgbCdhbmdsYWlzIGR1IG5vcmQg ZXN0IGNlcGVuZGFudCBjb3JyZWN0ISkuIExhIHJhaXNvbiBlbiBlc3QgcXVlIGxlcyB2b3llbGxl cyBub24tbG9qYmFuLCBjZXMgZGV1eCBjaSBwYXJ0aWN1bGlyZW1lbnQsIHNvbnQgdXRpbGlzZXMg cG91ciBzcGFyZXIgbGVzIGNvbnNvbm5lcyBwYXIgbGVzIHBlcnNvbm5lcyBxdWkgbidhcnJpdmVu dCBwYXMgIGxlcyBwcm9ub25jZXIuIFBhciBleGVtcGxlLCBzaSB2b3VzIGF2ZXogdW4gcHJvYmxt ZSBhdmVjIGxlICcnemQnJyBkZSAnJ3pkYW5pJycgKG1haXNvbiksIHZvdXMgcG91dmV6IGRpcmUg emRhbmksIGF2ZWMgdW4gIHRycyBjb3VydCwgbWFpcyBsZSBpIGZpbmFsIGxvbmcuCiEhISFMb2pi YW4gTmFtZXMgKGNtZXZsYSkKV2F0Y2ggYW55IGZpbG0gd2hlcmUgcGVvcGxlIGRvbid0IGtub3cg ZWFjaCBvdGhlcidzIGxhbmd1YWdlLiBUaGV5IHN0YXJ0IG9mZiBzYXlpbmcgdGhpbmdzIGxpa2Ug 4oCcTWUgVGFyemFuLOKAnSB3aGljaCBpcyBhcyBnb29kIGEgcGxhY2UgdG8gc3RhcnQgbGVhcm5p bmcgTG9qYmFuIGFzIGFueS4gU28gaGVyZSB3ZSBnby4KCgoKCioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250 ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqCgp7Qk9YKAoKICB0aXRsZT0iVHJhdmFpbCBlbiBjb3VycyIK Cil9CgpDZXR0ZSBwYWdlIGVzdCB1bmUgdHJhZHVjdGlvbiBlbiBjb3VycyBkZSAoKHdhdmVsZXNz b25zY29udGludWVkKSkgZW4gZnJhbsOnYWlzLiBMZSBzdGF0dXQgYWN0dWVsIGVzdCB1biBpbXBv cnQgYsOqdGUgZXQgbcOpY2hhbnQgZGUgbGEgcGFnZSBhbmdsYWlzZS4gQXUgZnVyIGV0IMOgIG1l c3VyZSBkZSBsYSB0cmFkdWN0aW9uLCBjZXR0ZSBub3RlIHNlcmEgbWlzZSDDoCBqb3VyIHBvdXIg aW5kaXF1ZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQgZGVzIGxlw6dvbnMuIAoKCgrDiXRhdCBhY3R1 ZWzCoDogdHJhZHVjdGlvbiBkZSBsYSBsZcOnb24gesOpcm8gZW50YW3DqWUuCgp7Qk9YfSAKCgoK IUxlcyBsZcOnb25zIFdhdmUgY29udGludcOpZXPCoDoKCiEhIVLDqWRpZ8OpZXMgcGFyIGxhIGts YWt1LCBhdmVjIGwnYWlkZSBkZSBsb2piYW5pc3RlcyB2YXJpw6lzLiBCYXPDqWUgc3VyIGxlIHRy YXZhaWwgZGUgbGEgLmtyaWJhY3IuIFByaW50ZW1wcyAyMDEzLgoKVHJhZHVpdGVzIGRlIGwnYW5n bGFpcyB2ZXJzIGxlIGZyYW7Dp2FpcyBwYXIgRGFlbGRpci4KCgoKISFMZcOnb25zIGRlIGxvamJh biDigJMgbGXDp29uIHrDqXJvOiBhdmFudCBwcm9wb3MKCkNlcyBsZcOnb25zIHNvbnQgdW5lIHRl bnRhdGl2ZSBkZSBkw6l2ZWxvcHBlciBsZXMgwqvCoExlw6dvbnMgZGUgR29vZ2xlIFdhdmXCoMK7 LCB1biBleGNlbGxlbnQgZGlkYWN0aWNpZWwgY29uc2FjcsOpIGF1IGxvamJhbiwgw6ljcml0IHBh ciBrcmliYWNyLCB4YWxibywgZXQgZCdhdXRyZXMsIHF1aSwgaMOpbGFzLCBuZSBjb3V2cmFpdCBx dWUgbGVzIHF1YXRyZXMgcHJlbWllcnMgY2hhcGl0cmVzIGR1IHByw6lzZW50IGRpZGFjdGljaWVs LiBJbCB0cmFpdGUgZGVzIHLDqGdsZXMgbGVzIHBsdXMgcsOpY2VudGVzIGR1IGxvamJhbiwgcXVp IG5lIHNvbnQgcGFzIGNvdXZlcnRlcyBwYXIgZGUgcGx1cyBhbmNpZW5zIGNvdXJzIHRlbHMgcXVl IMKrwqBXaGF0IGlzIExvamJhbj/CoMK7LCBldCDCq8KgTG9qYmFuIGZvciBCZWdpbm5lcnPCoMK7 LgoKCgpTaSBsZSBsb2piYW4gZXN0IHRvdGFsZW1lbnQgbm91dmVhdSBwb3VyIHZvdXMsIGplIHZv dXMgcmVjb21tYW5kZSBkJ8OpY291dGVyIHRvdXQgbGVzIGVucmVnaXN0cmVtZW50IGRlIGxvamJh biBwYXJsw6kgcXVlIHZvdXMgcG91cnJleiB0cm91dmVyLCB0YW50IGF2YW50IHF1ZSBwZW5kYW50 IGxhIGxlY3R1cmUgZGUgY2UgZGlkYWN0aWNpZWwsIGFmaW4gZGUgdm91cyBmYW1pbGlhcmlzZXIg YXZlYyBsZXMgc29ucyBldCBsZXMgbW90cyBkdSBsYW5nYWdlLiBEZSBwbHVzLCBlc3NheWV6IGRl IHByb25vbmNlciBjZSBxdWUgdm91cyBsaXNleiBhdmVjIGwnYWNjZW50IGR1IGxvamJhbiBzaSB2 b3VzIGxlIHBvdXZlei4gQ2VjaSB2b3VzIGFpZGVyYSDDoCBwcm9ub25jZXIgbGUgbG9qYmFuLiAK CgoKRW4gc3VpdmFudCBjZSBkaWRhY3RpY2llbCwgaWwgZXN0IGNvbnNlaWxsw6kgZGUgcHJlbmRy ZSBkZXMgcGF1c2VzIGVudHJlIGxlcyBsZcOnb25zIGFmaW4gZGUgZGlnw6lyZXIgY2UgcXVlIHZv dXMgYXZleiBhcHByaXMuIEonYWkgZXNzYXnDqSBkZSBjb25zdHJ1aXJlIGNlcyBsZcOnb25zIGR1 IHNpbXBsZSBhdSBjb21wbGV4ZSwgZXQgZCdleGNsdXJlIHRvdXQgbW90IG91IGNvbmNlcHQgcXVp IG4nYSBwYXMgw6l0w6kgZXhwbGlxdcOpIGRhbnMgbGVzIGxlw6dvbiBwcsOpY8OpZGVudGUuIFVu ZSBmb2lzIGV4cGxpcXXDqXMsIGlscyBzb250IHV0aWxpc8OpcyBsaWJyZW1lbnQgdG91dCBhdSBs b25nIGR1IHJlc3RlIGR1IGRpZGFjdGljaWVsLiBKJ2V4aG9ydGUgbGUgbGVjdGV1ciDDoCBuZSBw YXMgZmFpcmUgbCdpbXBhc3NlIHN1ciB1biBjb250ZW51IGluY29tcHJpc8KgOiBzaSB2b3VzIGF2 ZXogdW5lIHF1ZXN0aW9uIG91IMOqdGVzIGluY2VydGFpbiBkJ3VuZSBjaG9zZSwgbidheWV6IHBh cyBkZSBjb21wbGV4ZSDDoCBkZW1hbmRlciDDoCBsYSBjb21tdW5hdXTDqSBsb2piYW4sIHF1aSBw ZXV0IMOqdHJlIHRyb3V2w6llIHN1ciAjbG9qYmFuIHN1ciBsZSByw6lzZWF1IElSQyBGcmVlbm9k ZSAoZW4gYW5nbGFpcyksIG91IHN1ciBsYSBbaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xvamJhbi1mcnxtYWlsaW5nLWxpc3QgZnJhbmNvcGhvbmVdLiBFbGxlIHNlcmEg aGV1cmV1c2UgZCdhaWRlci4KCgoKRGFucyBjZSBkaWRhY3RpY2llbCwgbGUgdGV4dGUgZW4gbG9q YmFuIGVzdCDDqWNyaXQgZW4gJydpdGFsaXF1ZXMnJy4gUGx1cyB0YXJkLCBxdWFuZCB1dGlsaXPD qXMgY29tbWVzIG1vdHMgZW1wcnVudMOpcyBkdSBsb2piYW4gZGFucyBkZXMgcGhyYXNlcyBmcmFu w6dhaXNlcywgaWxzIG5lIHNvbnQgcGFzIG1hcnF1w6lzLiBMZXMgcsOpcG9uc2VzIGRlcyBleGVy Y2ljZXMgc29udCBhZmZpY2jDqWVzIGNvbW1lIHVuZSBiYXJyZSBncmlzZS4gU8OpbGVjdGlvbm5l eiBjZXR0ZSBiYXJyZSBwb3VyIHZvaXIgbGUgdGV4dGUuCgoKCkVuZmluLCBqJ2FpIGF1dGFudCBx dWUgcG9zc2libGUgZXNzYXnDqSBkJ3V0aWxpc2VyIGxlcyBtb3RzIGR1IGxvamJhbiBwb3VyIGTD qXNpZ25lciBsZXMgY29uc3RydWN0aW9ucyBncmFtbWF0aWNhbGVzwqA6ICcnc3Vta2EnaScnIGF1 IGxpZXUgZGUgcHJvLXN1bXRpLCAnJ3N1bXRjaXRhJycgYXUgbGlldSBkZSBtb2RhbCwgZXQgJydq dWZyYScnIGF1IGxpZXUgZCfDqW5vbmPDqS4gQ2VjaSBwYXJjZSBxdWUgaidhaSBsJ2ltcHJlc3Np b24gcXVlIGxlcyBtb3RzIGZyYW7Dp2FpcyBzb250IHNvdXZlbnQgc29pdCBhcmJpdHJhaXJlcywg YXVxdWVsIGNhcyBpbHMgc29udCBqdXN0ZXMgZGVzIG1vdHMgZW4gcGx1cyDDoCBhcHByZW5kcmUs IHNvaXQgdHJvbXBldXJzLCBhdXF1ZWwgY2FzIGlscyBzb250IHBpcmUgcXUnaW51dGlsZXMuIERh bnMgbGVzIGRldXggY2FzLCBwdWlzcXVlIGNlcyBtb3RzIHNvbnQgc3DDqWNpZmlxdWVzIMOgIGwn YXBwcmVudGlzc2FnZSBkdSBsb2piYW4gZGUgdG91dGUgZmHDp29uLCBpbCBuJ3kgYSBwYXMgZGUg cmFpc29uIHBvdXIgZXV4IGQnZXhpc3RlciBjb21tZSBkZXMgbW90cyBmcmFuw6dhaXMgZGlzdGlu Y3QuCgoKCiEhIVByw6lmYWNlLiBTb25zCgpMYSBwcmVtacOocmUgY2hvc2Ugw6AgZmFpcmUgcXVh bmQgdm91cyBhcHByZW5leiB1bmUgbGFuZ3VlIMOpdHJhbmfDqHJlIGVzdCBkZSB2b3VzIGZhbWls aWFyaXNlciBhdmVjIGxlcyBzb25zIGR1IGxhbmdhZ2UgZXQgbGV1ciDDqWNyaXR1cmUuIElsIGVu IHZhIGRlIG3Dqm1lIHBvdXIgbGUgbG9qYmFuLiBIZXVyZXVzZW1lbnQsIGxlcyBzb25zIGR1IGxv amJhbiAoX19waG9uw6htZXNfXykgc29udCBwbHV0w7R0IHNpbXBsZXMuCgoKCiEhISFWb3llbGxl cwoKSWwgeSBhIHNpeCB2b3llbGxlcyBlbiBsb2piYW4uCgoKCnx8JydhJycgfGNvbW1lIGRhbnMg wqvCoHBfX2FfX3BfX2FfX8KgwrsKCicnZScnIHxjb21tZSBkYW5zIMKrIGJfX2VfX3JnX1/DqF9f cmUgwrsKCicnaScnIHxjb21tZSBkYW5zIMKrwqBtYWNoX19pX19uZcKgwrsKCicnbycnIHxjb21t ZSBkYW5zIMKrIF9fb19fbcOpZ2EgwrssIMKrwqBfX2F1X190X19vX19tb2JpbGXCoMK7CgonJ3Un JyB8Y29tbWUgZGFucyDCq8KgX19vdV9fwqDCuywgwqvCoGxfX291X19wwqDCuwoKJyd5JycgfGNv bW1lIGRhbnMgwqsgbWF0X19lX19sb3Qgwrt8fAoKCgpMYSBzaXhpw6htZSB2b3llbGxlLCAnJ3kn JywgZXN0IGFwcGVsw6llIHVuIF9fc2Nod2FfXyBlbiBsaW5ndWlzdGlxdWUuIEMnZXN0IHVuIMKr wqBlwqDCuyB0csOocyBsw6lnZXIsIG5vbiBhY2NlbnR1w6ksIGp1c3RlIG1pbGlldSBlbnRyZSBs ZSDCq8KgZcKgwrsgbWFyc2VpbGxhaXMgKMKrIG1hdF9fZXVfX2xvdCDCuykgZXQgbGUgwqvCoGXC oMK7IG11ZXQgcGFyaXNpZW4gKMKrIG1hdCdsb3QgwrspLgoKCgpEZXV4IHZveWVsbGVzIGVuc2Vt YmxlIHNvbnQgcHJvbm9uY8OpZXMgY29tbWUgdW4gc29uIChfX2RpcGh0b25ndWVfXykuIFBhciBl eGVtcGxlwqA6CgoKCnx8JydhaScnIHxjb21tZSBkYW5zIMKrwqBjYW5fX2FpX19sbGXCoMK7Cgon J2F1JycgfGNvbW1lIGRhbnMgwqvCoGNfX2FvdV9fdGNob3VjwqDCuwoKJydlaScnIHxjb21tZSBk YW5zIMKrwqBhYl9fZWlfX2xsZcKgwrsKCicnb2knJyB8Y29tbWUgZGFucyDCq8KgZ19fb3lfX8Kg wrsKCicnaWEnJyB8Y29tbWUgZGFucyDCq8KgcF9faWFfX25vwqDCuwoKJydpZScnIHxjb21tZSBk YW5zIMKrwqBoX19pZV9fcsKgwrsKCicnaXUnJyB8Y29tbWUgZGFucyDCq8KgY2FfX2lsbG91X1/C oMK7CgonJ3VhJycgfGNvbW1lIGRhbnMgwqvCoHFfX3VvaV9fwqDCuwoKJyd1ZScnIHxjb21tZSBk YW5zIMKrwqBicl9fb3VlX190dGXCoMK7CgonJ3VvJycgfGNvbW1lIGRhbnMgwqvCoGRyX19vdW9f X3TCoMK7CgonJ3VpJycgfGNvbW1lIGRhbnMgwqvCoF9fb3VpX1/CoMK7IHx8CgoKCkxlcyB2b3ll bGxlcyBkb3VibMOpZXMgc29udCByYXJlcy4gTGVzIHNldWxzIGV4ZW1wbGVzIHNvbnQgJydpaScn LCBwcm9ub25jw6kgY29tbWUgZGFucyDCq8KgZmFfX2lsbGlfX8KgwrssIGV0ICcndXUnJywgcHJv bm9uY8OpIGNvbW1lIGRhbnMgwqvCoF9fT3VfX2hfX291X1/CoCHCoMK7IChxdWFuZCBvbiBhcHBl bGxlIHF1ZWxxdSd1biwgbWFpcyBwYXMgY29tbWUgZGFucyDCq8KgSG91aG91wqDCu8KgOiBkYW5z IGxlIHByZW1pZXIgZXhlbXBsZSwgbGUgJydoJycgZXN0IG11ZXQsIGRhbnMgbGUgZGV1eGnDqG1l LCBsZSAnJ2gnJyBlc3QgYXNwaXLDqSDigJMgY2UgcXVpIHNlIHRyYW5zY3JpcmFpdCBlbiBsb2pi YW4gJyd1J3UnJykKCgoKISEhIUNvbnNvbm5lcwoKTGEgcGx1cGFydCBkZXMgY29uc29ubmVzIHNv bnQgbGVzIG3Dqm1lcyBxdSdlbiBmcmFuw6dhaXMsIMOgIHF1ZWxxdWUgZXhjZXB0aW9ucyBwcsOq dMKgOgoKCgp8fCcnZycnIHxzZSBwcm9ub25jZSB0b3Vqb3VycyBjb21tZSBkYW5zIMKrwqBfX2df X8OidGVhdcKgwrssIGphbWFpcyBjb21tZSBkYW5zIMKrwqBfX2dfX2Vub3V4wqDCuwoKJydjJycg fHNlIHByb25vbmNlICcnY2gnJywgY29tbWUgZGFucyDCq8KgX19jaF9fYXRlYXXCoMK7CgonJ3gn JyB8c2UgcHJvbm9uY2UgY29tbWUgZGFucyBsJ2FsbGVtYW5kIMKrwqBCYV9fY2hfX8KgwrssIGwn ZXNwYWdub2wgwqvCoF9fSl9fb3NlwqDCuyBvdSBsJ2FyYWJlIMKrwqBfX0toX19hbGVkwqDCuwoK JydyJycgfGFjY2VwdGUgYmVhdWNvdXAgZGUgcHJvbm9uY2lhdGlvbnMgKMOgIGxhIGZyYW7Dp2Fp c2UsIMOgIGwnYW5nbGFpc2XigKYpIG1haXMgbGEgcHJvbm9uY2lhdGlvbiBpdGFsaWVubmUgKCcn cicnIHJvdWzDqSkgZXN0IHByw6lmw6lyw6llfHwKCgoKTGUgbG9qYmFuIG4ndXRpbGlzZSBwYXMg bGVzIGNhcmFjdMOocmVzIMKrwqBIwqDCuywgwqvCoFHCoMK7IG91IMKrwqBXwqDCuywgZXQgaWwg bid5IGEgcGFzIGRlIGNhcmFjdMOocmVzIGFjY2VudHXDqXMgZW4gbG9qYmFuLgoKCgohISEhQ2Fy YWN0w6hyZXMgc3DDqWNpYXV4CgoKCkxlIGxvamJhbiBuZSByZXF1acOocmUgYXVjdW5lIHBvbmN0 dWF0aW9uLCBtYWlzIGNlcnRhaW4gY2FyYWN0w6hyZXMsIGhhYml0dWVsbGVtZW50IHV0aWxpc8Op cyBjb21tZSBwb25jdHVhdGlvbiBkYW5zIGQnYXV0cmUgbGFuZ3VlcywgYWZmZWN0ZW50IGxhIG1h bmnDqHJlIGRvbnQgbGUgbG9qYmFuIGVzdCBwcm9ub25jw6kuCgoKCkxlIHNldWwgZGUgY2VzIGNh cmFjdMOocmVzIHF1aSBzb2l0IG9ibGlnYXRvaXJlIGVuIGxvamJhbiBlc3QgbCdhcG9zdHJvcGhl LiBFbiBmYWl0LCBsJ2Fwb3N0cm9waGUgZXN0IGNvbnNpZMOpcsOpZSBjb21tZSB1bmUgbGV0dHJl IGR1IGxvamJhbi4gVW5lIGFwb3N0cm9waGUgc8OpcGFyZSBkZXV4IHZveWVsbGVzLCBlbXDDqmNo YW50IGNlbGxlcy1jaSBkJ8OqdHJlIHByb25vbmPDqWVzIGVuc2VtYmxlIGNvbW1lIHVuZSBfX2Rp cGh0b25ndWVfXy4gRWxsZSBlc3QgZWxsZSBtw6ptZSBwcm9ub25jw6llIGNvbW1lIHVuIMKrwqBo wqDCuy4gUGFyIGV4ZW1wbGUsIMKrwqAnJ3VpJyfCoMK7IGVzdCBub3JtYWxlbWVudCBwcm9ub25j w6kgY29tbWUgwqvCoF9fb3VpX1/CoMK7LCBtYWlzIMKrwqAnJ3UnaScnwqDCuyBlc3QgcHJvbm9u Y8OpIGNvbW1lIMKrwqBfX291aGlfX8KgwrsuCgoKClVuIHBvaW50IGVzdCB1bmUgY291cnRlIHBh dXNlIMOpdml0YW50IMOgIGRldXggbW90cyBkZSBzZSBjb25mb25kcmUgbCd1biBkYW5zIGwnYXV0 cmUuIExlcyByw6hnbGVzIGR1IGxvamJhbiByZW5kZW50IGZhY2lsZSBsYSBmdXNpb24gZGUgZGV1 eCBtb3RzIHF1YW5kIGxlIHNlY29uZCBjb21tZW5jZSBwYXIgdW5lIHZveWVsbGUsIGV0IGRvbmMs IHBhciBjb252ZW50aW9uLCBjaGFxdWUgbW90IGNvbW1lbsOnYW50IHBhciB1bmUgdm95ZWxsZSBl c3QgcHLDqWPDqWTDqSBwYXIgdW4gcG9pbnQuCgoKCkxlcyB2aXJndWxlcyBzb250IHJhcmUgZW4g bG9qYmFuLCBtYWlzIHBldXZlbnQgw6p0cmUgdXRpbGlzw6llcyBwb3VyIGVtcMOqY2hlciBkZXV4 IHZveWVsbGVzIGRlIHNlIGZvbmRyZSBsJ3VuZSBkYW5zIGwnYXV0cmUgcXVhbmQgdm91cyBuZSB2 b3VsZXogcGFzIHV0aWxpc2VyIGQnYXBvc3Ryb3BoZSwgY2UgcXVpIGFqb3V0ZXJhaXMgdW4gwqvC oGjCoMK7IGVudHJlIGVsbGVzLiBBdWN1biBtb3QgbG9qYmFuIG4nYSBkZSB2aXJndWxlLCBtYWlz IGVsbGUgZXN0IHBhcmZvaXMgdXRpbGlzw6llIGRhbnMgbCfDqWNyaXR1cmUgZGVzIG5vbXMgZCdh dXRyZXMgbGFuZ3Vlcy4gUGFyIGV4ZW1wbGUsIMKrwqAnJ3BpLEVSLicnwqDCuyAoUGllcnJlKSwg YXUgbGlldSBkZSDCq8KgJydwaWVyLicnwqDCuyAoUC15ZXJyKSwgwqvCoCcncGkuRVIuJyfCoMK7 IChQaTsgRWhyKSwgb3UgwqvCoCcncGknRVInJ8KgwrsgKFBpaGVycikuCgoKCkxlcyBsZXR0cmVz IGNhcGl0YWxlcyBuZSBzb250IG5vcm1hbGVtZW50IHBhcyB1dGlsaXPDqWVzIGVuIGxvamJhbi4g Tm91cyBsZXMgdXRpbGlzb25zIGRhbnMgZGVzIG1vdHMgbm9uIGxvamJhbiAoY29tbWUgwqvCoFBp ZXJyZcKgwrspLCBxdWFuZCBsJ2FjY2VudCB0b25pcXVlIGQndW4gbW90IGVzdCBkaWZmw6lyZW50 IGRlIGNlbHVpIGRlIGxhIG5vcm1lIGxvamJhbi4gTGEgbm9ybWUgY29uc2lzdGUgw6AgbWV0dHJl IHVuIGFjY2VudCB0b25pcXVlIHN1ciBsJ2F2YW50IGRlcm5pw6hyZSBzeWxsYWJlLiBQYXIgZXhl bXBsZSwgJydrdWptaWtjZScnIChpbmZpcm1pw6hyZSksIGVzdCDCq8Kga3VqX19NSUtfX2NlwqDC uywgZXQgbm9uIHBhcyDCq8KgX19LVUpfX21pa2NlwqDCuy4gTGUgbm9tIMKrwqBKdWxpZXR0ZcKg wrsgcyfDqWNyaXJhaXQgwqvCoCcnanVMSUVULicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4g ZnJhbsOnYWlzLCBtYWlzIMKrwqAnJ0RKVWxpLGV0LicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUg ZW4gYW5nbGFpcy4KCiEhISFBbHBoYWJldAoKCgpEYW5zIGxhIHBsdXBhcnQgZGVzIG1hbnVlbHMs IGxvcnMgZGUgbCdhcHByZW50aXNzYWdlIGQndW5lIGxhbmd1ZSwgdm91cyBhcHByZW5leiBsJ2Fs cGhhYmV0IGR1IGxhbmdhZ2UsIGV0IHNhIHByb25vbmNpYXRpb24uIExlcyBsZXR0cmVzICgnJ2xl cmZ1JycpIMOpdGFudCBwbHVzIGltcG9ydGFudGVzIGVuIGxvamJhbiBxdSfDoCBsJ2FjY291dHVt w6llLCBhdXRhbnQgYXBwcmVuZHJlIGxldXIgbm9tcyByYXBpZGVtZW50LgoKCgpMZXMgY29uc29u bmVzIHNvbnQgc2ltcGxlc8KgOiBsZSBub20gZCd1bmUgY29uc29ubmUgZXN0IGNldHRlIGxldHRy ZSwgc3VpdmllIGRlIMKrwqB5wqDCuy4gQWluc2ksIGxlcyBjb25zb25uZXMgZHUgbG9qYmFuLCDC q8KgYsKgwrssIMKrwqBjwqDCuywgwqvCoGTCoMK7LCDCq8KgZsKgwrssIMKrwqBnwqDCu+KApiBz b250IGFwcGVsw6llcyDCq8KgJydieS4nJ8KgwrssIMKrwqAnJ2N5LicnwqDCuywgwqvCoCcnZHku JyfCoMK7LCDCq8KgJydmeS4nJ8KgwrssIMKrwqAnJ2d5LicnwqDCu+KApiBlbiBsb2piYW4gKGVu IHV0aWxpc2FudCB1biBwb2ludCwgY29tbWUgZMOpY3JpdCBkYW5zIGxhIHBhcnRpZSBwcsOpY8Op ZGVudGUpLgoKCgpMZXMgdm95ZWxsZXMgX19zZXJhaWVudF9fIGFwcGVsw6llcyDCq8KgJycuYXkn J8KgwrssIMKrwqAnJy5leScnwqDCuywgwqvCoCcnLml5JyfCoMK74oCmLCBzaSBjJ8OpdGFpdCBt b2lucyBkaWZmaWNpbGUgw6AgcHJvbm9uY2VyLiBBdSBsaWV1IGRlIMOnYSwgZWxsZXMgc29udCBu b21tw6llIGVuIHN1aXZhbnQgbGUgc29uIGRlIGxhIHZveWVsbGUgcGFyIGxlIG1vdCAnJ2J1Jycs IHF1aSBzaWduaWZpZSBzaW1wbGVtZW50IMKrwqBsZXR0cmXCoMK7LiBBaW5zaSwgbGVzIHZveWVs bGVzIGR1IGxvamJhbiBzb250wqA6ICDCq8KgJycuYWJ1JyfCoMK7LCDCq8KgJycuZWJ1JyfCoMK7 LCDCq8KgJycuaWJ1JyfCoMK7LCDCqyAnJy5vYnUnJyDCuywgwqvCoCcnLnVidScnwqDCuywgwqvC oCcnLnlidScnwqDCuy4KCgoKTCdhcG9zdHJvcGhlIGVzdCBjb25zaWTDqXLDqWUgY29tbWUgdW5l IHZyYWkgbGV0dHJlIGVuIGxvamJhbiwgZXQgZXN0IG5vbW3DqWUgwqvCoCcnLnkneS4nJ8Kgwrsg KMKrwqBldWhldcKgwrvigKYgVW4gcGV1IGNvbW1lIHVuZSBwZXRpdGUgdG91eCkuCgoKCkxlIGxv amJhbiBhIHVuIG1veWVuIGRlIHNlIHLDqWbDqXJlciDDoCBsYSBwbHVwYXJ0IGRlcyBsZXR0cmVz IGF1eHF1ZWxsZXMgdm91cyBwb3V2ZXogcGVuc2VyLiBTaSB2b3VzIGTDqXNpcmV6IGTDqHMgbWFp bnRlbmFudCDDqXBlbGVyIHZvdHJlIG5vbSBlbiBsb2piYW4sIGV0IHF1ZSBjZWx1aSBjaSBwb3Nz w6hkZSB1biDCq8KgSMKgwrssIMKrwqBRwqDCuyBvdSDCq8KgV8KgwrssIHZvdXMgcG91dmV6IHV0 aWxpc2VyIMKrICcnLnkneS5idScnIMK7LCDCqyAnJ2t5LmJ1JycgwrsgZXQgwqsgJyd2eS5idScn IMK7LiBBaW5zaSwgwqvCoFNjaHdhcnplbmVnZ2VywqDCuyBlc3Qgw6lwZWzDqSBlbiBsb2piYW7C oDoKCicnc3kuIGN5LiAueSd5YnUgdnlidS4gLmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3ku IGd5LiAuZWJ1IHJ5LicnCgoKCkV0IMOpcGVsZXIgX1/Dp2FfXyBlc3QgdW5lIHTDomNoZSBkaWdu ZSBkdSBUZXJtaW5hdG9ywqAhCgoKCk1haW50ZW5hbnQsIMOpcGVsZXogdm90cmUgbm9tIGVuIGxv amJhbiAobGUgY2FzIMOpY2jDqWFudCwgZGUgbGEgbWFuacOocmUgbGEgcGx1cyBwcm9jaGUgcXVl IHZvdXMgcG91dmV6IGF2ZWMgbGVzIDI2IGxldHRyZXMgcXVlIG5vdXMgdmVub25zIGQnYXBwcmVu ZHJlLCBldCBsJ2Fwb3N0cm9waGUpLgoKISEhISBQcm9ub25jaWF0aW9uIMKrwqBjb3JyZWN0ZcKg wrsKCgoKVm91cyBuJ2F2ZXogcGFzIMOgIGF2b2lyIHVuZSBwcm9ub25jaWF0aW9uIHByw6ljaXNl IGR1IGxvamJhbiwgY2FyIGNoYXF1ZSBwaG9uw6htZSBlc3QgZGlzdHJpYnXDqSBkZSBtYW5pw6hy ZSDDoCBjZSBxdSdpbCBzb2l0IGRpZmZpY2lsZSBkZSBjb25mb25kcmUgZGV1eCBzb25zLiBDZWNp IHNpZ25pZmllIHF1ZSwgcG91ciB1bmUgbGV0dHJlLCBwbHV0w7R0IHF1J3VuZSBwcm9ub25jaWF0 aW9uIMKrwqBjb3JyZWN0ZcKgwrssIGlsIHkgYSB1bmUgZ2FtbWUgZGUgc29ucyBhY2NlcHTDqXMg 4oCTIGxlIHByaW5jaXBlIGfDqW7DqXJhbCDDqXRhbnQgcXUndW4gc29uIGVzdCBib24gdGFudCBx dSdpbCBuZSByZXNzZW1ibGUgcGFzIHRyb3Agw6AgdW5lIGF1dHJlIGxldHRyZS4gUGFyIGV4ZW1w bGUsIGxlIMKrwqBywqDCuyBsb2piYW4gcGV1dCDDqnRyZSBwcm9ub25jw6kgY29tbWUgZW4gYW5n bGFpcywgw6ljb3NzYWlzLCBmcmFuw6dhaXPigKYKCgoKJydQb3VyIGRlcyByYWlzb25zIC0tZCdp bmNvbXDDqXRlbmNlLS0gZGUgZGlmZmljdWx0w6lzIGRlIHRyYWR1Y3Rpb24sIGxlIHBhc3NhZ2Ug c3VpdmFudCBzZSBiYXNlIGVuY29yZSBzdXIgZGVzIGV4ZW1wbGVzIGRlIG1vdHMgYW5nbGFpcyDi gJMgc2kgdm91cyB0cm91dmV6IHVuIMOpcXVpdmFsZW50IGZyYW7Dp2Fpcywgbidow6lzaXRleiBw YXPCoCEnJwoKCgpJbCBmYXV0IGNlcGVuZGFudCBiaWVuIGZhaXJlIGF0dGVudGlvbiDDoCBuZSBw YXMgcHJvbm9uY2VyIGxlcyDCq8KgJydpJyfCoMK7IGV0IMKrwqAnJ3UnJ8KgwrsgbG9qYmFuIGNv bW1lIGRhbnMgbCdhbmdsYWlzIHN0YW5kYXJkIMKrwqBoaXTCoMK7IGV0IMKrwqBidXTCoMK7IChs ZSDCq8KgYnV0wqDCuyBkZSBsJ2FuZ2xhaXMgZHUgbm9yZCBlc3QgY2VwZW5kYW50IGNvcnJlY3TC oCEpLiBMYSByYWlzb24gZW4gZXN0IHF1ZSBsZXMgdm95ZWxsZXMgbm9uLWxvamJhbiwgY2VzIGRl dXggY2kgcGFydGljdWxpw6hyZW1lbnQsIHNvbnQgdXRpbGlzw6llcyBwb3VyIHPDqXBhcmVyIGxl cyBjb25zb25uZXMgcGFyIGxlcyBwZXJzb25uZXMgcXVpIG4nYXJyaXZlbnQgcGFzIMOgIGxlcyBw cm9ub25jZXIuIFBhciBleGVtcGxlLCBzaSB2b3VzIGF2ZXogdW4gcHJvYmzDqG1lIGF2ZWMgbGUg wqvCoCcnemQnJ8KgwrsgZGUgwqvCoCcnemRhbmknJ8KgwrsgKG1haXNvbiksIHZvdXMgcG91dmV6 IGRpcmUgwqvCoHrJqmRhbmnCoMK7LCBhdmVjIHVuIMKrwqDJqsKgwrsgdHLDqHMgY291cnQsIG1h aXMgbGUgwqvCoGnCoMK7IGZpbmFsIGxvbmcuCgohISEhTG9qYmFuIE5hbWVzIChjbWV2bGEpCgpX YXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3Vh Z2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSDigJxNZSBUYXJ6YW4s4oCdIHdo aWNoIGlzIGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBT byBoZXJlIHdlIGdvLgoKX18nJ21pJ2UgLnJvYmluLicnX18KCiJJLWFtLW5hbWVkIFJvYmluIgoK IkknbSBSb2JpbiIKCicnbWknZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScs ICdtZScgYW5kIHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNl cGFyYXRpbmcgdHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICJtZSBoZWgiLgoKVGhp cyBndXkgUm9iaW4gaXMgbHVja3kgYmVjYXVzZSBoaXMgbmFtZSBnb2VzIGRpcmVjdGx5IGludG8g TG9qYmFuIHdpdGhvdXQgYW55IGNoYW5nZXMuIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHJ1bGVz IGZvciBMb2piYW4gbmFtZXMgd2hpY2ggbWVhbiB0aGF0IHNvbWUgbmFtZXMgaGF2ZSB0byBiZSAn TG9qYmFuaXNlZCcuIFRoaXMgbWF5IHNvdW5kIHN0cmFuZ2XigJRhZnRlciBhbGwsIGEgbmFtZSBp cyBhIG5hbWXigJRidXQgaW4gZmFjdCBhbGwgbGFuZ3VhZ2VzIGRvIHRoaXMgdG8gc29tZSBleHRl bnQuIEZvciBleGFtcGxlLCBFbmdsaXNoIHNwZWFrZXJzIHRlbmQgdG8gcHJvbm91bmNlICJKb3Nl IiBzb21ldGhpbmcgbGlrZSAiSG96YXkiLCBhbmQgIk1hcmdhcmV0IiBpbiBDaGluZXNlIGlzICJN YWdlbGl0YSIuIFNvbWUgc291bmRzIGp1c3QgZG9uJ3QgZXhpc3QgaW4gc29tZSBsYW5ndWFnZXMs IHNvIHRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyBpcyByZXdyaXRlIHRoZSBuYW1lIHNv IHRoYXQgaXQgb25seSBjb250YWlucyBMb2piYW4gc291bmRzLCBhbmQgaXMgc3BlbHQgaW4gYSBM b2piYW4gd2F5LgoKX19Ob3RlOiBfX1RoZSBjYXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNpb24gb2Yg dGhlIHNvdW5kcyB3aWxsIHlvdSBiZSB1c2luZz8gRm9yIEVuZ2xpc2ggaW4gcGFydGljdWxhciwg QnJpdGlzaCBhbmQgQW1lcmljYW4gdm93ZWxzIGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQuIFRoZSBC cml0aXNoIHZlcnNpb24gb2YgIlJvYmluIiBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAn Jy5yb2Jpbi4nJzsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byAnJy5yYWJ5 bi4nJyBvciAnJy5yYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVy ZSBpcyBhbHNvIGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRo ZSB0cmFuc2xpdGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0 J3MgdGFrZSB0aGUgRW5nbGlzaCBuYW1lICJTdXNhbiIuIFRoZSB0d28gJydzJycncyBhcmUgcHJv bm91bmNlZCBkaWZmZXJlbnRseeKAlHRoZSBzZWNvbmQgb25lIGlzIGFjdHVhbGx5IGEgInoi4oCU YW5kIHRoZSAiYSIgaXMgbm90IHJlYWxseSBhbiAiYSIgc291bmQsIGl0J3MgdGhlICdzY2h3YScg d2UganVzdCBtZW50aW9uZWQuIFNvICJTdXNhbiIgY29tZXMgb3V0IGluIExvamJhbiBhcyAnJy5z dXp5bi4nJy4KCllvdSBtYXkgaGF2ZSBub3RpY2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJp b2RzKSB0aGVyZS4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNl LCB5b3UgbWlnaHQgbm90IGtub3cgd2hlcmUgdGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRo ZSBuZXh0IHdvcmQgYmVnYW4uCgoKCllvdSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4g YmV0d2VlbiBhIHBlcnNvbidzIGZpcnN0IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3Qg Y29tcHVsc29yeSksIHNvICJKaW0gSm9uZXMiIGJlY29tZXMgJycuZGppbS5kam9uei4nJy4KCkFu IGltcG9ydGFudCBydWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxl dHRlciBvZiBhIGNtZXZsYSAoTG9qYmFuIG5hbWUpIG11c3QgYmUgYSBjb25zb25hbnQuIEFnYWlu LCB0aGlzIGlzIHRvIHByZXZlbnQgY29uZnVzaW9uIGFzIHRvIHdoZXJlIGEgbmFtZSBlbmRzLCBh bmQgd2hhdCBpcyBhbmQgaXMgbm90IGEgbmFtZSAoYWxsIG90aGVyIExvamJhbiB3b3JkcyBlbmQg aW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkgdXNlICcncydmb3IgdGhpczsgc28gaW4gTG9qYmFuLCAi TWFyeSIgYmVjb21lcyAnJy5tZXJpcy4nJyAsICJKb2UiIGJlY29tZXMgJycuZGpvcy4nJyBhbmQg c28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28g Ik1hcnkiIHdvdWxkIGJlY29tZSAnJy5tZXIuJycgb3IgJycubWVpci4nJy4KCgoKVGhlIGZpbmFs IHBvaW50IGlzIHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3Nl ZCBvbiB0aGUgcGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVu dCBzdHJlc3MsIHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5n bGlzaCBhbmQgRnJlbmNoIG5hbWVzICJSb2JlcnQiIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExv amJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAnJy5yb2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAn Jy5yYWIscnQuJycgaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMg Jycucm9CRVIuJycuCgpUbyBnaXZlIGFuIGlkZWEgb2YgaG93IGFsbCB0aGlzIHdvcmtzLCBoZXJl IGFyZSBzb21lIG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4gdGhlaXIgb3duIGxhbmd1YWdlIGFu ZCBpbiBMb2piYW4uCgoKCnx8X19FbmdsaXNoX18KCk1hcmdhcmV0IFRoYXRjaGVyIHwnJy5tYWdy eXQudGF0Y3lyLicnIChubyAidGgiIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFyb3Vu ZCB0aGUgd29ybGQgY2FuJ3Qgc2F5IGl0ISkKCk1pY2sgSmFnZ2VyIHwnJy5taWsuZGphZ3lzLicn IHx8Cgp8fF9fRnJlbmNoX18KCk5hcG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQ QVJULicnCgpKdWxpZXR0ZSBCaW5vY2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHwKCnx8X19DaGlu ZXNlX18KCkxhb3ppIHwnJy5sYXVkei4nJwoKTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChG aW5hbCAnJ25nJycgaXMgaW4gTG9qYmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8 fAoKfHxfX1R1cmtpc2hfXwoKTXVzdGFmYSBLZW1hbCB8JycuTVVTdGFmYXMua2VNQUwuJycKCkVy a2luIEtvcmF5IHwnJy5lcmtpbi5rb3JhaXMuJycgfHwKCnx8X19HZXJtYW5fXwoKRnJpZWRyaWNo IE5pZXR6c2NoZSB8JycuZnJpZHJpeC5uaXRjeXMuJycKCkNsYXJhIFNjaHVtYW5uIHwnJy5rbGFy YXMuY3VtYW4uJycgfHwKCnx8X19TcGFuaXNoX18KCklzYWJlbCBBbGxlbmRlIHwnJy5pemFCRUwu YWllbmRlcy4nJwoKQ2hlIEd1ZXZhcmEgfCcnLnRjZWdldmFyYXMuJycgfHwKCl9fRXhlcmNpc2Vf Xy4KCldoZXJlIGFyZSB0aGVzZSBwbGFjZXM/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54YXZh bmFzLgoKIy5rYXJkaWYuCgojLmJlaWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMuCgoj LnZhbmt1dmVyLgoKIy5rZWlwdGF1bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxpcy4KCiMu bmlzLgoKIy5hdGluYXMuCgojLmxpZHouCgojLnhlbHNpbmtpcy4KCkFuc3dlcjoKCn5+Z3JheSxn cmF5On5+Cgojfn5ncmF5LGdyYXk6TmV3IFlvcms6IFVTQX5+Cgojfn5ncmF5LGdyYXk6Um9tZTog SXRhbHl+fgoKI35+Z3JheSxncmF5OkhhdmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlm ZjogV2FsZXMgKFRoZSBXZWxzaCBmb3IgIkNhcmRpZmYiIGlzICJDYWVyZHlkZCIsIHdoaWNoIHdv dWxkIExvamJhbmlzZSB0byBzb21ldGhpbmcgbGlrZSBrYWlyZHlkLi4pfn4KCiN+fmdyYXksZ3Jh eTpCZWlqaW5nOiBDaGluYX5+Cgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJrZXl+fgoKI35+Z3Jh eSxncmF5OkFsYmVxdWVycXVlOiBOZXcgTWV4aWNvLCBVU0F+fgoKI35+Z3JheSxncmF5OlZhbmNv dXZlcjogQ2FuYWRhfn4KCiN+fmdyYXksZ3JheTpDYXBlIFRvd246IFNvdXRoIEFmcmljYX5+Cgoj fn5ncmF5LGdyYXk6VGFpcGVpOiBUYWl3YW4gKG5vdGUgYiwgbm90IHAuIEFsdGhvdWdoIGFjdHVh bGx5LCB0aGUgYiBpbiBQaW55aW4gaXMgcHJvbm91bmNlZCBhcyBhIHAuLi4gQnV0IHRoaXMgaXNu J3QgbWVhbnQgdG8gYmUgYSBjb3Vyc2Ugb24gTWFuZGFyaW4hKX5+Cgojfn5ncmF5LGdyYXk6Qm9u bjogR2VybWFueX5+Cgojfn5ncmF5LGdyYXk6RGVsaGk6IEluZGlhIChUaGUgSGluZGkgZm9yICJE ZWxoaSIgaXMgIkRpbGzDriIsIHdoaWNoIHdvdWxkIGdpdmUgZGlsaXlzLiBvciBkaWxpJ2lzLi4p fn4KCiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+fgoKI35+Z3JheSxncmF5OkF0aGVuczogR3Jl ZWNlICgiQXRoaW5hIiBpbiBHcmVlayl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn4K CiN+fmdyYXksZ3JheTpIZWxzaW5raTogRmlubGFuZH5+CgpfX0V4ZXJjaXNlX18uCgpMb2piYW5p c2UgdGhlIGZvbGxvd2luZyBuYW1lcwoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgojTWF0dGhl dwoKI01pY2hhZWwKCiNEYXZpZCBCb3dpZQoKI0phbmUgQXVzdGVuCgojV2lsbGlhbSBTaGFrZXNw ZWFyZQoKI1NpZ291cm5leSBXZWF2ZXIKCiNSaWNoYXJkIE5peG9uCgojSXN0YW5idWwKCiNNYWRy aWQKCiNUb2t5bwoKI1NhbiBTYWx2YWRvcgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6VGhlcmUgYXJl IHVzdWFsbHkgYWx0ZXJuYXRpdmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2Ug cGVvcGxlIHByb25vdW5jZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRo ZSBleGFjdCBzb3VuZCBkb2Vzbid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hv b3NlIGJldHdlZW4gdHdvIExvamJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBs b25nIGFzIGV2ZXJ5b25lIGtub3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC5+ fgoKI35+Z3JheSxncmF5Oi5kam9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+Cgoj fn5ncmF5LGdyYXk6Lm1lbGlzeXMufn4KCiN+fmdyYXksZ3JheTouYW1hbmR5cy4gKGFnYWluLCBk ZXBlbmRpbmcgb24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5pdGlh bCBhIG1heSBiZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBiZSBlLil+fgoKI35+Z3JheSxncmF5 Oi5tYXRpdXMufn4KCiN+fmdyYXksZ3JheToubWFpa3lsLiBvciAubWFpayxsLiAsIGRlcGVuZGlu ZyBvbiBob3cgeW91IHNheSBpdC5+fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvciAu Ym8saXMuIChidXQgbm90IC5idSxpcy4g4oCUIHRoYXQncyB0aGUga25pZmUpfn4KCiN+fmdyYXks Z3JheTouZGplaW4ub3N0aW4ufn4KCiN+fmdyYXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KCiN+ fmdyYXksZ3JheTouc2lnb3JuaXMudWl2eXIuIG9yIC5zeWdvcm5pcy51aXZ5ci5+fgoKI35+Z3Jh eSxncmF5Oi5yaXRjeXJkLm5pa3N5bi5+fgoKI35+Z3JheSxncmF5Oi5pc3RhbkJVTC4gd2l0aCBF bmdsaXNoIHN0cmVzcywgLklTdGFuYnVsLiB3aXRoIEFtZXJpY2FuLCAuaXN0YW5idWwuIHdpdGgg VHVya2lzaC4gTG9qYmFuaXN0cyBnZW5lcmFsbHkgcHJlZmVyIHRvIGJhc2UgY21ldmxhIG9uIGxv Y2FsIHByb251bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+Cgoj fn5ncmF5LGdyYXk6Lm1hRFJJRC5+fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdyYXks Z3JheTouc2FuLnNhbHZhRE9SLiAod2l0aCBTcGFuaXNoIHN0cmVzcykgPC9zcGFuPjwvaHRtbD5+ fgoKISEhIUxvamJhbiB3b3JkcyBhcyBuYW1lcwoKQnkgbm93IHlvdSBzaG91bGQgYmUgYWJsZSB0 byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91IGNh biB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0IG1l YW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50aXR5 LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNw ZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVz LCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBlY3QgdGhlICJ3YXNpY2h1IiB0byBi ZSBhYmxlIHRvIHByb25vdW5jZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVy IQoKTG9qYmFuIHdvcmRzIChleGNlcHQgY21ldmxhKSBlbmQgaW4gYSB2b3dlbC4gWW91IGNhbiB1 c2UgbG9qYmFuIHdvcmRzIGFzIG5hbWVzIHRvby4gQnV0IGlmIHlvdSBwcmVmZXIgdGhhdCB5b3Vy IG5hbWUgaXMgYSBjbWV2bGEgYW5kIGl0IGVuZHMgaW4gYSB2b3dlbCB0aGVuIHlvdSBjYW4gZWl0 aGVyIGFkZCBhIGNvbnNvbmFudCB0byB0aGUgZW5kIG9mIGl0IG9yIGp1c3QgY2hvcCB0aGUgZW5k IHZvd2VsIG9mZi4KCkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzIChvcmlnaW5hbCBuYW1lLCBtZWFu aW5nLCBuYW1lIGFuZCBuYW1lIGFzIGNtZXZsYSk6CgoqRmlzaCDigJMgZmlucGUg4oCTICcnLmZp bnAuJycKCipCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIpIOKAkyBjcmliZSDigJMgJycuY3Jp Yi4nJwoKKkdyZWVuIOKAkyBjcmlubyDigJMgJycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbmVzZSA9 IGJlYXV0aWZ1bCkg4oCTIG1lbGJpIOKAkyAnJy5tZWxiLicnCgoqQXloYW4gKFR1cmtpc2ggPSBN b29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg4oCTICcnLmx1cm5vYmxpcy4n JwoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBh bmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJh biB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBh IHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2Jq ZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0 IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycs IHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBv ciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlk aSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUg YW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVl IG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpU byBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3ph cnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBi ZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2 ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3Qg bXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0g aXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5k IHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoK VHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgoj IOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxX b2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoK IyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3Qg ZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0aGUg cmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0 IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5k IG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xh aW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2gg YXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVj dCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVy IHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJh Y3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNs YXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGly ZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3Vn aCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5v dyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkg KyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0 IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklk ZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gg anVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog 4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3Vn aHQgc2l4dGVlbiBuZXcgc2hpcnRzIGZyb20gTGVhJkxldnkncyBmb3IganVzdCB0d28gaHVuZHJl ZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9t KSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnHNpeHRlZW4gbmV3IHNoaXJ0c+KAnSwg4oCc TGVhJkxld2lz4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRoZXNl IGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0aGly ZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0aGUg YW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxi cmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRoZSBFUEHigJ0sIOKAnG5vdGhp bmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRl4oCdfn4KCgoKTm93IHRy eSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVkIHRvIHVz ZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToKCicnX19kdW5kYV9fJycgeDEg Z2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19wZWx4dV9fJycgeDEgaXMgeWVs bG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhhdCB0aGVz ZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KAnSBhbmQg4oCcaG9tZeKAnSB3 b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4gaW4gRW5n bGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBubyBzdWNo IGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPigJ0gKHZl cmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2aW5n4oCdIChhZGplY3RpdmUp IGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxicmksIGFu ZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwgYXMgYSBmZXcgd29yZHMsIHdo aWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEnigJ0gb3Ig4oCcd2XigJ0g4oCT IHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicnX190aV9fJycg4oCcdGhpc+KA nSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBvaW50ZWQg dG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKAnSDigJMgdGhlIG9uZSBvciB0 aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRyYW5zbGF0 aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFuZCB4Mz8g VGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVyZSBzdW10 aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFjZSBzdGF0 ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBsYWNlIG9m ICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4uIFRo ZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRoZSB0aGluZy4gTm90aWNlIGFs c28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhhcyB0aGUgd29yZCDigJx0b+KA nSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVkIGluIEVu Z2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0aGUgdGhp cmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0aGlyZCBz dW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBhbHdheXMg dGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1aXZhbGVudCB0byB0aGUgd29y ZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1wbHkgc2F5IHRoZSB4MSBzdW10 aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhlciBzdW10aS4KClVzdWFsIGJy aWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9IHt4MyBzdW10aX0ge3g0IHN1 bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIgY2FuIGJlIHBsYXllZCBhcm91 bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhlIHVzdWFsIGZvcm0uIFRvIHNh eSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5ICcnbWkgZHVuZGEgdGkgZG8n Jywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBsYWNlcy4KCgoKU28sIGhvdyB3 b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBtb3JlIGluIG9yZGVyIHRvIGdl dCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGluLgoKCgrigJxZb3UgZ2l2ZSB0 aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnZG8gZHVuZGEgdGkgbWknJ35+ CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc VGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNlIHlvdSBnZXQgdGhlIGhhbmcg b2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBlYWNoIG90aGVyIGFyZSBzZXBh cmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIGZ1bGwgc3Rv cCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5zdGVhZCBvZiBhZnRlciB0aGVt LiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3QgYnJpZGksIHRob3VnaCwgYXMg aW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50ZW5jZSBzZXBhcmF0b3IuIFNl cGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFsc28gYnJpZGkpLgoKCgonJ3Rp IHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBob21lIHRvIG1lLiBUaGlzIGlz IHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRoZSBuZXh0IGxlc3NvbiwgSSBy ZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBsZWFzdCBzZXZlbiBtaW51dGVz IHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKA kyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJpIGhhdmUgZnJvbSBvbmUgdG8g Zml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBpcyBhIHNlbGJyaSB3 aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4MSBzZWxscyB4MiB0byB4MyBm b3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNlbGwgdGhpc+KAnSwgaXQgd291 bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFjZXMgeDMgYW5kIHg0 LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQgZm9yIHdoYXQgcHJp Y2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxhY2VzIGNhbiBiZSBmaWxsZWQg d2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVzIHRoYXQgdGhlIHZhbHVlIG9m IHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNlIGl0J3MgdW5pbXBvcnRhbnQg b3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydfX3pvJ2VfXycnIOKAnHNvbWV0 aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRoaW5nLCBidXQgZG9lcyBub3Qg c3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5b3XigJ0sIEkgY291bGQgc2F5 ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBzb21ldGhpbmcgdG8geW91IGZv ciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRoYXQncyBhIGhvbWUgKGZvciBz b21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgemRhbmkgem8nZScnfn4K CgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8nZScnfn4KCgoKU3RpbGwsIGZp bGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5nIHNv bGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVkIHRvIHdyaXRlIGFsbCB0aGUg Jyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlzIHRoYXQgaWYgeW91IGxlYXZl IG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGlmIHRoZXkgY29udGFp bmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBzZWxicmksIHRoZSB4MSBp cyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcnem8nZScnLgoKVHJ5IGl0 IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6ZGFuaSBtaScnIG1lYW4/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEgaG9tZSBvZiBtZeKAnSBvciBq dXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlvbmVkIGVhcmxpZXIsIHRoZSBm b3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9IHt4MiBzdW10aX0ge3gz IHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUgc2VsYnJpIGFueXdoZXJl IHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaS4gSWYgeW91 IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFuZCBmaWxsZWQgd2l0aCAn J3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVlIGp1ZnJhIGFyZSBhbGwgdGhl IGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8nJwoKJydtaSB0aSBkdW5kYSBk bycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRoaXMgaXMgdXNlZCBmb3IgcG9l dGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291bGQgYmUgJydkbyBkbyB2ZWNu dScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNudSBkbycnLiBPciBpdCBjYW4g YmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZlcnkgbG9uZyBhbmQgdGhlcmVm b3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLgoKCgpUaGVyZSBhcmUg YWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0aGUgb3JkZXIgb2YgdGhlIHN1 bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBpcyBieSB1c2luZyB0aGUgd29y ZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAnJ2Z1JycuIE5vdGljZSB0aGF0 IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUgTG9qYmFuIGFscGhhYmV0IGlu IG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3MgdGhhdCB0aGUgbmV4dCBzdW10 aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSByZXNwZWN0aXZlbHkuIFRoZSBu ZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0byBmaWxsIGEgc2xvdCBvbmUg Z3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4YW1wbGU6CgonJ2R1bmRhIGZh IGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2YgdGhpcyB0aGluZyB0byB5b3Xi gJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hpY2ggaXMgeW91LiAnJ2ZlJycg bWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1bXRpIGNvdW50aW5nIHRoZW4g Y29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhlIGxhc3Qgc3VtdGkgZmlsbHMg eDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9s bG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBmbyB0aSBmZSBkbycnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHByaWNlIG9mIHRoaXMsIHlvdeKA nS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRoaXPigJ0gKHByb2JhYmx5IHBv aW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFuaSBmZSB0aScnCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBIZXJlLCB0aGUgZmUgaXMgcmVk dW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0aGlzIHByaWNl4oCdfn4KCgoK CgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRhbnJ1IGFuZCBsbykKCkluIHRo aXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgY29uY2VwdCBvZiBh ICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNlbGJyaSBpcyBwdXQgaW4gZnJv bnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVhbmluZy4gQSB0YW5ydSBpcyBp dHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90aGVyIHNlbGJyaSBvciB0YW5y dSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pkYW5pIHZlY251JycgaXMgYSB0 YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScnLCB3aGljaCBpcyBtYWRlIGZy b20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNpbmdsZSBicml2bGEgd29yZCAn J3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2YgdGFucnUsIGNvbnNpZGVyIHRo ZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJlZeKAnS4gSWYgeW91IGRpZG4n dCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBoZWFyZCBhYm91dCBib3RoIGxl bW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0byBkZWR1Y2Ugd2hhdCBhIGxl bW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0cmVlLCBvciBhIHRyZWUgc2hh cGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsgdGFzdGVzIGxpa2UgbGVtb24u IFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3VyZSB3b3VsZCBiZSB0aGF0IGl0 IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9uLWxpa2UgaW4gc29tZSB3YXku CgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMuIEl0IGNhbm5vdCBiZSBzYWlk IGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0IGl0IGNhbiBiZSBzYWlkIHRo YXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBpdCdzIHpkYW5pLWxpa2UgaW4g c29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGluIGFueSB3YXkuIEluIHRoZW9y eSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNvbm5lY3Rpb24gdG8gemRhbmkg d2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkgdmVjbnUnJy4gSG93ZXZlciwg aXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRpbmFyeSBzZW5zZSBpbiBvcmRl ciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xvc3MgJyd6ZGFuaSB2ZWNudScn IGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBidXQgd29yc2Ugc291bmRpbmcg 4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgdGFu cnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxicmkuIEl0J3MgYWxzbyBzYWlk IHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdodCBzZWxicmkuCgrigJxSZWFs bHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9lc24ndCBtYXR0ZXIgaG93IHNp bGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4gYSB0YW5ydSBpcywgaXQncyBz dGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMgZm9yICcnemRhbmkgdmVjbnUn JyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdoeSBJIHRoaW5rIGl0J3MgemRh bmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBiZSBhIGRpY2suIE9yIGF0IGxl YXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4gSW4gZ2VuZXJhbCwgeW91IHNo b3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cgdGhlIGxlZnQgd29yZCByZWxh dGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzog Jyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhhdCBpcyBh IHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0IGtub3cgaW4gd2hpY2ggd2F5 IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVsbG93LCBidXQgd2UgZG9uJ3Qg a25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0aGF0IG1lYW4/IE5vIGlkZWEu IEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29sZCBzb21ldGhpbmcsIHNpbmNl LCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2FuIGJlIG5vIHBheW1lbnQgaW52 b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUgc2VsbC1saWtlIGluIHNvbWUg YXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4g V2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2VybWFuPwoKJydfX2RvdGNvX18n JyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkkg Y2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2 ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291bGQg c2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1 ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQgdG8g c2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNh eT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIKCicnX19tZXJrb19fJycgeDEg aXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhl IG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVya28nJywgYnV0IHRoYXQgd291 bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0s IHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRvIGlzIHRvIHRha2UgdGhlIHNl bGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEgc3VtdGkgc28gaXQgY2FuIGJl IHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMgZG9uZSBieSB0aGUgdHdvIHdv cmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMgZ2VuZXJpYyBiZWdpbiBjb252 ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFz IHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nl c3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2VlbiB0aGVzZSB0d28gd29yZHMs IGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJy aSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGluc3RhbmNlLCB0aGUgdGhpbmdz IHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUgaG9t ZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFucyDigJxhIGhvbWUgb3Igc29t ZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYgSSBzYXkgdGhhdCBzb21ldGhp bmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAnJ2xvIHBlbHh1IGt1JycgcmVm ZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2ZSB0aGUgbmVjZXNzYXJ5IGdy YW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4u 4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBlbmRvIGxvIG1lcmtvIGt1Jyd+ fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydrdScnIGlzIG5lY2Vzc2FyeS4g VHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlzIHRvIG1l4oCdCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBtaScnIElmIHlvdSBsZWF2ZSBv dXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQgc2ltcGx5IHRocmVlIHN1bXRp LiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0aGUgdGkgaXMgZm9yY2VkIG91 dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZvcmNlZCB0byBjbG9zZSBhbmQg aXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcnbG8gZG90Y28gdmVjbnUge2t1 fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlzIGhhdmUgdG8gYmUgY2FyZWZ1 bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScnLiBJZiB0aGUgJydrdScnIGlz IGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBub3QgZW5kLCBhbmQgaXQgc2lt cGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnemRhbmkgcGVseHUn JyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDi gJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIgY29uY2VwdCB3aGljaCBjYW4g YmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxz LiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3RseS4g VGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0 cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBl bW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdh cyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3 ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIg d29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwgdGhl cmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBoYXZl IGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQg dG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBzby1j YWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1v c3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGkncyBn cmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoKSW4gTG9qYmFuIGdyYW1tYXIs IGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQuIElmIHRoYXQgcHJl dmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29uc3RydWN0IChsaWtlICcnLmkn JyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgY29uc3RydWN0LiBMaWtld2lz ZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdoaWNoIGVuZHMgYSBjb25zdHJ1 Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVkIGNvbnN0cnVjdC4KCgoKTGV0 J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBleGFtcGxlczoKCl9fJycudWkn J19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogaGFwcGluZXNzIC0gdW5oYXBw aW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0bHkg b2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24gb2YgJycudWknJywgdGhlcmUg YXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRoaXMg bWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg4oCc bmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBiZSB0 aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24gb2Yg JycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhlIHRp bWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBzdWZm aXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJlIGF0 dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNjLiBu ZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVhbmlu ZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBzZWxi cmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0cyB4 MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIKCgoK VGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlvdSBl YXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlzIHRo ZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBlYXRp bmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2RvIHph J2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGlyZWN0bHkgb2JzZXJ2ZXMgdGhh dCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBlYXRzIGFuIGFwcGxlIGFzIG9w cG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVkaW5hbCBpcyBwbGFjZWQgYXQg dGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVyc3Rvb2QgdG8gYXBwbHkgdG8g YW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFwcGx5aW5nIHRvIHRoZSBlbnRp cmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNlIGt1IG1pJycg4oCTIOKAnFlh eSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBsZSB0byBtZSHigJ0KCgoKJydt aSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxsICh3aGljaCBzdWNrcyEpIGEg aG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1wbGVzLiBGaXJzdCwgdGhvdWdo LCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18nJy51J3UnJ19fIGF0dGl0dWRp bmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNzbmVzcyAtIGlubm9j ZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogY29t cGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVkaW5hbDogbWlzY2VsbGFuZW91 cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0IHRoYXQsIHR3byB3b3JkcyB3 aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBUaGUgbWlkZGxlIG9uZSBpcyBh Y2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0J3MgY29uc2lkZXJlZCB0aGUg bWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0aXR1ZGluYWwgbWlkcG9p bnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRoZSBtZWFuaW5nIHRv IHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5nIOKAnEkgZ2l2ZSBz b21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem8nZScnIGluc3RlYWQgb2Yg JydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cgYXBwbGXigJ0KCkFuc3dlcjog fn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1IHBsaXNlIGt1Jyd+fgoKCgpM ZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQga2luZCB0byBpbGx1 c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1ZGluYWw6IGNvbXBsZXgg cHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1aXRl IGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdIGlzICcnbWkgZHVuZGEg LmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkhIFdoZW4geW91IHRoaW5r IGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0IGFsbCB0aGUgb3RoZXIgYXR0 aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2VzIHRoZSBzcGVha2VyJ3MgZmVl bGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQg dGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUg YXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0aGUgYXBwbGUgYWN0 dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAnJy51aScnLCBob3dldmVy LCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5 LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdzIHRoYXQgYWxsIGFib3V0PwoK CgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBjb25kaXRp b25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlub3IgZGVi YXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdoaWNoIHByb2JhYmx5IHdv bid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIOKA nHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwgZW1vdGlvbnPigJ0uIE9ubHkg cHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRydXRoIGNvbmRpdGlvbnMsIHdo aWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBleHByZXNzIGEgcHJvcG9zaXRp b25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFuZ2luZyB0aGUgdHJ1dGggdmFs dWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUgaXQgZnJvbSB0aGUgYnJpZGkg d2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBleHBsaWNpdGx5IGNvbnNlcnZp bmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgYSBicmlkaToKCgoKX18nJ2Rh J2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3NpbmcgLSBpbiBmYWN0CgpTYXlp bmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb25zIHRvIGh5 cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9zaXRpb25hbCBhdHRp dHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9u IHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcgcHVyZSBhdHRpdHVkaW5hbHMu CgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0aGUgYXBwbGUgYXdh eeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcnbWkgZHVuZGEgZGEnaSBuYWkg LmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUg c3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4gVXN1YWxseSBpbiBvcmRp bmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRvIHRoZSBsaXN0ZW5l ciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywgYmVjYXVzZSB0aGUgd29yZCBp cyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJzIGVtb3Rpb25zKSwgc29tZSBM b2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3BlYWtlciBtdXN0IHNoYXJlIHRo ZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoKX18nJ2RhaScnX18gYXR0aXR1 ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0aXR1ZGluYWwgdG8gc29tZW9u ZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5vaSBkYWkgY2l0a2EgdGknJyAt IOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVydCHigJ0KCgoKV2hh dCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFpJycgbWVhbj8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9u ZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKAnEhlIHdhcyBzb3Jy eSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVuc2UgaXMgaW1wbGllZCBh bmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBjb3VsZCBiZSBvYnZpb3Vz IGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3UndSBkYWkgdmVjbnUgbG8g emRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBvZiBhbiBhdHRpdHVkaW5hbCBj YW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRoZXNlIGNhbiBiZSB1c2VkIGFm dGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3aXRoICcnbmFpJycgb3IgJydj dSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0 YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBtdXN0IGl0J3MgbW9zdGx5IHVu ZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNvbWUg dW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8 ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1 bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNpbmcg JycudSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVy ZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpT dHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBh cmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBjdSdp IHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJlZm9y ZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3RydWN0 cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0aGUg c3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2VmdWwg Zm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3aXRo ICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGlj aCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5z bGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBtZWFu aW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBj YXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0byB4 Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2 ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0IHNh eSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxk IGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5u aWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlz IGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBs ZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycg ZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhh dCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJyaSBp cyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4gb3Jk aW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0byBs YW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg1 4oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJhbnNs YXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBi cmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3 aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0 YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9m IHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEg YW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAg eDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUgY29u c29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93bGVk Z2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEgdGkg ZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBjb21i aW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBj b25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1hJydf XyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0 cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkga3UgdGUga2xhbWEgZmUgZG8g dGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2luY2Ug Jyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBr dScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2YgY291 cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2Ug cGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4g Z3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdlIGNh biBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFj ZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0IHRo aXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/ CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2UgZHVu ZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycgYW5k IGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJzdHJh Y3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBv bmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlv dSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJlIG11 Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNhbiBi ZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBweSB0 aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJIGFt IGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJp ZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hpY2gg aXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAoZXZl bnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVudCBv ciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBh Ym91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9iamVj dCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBl dmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFzIHlv dSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1 J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCd IGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4KCl9fJydzdSd1 JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9mIHR5cGUgeDIKCl9fJydrZWkn J19fIGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoKX18nJ21lbGJpJydfXyB4MSBpcyBiZWF1 dGlmdWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRhbmNlcyB0byBhY2NvbXBhbmltZW50L211 c2ljL3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5zdSBrZWknJyAtIOKAnEJlYXV0aWZpbCBk YW5jaW5n4oCdL+KAnEJlYXV0aWZpbCBkYW5jZeKAnQoKCgpJdCdzIHVzdWFsbHkgaGFyZCB0byBm aW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLiBIb3dldmVyLCBzaW5jZSAnJ3N1 J3UgQlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRp IHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhw cmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQh CgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoKSG93 ZXZlciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHBy ZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQg JydkdSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21l dGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVu IGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFzIGFu IGFic3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdo dHMgb3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVk IGFic3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJlIHVz ZWQgbXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3aWxs IHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkgYWJv dXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0 IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBn bGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5k IHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoK CgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9w ZXJ0eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVhIGFi c3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcgb3Ro ZXJzLiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGljYXRlZCBtYXR0ZXIsIGFuZCB3 aWxsIGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LW5pbmUuIEZvciBu b3csIHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMgaW1wb3J0YW50IHRv IG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4g QXMgYW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25lZC4gJydkdSd1JycgaXMgZGVm aW5lZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9icmlk aSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBzdW10 aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJp ZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1 b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0 ZW4gJydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1IGt1IGtlaSBrdScn LCBpZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUuCgpfXycnY3Vza3UnJ19fIHgx IGV4cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dlcmt1JydfXyB4MSBp cyBhIGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4gKE5P SSkKCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBvZiBzdWJvcmRpbmF0 ZSBicmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBUaGV5IGFyZSBzZW50 ZW5jZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBzdW10aS4gSW5kZWVkLCB0aGUg 4oCcd2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0aGUgYmVnaW5uaW5n IG9mIGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3JpYmluZyByZWxhdGl2ZSBjbGF1 c2VzLiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9ycywgYW5kIGl0IG1pZ2h0IGJl IHdvcnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVmb3JlIGxlYXJuaW5nIGhvdyB0 byBleHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVzdHJpY3RpdmUgYW5k IG5vbi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNsYXVzZXMuIEFuIGV4 YW1wbGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hvIGlzIHR3byBtZXRl cnMgdGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRlcnN0b29kIGluIHR3 byB3YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywgaW4gd2hpY2ggY2FzZSBzYXlp bmcgaGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdoaWNoIGJyb3RoZXIg SSBhbSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25seSBvbmUgYnJvdGhlciwgaW4g d2hpY2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24u CgoKCkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0 aGVzZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBpcyByZXN0cmljdGl2 ZSAoc2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxlIGJyb3RoZXJzIEkgbWlnaHQg YmUgdGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZlLiBXaGVuIHNwZWFr aW5nIEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGluIHdyaXR0ZW4gRW5n bGlzaCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdv LCBidXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0cnVjdHMgJydwb2ni gKZrdSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3Ry aWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldCdzIGhhdmUgYSBMb2pi YW5pYyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91ciBzdHJhbmdlIGdpZnQtZWF0 aW5nIGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24gZml2ZToKCl9fJydub2knJ19f IGJlZ2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0 byBzdW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAo Y2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19fIGVuZCByZWxhdGl2ZSBjbGF1 c2UKCgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3UnbycnID0g4oCcSSBl YXQgYSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRo ZSAnJ3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1Jycs IHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNs YXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFuIGFwcGxlLCBidXQg c2luY2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0LCB3ZSBjYW4gc2Fm ZWx5IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVy IGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29uYWJs ZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRo ZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZSdhJycsIHdoaWNo IGlzIGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1vcmUgb24gdGhlbSBsYXRlcikg cmVwcmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGlzIGF0dGFj aGVkIHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0byB0aGUgc3VtdGksIHRvIHdo aWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVpIG1pIGNpdGthIGxv IHNlIGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0 IHdoaWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJl J3MgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExvamJh bmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoK CicnbWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9IOKAnEksIHdobyBh bSBhIExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJhbmljIGxhbmd1YWdlLuKAnSBI ZXJlLCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNoICcnbWknJyBjb3VsZCByZWZl ciB0bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBpcyBtZXJlbHkgYWRkaXRpb25h bCBpbmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVyZWZvcmUgJydub2ni gKZrdSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhpczog 4oCcSSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycn bmFubXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0 aWZ1bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Npbmpp a2NhJydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4MyBi eSBzdGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgbG8g bmFubXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1vcmUgdGVjaG5pY2Fs IHNpZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cgdGhhdCAnJ2xvIHtzZWxicml9 IGt1JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBub2kga2UnYSB7c2VsYnJpfSBr dSdvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgTGVzc29uIGVpZ2h0ICh0ZXJtaW5hdG9y IGVsaXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBt aSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRh cnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKIC0gIOKA nEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5nLCB3b3VsZCB1bmRlcnN0YW5k IHRoYXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBtZS7igJ0KClJlZ2FyZGxlc3Mgb2Ygd2hl dGhlciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcgdW5kZXJzdG9vZCwgKGl0IHNob3VsZG4n dCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292ZXJlZCBpbiB0aGVzZSBsZXNz b25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUgY29tcGxleCBMb2piYW4gc3Ry dWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0aGUgc2VudGVuY2VzIGdldCBm aWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3UnbycnIGFuZCBvdGhlciBvZiB0aG9zZSB3 b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoKClRoZSBmdW5jdGlv biBvZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBlbmQgb2YgYSBjZXJ0YWluIGdy YW1tYXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug4oCcY29udmVydCBzZWxicmkg dG8gc3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUgRW5nbGlzaCB3b3JkIGZvciB0 aGlzIGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0aGUgTG9qYmFuIHdvcmQgaXMg JydmYSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xkIGluIHRoZSBleGFtcGxlIGFi b3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4YW1wbGUgYXJlIHRoZSBmYSdv cm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB5b3UgaGF2 ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1JydfXyBmYSdvcm1hJ286IFRl cm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3cml0dGVuIExvamJhbiwgbW9z dCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMgZ3JlYXRseSBzYXZlcyBzeWxs YWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBob3dldmVyLCBvbmUgbXVzdCBh bHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdvLiBJbiB0aGUgc2ltcGxlIGV4 YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0aGUgZmEnb3JtYSdvICcna3Un JyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNoIGlzIGEgc2luZ2xlIHN1bXRp IG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBUaHVzLCBpdCBtZWFucyDigJxh biBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFuIEFtZXJpY2FuIHRyYXZlbHPi gJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkgd3JvbmcgcmVzdWx0cyBpZiBk b25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVuJ3QgbGVhcm5lZCBhYm91dCBp dCB1bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29ybWEnbyBjYW4gYmUgZWxpZGVk IGlzIHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKAnFlvdSBjYW4gZWxpZGUgYSBm YSdvcm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBkb2VzIG5vdCBjaGFuZ2UgdGhl IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNlLuKAnQoKTW9zdCBmYSdvcm1h J28gY2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuIEV4Y2VwdGlv bnMgYXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVvdGXigJ0tZmEnb3JtYSdvIGFu ZCDigJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBUaGlzIGlzIHdoeSAnJ3ZhdScn IGlzIGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdp dGggJycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUgdGhlIHByZWNlZGluZyBicmlk aSBhbnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dldmVyLiBTaW5jZSBhdHRpdHVk aW5hbHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29yZCwgYXBwbHlpbmcgaXQgdG8g YSBmYSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNvbnN0cnVjdCB3aGljaCBpcyB0 ZXJtaW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4gdXNlIGF0dGl0dWRpbmFscyBh ZnRlcnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGlyZSBicmlkaToKCicnemEnYSBk byBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0uLi4gdmF1IGknZScnIC0g4oCcSSBz ZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24uLi4gSSBhcHByb3ZlIeKAnQoKX18n J3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEgcGVyc29uYWxpdHkuCgoKCktub3dp bmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxpc2lvbiwgd2UgY2FuIHRodXMgcmV0 dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVnaW4gcmVtb3ZpbmcgZmEnb3JtYSdv OgoKCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3Zh dSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1p IF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKCgpXZSBjYW4gc2Vl IHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1hdGljYWxseSB1bm5lY2Vzc2FyeSwgYmVj YXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQgaXMgJydqaW1wZScnLCB3aGljaCBpcyBh IHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHNlbGJyaSBwZXIgYnJpZGksICcn dmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1wZScnIGFzIGEgc2VsYnJpIGNhbm5vdCBi ZSBpbiB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAob25seSBvbmUgYnJpZGkgaW4gYSBjbGF1 c2UsIG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRpKSwgd2UgY2FuIGVsaWRlICcna3Unbycn LiBMaWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBhIHNlY29uZCBzZWxicmkgaW5zaWRlIHRo ZSBjb25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScnLCBzbyB0aGUgJydrdScnIGlzIG5vdCBu ZWVkZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRoZSBmYSdvcm1hJ28gYXQgdGhlIHZlcnkg ZW5kIG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVkIHRvbywgc2luY2UgYmVnaW5uaW5nIGEg bmV3IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0aGVzZSBjb25zdHJ1Y3RzIGFueXdheS4K CldlIHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtv IHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkg bWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpXaGVuIGVsaWRpbmcgZmEnb3Jt YSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVkIHdpdGggJydjdScnLiAnJ2N1 JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtlIHlvdXIgKExvamJhbmljKSBs aWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNlcGFyYXRlIGFueSBwcmV2aW91 cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkgdGhhdCBpdCBkZWZpbmVzIHRo ZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5hdGVzIGV4YWN0bHkgYXMgbXVj aCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoKX18nJ2N1JydfXyBlbGlkYWJs ZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRpbmcgc3VtdGksIGFsbG93cyBw cmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFtaScnX18gPSDigJx4MSBsb3Zl cyB4MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX3Zh dSBrZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1pJycgPQoKJydsbyBzdSd1IGRvIGN1c2t1 IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNlIGRqaWNhIG1pJycKCuKAnFRoYXQgeW91 IHNheSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQgYnkgYmXigJ0gb3Ig4oCcSSB3aXNoIHlv dSBzYWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydjdScnIGlzIG5vdCBhIGZhJ29ybWEnbywg YmVjYXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3BlY2lmaWMgY29uc3RydWN0LiBCdXQgaXQg Y2FuIGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3JtYSdvLgoKCgpPbmUgb2YgdGhlIGdyZWF0 ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBpdCBxdWlja2x5IGJlY29tZXMgZWFzeSB0 byBpbnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNlbGYgaXQgbWVhbnMgbm90aGluZywgYnV0 IGl0IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2piYW4gZXhwcmVzc2lvbnMgYnkgaWRlbnRp ZnlpbmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3JpZ2luYWwgZXhhbXBsZSB3aXRoIHRoZSB2 aW9sZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcnY3UnJyBiZWZvcmUgJydqaW1wZScnIGRv ZXMgbm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgc2VudGVuY2UgaW4gYW55IHdheSwgYnV0 IG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoKCkluIHRoZSBmb2xsb3dpbmcgY291cGxl IG9mIGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQgd2hlbiBuZWNlc3NhcnksIGFuZCBhbGwg ZmEnb3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhlIGVsaWRlZCBmYSdvcm1hJ28gd2lsbCBi ZSBlbmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBzaG93biBiZWxvdy4gVHJ5IHRvIHRyYW5z bGF0ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMgaW1wb3J0YW50IHRvIHgyIGZvciByZWFz b24geDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5kZXJzdGFuZHMgdGhhdCB4MiAoZHUndS1h YnN0cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2EnbycnX18gLSBBdHRpdHVkaW5h bDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAtIGRlc3BhaXIKCgoKJydhJ28g ZG8gbm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1fSBjdSBqaW1wZSBsbyBkdSd1IGxvIGZh J29ybWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0nJwoKV2hhdCBkbyBJ IHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgaG9wZSB0aGF0IHlvdSwgYSBwcm91 ZCBMb2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdvIGFyZSBpbXBvcnRhbnTigJ1+ fgoKCgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZlcnNlZCBpbiBmYSdvcm1hJ28t ZWxpc2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhleSBvZnRlbiBtdXN0IGJlIHJl bWluZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdvcm1hJ28gYXJlIHRvIHRoZSB1 bmRlcnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNoIFR1ZXNkYXkgaGF2ZSBiZWVu IGRlc2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydmYSdvcm1hJ28gZGplZGknJyBv biB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRlcm1pbmF0b3IgRGF5LCBtYW55IHBl b3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJlciB3cml0aW5nIG91dCBhbGwgZmEn b3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVyc2F0aW9ucyBhcyBhIHJlc3VsdC4K CgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUgKHN1bXRjaXRhKQoKU28gZmFyIHdl IGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRoZSBzZWxicmkgd2UgaGF2ZSBoYWQg YXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUgYW1vdW50IG9mIGRlZmluZWQgc2Vs YnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhlIHN1bXRpIHBsYWNlcyBhcmUgbm90 IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hhdCBpZiwgc2F5LCBpIHdhbnQgdG8g c2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNvbXB1dGVyPyBUaGVyZSBpcyBubyBw bGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0byBzcGVjaWZ5IHdoYXQgdG9vbCBJ IHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUgdGltZSwgdGhhdCBpcyBub3QgbmVj ZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlzIG9uIGhvdyB0byBhZGQgYWRkaXRp b25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoKVGhlIG1vc3QgYmFzaWMgd2F5IHRv IGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycgKHllcywgYW5v dGhlciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4gSXQncyBhbG1vc3QgbmV2ZXIg bmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBsYXN0IHRpbWUgeW91IGV2ZXIgc2VlIGl0 LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdvZXMgYSBzZWxicmksIGFuZCBsaWtlICcn bG8gU0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUndScnIGV4dHJhY3RzIHRoZSB4MSBvZiB0 aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcnZmknbyBTRUxCUkkgZmUndScn LCB0aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRvIGEgc3VtdGksIGJ1dCB0byBh ICcnc3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKAnSwgd2l0aCB0aGUgcGxhY2Ug c3RydWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNvbnZlcnRlZC4gVGhpcyAnJ3N1 bXRjaXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBPbmUgY291bGQgc2F5IHRoYXQg dXNpbmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10aSBwbGFjZSBmcm9tIGFub3Ro ZXIgc2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWluZyBzYWlkLgoKTm90ZTogU29t ZXRpbWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUgdGVybSDigJx0YWfigJ0gb3Ig 4oCcbW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJZ25vcmUgdGhvc2UgcHVueSBF bmdsaXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9qYmFuIGhlcmUuCgoKCldoaWxl IGl0IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSByZWFkaW5nIGFib3V0IGl0LCBh biBleGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBzaW1wbGljaXR5OgoKX18nJ3Nr YW1pJydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3NlIHgy4oCdCgpfXycncGlsbm8n J19fIOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4M+KAnQoKCgonJ21pIGZhbnZh IHRpIGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1pIHtrdX17dmF1fScnIC0g4oCcSSB0cmFu c2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgyIG9mICcncGlsbm8nJywgd2hpY2gg aXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNlIHN0cnVjdHVyZSBmb3IgYSB0b29s IGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBzdHJ1Y3R1cmUgaXMgY2FwdHVyZWQg YnkgJydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRvIHRoZSBtYWluIHNlbGJyaSwgYW5kIHRo ZW4gZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2YgJydzdW10Y2l0YScnIGlzIHNv bWV0aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUgZm9sbG93aW5nIHRyYW5zbGF0 aW9uOgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEgY29tcHV0ZXLigJ0KCgoKQSAn J3N1bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwgd2hpY2ggaXMgYWx3YXlzIHRo ZSBmb2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0aGUgJydzdW10Y2l0YScnIGNvbnN0cnVj dCBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywgaW4gd2hpY2ggY2FzZSBhICcnem8nZScn IGlzIGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0YScnLiBPciwgb25lIGNvdWxkIGltYWdp bmUgYW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0ZWQgd2l0aCB0aGUgJydrdScnLgoKX18n J3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwgZW50aXR5IGNhcnJ5aW5nIG91dCBhY3Rp b24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1fSBrdSBsbyBza2Ft aSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g4oCcV2l0aCB2b2xpdGlvbiwg YSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAocGVyaGFwcyBpbXBseWluZyB0 aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8gVG91Z2ggaXQgZG9lcyBub3Qg c3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0IGJlIHRoZSBwcm9ncmFtbWVy IHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3JpbmcuKQoKCgpXaGF0IGRvZXMg JydtaSBqaW1wZSBmaSBsYSBsb2piYW4ge2t1fSBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0 YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhpbmcgYWJv dXQgTG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRjaXRhJycg cmlnaHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVybWluYXRl LCBzaW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2VsYnJpLiBU aGlzIGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5b3Ugd2ls bCBzZWUuCgoKClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRlc3BpdGUg aXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBhcmUgQkFJ LiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1zZWx2ZXMgYWN0 IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUnZScnLCB0aGUgQkFJ IGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhlIHNhbWUgYXMgJydm aSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUgcmVkdWNl ZCB0bzoKCicnenUnZSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX0ge3Zh dX0nJy4gVGhlcmUgZXhpc3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhl c2UgYXJlIHZlcnkgdXNlZnVsIGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNv bnZlcnRlZCB3aXRoICcnc2UnJyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenUnZScn IGlzIGVxdWFsIHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBn cmVhdCBkZWFsIG1vcmUgQkFJLgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAoUFUs IEZBaEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNo LXNwZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3VnaCBu aW5lIGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25j ZS4gVGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJ bmRvLUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFy ZSBvcHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFuIOKA nEkgZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlz IGVhdCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmluaXNo ZWQgZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFu ZCBpbiBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93 ZXZlciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0 LiBGdXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkgdHJl YXQgdGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0IEkg d29ya2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQgdGhh biBzYXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhlciBs YW5ndWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3QgZGlm ZmljdWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMg dGhvdWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVhciBu b3QsIGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBtb2Rp ZnkgdGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0aGUg TG9qYmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdlIGhh dmUgY29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2theSBv a2F5LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBvdGhl ciBzdW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2FudCwg YW5kIHdpbGwgYmUgd29uJ3QgYmUgZXhwbGFpbmVkIHVudGlsIGxhdGVyLiBJbiBtb3N0IGFzcGVj dHMgdGhleSBhcmUgbGlrZSBhbGwgb3RoZXIgc3VtdGNpdGE7IHRoZXkgYXJlIHRlcm1pbmF0ZWQg YnkgJydrdScnLCBtYWtpbmcgaXQgZXhwbGljaXQgdGhhdCBQVSBpcyB0ZXJtaW5hdGVkIGJ5ICcn a3UnJy4KClRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBraW5kcyBvZiB0ZW5zZS1zdW10Y2l0YSwg c28gbGV0J3Mgc3RhcnQgYXQgdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLXNwZWFr ZXJzLgoKX18nJ3B1JydfXyAtIHN1bXRjaXRhOiBiZWZvcmUge3N1bXRpfQoKX18nJ2NhJydfXyAt IHN1bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1lIGFzIHtzdW10aX0KCl9fJydiYScnX18gLSBzdW10 Y2l0YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVzZSBhcmUgbGlrZSB0aGUgRW5nbGlzaCBjb25jZXB0 cyDigJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBhbmQg4oCcYWZ0ZXLigJ0uIEluIGFjdHVhbGl0eSB0 aG91Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0IHR3byBwb2ludC1saWtlIGV2ZW50cyBjYW4gbmV2 ZXIgb2NjdXIgZXhhY3RseSBzaW11bHRhbmVvdXNseSwgcmVuZGVyaW5nICcnY2EnJyB1c2VsZXNz LiBCdXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgdGhlIGZ1dHVy ZSwgbWVhbmluZyBqdXN0IOKAnGFib3V0IG5vd+KAnS4gVGhpcyBpcyBiZWNhdXNlIGh1bWFuIGJl aW5ncyBkb24ndCBwZXJjZWl2ZSB0aW1lIGluIGEgcGVyZmVjdGx5IGxvZ2ljYWwgd2F5LCBhbmQg dGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVmbGVjdHMgdGhhdC4KCgoKU2lkZSBub3RlOiBJdCB3 YXMgYWN0dWFsbHkgc3VnZ2VzdGVkIG1ha2luZyB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWxh dGl2aXN0aWMuIFRoYXQgaWRlYSwgaG93ZXZlciwgd2FzIGRyb3BwZWQsIGJlY2F1c2UgaXQgaXMg Y291bnRlci1pbnR1aXRpdmUsIGFuZCB3b3VsZCBtZWFuIHRoYXQgdG8gbGVhcm4gTG9qYmFuLCBv bmUgd291bGQgaGF2ZSB0byBsZWFybiB0aGUgdGhlb3J5IG9mIHJlbGF0aXZpdHkgZmlyc3QuICAK CgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnEkgZXhwcmVzcyB0aGlzIGFmdGVyIEkgY2FtZSBo ZXJlP+KAnSAocG9pbnRpbmcgdG8gYSBwYXBlcikKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21p IGN1c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1hIHRpIHt2YXV9IHtrZWkge2t1fSB7dmF1fScnfn4K CgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNo IGV2ZW50IHRoaXMgYWN0aW9uIGlzIGluIHRoZSBwYXN0IHJlbGF0aXZlIHRvLiBJbjog4oCcSSBn YXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFw cGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1 bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBpdCdzIG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1 bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1 IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25seQoKJydtaSBwdSB7a3V9IGR1bmRhIGxvIHNr YW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBh biBpbXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzIHVuZGVyc3Rvb2QgYXMg cmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lh bGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3Bl YWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBzb21lIG90aGVyIHRpbWUgdGhh biB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFy ZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91dC4gSW4g b3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVh a2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQgJyduYXUnJyBjYW4gYmUgdXNlZCBhdCBh bnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFya3MgYSB0ZW5zZSB3aGljaCBpcyB0aGVu IGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3aWxsIGJlIHRhdWdodCB3YXkgbGF0 ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFuZCBzcGFjaWFsIGZyYW1lIG9mIHJl ZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVyZSBhbmQgbm93LgoKCgpfXycnZ3Vn ZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2YgcGVvcGxlIHgyIHdpdGggbGFuZC90ZXJy aXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydtaSBwdSB7a3V9IGtsYW1hIGxvIG1lcmtv IGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFtZXJpY2HigJ0sIGRvZXMgbm90IGlt cGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxpbmcgdG8gVVNBLCBvbmx5IHRoYXQgaXQgd2Fz IGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIGZvciBpbnN0YW5jZSBmaXZlIG1pbnV0 ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRpbWUgdGVuc2Vz IGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0IHRoZSBwcmV2aW91cyB0aHJlZSB0aW1lIHRl bnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0ZW5zZXM6CgpfXycnenUnYScnX18gc3VtdGNp dGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3UnJ19fIHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7 c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6IHJpZ2h0IG9mIHtzdW10aX0KCl9fJydidSd1 JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVp dmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1 cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcn Lm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUge2t1fSBjdSBkYXJ4aSBsbyBnZXJrdSBwdSB7 a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBtZWFuPyAobm90aWNlIHRoZSBmaXJzdCBlbGlk ZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0cy9oaXRzIHgyIHdpdGggaW5zdHJ1bWVudCB4 MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHthbmdlciF9IFRvIHRoZSBy aWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBtZSkgYW5kIGluIHRoZSBwYXN0IChvZiBzb21l IGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50IG9mIGEgcGVyc29uIGJlYXRpbmcgYSBkb2cu 4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBteSByaWdodCHigJ1+fgoKCgpJZiB0aGVyZSBh cmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBvbmUgYnJpZGksIHRoZSBydWxlIGlzIHRoYXQg eW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoaW5raW5nIGl0IGFzIGEgc28gY2Fs bGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBXaGVyZSB5b3UgYmVnaW4gYXQgYW4gaW1wbGll ZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVmYXVsdDogdGhlIHNwZWFrZXIncyBub3cgYW5k IGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJvbSBs ZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkgbG8g bG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9IOKAnEF0IHNvbWUgdGltZSBpbiB0aGUgcGFz dCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJvdXQgZmEnb3JtYSdvcy7igJ0KCicnbWkgYmEg e2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9Jycg4oCc QXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0 IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRp bWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBpbiBib3Ro IGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRoZSBwb2ludCBvZiBy ZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4 ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwuIElm IHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1bHQgaW4gc3ludGFj dGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1cHBv c2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhlIGEgbWFuIGhpdCBhIGRvZyBqdXN0IGEgbWlu dXRlIGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6YScnIGFuZCAnJ3p1Jycgc3BlY2lmaWVzIGEg c2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5IG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2Ug aW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRlciAnJ2knJywgJydhJycgYW5kICcndScnLiBU aGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFnYWluIGluIExvamJhbiwgYW5kIG1pZ2h0IGJl IHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKAnSBhbmQg4oCcbG9uZ+KAnSBpbiBhcmUgYWx3 YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2ZSBhbmQgc3ViamVjdGl2ZS4gVHdvIGh1bmRy ZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBhIHNwZWNpZXMgdG8gZXZvbHZlLCBidXQgYSBs b25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4KCl9fJyd6aScnX18gc3VtdGNpdGE6IE9jdXJy aW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiBy ZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQo bWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVu Y2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtz dW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgoKClNpbWlsYXJseSwg c3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkgJyd2aScnLCAnJ3ZhJycgYW5kICcndnUnJyBm b3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHNwYWNl LgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtz dW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndmEnJ19fIHN1bXRj aXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9 IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3Z1JydfXyBzdW10Y2l0YTog T2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gdGhlIHBv aW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScnX18g4oCceDEgd29ya3MgYXQgeDIgd2l0aCBv YmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAnJ2JhIHtrdX0gemEga3UgbWkgdnUge2t1fSBn dW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZSB0aW1lIGluIHRoZSBm dXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9uZyBhd2F54oCdfn4KCk5vdGU6IFBlb3BsZSBy YXJlbHkgdXNlICcnemknJywgJyd6YScnIG9yICcnenUnJyB3aXRob3V0IGEgJydwdScnIG9yICcn YmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVvcGxlIGFsd2F5cyBu ZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBX aGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1vc3Qgb2YgdGhlIHRpbWUgdGhl IHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydwdScnIG9yICcnYmEnJyBzdXBl cmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlvbi1zdW10Y2l0YSBhbmQgZGlz dGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBSZW1lbWJlciB0aGF0 IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNlIHdvcmRzIHBsYWNlZCB0b2dldGhlciBhcmUg cGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8gcmln aHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1 JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9u ZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZp cnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1 JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNlY29uZCBl eGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZhciBhd2F5 IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZy b20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1 IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRl bnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2Vl biB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhl ciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwg c3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0 aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9p bnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5 IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcg cGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMgb2YgdGlt ZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUg c2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92 ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ3UnJ19f IHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoKCgpfXycn dmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtzdW10 aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQg KG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmlu ZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGltZSwg SSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUgc2ltaWxh cml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2IGZv ciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6aW5nLgoKX18nJy5vaScnX18g LSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5zbGF0ZTogJycub2kgZGFpIGRv IHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHplJ3Uge2t1fSB7dmF1fScnCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgeW91IHNwZW5kIGEgbG9uZyB0aW1lIHRyYXZl bGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKAnSB+fgoKCgpUaG91Z2ggbW9zdCBwZW9wbGUg YXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwgdGVuc2VzLCB0aGVzZSBuZXcgd29yZHMgY2Fu IG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0IHVzZXMuIE9uZSBjb3VsZCwgZm9yIGluc3Rh bmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmlnIGRvZ+KAnSBhcyAnJ3RpIHZlJ3Uge2t1fSBn ZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl 4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1zcG9rZW4g aW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRzIGJyb3RoZXJzIGFsc28gY29tYmluZSB3aXRo IG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5kIHRlbnNlcy4gVGhlIHJ1bGUgZm9yICcnemUn dScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMgcHJlY2VkaW5nIGl0IG1hcmtz IGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0byB0aGUgcG9pbnQgb2YgcmVm ZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQgbWFya3MgdGhlIG90aGVyIGVu ZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91bGQgYmUgZGVtb25zdHJhdGVk IHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5vJ29jdSdpIGRvIGNpdGthIHB1IHtrdX0g emUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScnIC0g4oCce3RvbGVyYW5jZX0geW91IGVh dCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBhIGxvbmcgdGltZSBlbmRpbmcgYXQgc29t ZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdoZW4geW91IHN0YXJ0ZWTigJ0gb3Ig4oCc SG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9uZSBjYW4gYWxzbyBjb250cmFzdCAn J2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUg e2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7dmF1fScnLiBUaGUgZmlyc3QgZXZlbnQgb2Yg dHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHByZXNlbnQgYW5kIGV4dGVuZHMgYSBs aXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUgdGhlIHNlY29uZCBldmVudCBoYXMgb25lIGVu ZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRzIG9ubHkgdG8gdGhlIHByZXNlbnQgKHRoYXQg aXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBmdXR1cmUpIG9mIHRoYXQgZW5kcG9pbnQuCgpf Xycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5IHN0YW5kYXJkIHgy4oCdCgoKCldoYXQgZG9l cyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUndSB7a3V9IGptaXZlIHt2YXV9JycgZXhwcmVz cz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7aGFwcGluZXNzIX0gSSBsaXZlIGZyb20gYSBs aXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25nIHdheSB0b3dhcmRzIHRoZSBmdXR1cmUgb3Ig cGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGluIHRoaXMgY2FzZSkgb2YgdGhhdCBldmVudOKA nSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBtb3N0IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUg OinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNpYWwg dGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lh bCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1ZGluYWw6IHdvbmRlciAtIGNvbW1vbnBsYWNl CgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9IHZlJ3Uge2t1fSBjYSd1IHtrdX0gemRhbmkg e3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7 d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8g bXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3csIHRoaXMgaG9tZSBleHRlbmRpbmcgYWhl YWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUgd2l0aCB0aGlzIHN5bnRheC1o ZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51 dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vzbid0IG9jY3VweSB5b3VyIGJyYWluIGluIG9y ZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4gU2luZyBhIHNvbmcgb3IgZWF0IGEg Y29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIsIGFzIGxvbmcgYXMgeW91IGxldCB5b3VyIG1p bmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91 Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5v dywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNob3VsZCBi ZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQg cmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQgd2Ug aGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0IHRvIGl0OgoKCgpVc2luZyB0aGUgdGVuc2Vz IHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNhbiBpbWFnaW5lIGFuIGluZGVmaW5pdGUgdGlt ZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVudHMgb24gdGhhdCBsaW5lIHJlbGF0aXZlIHRv IHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29udG91cnMsIGhvd2V2ZXIsIHdlIHZpZXcgZWFj aCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhhcyBjZXJ0YWluIHN0YWdlczogQSB0aW1lIGJl Zm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBpdCBiZWdpbnMsIGEgdGltZSB3aGVuIGl0IGlz IGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVuZHMsIGFuZCBhIHRpbWUgYWZ0ZXIgaXQgaGFz IGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRlbGxzIHVzIHdoaWNoIHBhcnQgb2YgdGhlIGV2 ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkg dGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9f JydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBo YXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2NhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNv bnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCl9fJydiYSdvJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlkaSBoYXMgZW5kZWQg ZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBl eGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnIG1lYW4/ CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2luIHRvIGhhdmUgYSBob21l4oCdLgoKCgpCdXQg aGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtrdX0gc2UgemRhbmkg e3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1c2UsIHJlbWVtYmVyLCBzYXlp bmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90aGluZyBh Ym91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5nICcncHUnbycnLCB0aG91Z2gs IHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5 b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBvbmUgbm93 LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBp cyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycsIGFuZCBsaWtld2lz ZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJl Y2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBzZWVuIGZyb20gdGhlIHZp ZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZl bnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBt b3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9mIHRlbnNlcy4gRXZlbiBtb3JlIGNsYXJpdHkg aXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2VzOiAnJy5hJ28gbWkgYmF7a3V9 IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9JycgLSDigJxJIGhvcGUgSSd2ZSBzb29uIGZp bmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwgd2UgYWxzbyBvcGVyYXRlIHdpdGggYW4g ZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCd LiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vu c2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUgcHJvY2Vz cyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91dCBhIGxhdGUgdHJhaW4sIGZv ciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGluZyB5b3UgaXMgbm93IGV4dGVu ZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBt ZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0aGF0IHByb2Nlc3MnIG5hdHVy YWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxlcyBh cmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6 IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1bXRp fQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGltbWF0 dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycnY2lkamEnJ19fOiDigJx4MSBp cyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0ZTogJycub2kgZG8g Y2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0gdSdlIGNpdGthIHpvJ2Ugbm9pIGNpZGphIGRv IHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91IGhhdmUgZmluaXNoZWQsIGluY3JlZGlibHks IGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVtYj0i eSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6IFpBaE8gdGVuc2VzIChldmVudCBjb250b3Vy cykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2Vz IGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93IHRoZSBldmVudCBs aW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBwb2ludC1saWtlLgoKCgpBbGwgb2YgdGhlc2Ug dGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFr ZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRlbnNlcyBh Ym92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55IG9mIHRoZSBldmVudCBjb250b3VycyBkZXNj cmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmlu Zy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcnYnUndScnLCB0aGV5IGFjdHVhbGx5IGV4dGVu ZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2YgdGhhdCBwb2ludCwgYW5kIG5l ZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBpbXBvcnRhbnQgcG9pbnQtbGlr ZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY28nYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29u dG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcge3N1bXRpfQoKX18nJ2NvJ3Un J19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVy aW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhlIHBy b2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRl ZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMg YXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0 aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQgdGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRo aXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFpbnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUs IGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1zZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxl IGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUgaW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQs IHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBvd24gZXZlbnQgY29udG91ciBhbHNvOgoK X18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcg ZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBC cmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRp JycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0sICcnZGUnYSBqdW5kaScnIGFu ZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlzIG9mIHNheWluZyDigJxCUkLi gJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50 IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdldHMgYWNyb3NzLgoK CgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVudCwgZnJvbSB0aGUgYmVnaW5u aW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2luZyAnJ2NvJ2knJzoKCl9fJydw ZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPigJ0KCicnbWkgcHUge2t1fSB6 aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2YXV9JycgLSDigJxB IGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0 IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbHZl IChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcsIHRob3NlIHR3byBsb25nIGxlc3NvbnMgd2l0 aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRoZSBicmFpbiBzb21ldGhpbmcgdG8gcG9uZGVy IGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQncyBzbyBkaWZmZXJlbnQgZnJvbSBFbmdsaXNo LiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRlcnMgYW5k IHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5kIGZvY3VzIV9fCgoKClNpbmNl IHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBvdXQgdGhl IHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQgd2FzIHlv dSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBteXNlbGYsIG9yIGV4cHJlc3Np bmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5nbGlzaCBs YW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1cmUsIGFy ZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg4oCceW914oCdLCBh bmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCkluIExvamJhbiwgZWxpZGluZyB0 aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNvIHRoYXQgcG9zc2liaWxpdHkgaXMgc2FkbHkg bm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlz IHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycnLiBHcmFtbWF0aWNhbGx5IGFuZCBicmlkaS13 aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQgYWRkcyBhIGxheWVyIG9mIHNl bWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50IHdpdGggJydrbycnIGluIGl0 IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNlIGlzIHRydWUgZm9y IHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2UgZG9uJ3QgbmVlZCB0aGUgc3Vi amVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9uJ3QgbmVlZCBvcmRlci13b3JkcyBkZXJp dmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoKCgpIb3cgY291bGQgeW91IG9y ZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUgKHVzaW5nICcna2xhbWEnJyBh cyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmtvIHZlJ3UgemUndSBr bGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkgY2EgY28ndSBjaXNrYSBsbyBmYSdvcm1hJ28g Lmkga28gamltcGUgdmF1IC51aScnKSAtIGxvb2sgdXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0LgoK CgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNv bWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBibGFuaywgYW5kIHRydWUvZmFsc2UgcXVlc3Rp b25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF0 J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBpbnZvbHZlcyBvbmUgd29yZCwg Jyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRo YXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJlY2VkaW5nIHdv cmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVuY2UgaW50byBh IHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8g YWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZlJ3UgemRhbmkgZG8n JyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJp LCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVk OiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5n IGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFuc3dl ciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJp ZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxs IHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhlIG90aGVyIGtpbmQg aXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3b3Jk IHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNv cnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24gd2hh dCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydtYScnX18gLSBzdW10aSBxdWVzdGlvbgoKX18n J21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18nJ3hvJydfXyAtIG51bWJlciBxdWVzdGlvbgoK X18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2VsbCBhcyBtYW55IG90aGVycy4g VG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxhY2UgdGhlIHF1ZXN0aW9uIHdv cmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVuZGEgbWEgbWknJyAtIGFza3Mg Zm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qgc3VtdGkuIOKAnFlvdSBnaXZl IHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydzdW10Y2l0YScnICsgJydtYScn IGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdSdpJydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0 ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycub2kgZG8gZGFyeGkgbWkgbXUn aSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0KCgoKTGV0J3MgdHJ5IGFub3Ro ZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6CgonJy51aSBkYWkgZG8gY2EgemUndSBw dSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91J3JlIGhhcHB5LCB3aGF0IGhhdmUg eW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5pY2Fs bHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBidXQgYW5z d2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkp IGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5veWluZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNl IHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3RydWN0dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0 aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBvciBub3QsIG9uZSBiZXR0ZXIgbm90IG1pc3Mg dGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMg bW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVuY2Vz LCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBz byB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlz IG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJraW5nIHRoYXQgdGhl IHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5 IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUg b24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQncyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRp b24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1 ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRha2Ug YSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBkanVubyBsbyBkdSd1IG1hIGthdSB6ZGFuaSBk bycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoKX18nJ2RqdW5vJydfXyDigJx4 MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9neSB4NOKA nQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAnJ21hIHpk YW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBub24tcXVlc3Rpb24gd29yZCB3 aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0IGFzIHRo ZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBkdSd1IGR1bmRhIHRpIGthdSBk bycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhpcy7igJ0K CgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5IGFuZCB3 b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVzdGluZykgc3R1ZmYu CgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhl IExvamJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIs IG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExvamJhbiBvbiBNdW1ibGUsIGFuZCB0aGVuIHBy YWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2aW5nIGFuIGludGVybmFsIGNvbnZlcnNhdGlv biBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBpc24ndCB3aXRoIGFs bCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlvbiBmcm9tIHdyaXR0 ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHRo ZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0IGJlLCBidXQgYSBz aG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9sb2d5LgoKCgpXaGF0IGlzIG1v cnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVlayBtZWFuaW5nIOKAnHRoZSBz dHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRhbGsgYWJvdXQgaG93 IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNvbnRyYXN0ZWQgd2l0 aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4gTG9qYmFuIG9wZXJh dGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBjbGFzc2VzLCB3aGljaCBhcmUg YWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFrZSBpdCBhbGwgbmljZSBhbmQg c3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBmdW5jdGlvbnMgdGVuZCB0byBi ZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0IGV4Y2VwdGlvbnMgbWF5IG9j Y3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlwaWNhbCBGdW5jdGlvbgoKICAg V29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGktd29yZHwgICBBbW9uZyBmaXJz dCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMgYSBjb25zb25hbnQgY2x1c3Rl ci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBkZWZhdWx0LiBBbHdh eXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwgICBSb290LXdvcmR8IDUgbGV0 dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBPbmUgdG8gZml2ZSBzdW10aSBw bGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVqdm98ICBDb21wb3VuZCB3b3Jk LiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCcY29tcGxleCB3b3Jk 4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdpbmcgcmFmc2kgdG9nZXRoZXIg d2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMgbW9yZSBjb21wbGV4 IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBDb3B5LXdvcmQgfCBBcyBicml2 bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNtdSBvciBsdWp2bywg ZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxpa2UgbmFtZXMgb2Yg cGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUtd29yZCB8ICAgQmVnaW5uaW5n IGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3VuZC9sZXR0ZXIgaXMg YSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0aGUgY29udGVudCBv ZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBGcm9tIOKAnGNtYXZsYeKAnSwg bWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50IG9yIHplcm8sIGFsd2F5cyBh dCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAgR3JhbW1hdGljYWwgZnVuY3Rp b25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAgfAoKICAgUmFmc2l8ICAgQWZm aXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBvciBDQ1ZDeS0gIHwg Tm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhlciB0byBmb3JtIGx1 anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBiZWNh dXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVsbCBz dG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIGNtZXZs YSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBhIG5hbWUu IE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5ub3QgYXBw ZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2VkIGJ5IGNl cnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNh cGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNt ZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9waGUpLCAn Jy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBOYW1lcyB3 aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRlZDogJycu aXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJlbW92ZWQ6 ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJpZGktd29yZHPigJ0g YmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJlZm9yZSBhbG1vc3Qg YWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBicml2bGEuIFRoaXMg aGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxjb250ZW50LXdvcmRz 4oCdLiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwgd2l0aG91 dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRlIGxvamJh biBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBs YW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRhYmxlLCBi cml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9v dCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5 IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2Vw dHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJl YW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcnZHVuZGEn JwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1bmRlciBy YWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25lIG5hcnJv d3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxh Ym9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkgaXMgbmVh ciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxwYSdpJycsIGZyb20g JydzZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBoYXZlIG9uZSBkZWZpbml0aW9uLiBJbnN0ZWFk LCBsdWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRlZmluZWQsIGFuZCB0 aGVuIHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBkaWN0aW9uYXJ5LiBF eGFtcGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGktd29yZCksICcnY2luamlrY2EnJyAoc2V4dWFs LXNvY2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNoZWxsLWluc2VjdCA9 IGJlZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJlIG1hZGUgYnkgbWFraW5nIHVwIHdvcmRzIHdo aWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQgbm90IGZvciBsdWp2byBvciBn aXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNoIGl0J3MgaGFyZCB0byBjb3Zl ciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVy eSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29n dXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScnIChhbmdl bCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHplcm8gY29u c29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBleHRlcmlv ciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9u cyBvY2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRpbmFscyBleGlzdHMg Zm9yIHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJkIGV4YW1wbGUgYXJl IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0IGFzIGJyaXZsYS4gSXQgaXMg dmFsaWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGluIGEgcm93IGFzIG9uZSB3b3JkLCBidXQgaW4g dGhlc2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBkb25lLiBCeSBncm91cGluZyBjZXJ0YWluIGNt YXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwgaXQgaXMgc29tZXRpbWVzIGVhc2llciB0 byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBh cnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtl IG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAoYnV0IG5lZWQgbm90IGFsd2F5cykgcGxh Y2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoK Y21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBvciBWJ1ZWIGFyZSBleHBlcmltZW50YWwsIGFu ZCBhcmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIsIGJ1dCB3aGlj aCBoYXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQgdG8gYSBjZXJ0YWlu IG5lZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5vdCBMb2piYW4gd29yZHMsIGFuZCBjYW4gbmV2 ZXIgYXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZlcmFsIChtb3JlIHRoYW4gb25lKSByYWZzaSBj b21iaW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1cCB0byB0aGUgYnJp dmxhLWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAnJ2xvamJhbicnIGlzIGludmFsaWQgYmVjYXVz ZSBpdCBlbmRzIGluIGEgY29uc29uYW50ICh3aGljaCBtYWtlcyBpdCBhIGNtZXZsYSksIGFuZCAn J2NpJ2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBub3QgY29udGFpbiBhIGNvbnNv bmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFkIGFzIHR3byBjbWF2byB3cml0dGVuIGFzIG9u ZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0cmluZyBpcyBib3RoIGEgY21hdm8gYW5kIGEg cmFmc2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhlIHJhZnNp IGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90aCBhIGNt YXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90IGNv bnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlmIHRo ZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVy IG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEgcmFmc2ks IGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2VsICJ5IiBj YW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIgY29t YmluYXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0sIC1DVkNDViBhbmQg LUNDVkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93IG5vdywgeW91IHNob3VsZCBiZSBhYmxlIHRv IGFuc3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2VudDoKCkNhdGVnb3JpemUgZWFjaCBvZiB0aGUg Zm9sbG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyksIGdpc211IChnKSwgbHVqdm8gKGwpLCAnJ2Z1 J2l2bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJsCgpCICkg LmlyY2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCApIHhlbG1h biAgICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2UgICAgICAgIEsgKSBkYW5zZWtlCgpGICkgZGpp c2t1ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6YS1jLCBiLWYsIGMt ZywgZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGktYywgai1sLCBrLWYsIGwtZi4gSSBsZWZ0IG91 dCB0aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0IHdvdWxkbid0IGJl IHRvbyBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8g bm90IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50LiBUaGUg bW9ycGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdCdzIGp1c3QgYW4gdW5kZWZp bmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBMQSkKCklm IHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNz b25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ug b2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2ggb3JkZXIgeW91IGxl YXJuIHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBuZXh0IGxlc3NvbnMg d2lsbCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNpbmcgZGlmZmljdWx0eSBhbmQg c29ydGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZlcnNhdGlvbi4KCgoK T25lIG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMgb24geW91ciBzcGVhayBub3cgaXMgeW91ciBs aW1pdGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFrZSBzdW10aS4gU28gZmFyLCB5b3Ugb25seSBr bm93ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywgd2hpY2ggZG9lc24ndCB0YWtlIHlvdSBmYXIg Y29uc2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxlc3Nv biBhcyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExvamJhbiBz dW10aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRo ZSBvbmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxv amJhbiBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlz IGxlc3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUgY29tYmluYXRpb25z ICcnbGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01FVkxBJycuIFdlIHdp bGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMgb2YgZGVzY3JpcHRpdmUg c3VtdGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qgc28gc2lt cGxlIGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBnYWRyaTogR2VuZXJpYyB2ZXJpZGljYWwg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0 byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsZScnX18gLSBnYWRyaTogR2VuZXJpYyBk ZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3Vl IHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xhJydfXyAtIGdh ZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBj bWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFsKHMpLgoKCgpZb3Ug YXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQgZG9lcy4gQnV0IHdo YXQgZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3VlIHdpdGggcmVnYXJk IHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGluZGl2aWR1 YWxzIGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNrIHRvIGxhdGVyLiBGb3Igbm93LCDigJx2ZXJp ZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcg dG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1 YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBhIGNsYWltIHdoaWNo IG1heSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFy ZSBhY3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuIAoKCgpUaGlzIG1h eSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRo dXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUg b25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2Vs YnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlk ZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuIFRoaXMgbWVhbnMgdGhhdCAnJ2xlJycgaGF2 ZXMgdHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBmcm9tICcnbG8nJzogRmlyc3RseSwgaXQgY2Fu bm90IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyByZWZlcnMgdG8gc3Bl Y2lmaWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vya3UnJyBkZWZpbml0ZWx5IGlz IG9uZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdzIG5vdCB2ZXJpZGlj YWwsIGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3MgdGhlIGRl c2NyaXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQZXJo YXBzIHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1p bGlhciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJv eGltYXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlzIHBlcmhh cHMgb3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRl c2NyaWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBkb2csIGFu ZCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1 c3VhbGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNvICcnbG8g Z2Vya3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDigJxhIGRv Z+KAnSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n 4oCdIG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScnIHdvdWxk IGJlIOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJhc2ljICcn Z2FkcmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hpY2ggSSBo YXZlIHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJIG1l YW4gYnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2Fs LCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVy IHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2Ny aWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkg b25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRv IGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhlIGdhZHJp IGRlcml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtlIGFueSBv dGhlciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBub3QgbWVu dGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcg dGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5h bWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBo YXZlIHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMgJydsYWknJyBhbmQgJydsYSdpJycgYXJlIGEg Yml0IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fsd2F5c19fIG1hcmtzIHRoZSBiZWdpbm5pbmcg b2YgYSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0aGluZyB0aGF0IGNhbiBiZSBn cmFtbWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBjb25z aWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBleGFtcGxlLCAnJ2xlIG1pIGdlcmt1JycgaXMg Im15IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1JycgaXMgc29tZW9uZSBjYWxsZWQgIk15IERvZyIu CgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJl ZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19f IC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQg cmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoK X18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29u dmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhl cykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTog VGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJlIGlzIG9u bHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNp c3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0d2Vl biB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNjcmliZWQg dG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2 aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpIGlmLCBhbmQgb25seSBp ZiwgYWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVhY2ggZml0IHRoZSBzZWxicmkuIEl0IGlzIGNv cnJlY3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcnbG8gZ2Vya3UnJywgY29uc2lkZXJlZCBpbmRp dmlkdWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBmb3IgZWFjaCBvZiB0aGUgZG9ncyBpdCdzIHRy dWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0cyBv bmx5IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29tcG9uZW50cyBmaXQgYXMgYSB3aG9sZSwgYXMg YSB0ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwgYWxsIHRoZSBtZW1iZXJzIG9mIGEgbWFzcyAn J2xvaSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBvcmRlciBmb3IgJydsb2knJyB0byBiZSBhcHBs aWNhYmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMiIGFyZSBzb3BoaXN0aWNhdGVkLCBhbmQgcmVx dWlyZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0cmF0ZSB3aGljaCBwcm9wZXJ0aWVzIGl0IGNh biBoYXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEgZmxhbmtzL2VuY2lyY2xlcy9lbmNsb3NlcyB4 MiBpbiBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPigJ0KCicnbGVpIHByZW51IGN1IHNydXJpIGxv IHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJvdW5kZWQgdGhlIGhvbWUu4oCdIGlzIHBsYXVz aWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9rZXMgbm90IGNvbnNpZGVyZWQsIGl0J3MgY29t cGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNvdWxkIGJlIHRydWUgZm9yIGFueSBvbmUgb2Yg dGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2ggYW5hbG9neSBjb3VsZCBiZTog4oCcSHVtYW5z IGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRoIGNlbnR1cnnigJ0uIFN1cmVseSBubyBodW1h biBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1hbnMgZGlkLCBhbmQgdGhhdCBtYWtlcyB0aGUg c2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3ZWxsIGFzIGluIExvamJhbiBpZiDigJxodW1h bnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRoZSBMb2piYW4gbWFzcywgdGhlIEVuZ2xpc2gg bWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVmZXIgdG8gaW5kaXZpZHVhbHMgZWFjaCBvZiB3 aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBsZToKCl9fJydtaXZ5c2xlJydfXzogIngxIGlz IGEgYmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNtIHgyIgoKX18nJ3JlbW5hJydfXzogIngxIGlz IGEgaHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJlbW5hJycgLSAiU29tZSBtYXNzZXMgb2YgY2Vs bHMgYXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2YgdGhlIGNlbGxzIGFyZSBodW1hbi4gSW5kZWVk LCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1hbiB0cmFpdHMsIGJ1dCB0aGUgY2VsbHMgY29u c2lkZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEgaHVtYW4uCgoKCkEgbWFzcyBtYWRlIHdpdGgg JydsZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScnLCByZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBi eSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVh a2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBi eSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdob2xlIGlz IG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBj YW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0 aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0ICcn bG8nJyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIGJvdGggaW5kaXZpZHVhbHMg YW5kIG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBvZiBkb2dzLCBjb25zaWRlcmVkIGFzIGEgbWFz cyBuZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBkZXNjcmliZSBpdCBhcyBlaXRoZXIgJydsb2kg Z2Vya3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkgdXNlICcnbG8nJywgdGhpcyBhbGxvd3MgbWUg dG8gY29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3aGljaCBsb29rcyBsaWtlIGEgY29udHJhZGlj dGlvbiwgYnV0IHJlYWxseSBpc24ndDogJydsbyBnZXJrdSBuYSBnZXJrdScnIC0gIlNvbWUgZG9n cyBhcmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJlaW5nIGNvbnNpZGVyZWQgYSBtYXNzIG9mIGRv Z3MsIHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBhcyBhIHdob2xlIGlzIG5vdCBhIGRvZywgYnV0 IHJhdGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0aGVy ZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGluZGl2 aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNzLCBv bmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRpZmll ci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVyLCBp biBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFuZCAn J2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNl IHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4dCwg d2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBiZWhh dmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlz IHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18nJ2xv J2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4g VHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xlJ2knJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZl IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpf XycnbGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29u dmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQu CgoKClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVhbHMgb3IsIHNvbWV0aW1lcywgbWFzc2VzLCBz ZXRzIGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20gdGhlIG9iamVjdHMg ZnJvbSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4gQSBzZXQgaXMgYSBwdXJlbHkgbWF0aGVtYXRp Y2FsIG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQgaGFzIHByb3BlcnRpZXMgbGlrZSBjYXJkaW5h bGl0eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1c2lvbi4gQWdhaW4sIG5vdGUgdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3MsIGFuZCB0aGUgdGhpbmdzIG9mIHdoaWNoIHRo ZSBzZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1JydfXyDigJx4MSBpcyBhIHRpZ2VyL2xlb3BhcmQv amFndWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0aCBjb2F0IG1hcmtpbmdzIHgz4oCdCgonJ2xv J2kgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBh cmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5z dGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhl cmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBn ZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xvJ2UnJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBhcmNoZXR5 cGUgb2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xlJ2UnJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZl IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGRlc2Ny aWJlZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcnbGUge3NlbGJyaX0nJy4KCk9mIHdoaWNoIHRo ZXJlIGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoKCgpTbywgd2hhdCBpcyBhY3R1YWxseSBtZWFu dCBieSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydlIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBp bWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3Qg ZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMg aW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3Vi Z3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBz dHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRoZSB0 eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBvZiBo dW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEgdHJh aXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2th a25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJjdW1z dGFuY2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZsYScnIC0g4oCcVGhl IHR5cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr4oCdLgoKCgonJ2xlJ2UnJyB0aGVuLCBpcyB0 aGUgaWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBvciBkZXNjcmliZWQgYnkgdGhlIHNwZWFrZXIu IFRoaXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNvcnJlY3QsIGFuZCBpcyBvZnRlbiB0cmFuc2xh dGVkIGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBldmVuIHRob3VnaCB0aGUgRW5nbGlzaCBwaHJh c2UgaGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRpdmUgY29ubm90YXRpb25zLCB3aGljaCB0aGUg TG9qYmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVyeW9uZSBoYXMgYSBzdGVyZW90eXBpY2FsIGFy Y2hldHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVnb3J5LiBJbiBvdGhlciB3b3JkcywgJydsbydl IHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xv IHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZSdlIHJlbW5hJycgYmVzdCBleGVtcGxp ZmllcyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUgZWxldmVuIGdhZHJpIGNhbiBiZSBzZWVuIGlu IHRoZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVyaWN8TWFzc2VzfFNldHN8R2VuZXJhbGl6aW5n Cgp2ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoKRGVzY3JpcHRpdmV8bGV8bGVpfGxlJ2l8bGUn ZQoKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6IEVhcmxpZXIsIHRo ZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBnZW5lcmljIGdhZHJpLiBIb3dldmVyLCB0 aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRyaSB3ZXJlIGNoYW5nZWQgaW4gbGF0ZSAy MDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVzIG9uIHRoaXMgdG9waWMsIG5pY2tlZCDi gJx4b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5vdywgJydsbycnIGlzIGdlbmVy aWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNhbCBkaWdpdCAobGVzc29uIG5p bmV0ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZpZnRlZW4gKHRoZSBMb2pi YW4gc3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNlZSB3aGF0IGhhcHBlbnMgaWYg SSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlwaWNhbCBwZW9wbGUg d2hvIGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhlciBhYm91dCB0aGUgbGFuZ3Vh Z2VzIHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDigJx4MSBpcyBhIGxhbmd1YWdl IHVzZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p4oCdCgonJ2xlJ2UgcHJlbnUg cG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgbGUnZSBw cmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBw b2kgbG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ugc2UgYmFuZ3Uga2Un YScnCgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2ZXJzaW9uIGlzIG11Y2ggbG9u Z2VyIHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGZpcnN0 LCByaWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBlYXRlZCB0d28gbW9yZSB0aW1l cyBpbiB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNoIGNhbiByZWZlciB0byBpdCBi eSDigJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVjaCBtb3JlIGVmZmljaWVudGx5 LiBXb3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMg Zm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnBy aXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2EnaScnIG1lYW5p bmcg4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3ZSByZWZlciB0byB0 aGVtIGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBh cyB0aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkgaW5zdGVhZCBvZiBub3Vucy4g SW4gZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8nJyBhbmQgJydtaScnLCBidXQg dGhlcmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBGaXJzdCwgd2Ugd2Fu dCB0byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRoZSBvbmVzIG1vc3Qg ZmFtaWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFscmVhZHkgbGVhcm5lZDoKCgoK X18nJ3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJlcHJlc2VudHMgYSBz dW10aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9fJyd0YScnX18gLSBzdW1rYSdp OiDigJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgc29tZSBwaHlzaWNhbCBkaXN0 YW5jZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5lcuKAnQoKX18nJ3R1 JydfXyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5 c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3Ug Y2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3Bz IHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1 cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdo aWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0 YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25s eSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAt IHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFy LWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2Ug aXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3Jkczog Jyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJvbSBib3RoIHRoZSBzcGVha2Vy IGFuZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5l ciBpcyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRoZSBzcGVha2VyIHRh bGtpbmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3NlIHRvIHRoZSBsaXN0ZW5lci4g VGhpcmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQgZGVwZW5kZW50LiBUaGVzZSB0 aHJlZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4dCwgZm9yIGluc3Rh bmNlLCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMg dW5rbm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdvZXMgYnkuIEZ1cnRo ZXJtb3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9pbnQgdG8gYW4gb2JqZWN0IGFu ZCBleHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0aGVyZSBpcyBhIHNl cmllcyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQgJydkbycnIChhbmQgJydrbycn LCBidXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vt a2EnaTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBv ZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaSdhJydfXyAtIHN1 bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMuCgpfXycnbWEnYScn X18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSwgdGhlIGxpc3RlbmVyKHMp IGFuZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhlIGxpc3RlbmVyKHMpLgoKX18n J2RvJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhl cnMuCgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2lseSBncmFzcGVkIGluIHRoZSBi ZWxvdyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0aHVtYj0ieSIgcmVsPSJib3hb Z10ifQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhjbHVkZWQpLiAnJ2xlIGRyYXRh JycgaXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3RoZXIocynigJ0KCgoKSXQgaXMg cG9zc2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVha2Vyc+KAnSwgaWYg b25lIHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9mIHRoZW0uIFRoZXJl Zm9yZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0aGVyICcnbWknJywg JydtaSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0ZSBvZnRlbiBtZWFu cyBpcyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBzaXgsIGlmIHRoZXkgcmVmZXIg dG8gbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQgbWFzc2VzLiBXaXRoaW4gYnJp ZGktbG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEEgaXMgZXhh Y3RseSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQiB0byBzcGVh a2VyIEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ugd2lsbCBjb21lIGJh Y2sgdG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4K CgoKQWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQtc3BlY2lmaWMsIGFu ZCBjYW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRl bmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNh biBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19f IC0gc3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydyYScnX18gLSBzdW1r YSdpOiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9f JydydScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpU aGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0 IG90aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9zdCBvdGhlciAnJ3N1bWthJ2kn JyBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRoYXQgdGhleSBhcmUg c28gZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIHRvIHRo ZSBydWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBiZWNhdXNlIHlvdSBjb3VsZCBo YXZlIGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5vdCBqdXN0IHJlcGVh dCB0aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVybWluYXRlZCBzdW10aSwgYW5k IHRodXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW4gYWJzdHJh Y3Rpb24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlvbjogJydsZSBwZW5kbyBub2kg a2UnYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycg Y2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRl ZCwgbm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhleSBhcmUgc3Vta2EnaSwgc28g aXQgcmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQgJydydScnIGFyZSBjb250ZXh0 LWRlcGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZvbGxvdyB0aGUgcnVs ZXMgbWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyByZWZlciB0byBhIG1vcmUgZGlz dGFudCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlzIG1vcmUgZGlzdGFudCB0aGFu ICcncmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0 ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQg dXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4g Y3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2EnJy4gJydyaScnIGlz IG5vdCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xhIC5sb2piYW4uJycuICcncmEn JyBjb3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5seSBiZSB0aG91Z2h0IHRvIHJl ZmVyIHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywgYnV0ICcncnUnJyBpcyBhc3N1 bWVkIHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUgbW9zdCBvdXRlciBv bmUufn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJlc2VudCB1dHRlcmFu Y2VzOiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhleSBuZWVkIG5vdCBiZSByZXN0 cmljdGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2FuIGJlIHNldmVyYWwgc2VudGVu Y2VzLCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEndScnX18gVXR0ZXJhbmNlIHZh cmlhYmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0dGVyYW5jZSB2YXJp YWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBQ cmV2aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBUaGlzIHNl bnRlbmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0IHNlbnRlbmNlCgpf XycnZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18n J2RhJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBzZW50ZW5jZQoKX18n J2RvJ2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFi bGU6IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2VudHMgc2VudGVuY2VzIGFzIHN1 bXRpLCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRoZSBsZXR0ZXJzLCBu b3QgdG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJlIGFyZSBtb3JlIExvamJhbiAn J3N1bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBmcm9tIHRo ZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRpIG1hZGUg ZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNpeHRlZW4g KHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFibHkgc2Vl IHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtlJ2EnJyBpcyBhIGxl c3MgdGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxhbmd1YWdl4oCdLiBUaGlzIGlz IGJlY2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFnZSB3aGljaCBJIHNw ZWFrIGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2YgdGhlIGJyaWRpICcnYmFuZ3Ug bWknJy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTogJyds ZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBh IGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcgJyds ZSBzdSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEgbmV3IHgxLCB0aGUg YWJzdHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFjdHMgdGhhdC4gVGhhdCBtYWtl cyBhbiBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtlIOKAnHRoYXQgc29t ZXRoaW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScnLiAnJ2JlJycgaXMgYSB3b3Jk IHdoaWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQgb3RoZXJzKSB0byBh IHNlbGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhhcyBubyBlZmZlY3Q6IGluICcn bWkgbmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsIHdoZW4g YSBzdW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwgeW91IGNhbiB1c2UgYSBnYWRy aSBvbiB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0dGluZyBvZmY6ICcnbGUgYmFu Z3UgYmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gYWJvdmUuIExp a2V3aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRhcnhpIGtlaSBiZSBn YXUgZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNhdXNlZCBieSB5b3Xi gJ0uIE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tlaScnIG1ha2VzIGl0 IHBhcnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28gcHJlc2VudCwgJydiZScnIGF0 dGFjaGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBhdHRhY2hlcyB0byAn J2RhcnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNpc2VkOiBJcyB0aGUg aGl0dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlvdT8gSW4gdGhpcyBz cGVjaWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoK CgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNp ZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBk dW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycg YXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRo ZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgbm8gc2Vuc2UuIElu IG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0aGUgYWxsIHRoZSBv bmVzIGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3aXRoICcnYmVpJycuIFRoZSDi gJxiaW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydiZSdvJycgLSBvbmUgaW5zdGFu Y2Ugb2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAn J2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRh IHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVj dCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZSdvJydfXyBlbmRzIGJpbmRp bmcgdG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBsb29zZWx5IGFzc29jaWF0ZSBh IHN1bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycgZm9yIHJlc3RyaWN0aXZlIGFu ZCBub24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xlIGJhbmd1IHBlIG1p JycgaXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2XigJ0sIHNpbmNlIHRo aXMgcGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBob3cgdGhlIHR3byBh cmUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycgYW5kICcnbmUnJyBhcmUgdXNl ZCBhcyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWluZyDigJxteSBjaGFpcuKAnSBh Ym91dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90IHJlYWxseSB5b3VycywgYnV0 IGhhcyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0ZSBjb25uZWN0aW9u IGNhbiBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywgd2hpY2ggbWFrZXMgdGhlIGFzc29jaWF0 aW9uIHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCcbXkgY2Fy4oCdIGZv ciBhIGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0IGtpbmQgb2YgYXNzb2NpYXRv ciBpcyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQgImluYWxpZW5hYmxlIiBib25k IGJldHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5hdGUgYmV0d2VlbiB0 aGUgdHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJteSBtb3RoZXIiLCAibXkgYXJt IiBvciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2VzaW9ucyIgY2FuIGJl IGxvc3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0J3Mgc3RpbGwgX195b3VyX18g YXJtKSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFsbW9zdCBhbGwgb2YgdGhlIHRp bWVzIGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwgdGhlIHgyIG9mIHRoZSBzZWxi cmkgY29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMgY29ubmVjdGVkLCBzbyAnJ2Jl JycgaXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNl LiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BlJydfXyByZXN0cmljdGl2ZSBy ZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncG8nJ19f IHBvc3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBzcGVjaWZpYyB0by4uLiIKCl9f JydwbydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBiZWxvbmdzIHRv Li4uIgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93IGlzICcne2dhZHJpfSB7c3Vt dGl9IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAnJ3tnYWRyaX0ge3NlbGJyaX0g cGUgIHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBpcyBlcXVpdmFsZW50 IHRvICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUgZGVzY3JpcHRpb24gc3VtdGkg aW5zaWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBjaW5qaWtjYSBiZSBt aSBrdSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2luamlrY2EgYmUgbWknJyA94oCc dGhlIGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdCdzIG5vdCB2 ZXJ5IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiksIGFuZCBpcyBv ZnRlbiBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJuICcndHUnYScnLCBz aW5jZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFzaWVyLiBJdCB0YWtl cyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1bXRpIC0gYW4gZWxsaXB0aWNh bCBhYnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIGZpcnN0IHN1 bXRpLiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamljYSBsbyBudSBtaSBjaXRrYSBs byBwbGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBjb250ZXh0IHdoYXQgYWJzdHJh Y3Rpb24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0IHNheSAnJ21pIGRqaWNhIHR1 J2EgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0 aGUgc3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28gaXQgc2hvdWxkIG9ubHkgYmUg dXNlZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVzcy4gQW5vdGhlciBleGFtcGxl OgoKX18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAodm9saXRpb24gbm90 IGltcGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScnIC0g4oCcSSBzZWUg dGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAn J3R1J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlJycuIFZh Z3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVz ZSAnJ3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJsZS4gVGhlc2Ugc2l0 dWF0aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3VsdGluZyBzdW10aSB0byBiZSBh biBhYnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3VtdGkuIEluIHRoaXMgY2FzZSwgb25lIGNh biB1c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2YWd1ZSBh YnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUgc3UndSBT VU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0 dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9fJyds dSdhJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBpbmRp dmlkdWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVl bmNlL3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9t YXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29udmVydCBpbmRpdmlk dWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0aGUgb3JkZXIgaXMgbm90IHN0 YXRlZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9yd2FyZGx5OiBQbGFj aW5nIHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFrZXMgYSBuZXcgc3Vt dGkgb2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBmb3VydGgga2luZCBv ZiBzdW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlzIGlzIG5vdCB1c2Vk IHZlcnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2Up LCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1l bWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQg YWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0 aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEg c3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9v aywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRo aW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJlZmVycyB0byBzdW10 aSBCLiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBmb3Ig4oCcSSBsaWtl IHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNoIGp1c3Qg bWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCYJ2xhJ2UgbGUgY21h bHUgbm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl4oCdLCBhbmQgbm90 IHNvbWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1J2UnJyBkb2VzIHRo ZSBleGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJlZmVycyB0byBhbiBvYmplY3Qg d2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScnX18gLSDigJx0aGUgdGhpbmcg cmVmZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBhIHN1bXRpIEIgd2hp Y2ggcmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmluZyB0 b+KAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hlbiBCIHJlZmVycyB0 byBBLgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXByYWN0aWNhbGx5IGxh cmdlIHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBhbmQgdGhpcmQgaW5zdGFsbG1l bnQgY2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAoKHdhdmVsZXNzb25zY29udGlu dWVkcDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhlIGxhdHRl cikpLiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9ybWVyIiBvciAidGhl IGxhdHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5LgoKCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGluZyBs aXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==