Received: from localhost ([::1]:36538 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1U4IOa-0005J1-Kx; Sat, 09 Feb 2013 13:55:40 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:58066 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1U4IOP-0005Is-Tx for wikichanges@lojban.org; Sat, 09 Feb 2013 13:55:38 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 9 Feb 2013 13:55:29 -0800 From: "Apache" Date: Sat, 9 Feb 2013 13:55:29 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 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 wavelessonscontinuedp2 was changed by klaki at 21:55 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by klaki 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 Content-Length: 140304 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBrbGFraSBhdCAy MTo1NSBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9MTQmbmV3dmVy PTE1CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93 ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVz OiAzOC00NSBjaGFuZ2VkIHRvICtMaW5lczogMzgtNDUgQEAKKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKClRoZSBvdGhlciBmdW5jdGlv biBvZiAnJ2phaScnIGlzIGVhc2llciB0byBleHBsYWluLiBJdCBzaW1wbHkgY29udmVydHMgdGhl IHNlbGJyaSBzdWNoIHRoYXQgdGhlIHN1bXRpIGluIHRoZSB4MSBnZXRzIGEgJyd0deKAmWEnJyBp biBmcm9udCBvZiBpdCAoJydrb+KAmWEgamFpIGJyb2RhJycgX189X18gJyd0deKAmWEga2/igJlh IGJyb2RhJycpLiBJbiBvdGhlciB3b3JkcywgaXQgY29udmVydHMgdGhlIHNlbGJyaSBpbiBhIHdh eSBzdWNoIHRoYXQgaXQgYnVpbGRzIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24gZnJvbSB0aGUg c3VtdGkgaW4gdGhlIHgxLCBhbmQgdGhlbiBmaWxscyB4MSB3aXRoIHRoZSBhYnN0cmFjdGlvbiBp bnN0ZWFkIG9mIHRoZSBhY3R1YWwgc3VtdGkuIEFnYWluLCB0aGUgb3JpZ2luYWwgc3VtdGkgcGxh Y2UgaXMgYWNjZXNzaWJsZSBieSAnJ2ZhaScnLgotIEEgdmVyeSBhY3RpdmUgTG9qYmFuIElSQy11 c2VyIG9mdGVuIHNheXMgJydsZSBnZXJrdSBiZSBkbyBqYWkgc2Ugc3RpZGkgbWknJywgdG8gdXNl IGEgcmFuZG9tIGV4YW1wbGUgb2YgYSBzdW10aSBpbiB4MS4gV2hhdHMgaGUgc2F5PworIEEgdmVy eSBhY3RpdmUgTG9qYmFuIElSQy11c2VyIG9mdGVuIHNheXMgJydsdSBsZSBkbyBnZXJrdSBsaSd1 IGN1IGphaSBzZSBzdGlkaSBtaScnLCB0byB1c2UgYSByYW5kb20gZXhhbXBsZSBvZiBhIHN1bXRp IGluIHgxLiBXaGF0cyBoZSBzYXk/Cl9fJydzdGlkaScnX18geDEgaW5zcGlyZXMvc3VnZ2VzdHMg eDIgaW4vdG8geDPigJ0KCi0gQW5zd2VyOiB+fmdyZXksZ3JleTpJIHN1Z2dlc3QgKHNvbWV0aGlu ZyBhYm91dCkgeW91ciBkb2cufn4KKyBBbnN3ZXI6IH5+Z3JleSxncmV5Okkgc3VnZ2VzdCAoc29t ZXRoaW5nIGFib3V0KSAmcXVvdDt5b3VyIGRvZyZxdW90Oy5+fgoKU28gZmFyIHlvdeKAmXZlIGxl YXJuZWQgaG93IHRvIGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJpLCBzZWxicmkgdG8gc3VtdGksIGFu ZCBzZWxicmkgaW50byBicmlkaSwgc2luY2UgYWxsIHNlbGJyaSBieSB0aGVtc2VsdmVzIGFyZSBh bHNvIGJyaWRpLiBZb3Ugb25seSBuZWVkIG9uZSBsYXN0IGZ1bmN0aW9uOiBjb252ZXJ0IHN1bXRp IHRvIHNlbGJyaS4gVGhpcyBpcyBkb25lIHdpdGggdGhlIHdvcmQgJydtZScnLiBJdCBhY2NlcHRz IGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IGludG8gYSBzZWxicmkgd2l0aCB0aGUgcGxhY2Ugc3Ry dWN0dXJlIOKAnHgxIGlzIHNwZWNpZmljIHRvIHtzdW10aX0gaW4gcHJvcGVydHkgeDLigJ0uCgoK CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZl IExlc3NvbnMgQ29udGludWVkIChwYXJ0IHR3byk6CgohISFieSBsYSBrbGFrdSB3aXRoIGhlbHAg ZnJvbSBsYSAua3JpYmFjci4sIGxhIHhhbGJvIGFuZCBvdGhlcnMsIGF1dHVtbiAyMDExLgoKCgpU aGlzIGlzIHRoZSBzZWNvbmQgaW5zdGFsbG1lbnQgb2YgdGhlIFdhdmUgTGVzc29ucyBDb250aW51 ZWQuIElmIHlvdSBkaWRuJ3QgY2F0Y2ggdGhlIGZpcnN0IHBhcnQsIG9yIHdhbnQgdG8gZ28gYmFj ayBmb3Igc29tZSByZWFzb24sIGp1c3QgY2xpY2sgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxoZXJl LikpCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFzc29ydGVk IHdvcmRzKQoKQW5kIHdpdGggdGhhdCwgdGhpcmQgY2hhcHRlciwgeW91IGtub3cgYSBsb3QgYWJv dXQgTG9qYmFuIHN1bXRpLiBBZnRlciBzdWNoIGEgbG9uZyB0aW1lIG9mIHJpZ29yb3VzIHN5c3Rl bWF0aWMgbGVhcm5pbmcsIHdoYXQgY291bGQgYmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhpcyBsZXNz b24gd2hlcmUgSSBzcGVhayBhYm91dCBzb21lIHdvcmRzIHdoaWNoIEkgY291bGQgbm90LCBvciB3 YW50ZWQgbm90IHRvIGZpdCBpbnRvIGFueSBvdGhlciBsZXNzb25zPyBTbyBoZXJlIGFyZSBhIGZl dyBzbWFsbCBhbmQgcmVhbGx5IHVzZWZ1bCB3b3JkczoKCgoKVGhlIGZvbGxvd2luZyBjbWF2byBh cmUgYWxsIGVsbGlwdGljYWwgd29yZHMuIFlvdSBzaG91bGQgYWxyZWFkeSBiZSBmYW1pbGlhciB3 aXRoIHRoZSBmaXJzdC4KCl9fJyd6b+KAmWUnJ19fIC0gZWxsaXB0aWNhbCBzdW10aQoKX18nJ2Nv 4oCZZScnX18gLSBlbGxpcHRpY2FsIHNlbGJyaQoKX18nJ2Rv4oCZZScnX18gLSBlbGxpcHRpY2Fs IHN1bXRjaXRhCgpfXycnanXigJlhJydfXyAtIGVsbGlwdGljYWwgZXZpZGVudGlhbAoKX18nJ2Rv 4oCZaScnX18gLSBlbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZQoKX18nJ2dl4oCZZScnX18g LSBlbGxpcHRpY2FsIGF0dGl0dWRpbmFsCgoKCkFsbCBvZiB0aGVzZSBhY3QgZ3JhbW1hdGljYWxs eSBhcyBhIGNtYXZvIG9mIHRoZSBraW5kIHRoZXkgcmVwcmVzZW50LCBidXQgdGhleSBjb250YWlu IG5vIGluZm9ybWF0aW9uLCBhbmQgY2FuIGJlIHF1aXRlIGhhbmR5IHdoZW4geW914oCZcmUgbGF6 eSBhbmQgZG9u4oCZdCBuZWVkIHRvIGJlIHNwZWNpZmljIGFueXdheS4gVGhlcmUgYXJlLCBob3dl dmVyLCBhIGZldyB0aGluZ3Mgd2hpY2ggbmVlZCB0byBiZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6 b+KAmWUnJyBoYXZlIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBjbGFpbWVkIHRvIGhh dmUgYSB2YWx1ZS4g4oCcemVybyBjYXJz4oCdIG9yIOKAnG5vdGhpbmfigJ0sIGZvciBpbnN0YW5j ZSwgaGFzIG5vIHZhbHVlLCBhbmQgdGhlcmVmb3JlIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSAn J3pv4oCZZScnLiBUaGlzIGlzIGJlY2F1c2UsIGlmIGl0IGNvdWxkIG1lYW4g4oCcbm90aGluZ+KA nSBieSAnJ3pv4oCZZScnLCB0aGVuIGFueSBzZWxicmkgY291bGQgYmUgaWRlbnRpY2FsIHRvIGl0 cyBuZWdhdGlvbiwgaWYgb25lIG9mIHRoZSBlbGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQgd2l0aCBh ICcnem/igJllJycgd2l0aCBubyB2YWx1ZS4KCiAgICAnJ2dl4oCZZScnIGRvZXMgbm90IG1lYW4g dGhhdCB5b3UgZmVlbCBubyBlbW90aW9uLCBqdXN0IHRoYXQgeW91IGZlZWwgbm90aGluZyBzcGVj aWFsIG9yIHdvcnRoIHRvIG1lbnRpb24gYXQgdGhlIG1vbWVudC4gSXTigJlzIHNpbWlsYXIgdG8g 4oCcSeKAmW0gZmluZS7igJ0uICcnZ2XigJllIHBlaScnIGFzayBhYm91dCBhbiBlbGxpcHRpY2Fs IGVtb3Rpb24gYW5kIGlzIGEgZ29vZCB0cmFuc2xhdGlvbiBmb3I6IOKAnEhvdyBhcmUgeW91IGZl ZWxpbmc/4oCdLgoKICAgICcnY2/igJllJycgaXMgaGFuZHkgd2hlbiBuZWVkaW5nIGEgc2VsYnJp IGluIGEgY29uc3RydWN0IGZvciBncmFtbWF0aWNhbCByZWFzb25zLCBsaWtlIGluIHRoZSBkZWZp bml0aW9uIG9mICcndHXigJlhJycgaW4gdGhlIHByZXZpb3VzIGxlc3Nvbi4KCiAgICAnJ2p14oCZ YScnIGRvZXMgbm90IGNoYW5nZSB0aGUgdHJ1dGggdmFsdWUgb3Igc3ViamVjdGl2ZSB1bmRlcnN0 YW5kaW5nIG9mIHRoZSBicmlkaSBvciBhbnl0aGluZyBsaWtlIHRoYXQuIEluIGZhY3QsIGl04oCZ cyBtb3N0bHkgZG9lcyBub3RoaW5nLiBIb3dldmVyLCAnJ2p14oCZYSBwZWknJywg4oCcV2hhdCBp cyB5b3VyIGJhc2lzIGZvciBzYXlpbmcgdGhhdD/igJ0gaXMgaGFuZHkuCgogICAgJydkb+KAmWkn JyBpcyByZWFsbHkgdXNlZnVsLiBBIGxvdCBvZiB0aW1lcyB3aGVuIHlvdSByZWZlciB0byB1dHRl cmFuY2VzIG9yIGNvbnZlcnNhdGlvbnMgYnkgd29yZHMgbGlrZSDigJx0aGlz4oCdIG9yIOKAnHRo YXTigJ0sIHlvdSB3YW50ICcnZG/igJlpJycuCgogICAgSWYgeW91IGZpbGwgaW4gbW9yZSBzdW10 aSB0aGFuIGEgc2VsYnJpIGhhcyBwbGFjZXMgZm9yLCB0aGUgbGFzdCBzdW10aSBoYXZlIGltcGxp ZWQgJydkb+KAmWUnJyBzdW10Y2l0YSBpbiBmcm9udCBvZiB0aGVtLgoKCgpGdXJ0aGVybW9yZSwg dGhlcmUgaXMgYSB3b3JkLCAnJ3pp4oCZbycnLCB0aGF0IHlvdSBjYW4gZmlsbCBhIHN1bXRpIHBs YWNlIHdpdGggdG8gZGVsZXRlIGl0IGZyb20gYW55IHNlbGJyaS4gJydsbyBtZWxiaSBiZSB6aeKA mW8nJywgZm9yIGluc3RhbmNlLCBpcyBqdXN0IOKAnFNvbWV0aGluZyBiZWF1dGlmdWzigJ0sIGFu ZCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB1c3VhbCB4MiBvZiAnJ21lbGJpJycsIHdoaWNoIGlzIHRo ZSBvYnNlcnZlciB3aG8ganVkZ2VzIHNvbWV0aGluZyB0byBiZSBiZWF1dGlmdWwuIFRodXMsIGl0 IGNhbiBtZWFuIHNvbWV0aGluZyBsaWtlIOKAnE9iamVjdGl2ZWx5IGJlYXV0aWZ1bC7igJ0gSXQg ZG9lcyBub3Qgc3RhdGUgdGhhdCBub3RoaW5nIGZpbGxzIHRoZSBzdW10aSBwbGFjZSB3aGljaCBp cyBiZWluZyBkZWxldGVkLCBqdXN0IHRoYXQgdGhlIHN1bXRpIHBsYWNlIGlzIG5vdCBiZWluZyBj b25zaWRlcmVkIGluIHRoZSBzZWxicmkuIFVzaW5nICcnemnigJlvJycgd2l0aCBhIHN1bXRjaXRh IGdpdmVzIHdlaXJkIHJlc3VsdHMuIEZvcm1hbGx5LCB0aGV5IHNob3VsZCBjYW5jZWwgZWFjaCBv dGhlciBvdXQuIFByYWN0aWNhbGx5LCBpdCB3b3VsZCBwcm9iYWJseSBiZSB1bmRlcnN0b29kIGFz IGFuIGV4cGxpY2l0IHdheSBvZiBzYXlpbmcgdGhhdCB0aGUgc3VtdGNpdGEgZG9lcyBub3QgYXBw bHksIGFzIGluOiAnJ21pIGRhcnhpIGRvIG114oCZaSB6aeKAmW8nJyAtIOKAnEkgaGl0IHlvdSwg d2l0aCBvciB3aXRob3V0IG1vdGl2YXRpb24u4oCdCgoKClRoZW4gdGhlcmUgaXMgdGhlIHdvcmQg JydqYWknJy4gSXTigJlzIG9uZSBvZiB0aG9zZSBjb29sLCBzbWFsbCB3b3JkcyB3aGljaCBhcmUg aGFyZCB0byBncmFzcCwgYnV0IGVhc3kgdG8gd29yayB3aXRoIG9uY2UgeW91IGtub3cgaXQuIEl0 IGhhcyB0d28gZGlzdGluY3QsIGJ1dCBzaW1pbGFyIGZ1bmN0aW9ucy4gQm90aCBoYXZlIHNvbWV0 aGluZyB0byBkbyB3aXRoIGNvbnZlcnRpbmcgdGhlIHNlbGJyaSwgbGlrZSAnJ3NlJycgZG9lcy4K Cl9fJydqYWknJ19fIFNlbGJyaSBjb252ZXJzaW9uOiBDb252ZXJ0cyBzdW10Y2l0YSBvciB1bnNw ZWNpZmllZCBhYnN0cmFjdGlvbiB0byB4MS4gVXNlIHdpdGggJydmYWknJwoKX18nJ2ZhaScnX18g TWFya3Mgc3VtdGkgcGxhY2UuIFdvcmtzIGxpa2UgJydmYScnLiBUbyBiZSB1c2VkIHdpdGggJydq YWknJy4KClRoZSBmaXJzdCBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rpb24gaXQgY2FuIG1ha2UgaXMg IicnamFpJycge3N1bXRjaXRhfSB7c2VsYnJpfSIuIEl0IGNoYW5nZXMgdGhlIHN1bXRpIHBsYWNl cyBzdWNoIHRoYXQgdGhlIHN1bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YSBiZWNvbWVzIHRoZSBz ZWxicmnigJlzIHgxLCBhbmQgdGhlIHNlbGJyaeKAmXMgb2xkIHgxIGlzIHJlbW92ZWQsIGFuZCBv bmx5IGFjY2Vzc2libGUgYnkgdXNpbmcgJydmYWknJywgd2hpY2ggd29ya3MgbGlrZSAnJ2ZhJycu IFlvdSBjYW4gc2VlIGl0IHdpdGggdGhpcyBleGFtcGxlOgoKX18nJ2dhdScnX18gLSBzdW10Y2l0 YSAoZnJvbSAnJ2dhc251JycpIOKAnGJyaWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJvdXQgYnkvd2l0 aCBhY3RpdmUgYWdlbnQge3N1bXRpfeKAnQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRpIGZhaSBtaScn LiAtIOKAnFlvdSBicmluZyBhYm91dCBhdHRlbnRpb24gdG8gdGhpcyBieSBtZeKAnS4gVGhlIG5l dyBzZWxicmksICcnamFpIGdhdSBqdW5kaScnLCBoYXMgdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiDi gJx4MSBicmluZ3MgYWJvdXQgYXR0ZW50aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNlIGFyZSB0aGVu IGZpbGxlZCBieSAnJ2RvJycgYW5kICcndGknJy4gVGhlICcnZmFpJycgdGhlbiBtYXJrcyB0aGUg cGxhY2UgZm9yIHRoZSBvbGQgeDEsIHRoZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0ZW50aW9uLCBh bmQgaXQgaXMgZmlsbGVkIHdpdGggJydtaScnLiBUaGlzIHdvcmQgY2FuIGJlIHZlcnkgY29udmVu aWVudCBhbmQgaGFzIHRvbnMgb2YgdXNlcy4gQSBnb29kIGV4YW1wbGUgaXMgZGVzY3JpcHRpdmUt bGlrZSBzdW10aS4gT25lIGNhbiwgZm9yIGluc3RhbmNlLCByZWZlciB0byDigJx0aGUgbWV0aG9k IG9mIHZvbGl0aW9uYWwgYWN0aW9u4oCdIGJ5ICcnbG8gamFpIHRh4oCZaSB6dWt0ZScnLgoKX18n J3Rh4oCZaScnX186IHN1bXRjaXRhIChmcm9tICcndGFkamknJykg4oCcQnJpZGkgaXMgZG9uZSB3 aXRoIHRoZSBtZXRob2Qgb2Yge3N1bXRpfeKAnQoKQ2FuIHlvdSBkZWR1Y2Ugd2hhdCB0aGUgb3Jk aW5hcnkgTG9qYmFuIHBocmFzZSAnJ2RvIGphaSBnYXUgbW8nJyBtZWFucz8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxXaGF0IGFyZSB5b3UgZG9pbmc/4oCdfn4KCgoKVGhlIG90aGVyIGZ1bmN0 aW9uIG9mICcnamFpJycgaXMgZWFzaWVyIHRvIGV4cGxhaW4uIEl0IHNpbXBseSBjb252ZXJ0cyB0 aGUgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgc3VtdGkgaW4gdGhlIHgxIGdldHMgYSAnJ3R14oCZYScn IGluIGZyb250IG9mIGl0ICgnJ2tv4oCZYSBqYWkgYnJvZGEnJyBfXz1fXyAnJ3R14oCZYSBrb+KA mWEgYnJvZGEnJykuIEluIG90aGVyIHdvcmRzLCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEg d2F5IHN1Y2ggdGhhdCBpdCBidWlsZHMgYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRo ZSBzdW10aSBpbiB0aGUgeDEsIGFuZCB0aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9u IGluc3RlYWQgb2YgdGhlIGFjdHVhbCBzdW10aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBw bGFjZSBpcyBhY2Nlc3NpYmxlIGJ5ICcnZmFpJycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMt dXNlciBvZnRlbiBzYXlzICcnbHUgbGUgZG8gZ2Vya3UgbGkndSBjdSBqYWkgc2Ugc3RpZGkgbWkn JywgdG8gdXNlIGEgcmFuZG9tIGV4YW1wbGUgb2YgYSBzdW10aSBpbiB4MS4gV2hhdOKAmXMgaGUg c2F5PwoKX18nJ3N0aWRpJydfXyB4MSBpbnNwaXJlcy9zdWdnZXN0cyB4MiBpbi90byB4M+KAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc3VnZ2VzdCAoc29tZXRoaW5nIGFib3V0KSAieW91 ciBkb2ciLuKAnX5+CgoKClNvIGZhciB5b3XigJl2ZSBsZWFybmVkIGhvdyB0byBjb252ZXJ0IGJy aWRpIHRvIHNlbGJyaSwgc2VsYnJpIHRvIHN1bXRpLCBhbmQgc2VsYnJpIGludG8gYnJpZGksIHNp bmNlIGFsbCBzZWxicmkgYnkgdGhlbXNlbHZlcyBhcmUgYWxzbyBicmlkaS4gWW91IG9ubHkgbmVl ZCBvbmUgbGFzdCBmdW5jdGlvbjogY29udmVydCBzdW10aSB0byBzZWxicmkuIFRoaXMgaXMgZG9u ZSB3aXRoIHRoZSB3b3JkICcnbWUnJy4gSXQgYWNjZXB0cyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBp dCBpbnRvIGEgc2VsYnJpIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSDigJx4MSBpcyBzcGVjaWZp YyB0byB7c3VtdGl9IGluIHByb3BlcnR5IHgy4oCdLgoKX18nJ21lJydfXzogR2VuZXJpYyBjb252 ZXJ0IHN1bXRpIHRvIHNlbGJyaS4geDEgaXMgc3BlY2lmaWMgdG8gU1VNVEkgaW4gcHJvcGVydHkg eDIKCgoKV2hlbiBzY3Jld2luZyBhIHNlbnRlbmNlIHVwLCBrbm93aW5nIGhvdyB0byBjb3JyZWN0 IHlvdXJzZWxmIGlzIGEgZ29vZCBpZGVhLiBUaGVyZSBhcmUgdGhyZWUgd29yZHMgaW4gTG9qYmFu IHdoaWNoIHlvdSBjYW4gdXNlIHRvIGRlbGV0ZSB5b3VyIHByZXZpb3VzIHdvcmQocykKCl9fJydz aScnX18gLSBkZWxldGlvbjogRGVsZXRlcyBsYXN0IHdvcmQgb25seS4KCl9fJydzYScnX18gLSBk ZWxldGlvbjogRGVsZXRlcyBiYWNrIHVudGlsIG5leHQgY21hdm8gc3Bva2VuLgoKX18nJ3N1Jydf XyAtIGRlbGV0aW9uOiBEZWxldGVzIGVudGlyZSBkaXNjb3Vyc2UuCgpUaGUgZnVuY3Rpb24gb2Yg dGhlc2Ugd29yZHMgYXJlIG9idmlvdXM6IFRoZXkgZGVsZXRlIHdvcmRzIGFzIGlmIHRoZXkgaGF2 ZSBuZXZlciBiZWVuIHNwb2tlbi4gVGhleSBkbyBub3Qgd29yayBpbnNpZGUgY2VydGFpbiBxdW90 ZXMgKGFsbCBxdW90ZXMgZXhjZXB0ICcnbHUuLmxp4oCZdScnKSwgdGhvdWdoLCBhcyB0aGF0IHdv dWxkIGxlYXZlIGl0IGltcG9zc2libGUgdG8gcXVvdGUgdGhlc2Ugd29yZHMuIFNldmVyYWwgJydz aScnIGluIGEgcm93IGRlbGV0ZXMgc2V2ZXJhbCB3b3Jkcy4KCgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIGVpZ2h0ZWVuIChxdW90ZXMpCgpPbmUgb2YgdGhlIGtleSBkZXNpZ24gZmVhdHVy ZXMgb2YgTG9qYmFuIGlzIHRoYXQgaXTigJlzIHN1cHBvc2VkIHRvIGJlIGF1ZGlvLXZpc3VhbCBp c29tb3JwaGljLCBtZWFuaW5nIHRoYXQgZXZlcnl0aGluZyBleHByZXNzZWQgaW4gdGV4dCBzaG91 bGQgYWxzbyBiZSBleHByZXNzZWQgaW4gc3BlZWNoIGFuZCB2aWNlIHZlcnNhLiBUaGVyZWZvcmUs IHRoZXJlIGNhbm5vdCBiZSBhbnkgcHVuY3R1YXRpb24gd2hpY2ggaXMgbm90IHByb25vdW5jZWQu IFRoaXMgbWVhbnMgdGhhdCBMb2piYW4gaGFzIGEgd2lkZSByYW5nZSBvZiB3b3JkcyB0byBxdW90 ZSBvdGhlciB3b3Jkcy4gQWxsIExvamJhbiBxdW90ZXMgdGFrZSBzb21lIGlucHV0IG9mIHRleHQg YW5kIGNvbnZlcnRzIGl0IHRvIGEgc3VtdGkuIExldOKAmXMgYmVnaW4gd2l0aCB0aGUgbW9zdCBz aW1wbGU6CgoKCl9fJydsdScnX18gUXVvdGUgd29yZDogQmVnaW4gcXVvdGUgb2YgZ3JhbW1hdGlj YWwgTG9qYmFuIGNvbnRlbnQKCl9fJydsaeKAmXUnJ19fIFF1b3RlIHdvcmQ6IEVuZCBxdW90ZSBv ZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKCgpUaGUgdGV4dCBpbnNpZGUgdGhpcyBjb25z dHJ1Y3QgbXVzdCBieSBpdHNlbGYgYmUgZ3JhbW1hdGljYWwuIEl0IGNhbiBxdW90ZSBhbGwgTG9q YmFuIHdvcmRzIHdpdGggc29tZSBmZXcgZXhjZXB0aW9ucywgbW9zdCBub3RhYmx5LCBvYnZpb3Vz bHksICcnbGnigJl1JycuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyBzZW50ZW5j ZS4gVGFrZSB5b3VyIHRpbWUuCgonJ21pIHN0aWRpIGxvIGRyYXRhIGJlIHR14oCZYSBsdSBrbyBq YWkgZ2F1IG1vIGxp4oCZdScnCgpfXycnZHJhdGEnJ19fIHgxIGlzIGRpZmZlcmVudCBmcm9tIHgy IGJ5IHN0YW5kYXJkCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzdWdnZXN0IHNvbWV0aGlu ZyBkaWZmZXJlbnQgdGhhbiBzb21ldGhpbmcgYWJvdXQg4oCca28gamFpIGdhdSBtb+KAnS7igJ1+ fgoKCgpUaGVzZSBxdW90ZSB3b3JkcyBjYW5ub3QgcXVvdGUgdW5ncmFtbWF0aWNhbCB0ZXh0LiBU aGlzIGlzIHNvbWV0aW1lcyB1c2VmdWwsIHdoZW4geW91IHdhbnQgdG8gb25seSBwaWNrIG91dCBw YXJ0IG9mIGEgc2VudGVuY2UsIGFzIGluOiDigJwgaXMg4oCcZ2nigJll4oCdIGEgTG9qYmFuIHN1 bXRjaXRhP+KAnQoKCgpGb3IgdGhpcywgeW91IG5lZWQgdGhlc2UgdHdvIGNtYXZvCgpfXycnbG/i gJl1JydfXyBRdW90ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiB1bmdyYW1tYXRpY2FsIGJ1dCBMb2pi YW4gY29udGVudAoKX18nJ2xl4oCZdScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIHVuZ3Jh bW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSBtdXN0IGJlIExv amJhbiB3b3JkcywgYnV0IG5lZWQgbm90IGJlIGdyYW1tYXRpY2FsLiBUcnkgdG8gdHJhbnNsYXRl IHRoZSBhYm92ZSBleGFtcGxlICh0aGUgb25lIHdpdGggJydnaSdlJycpIGludG8gTG9qYmFuCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsb+KAmXUgZ2nigJllIGxl4oCZdSBsb2pibyBzdW10 Y2l0YScnfn4KCgoKVGhpcyBxdW90ZSBjYW4gYmUgdXNlZCB0byBxdW90ZSBhbGwgTG9qYmFuIHdv cmRzIGV4Y2VwdCAnJ2xl4oCZdScnLiBIb3dldmVyLCB0aGlzIGlzIG5vdCBlbm91Z2guIElmIHdl IHdhbnQgdG8gdHJhbnNsYXRlIOKAnGlzIOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0cmFuc2xhdGlv biBvZiDigJxXaGF04oCZcyB1cD/igJ3igJ0sIHdlIG1pZ2h0IGJlIHNsaWdodGx5IHdyb25nIGFi b3V0IHdoYXQgd2UgaGVyZSBzdGF0ZSwgc2luY2UgJydkbyBtbycnIGFsc28gY2FuIG1lYW4g4oCc V2hhdCBhcmUgeW91P+KAnSwgYnV0IGxldOKAmXMgcm9sbCB3aXRoIGl0IGZvciBhIHNlY29uZC4g V2hhdCB3ZSBuZWVkIGhlcmUgaXMgdGhlIHdvcmQgJyd6b2knJy4KCgoKJyd6b2knJyBOZXh0IGNt YXZvIGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90 ZS4KCgoKV2hlbiB1c2luZyAnJ3pvaScnLCB5b3UgcGljayBhbnkgbW9ycGhvbG9naWNhbGx5IGNv cnJlY3QgbG9qYmFuIHdvcmQgYXQgd2lsbCAoY2FsbGVkIHRoZSBkZWxpbWl0ZXIpLCB3aGljaCB0 aGVuIG9wZW5zIGEgcXVvdGUuIFRvIGNsb3NlIGl0LCB1c2UgdGhhdCB3b3JkIGFnYWluLiBUaGlz IHdheSwgeW91IGNhbiBxdW90ZSBhbnl0aGluZyBleGNlcHQgdGhlIGRlbGltaXRlciwgd2hpY2gg c2hvdWxkbuKAmXQgYmUgYSBwcm9ibGVtIGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJzZWxm LiBVc3VhbGx5LCB0aGUgd29yZCBwaWNrZWQgaXMgZWl0aGVyICcnem9pJycgaXRzZWxmLCBvciBh IGxldHRlciB3aGljaCBzdGFuZHMgZm9yIHRoZSBsYW5ndWFnZSB3aGljaCB0aGUgcXVvdGUgaXMg d3JpdHRlbiBpbi4gRXhhbXBsZTog4oCcSSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmHi gJ0gaXMgJydtaSBwdSBuZWxjaSBsYeKAmWUgem9pIHpvaS4gVGhlIFBoYW50b20gb2YgdGhlIE9w ZXJhIC56b2knJyBOb3RpY2UgdHdvIHRoaW5nczogRmlyc3RseSwgSSBuZWVkIGEgJydsYeKAmWUn Jywgc2luY2UgSSBkaWRu4oCZdCBsaWtlIHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJl ZmVycmVkIHRvLiBTZWNvbmRseSwgYmV0d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhl IHF1b3RlLCB0aGVyZSBhcmUgcGF1c2VzLCBvcHRpb25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVs bCBzdG9wIGluIHdyaXRpbmcuIFRoaXMgcGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBp ZGVudGlmeSB0aGUgZGVsaW1pdGVyLgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBzZW50 ZW5jZSBjb25jZXJuaW5nIOKAnFdoYXTigJlzIHVwP+KAnQoKCgpfXycnZHJhbmknJ19fIHgxIGlz IGNvcnJlY3QvcHJvcGVyIGluIGFzcGVjdCB4MiBpbiBzaXR1YXRpb24geDMgYnkgc3RhbmRhcmQg eDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3h1IGx1IGRvIG1vIGxp4oCZdSBkcmFuaSB4ZSBm YW52YSB6b2kgZ3kuIFdoYXTigJlzIHVwPyAuZ3knJy4gSGVyZSB0aGUgZGVsaW1pdGVyICcnZ3kn JyBpcyBjaG9zZW4gYmVjYXVzZSBpdCdzIHNob3J0IGZvciAnJ2dsaWNvJycsIG1lYW5pbmcgIkVu Z2xpc2gifn4KCgoKQ2xvc2VseSBhbmFsb2dvdXNseSwgdGhlcmUgaXMgJydsYeKAmW8nJy4gSXQg d29ya3MgZXhhY3RseSBsaWtlICcnem9pJycsIGJ1dCB0dXJucyB0aGUgcmVzdWx0aW5nIHF1b3Rl IGludG8gYSBuYW1lLiBJdCBpcyBuZWVkZWQgYmVjYXVzZSBub3JtYWxseSwgb25seSBzZWxicmkg YW5kIGNtZXZsYSBjYW4gYmUgbmFtZXMsIG5vdCBxdW90ZXMuCgpfXycnbGHigJlvJydfXyBOZXh0 IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBx dW90ZSDigJMgdXNlIGFzIG5hbWUuCgoKCkxhc3Qgb2YgdGhlIG9mZmljaWFsIHF1b3RlIHdvcmRz LCB0aGVyZSBpcyAnJ3pvJycuICcnem8nJyBhbHdheXMgcXVvdGVzIHRoZSBuZXh0IExvamJhbiB3 b3JkLCBubyBtYXR0ZXIgd2hhdCBpdCBpcy4gSXTigJlzIHByZXR0eSBoYW5keS4KCicnem8nJyBR dW90ZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIgd2hhdC4KCkV4YW1wbGU6ICcnem8gem8g em/igJlvIHBsaXhhdScnID0g4oCcIOKAnHpv4oCdIGlzIHVzZWZ1bCwgaGVoZeKAnQoKX18nJ3pv 4oCZbycnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IEh1bW9yb3VzbHksIOKAnGtpZGRpbmcg eW914oCdCgpfXycncGxpeGF1JydfXyB4MSBpcyB1c2VmdWwgZm9yIHgyIHRvIGRvIHB1cnBvc2Ug eDMKCgoKTG9qYmFuIHVzZXJzIGhhdmUgZm91bmQgaXQgdXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0 aCBmb3VyIGFkZGl0aW9uYWwgcXVvdGUgd29yZHMuIFRoZXkgYXJlIGFsbCBleHBlcmltZW50YWws IGFuZCB0aGUgZm9ybWFsIGdyYW1tYXIgZG9lcyBub3Qgc3VwcG9ydCBpdC4gTm9uZXRoZWxlc3Ms IHRoZXkgYXJlIHVzZWQgb2Z0ZW4sIGFuZCBpdOKAmXMgZ29vZCB0byBiZSBhYmxlIHRvIHJlY29n bml6ZSB0aGVtLiBUaGUgbW9zdCB1c2VkIGlzOgoKCgpfXycnem/igJlvaScnX18gUXVvdGUgbmV4 dCB3b3JkIG9ubHkuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2gg b3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgoKCgpFeGFtcGxlOiAnJ3JpIHB1IGN1c2t1IHpv4oCZ b2kgRG9oISAudeKAmWknJyDigJxIYSBoYSwgaGUgc2FpZCDigJxEb2gh4oCdIOKAnAoKCgpJdOKA mXMgdmVyeSBlYXN5IHRvIHVzZS4gQWdhaW4sIG5vdGUgdGhhdCBhbGwgZ3JhbW1hciBib3RzIHdp bGwgY29uc2lkZXIgdGhlIHNlbnRlbmNlIG5vdCBncmFtbWF0aWNhbCwgYmVjYXVzZSB0aGVzZSB3 b3JkcyBkbyBub3QgZXhpc3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLgoKCgpBbmFsb2dvdXMgdG8g Jyd6bydvaScnIGFuZCAnJ2xh4oCZbycnLCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGHigJlv aScnLCB3aGljaCB3b3JrcyBqdXN0IGxpa2UgJyd6b+KAmW9pJycsIGJ1dCB0cmVhdHMgdGhlIHF1 b3RlIGFzIGEgbmFtZToKCl9fJydsYeKAmW9pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seSwgdXNl IGFzIG5hbWUuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Ig d2hpdGVzcGFjZSBpbiB3cml0aW5nOgoKCgpIb3cgd291bGQgeW91IHNheTog4oCcTXkgRW5nbGlz aCBuYW1lIGlzIOKAnFNhZmnigJ3igJ0/CgpfXycnZ2xpY28nJ19fIHgxIGlzIEVuZ2xpc2gvcGVy dGFpbnMgdG8gRW5nbGlzaCBjdWx0dXJlIGluIGFzcGVjdCB4MgoKX18nJ2NtZW5lJydfXyB4MSBp cyB0aGUgbmFtZSBvZiB4MiBhcyB1c2VkIGJ5IHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSBnbGljbyBzZSBjbWVuZSBsYeKAmW9pIFNhZmknJy4gTm90aWNlIHRoZSBuZWNlc3Nhcnkgc2Uu IFdlIGRvbuKAmXQgd2hhdCB0byBzYXkgdGhhdCB3ZeKAmXJlIGEgbmFtZSF+fgoKCgpUaGlyZGx5 LCAnJ3Jh4oCZb2knJyBxdW90ZXMgdGhlIG5leHQgcmFmc2kuIFNpbmNlIHJhZnNpIGFyZSBub3Qg d29yZHMsIHRoZXkgd291bGQgdXN1YWxseSBoYXZlIHRvIGJlIHF1b3RlZCBieSAnJ3pvaScnLiBG dXJ0aGVybW9yZSwgc2V2ZXJhbCByYWZzaSBhcmUgYWxzbyBjbWF2by4gVG8gYXZvaWQgY29uZnVz aW9uIG9mIHdoaWNoIGlzIG1lYW50LCAnJ3Jh4oCZb2knJyBhbHdheXMgcmVmZXIgdG8gYSByYWZz aSwgYW5kIGlzIHdyb25nIGluIGZyb250IG9mIGFueSB0ZXh0IHN0cmluZyB3aGljaCBhcmUgbm90 IHJhZnNpLgoKCgpXaGF0IGRvZXMgJydyYeKAmW9pIHp14oCZZSByYWZzaSB6byB6dWt0ZSAuaWt1 4oCZaSB6b+KAmW9pIHp14oCZZSBzdW10Y2l0YScnIG1lYW4/CgpfXycna3XigJlpJydfXyBhdHRp dHVkaW5hbDogZGlzY3Vyc2l2ZTogSG93ZXZlciAvIHRob3VnaCAoY29udHJhc3RzIHRvIHNvbWV0 aGluZyBwcmV2aW91c2x5IHNhaWQpCgpfXycncmFmc2knJ19fIHgxIGFuIGFmZml4IGZvciB3b3Jk L2NvbmNlcHQgeDIgd2l0aCBwcm9wZXJ0aWVzL29mIGZvcm0geDMgaW4gbGFuZ3VhZ2UgeDQKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGUgcmFmc2kg4oCcenXigJll4oCdIGlzIGEgcmFmc2kg Zm9yIOKAnHp1a3Rl4oCdLiBCdXQg4oCcenXigJll4oCdIGlzIGEgc3VtdGNpdGHigJ1+fgoKCgpB bmQgZmluYWxseSB0aGUgdXNlZnVsIHdvcmQgJydtYeKAmW9pJycuICcnbWHigJlvaScnIHF1b3Rl cyBhbnkgY21hdm8sIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQg Y2xhc3MgKHNlbG1h4oCZbykgdG8gd2hpY2ggdGhhdCB3b3JkIGJlbG9uZ3MuIFNvLCBmb3IgaW5z dGFuY2UsIGJh4oCZbyBiZWxvbmdzIHRvIHRoZSB3b3JkY2xhc3MgY2FsbGVkIFpBaE8sIHNvICcn bWHigJlvaSBiYeKAmW8nJyBpcyB1bm9mZmljaWFsIExvamJhbiBmb3Ig4oCcWmFoT+KAnQoKCgpU cnkgaXQgb3V0LiBTYXkgdGhhdCAnJ3B1JycgYW5kICcnYmEnJyBhcmUgaW4gdGhlIHNhbWUgc2Vs bWHigJlvIQoKX18nJ2NtYXZvJydfXyB4MSBpcyBhIGdyYW1tYXRpY2FsIHdvcmQgb2YgY2xhc3Mg eDIgaW4gbGFuZ3VhZ2UgeDMKCgoKKE9uZSBwb3NzaWJsZSkgQW5zd2VyOiAgfn5ncmV5LGdyZXk6 Jyd6byBwdSBjbWF2byBtYeKAmW9pIGJhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gbmluZXRlZW4gKG51bWJlcnMpCgpXaGVuIGxlYXJuaW5nIGEgbGFuZ3VhZ2UsIG9uZSBvZiB0 aGUgdGhpbmdzIHdoaWNoIGFyZSB1c3VhbGx5IHRhdWdodCB2ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0 byBjb3VudC4gVGhpcyByZWFsbHkgbWFrZXMgbGl0dGxlIHNlbnNlLCBiZWNhdXNlIGl04oCZcyBu b3QgbmVjZXNzYXJ5IHRvIGtub3cgbnVtYmVycyBpZiB5b3UgZG9u4oCZdCBrbm93IGhvdyB0byBz cGVhayBhYm91dCB0aG9zZSB0aGluZ3MgdG8gd2hpY2ggdGhleSBhcHBseS4gVGhpcyBpcyBwYXJ0 bHkgdGhlIHJlYXNvbiB3aHkgSSBoYXZlIGxlZnQgaXQgZm9yIGxlc3NvbiBudW1iZXIgbmluZXRl ZW4uIFRoZSBvdGhlciByZWFzb24gaXMgdGhhdCB3aGlsZSB0aGUgbnVtYmVycyB0aGVtc2VsdmVz IGFyZSBlYXN5IHRvIGxlYXJuLCBob3cgdGhleSBhcHBseSB0byBzdW10aSBjYW4gZ2V0IHZlcnkg Y29uZnVzaW5nIGluZGVlZC4gVGhhdCwgaG93ZXZlciwgd2Ugd2lsbCBzYXZlIGZvciBhIGxhdGVy IGxlc3Nvbi4KCkJlZm9yZSBsZWFybmluZyB0aGUgd29yZHMgdGhlbXNlbHZlcywgeW91IHNob3Vs ZCBrbm93IHRoYXQgbnVtYmVycyBkbyBub3QgaGF2ZSBhbnkgaW50ZXJuYWwgZ3JhbW1hci4gVGhp cyBtZWFucyB0aGF0IGFueSByb3cgb2YgbnVtYmVyIHdvcmRzIChoZW5jZWZvcnRoIHJlZmVycmVk IHRvIGFzIGEgIm51bWJlciBzdHJpbmciKSBhcmUgdHJlYXRlZCBpZGVudGljYWxseSB0byBhbnkg b3RoZXIgbnVtYmVyIHN0cmluZyB0byB0aGUgTG9qYmFuIGdyYW1tYXIsIGV2ZW4gaWYgdGhlIHN0 cmluZyBtYWtlcyBubyBzZW5zZS4gVGhlcmVmb3JlLCBvbmUgY2FuIG5ldmVyIGFuc3dlciB1bmFt YmlndW91c2x5IHdoZXRoZXIgYSBudW1iZXIgY29uc3RydWN0IG1ha2VzIHNlbnNlIG9yIG5vdC4g VGhlcmUgYXJlLCBob3dldmVyLCBpbnRlbmRlZCB3YXlzIG9mIHVzaW5nIHRoZSBudW1iZXIgd29y ZHMsIGFuZCBjb25mdXNpb24gd2lsbCBwcm9iYWJseSByZXN1bHQgaWYgeW91IGRldmlhdGUgZnJv bSB0aGUgc3RhbmRhcmQuCgpMZWFybmluZyBhbGwgdGhlIG51bWJlciB3b3JkcyBvZiBMb2piYW4g YXJlIHdheSBiZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMgbGVzc29uLCBzbyB5b3Ugd2lsbCBvbmx5 IGJlIGludHJvZHVjZWQgdG8gd2hhdCBpcyBub3JtYWxseSB1c2VkIGluIHRleHQuIFRoZSB3aWRl IHJhbmdlIG9mIExvamJhbiBtYXRoZW1hdGljYWwgY21hdm8gYXJlIGNhbGxlZCAnJ21la3NvJycg KExvamJhbiBmb3IgIm1hdGhlbWF0aWNhbCBleHByZXNzaW9uIiksIGFuZCBpcyB3aWRlbHkgZGlz cmVnYXJkZWQgYmVjYXVzZSBvZiBpdHMgY29tcGxleGl0eSBhbmQgcXVlc3Rpb25hYmxlIGFkdmFu dGFnZSBvdmVyIHNvLWNhbGxlZCBicmlkaSBtYXRoLgoKTGV04oCZcyBiZWdpbiB3aXRoIHRoZSBv cmRpbmFyeSBMb2piYW4gbnVtYmVycywgZnJvbSB6ZXJvIHRvIG5pbmU6Cgp8fHplcm98b25lfHR3 b3x0aHJlZXxmb3VyfGZpdmV8c2l4fHNldmVufGVpZ2h0fG5pbmUKCm5vfHBhfHJlfGNpfHZvfG11 fHhhfHplfGJpfHNvfHwKCk5vdGljZSBob3cgdGhlIHZvd2VscyBhcmUgYWx0ZXJuYXRpbmcgKHdp dGggdGhlIGV4Y2VwdGlvbiBvZiAnJ25vJycpLCBhbmQgaG93IG5vIGNvbnNvbmFudCBpcyB1c2Vk IGZvciB0d28gZGlnaXRzLgoKSW4gb3JkZXIgdG8gZXhwcmVzcyBudW1iZXJzIGhpZ2hlciB0aGFu IG5pbmUsIHRoZSBudW1iZXJzIGFyZSBqdXN0IHN0cnVuZyB0b2dldGhlcjoKCicndm8gbXUgY2kn JyDigJMgZm91ciBodW5kcmVkIGFuZCBmaWZ0eSB0aHJlZSAoNDUzKQoKJydwYSBubyBubyBubyBu bycnIHRlbiB0aG91c2FuZCAoMTAgMDAwKQoKVGhlcmUgaXMgYWxzbyBhIOKAnHF1ZXN0aW9uLWRp Z2l04oCdLCB3aGljaCBpcyB1c2VkIGxpa2Ugb3RoZXIgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rp b24gd29yZHMuIEl04oCZcyAnJ3hvJycuIFRoZSBhbnN3ZXIgdG8gc3VjaCBhIHF1ZXN0aW9uIG1h eSBiZSBqdXN0IHRoZSByZWxldmFudCBkaWdpdChzKSBieSBpdHNlbGYsIG9yIHRoZXkgY2FuIGJl IG51bWVyaWNhbCBjb25zdHJ1Y3RzLCBhcyBzaG93biBsYXRlci4KCicnY2kgeG8geG8geG8nJyDi gJMgIlRocmVlIHRob3VzYW5kIGFuZCBob3cgbWFueT8iICgzPz8/KQoKX18nJ3hvJydfXyBxdWVz dGlvbiBkaWdpdCDigJMgdXNlIGxpa2UgYW55IG90aGVyIGRpZ2l0IHRvIGFzayBmb3IgdGhlIGNv cnJlY3QgZGlnaXQuCgpUaGUgZXhwZXJpbWVudGFsIHdvcmQgJyd4bydlJycgaXMgc29tZXRpbWVz IHVzZWQgdG8gbWVhbiBhbiB1bnNwZWNpZmllZCwgZWxsaXB0aWNhbCBkaWdpdC4gSXRzIGRlZmlu aXRpb24gaXMgbm90IG9mZmljaWFsLCB0aG91Z2guCgonJ2NpIHhv4oCZZSB4b+KAmWUgeG/igJll Jycg4oCTIFRocmVlIHRob3VzYW5kIGFuZCBzb21ldGhpbmcKCl9fJyd4bydlJydfXyBlbGxpcHRp Y2FsIGRpZ2l0LgoKU2luY2UgYWxsIG51bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVkIGdyYW1tYXRp Y2FsbHkgdGhlIHNhbWUsIG9uZSBtaWdodCBhbHNvIGFuc3dlciBzZXZlcmFsIGRpZ2l0cyB0byBv bmUgJyd4bydlJycKCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGFsc28gYSBzZXQgb2YgaGV4YWRl Y2ltYWwgZGlnaXRzIEEgdGhyb3VnaCBGLiBCeSBkZWZhdWx0LCBMb2piYW4gb3BlcmF0ZXMgaW4g YmFzZSAxMCwgYnV0IHdoZW4gdXNpbmcgaGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBjYW4gYmUgc2Fm ZWx5IGFzc3VtZWQgdGhhdCB5b3UgdXNlIGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZlaXxnYWl8amF1 fHJlaXx4ZWkgfHZhaXwKCjEwKEEpfDExKEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0KEUpfDE1KEYp fHwKClllcywgSSBrbm93IHRoZXJlIGFyZSB0d28gd29yZHMgZm9yIEUuIFRoZSBvZmZpY2lhbCBv bmUgaXMgJydyZWknJyAoYWxsIHRocmVlLWxldHRlciBjbWF2byBiZWdpbm5pbmcgd2l0aCB4IGlz IGV4cGVyaW1lbnRhbCkuICcneGVpJycgd2FzIGludmVudGVkIHRvIGF2b2lkIGNvbmZ1c2lvbiB3 aXRoICcncmUnJy4KClRoZSBiYXNlIGNhbiBiZSBleHBsaWNpdGx5IHN0YXRlZCB1c2luZyAnJ2p1 J3UnJzogQW55IG51bWJlciBiZWZvcmUgJydqdSd1JycgdGhlIG51bWJlciBiZWluZyBzcG9rZW4g b2YsIGFueSBudW1iZXIgYWZ0ZXIgaXMgdGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoKCicnZGF1IHNv IGZlaSBubyBqdeKAmXUgcGEgcmUnJyDigJMgQTlCMCBpbiBiYXNlIDEyIChub3RpY2UgaGVyZSB0 aGF0IGJhc2UgMTIgaXMgYWx3YXlzIGluIGRlY2ltYWwuIEl0IGlzIHBvc3NpYmxlIHRvIHBlcm1h bmVudGx5IGNoYW5nZSB0aGUgYmFzZSB5b3Ugc3BlYWsgaW4sIGJ1dCBzaW5jZSBpdCBoYXMgbmV2 ZXIgYmVlbiB1c2VkIGluIHByYWN0aWNlLCBpdCBoYXMgbm90IGJlZW4gc3RhbmRhcmRpemVkIGhv dyBvbmUgc2hvdWxkIGRvIGl0KQoKRnJhY3Rpb25zIGFyZSBhbHNvIHVzZWZ1bCB0byBsZWFybiBo b3cgdG8gZXhwcmVzcy4gVGhleSBhcmUgdXN1YWxseSBleHByZXNzZWQgdmlhIGEgZGVjaW1hbCBw b2ludCwgJydwaScnLgoKX18nJ3BpJydfXyBEZWNpbWFsIHBvaW50IChvciBwb2ludCBpbiB3aGlj aGV2ZXIgYmFzZSB5b3UgYXJlIHRhbGtpbmcgaW4pCgonJ3BhIHJlIHBpIHJlIG11Jycg4oCTIHR3 ZWx2ZSBwb2ludCB0d28gZml2ZSAoMTIuMjUpLiAKCkxpa2UgaW4gbWF0aGVtYXRpY3MsIHdoZW4g bm8gbnVtYmVyIHN0cmluZyBpcyBwbGFjZWQgYmVmb3JlIG9yIGFmdGVyICcncGknJywgemVybyBp cyBhc3N1bWVkLiAKClJlbGF0ZWQgdG8gdGhpcywgdGhlIG51bWJlciBzZXBhcmF0b3IgJydwaSdl JycgaXMgdXNlZCB0byBzZXBhcmF0ZSBudW1iZXJzLCBlaXRoZXIgdG8gc2VwYXJhdGUgZGlnaXRz IHdoZW4gc3BlYWtpbmcgaW4gYSBiYXNlIGxhcmdlciB0aGFuIHNpeHRlZW4sIG9yIHdoZW4gYSBk ZWNpbWFsIHBvaW50IGlzIG5vdCBhcHBsaWNhYmxlLCBmb3IgaW5zdGFuY2UsIHdoZW4gdGFsa2lu ZyBhYm91dCB0aW1lIGluIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzOgoKJydwYSBzbyBwaSdlIHJl IG11IHBpJ2Ugbm8ganUndSByZSB6ZScnIOKAkyBOaW5ldGVlbiwgdHdlbnR5LWZpdmUsIHplcm8g aW4gYmFzZSAyNyAoSlAwIGJhc2UgMjcpCgonJ3JlIHJlIHBp4oCZZSB2byBiaScnIOKAkyB0d2Vu dHktdHdvLCBmb3VydHkgZWlnaHQgKDIyOjQ4KQoKCgpUaGVyZSBpcyBhbHNvIGEgcmFuZ2Ugb2Yg bnVtYmVyIHdvcmRzIHdoaWNoIGFyZSBub3QgbWF0aGVtYXRpY2FsbHkgZXhhY3QgYnV0IHJhdGhl ciBzdWJqZWN0aXZlIG9yIHJlbGF0aXZlLiBUaGUgYmVoYXZpb3JzIG9mIHRoZXNlIHdvcmRzIGFy ZSBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBiZWhhdmlvciBvZiBkaWdpdHMsIGV4Y2VwdCB0aGV5 IGNhbm5vdCBiZSBjb21iaW5lZCB0byBtYWtlIGJpZ2dlciBudW1iZXJzIHRoZSB3YXkgZGlnaXRz IGNhbjoKCnx8IHJvfHNvJ2F8c28nZXxzbydpfHNvJ298c28ndXwKCmFsbHxhbG1vc3QgYWxsfG1v c3R8bWFueXxzb21lfGZld3x8CgpXaGVuIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBkaWdpdHMs IHRoZXNlIHdvcmRzIGFyZSBhc3N1bWVkIHRvIGdpdmUgYSBzZWNvbmQgdmVyZGljdCBhYm91dCB0 aGUgc2l6ZSBvZiB0aGUgbnVtYmVyOgoKJydtdSBiaSBzbydpIHNhaScnIOKAk0ZpZnR5IGVpZ2h0 LCB3aGljaCBpcyByZWFsbHkgbWFueS4KClRoZXkgc2hvdWxkIHRoZXJlZm9yZSBub3QgYmUgcGxh Y2VkIGluIHRoZSBtaWRkbGUgb2YgYSBudW1iZXIgc3RyaW5nLiBXaGVuIHBsYWNlZCBhZnRlciAn J3BpJycsIHRoZXkgYXJlIGFzc3VtZWQgdG8gY29udmV5IHRoZSBzaXplIG9mIGEgZnJhY3Rpb246 CgonJ3BpIHNvJ2knJyDigJMgYSBnb29kIHBhcnQgb2YgaXQ6CgonJ3BpIHNvJ28nJyDigJMgc29t ZSBvZiBpdCAKCicncGkgc28nYScnIOKAkyBhbG1vc3QgYWxsIG9mIGl0CgoKClRoZXNlIGFyZSBz b21lIGhpZ2h0bHkgc3ViamVjdGl2ZSBudW1iZXJzIC0gdGhleSB3b3JrIGp1c3QgbGlrZSB0aGUg cHJldmlvdXMgb25lcy4KCnx8ZHXigJllfG1vJ2F8cmF1Cgp0b28gbWFueXx0b28gZmV3fGVub3Vn aHx8CgpUaGUgZm9sbG93aW5nIGZpdmUgYXJlIGNvbnRleHQtYmFzZWQgbnVtYmVycyDigJMgdGhl c2Ugd29yayBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0 aGV5IHRha2UgdGhlIG5leHQgbnVtYmVyIGluIG9yZGVyIHRvIGFzc2lnbiB0aGVtIG1lYW5pbmc6 Cgp8fGRhJ2F8c3UnZXxzdSdvfHphJ3V8bWUnaQoKYWxsIGV4Y2VwdCBuIHxBdCBtb3N0IG58QXQg bGVhc3Qgbnxtb3JlIHRoYW4gbnxsZXNzIHRoYW4gbnx8CgpJZiBubyBudW1iZXIgc3RyaW5nIGZv bGxvdyB0aGVtLCDigJxvbmXigJ0gaXMgYXNzdW1lZC4KCicnc2/igJlpIHBhIHJlIGRhJ2EgbXUn JyDigJMgTWFueSwgd2hpY2ggaXMgdHdlbHZlLCB3aGljaCBpcyBhbGwgYnV0IGZpdmUuCgpUaGUg dHdvIGxhc3QgbnVtYmVyIHdvcmRzIHlvdSBzaG91bGQga25vdyBoYXZlIHNsaWdodGx5IG1vcmUg Y29tcGxpY2F0ZWQgZ3JhbW1hcjoKCl9fJydqaSdpJydfXyAtIG51bWJlciByb3VuZGluZyBvciBu dW1iZXIgYXBwcm94aW1hdGlvbgoKV2hlbiAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVmb3JlIGEgbnVt YmVyLCB0aGUgZW50aXJlIG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6CgonJ2ppJ2kgemUgemEndSBy YXUganUnbycnIOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0aGFuIGVub3VnaCwg Y2VydGFpbmx54oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbnVtYmVyLCBvbmx5IHRo ZSBmb2xsb3dpbmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBlbmQgb2YgYSBudW1iZXIs IGl0IHNpZ25pZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91bmRlZCBvZmYuIAoKX18n J2tpJ28nJ19fIE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRzIHdpdGhpbiBvbmUgc3Ry aW5nOyBUaG91c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhhdCAnJ2tpJ28nJyBzb3Vu ZHMgbGlrZSDigJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2knbycnIGlzIHVzZWQgdG8g c2VwYXJhdGUgdGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBudW1iZXJzLCBtdWNoIGxp a2UgY29tbWFzIGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28gc28gc28gc28ga2knbyBi aSB4YSB6ZScnIOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJlZSBkaWdpdHMgYXJlIHB1 dCBiZWZvcmUgYSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1lZCB0byBiZSB0aGUgbGVh c3Qgc2lnbmlmaWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVkIHRvIGZpbGwgaW4gdGhl IHJlc3Q6CgonJ3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28nJyDigJMgNCwwMzgsMDAx LDAwMCwwMDAKCicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVyIGEgZGVjaW1hbCBwb2lu dC4KCgoKVGhhdCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVtYmVycyB0aGVtc2VsdmVz LiBIb3cgdGhleSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4gaXRzZWxmLCBhbmQgd2Ug bGVhdmUgdGhhdCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBmb2N1cyBvbiBob3cgdGhl c2UgbnVtYmVycyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJpbmcgb2YgbnVtYmVyIHdv cmRzIGJ5IHRoZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0aGV5IGNhbiBhY3QgYXMg YW4gYW5zd2VyIHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIEluIHRoaXMgY2FzZSwgaG93 ZXZlciwgdGhleSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFueSBicmlkaS4gSW4gZ2Vu ZXJhbCwgaWYgbnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhleSBkbyBzbyBpbiBvbmUg b2YgdHdvIGZvcm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJzLgoKQSBwdXJlIG51bWJl ciBpcyBhbnkgcm93IG9mIG51bWJlciB3b3JkcyBwcmVmaXhlZCB3aXRoICcnbGknJy4gVGhpcyBt YWtlcyBhIHN1bXRpIGRpcmVjdGx5IGZyb20gdGhlIG51bWJlciwgYW5kIHJlZmVycyB0byB0aGUg bWF0aGVtYXRpY2FsIGNvbmNlcHQgb2YsIGZvciBpbnN0YW5jZSwg4oCcdGhlIG51bWJlciBzaXji gJ0uIEl0cyBmYSdvcm1hJ28gaXMgJydsbydvJycKCl9fJydsaScnX18gY29udmVydCBudW1iZXIv bWVrc28tZXhwcmVzc2lvbiB0byBzdW10aS4KCl9fJydsbydvJydfXyBmYSdvcm1hJ286IGVuZCBj b252ZXJ0IG51bWJlci9tZWtzby1leHByZXNzaW9uIHRvIHN1bXRpLgoKVGhlc2UgcHVyZSBzdW10 aSBhcmUgdXN1YWxseSB3aGF0IGZpbGxzIHRoZSB4MiBvZiBicml2bGEgc3VjaCBhcyAnJ21pdHJl Jycgb3IgJydjYWNyYScnCgpfXycnbWl0cmUnJ19fIHgxIGlzIHgyIG1ldHJlcyBpbiBkaW1lbnNp b24geDMgYnkgc3RhbmRhcmQgeDQKCl9fJydjYWNyYScnX18geDEgaXMgeDIgaG91cnMgaW4gZHVy YXRpb24gKGRlZmF1bHQgMSkgYnkgc3RhbmRhcmQgeDMKCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUg Zm9sbG93aW5nOgoKJydsZSB0YSBudSBjaW5qaWtjYSBjdSBjYWNyYSBsaSBjaSBqaSdpIHUnaSBu YWknJwoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCdKnNpZ2gqIFRoYXQgZmxpcnRpbmcgaGFzIGJl ZW4gZ29pbmcgb24gZm9yIGFyb3VuZCB0aHJlZSBob3Vycy7igJ0gfn4KCkhvdyBkbyB5b3UgY291 bnQgdG8gdGhyZWUgaW4gTG9qYmFuPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJydsaSBwYSBsaSBy ZSBsaSBjaScnIH5+CgoKClRoZSBsYXN0IHRoaW5nIHdl4oCZbGwgZ28gdGhyb3VnaCBpbiB0aGlz IGxlc3NvbiBpcyB0aGUgd29yZHMgb2YgdGhlIHNlbG1h4oCZbyBNQUkgYW5kIHRob3NlIG9mIE1P SS4KCk1BSSBvbmx5IGNvbnRhaW5zIHR3byB3b3JkcywgJydtYWknJyBhbmQgJydtbydvJycuIEJv dGggb2YgdGhlc2UgY29udmVydCBhbnkgbnVtYmVyIHN0cmluZyB0byBhbiBvcmRpbmFsLCB3aGlj aCBoYXMgdGhlIGdyYW1tYXIgb2YgYXR0aXR1ZGluYWxzLiBPcmRpbmFscyBhcmUgdXNlZCB0byBk aXZpZGUgYSB0ZXh0IGludG8gbnVtYmVyZWQgc2VnbWVudHMsIGxpa2UgY2hhcHRlcnMgb3IgcGFy dHMuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiAnJ21haScnIGFuZCAnJ21vJ28nJyBpcyB0 aGF0ICcnbW8nbycnIHF1YW50aWZpZXMgbGFyZ2VyIHN1YmRpdmlzaW9ucyBvZiB0ZXh0LCBhbGxv d2luZyB5b3UgdG8gZGl2aWRlIGEgdGV4dCBvbiB0d28gZGlmZmVyZW50IGxldmVscywgZm9yIGV4 YW1wbGUgZW51bWVyYXRpbmcgY2hhcHRlcnMgd2l0aCAnJ21vJ28nJyBhbmQgc2VjdGlvbnMgd2l0 aCAnJ21haScnLiBOb3RpY2UgdGhhdCB0aGVzZSBhcyB3ZWxsIGFzIHRoZSBNT0kgdGFrZSBhbnkg bnVtYmVyIHN0cmluZyBkaXJlY3RseSwgd2l0aG91dCBhbnkgbmVlZCBmb3IgJydsaScnLgoKX18n J21haScnX186IExvd2VyLW9yZGVyIG9yZGluYWwgbWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBv cmRpbmFsCgpfXycnbW/igJlvJydfXzogSGlnaGVyIG9yZGVyIG9yZGluYWwgbWFya2VyOiBDb252 ZXJ0IG51bWJlciB0byBvcmRpbmFsLgoKCgpUaGVyZSBhcmUgZml2ZSBNT0ksIGFuZCB0aGV5IGFs bCBjb252ZXJ0IGFueSBudW1iZXIgc3RyaW5nIHRvIHNlbGJyaS4gV2XigJlsbCB0YWtlIHRoZW0g b25lIGF0IGEgdGltZToKCl9fJydtb2knJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6 IHgxIGlzIHRoZSBu4oCZdGggbWVtYmVyIG9mIHNldCB4MiBieSBvcmRlciB4MwoKRXhhbXBsZTog JydsYSBsdXRjaW1pbiBjaSBtb2kgbG8naSBuaW5tdSBwZW5kbyBiZSBtaSBsZSBzdSd1IGxvIGNs YW5pIHptYWR1IGN1IGxpZG5lIGxvIGNsYW5pIG1sZWNhJycg4oCTIOKAnEx1aS1DaGkgTWluIGlz IHRoaXJkIGFtb25nIG15IGZlbWFsZSBmcmllbmRzIGJ5IHRoZSBvcmRlcjogVGhlIG1vcmUgdGFs bCBvbmVzIHByZWNlZGVzIHRoZSBsZXNzIHRhbGwgb25lc+KAnS4KCihXaGVuIHNwZWNpZnlpbmcg YSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5IHVuZGVyc3Rvb2QgdGhhdCBpZiBhICcna2EnJy1hYnN0 cmFjdGlvbiAobGVzc29uIHR3ZW50eS1laWdodCkgaXMgdXNlZCBhcyBhIHN1bXRpLCB0aGUgbWVt YmVycyBvZiB0aGUgc2V0IGFyZSBvcmRlcmVkIGZyb20gdGhlIG9uZSB3aXRoIG1vc3Qgb2YgdGhl IHByb3BlcnR5IHRvIHRoZSBvbmUgd2l0aCBsZXNzIG9mIHRoZSBwcm9wZXJ0eSwgc28gdGhlIHgz IG9mIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UgY291bGQgaGF2ZSBiZWVuIHNob3J0ZW5lZCB0byAn J2xvIGthIGNsYW5pJycpCgpfXycnbGlkbmUnJ19fIHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5j ZSB4MwoKX18nJ2NsYW5pJydfXyB4MSBpcyBsb25nIGluIGRpbWVuc2lvbiB4MiBieSBzdGFuZGFy ZCB4MwoKX18nJ3ptYWR1JydfXyB4MSBleGNlZWRzIHgyIGluIHByb3BlcnR5IHgzIGJ5IGFtb3Vu dCB4NAoKX18nJ21sZWNhJydfXyB4MSBpcyBsZXNzIHRoYW4vaXMgbGVzcyBjaGFyYWN0ZXJpemVk IHRoYW4geDIgYnkgcHJvcGVydHkgeDMgYnkgYW1vdW50IHg0CgoKCl9fJydtZWknJ19fIC0gQ29u dmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBtYXNzIGZvcm1lZCBmcm9tIHRoZSBz ZXQgeDIsIHdoaWNoIGhhcyB0aGUgbiBtZW1iZXJzIG9mIHgzCgpOb3RpY2UgaGVyZSB0aGF0IHgz IGFyZSBzdXBwb3NlZCB0byBiZSBpbmRpdmlkdWFscywgeDIgYSBzZXQgYW5kIHgxIGEgbWFzcy4K CldoYXQgd291bGQgJydtaSBjaSBtZWknJyBtZWFuPyAKCkFud2VyOiB+fmdyZXksZ3JleTrigJxX ZSBhcmUgZ3JvdXAgb2YgdGhyZWUu4oCdfn4KCgoKX18nJ3NpJ2UnJ19fIC0gQ29udmVydCBudW1i ZXIgbiB0byBzZWxicmk6IHgxIGlzIG9uZS1udGggb2YgbWFzcyB4MgoKRXhhbXBsZTogJydsZSB2 aSBwbGlzZSBjdSBtZSdpIHBpIHBhIHNpJ2UgbGVpIG1pIGNpZGphIGJlIHplJ2EgbG8gZGplZGkn JyDigJMg4oCcVGhpcyBhcHBsZSBoZXJlIGlzIGxlc3MgdGhhbiBvbmUgdGVudGggb2YgbXkgZm9v ZCBmb3Igb25lIGRheeKAnQoKX18nJ2N1J28nJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxi cmk6IHgxIGhhcyBuIHByb2JhYmlsaXR5IG9mIG9jY3VycmluZyB1bmRlciBjb25kaXRpb25zIHgy CgpFeGFtcGxlOiAnJ2xvIG51IG1pIG1yb2JpJ28gY3UgcGEgY3UnbyBsbyBudSBtaSBkZW5wYSBy aScnIOKAkyDigJ1BbiBldmVudCBvZiBtZSBkeWluZyBoYXMgcHJvYmFiaWxpdHkgMSB1bmRlciB0 aGUgY29uZGl0aW9uczogSSB3YWl0IGZvciBpdOKAnSA9IOKAnU1lIGR5aW5nIGlzIGNvbXBsZXRl bHkgY2VydGFpbiBpZiBJIHdhaXQgbG9uZyBlbm91Z2gu4oCdCgpfXycnZGVucGEnJ19fIHgxIHdh aXRzIGZvciB4MiwgYmVpbmcgaW4gc3RhdGUgeDMgdW50aWwgcmVzdW1pbmcvZG9pbmcgeDQKCl9f Jyd2YSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBhdCB0aGUgbuKA mXRoIHBvc2l0aW9uIG9uIHRoZSBzY2FsZSB4MgoKRXhhbXBsZTogJydsaSBwYSBubyBjdSBybyB2 YeKAmWUgbGEgdG9yaW5vbicnIOKAkyDigJwxMCBpcyB0aGUgaGlnaGVzdCB2YWx1ZSBvbiB0aGUg VG9yaW5vLXNjYWxl4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHkgKGJv LCBrZSwgY28gYW5kIG1vcmUgY3V0ZW5lc3MpCgpTYXkgeW914oCZcmUgYW4gaW1wb3J0YW50IEFt ZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVycy4gSG93IGRvIHlvdSBleHByZXNzIHRoaXM/IEZvciBj b25zdHJ1Y3RzIGxpa2UgdGhlc2UsIHRhbnJ1IGFyZSBpZGVhbDogJydtaSB2YWpuaSBtZXJrbyBz a2FtaSB0ZSB2ZWNudScnLiBObyB3YWl0LCB0aGF04oCZcyBub3QgcmlnaHQuIFRhbnJ1IGFyZSBn cm91cGVkIGZyb20gbGVmdCB0byByaWdodCwgc28gdGhpcyB0YW5ydSBpcyB1bmRlcnN0b29kOiAo KCcndmFqbmkgbWVya28nJykgJydza2FtaScnKSAnJ3RlIHZlY251JycsIGEgYnV5ZXIgb2YgY29t cHV0ZXJzIGZvciBpbXBvcnRhbnQgQW1lcmljYW5zLiBZb3UgY2Fu4oCZdCBjaGFuZ2UgdGhlIG9y ZGVyIG9mIHRoZSBzZWxicmkgdG8gZ2V0IGEgdXNlZnVsIHRhbnJ1LiBOZWl0aGVyIGNhbiB0aGlz IGJlIHNvbHZlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIHdoaWNoIHlvdSB3aWxsIGZpcnN0 IGxlYXJuIGFib3V0IGxhdGVyIGFueXdheS4gVGhlIG9ubHkgd2F5IHRvIG1ha2UgYSBmaXR0aW5n IHRhbnJ1IGlzIHRvIGZvcmNlIHRoZSBzZWxicmkgdG8gZ3JvdXAgZGlmZmVyZW50bHkuCgoKClRv IGJpbmQgdHdvIHNlbGJyaSBjbG9zZSB0b2dldGhlciBpbiBhIHRhbnJ1LCB0aGUgd29yZCAnJ2Jv JycgY2FuIGJlIHBsYWNlZCBiZXR3ZWVuIHRoZW06ICcnbWkgdmFqbmkgYm8gbWVya28gc2thbWkg Ym8gdGUgdmVjbnUnJyBpcyByZWFkICcnbWknJyAoJyd2YWpuaSBibyBtZXJrbycnKSAoJydza2Ft aSBibyB0ZSB2ZWNudScnKSwgd2hpY2ggaXMgdXNlZnVsIGluIHRoaXMgY29udGV4dC4gSWYgYm8g aXMgcGxhY2VkIGJldHdlZW4gc2V2ZXJhbCBzZWxicmkgaW4gYSByb3csIHRoZXkgYXJlIGdyb3Vw ZWQgZnJvbSByaWdodCB0byBsZWZ0IGluc3RlYWQgb2YgdGhlIHVzdWFsIGxlZnQgdG8gcmlnaHQ6 ICcnbWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyByZWFkICcndmFqbmkn JyAoJydtZXJrbyBibycnICgnJ3NrYW1pIGJvIHRlIHZlY251JycpKSBhbiDigJxpbXBvcnRhbnQg KEFtZXJpY2FuIGNvbXB1dGVyLWJ1eWVyKeKAnSwgd2hpY2ggaXMgZXZlbiBtb3JlIGFwcHJvcHJp YXRlIGluIHRoZSBzaXR1YXRpb24uCgpfXycnYm8nJ19fIEJpbmRzIHR3byBzZWxicmkgdG9nZXRo ZXIgc3Ryb25nbHkuCgoKCkhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoYXTigJlzIGEgdGFzdHkgeWVs bG93IGFwcGxl4oCdPwoKX18nJ2t1a3RlJydfXyB4MSBpcyB0YXN0eSBmb3IgeDIKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ3RpIGt1a3RlIHBlbHh1IGJvIHBsaXNlJyd+fgoKCgpXaGF0IGFib3V0 IOKAnVRoYXTigJlzIGEgYmlnLCB0YXN0eSB5ZWxsb3cgYXBwbGXigJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ3RpIGJhcmRhIGt1a3RlIGJvIHBlbHh1IGJvIHBsaXNlJyd+fgoKCgpBbm90aGVy IGFwcHJvYWNoIHRvIHRoaXMgaXMgdG8gdXNlIHRoZSB3b3JkcyAnJ2tl4oCma2XigJllJycuIFRo ZXNlIGNhbiBiZSBjb25zaWRlcmVkIGFzIGVxdWl2YWxlbnQgdG8gdGhlIHBhcmVudGhlc2lzZXMg dXNlZCBpbiB0aGUgcGFyYWdyYXBoIGFib3ZlLiAnJ2tlJycgYmVnaW5zIHN0cm9uZyBzZWxicmkg Z3JvdXBpbmcsICcna2XigJllJycgZW5kcyBpdC4KCl9fJydrZScnX18g4oCTIGJlZ2luIHN0cm9u ZyBzZWxicmkgZ3JvdXBpbmcuCgpfXycna2XigJllJydfXyDigJMgZW5kIHN0cm9uZyBzZWxicmkg Z3JvdXBpbmcuCgpUaGUgc3RyZW5ndGggb2YgdGhlIGJpbmRpbmcgaXMgdGhlIHNhbWUgYXMgdGhh dCBvZiAnJ2JvJycuIFRoZXJlZm9yZSwgJydtaSB2YWpuaSBtZXJrbyBibyBza2FtaSBibyB0ZSB2 ZWNudScnIGNhbiBiZSB3cml0dGVuICcnbWkgdmFqbmkga2UgbWVya28ga2Ugc2thbWkgdGUgdmVj bnUge2tl4oCZZX0ge2tl4oCZZX0nJy4KCkhvdyBjb3VsZCB5b3Ugc2F5IOKAnEnigJltIGEgR2Vy bWFuIHNlbGxlciBvZiB5ZWxsb3cgaG9tZXM/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSBkb3RjbyBrZSBwZWx4dSB6ZGFuaSB2ZWNudScnfn4KCgoKV2hpbGUgd2XigJlyZSBhdCBtZXNz aW5nIHdpdGggdGhlIG9yZGluYXJ5IHRhbnJ1IHN0cnVjdHVyZSwgdGhlcmUgaXMgYW5vdGhlciB3 b3JkIHdvcnRoIHBheWluZyBhdHRlbnRpb24gdG8uIElmIEkgd2FudCB0byBzYXkgdGhhdCBJ4oCZ bSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNvdWxkIHNheSAnJ21pIGZhbnZhIHNlIGpp YnJpJycuCgpfXycnamlicmknJ19fIHgxIGlzIGEgam9iIG9mIHgyCgpfXycnZG90eWJhdScnX18g eDEgaXMgR2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpfXycnZ2xpYmF1JydfXyB4MSBpcyBF bmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpJZiBJIHdhbnRlZCB0byBzYXkgdGhhdCBJ4oCZ bSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdGVyIGZyb20gRW5nbGlzaCB0byBHZXJtYW4sIEnigJlk IGhhdmUgdG8gbWVzcyBhcm91bmQgd2l0aCAnJ2JlJycgYW5kICcnYmVpJyc6ICcnbWkgZmFudmEg YmUgbGUgZG90eWJhdSBiZWkgbGUgZ2xpYmF1IGJl4oCZbyBzZSBqaWJyaScnLCBhbmQgdGhlIGZh Y3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBjb3VsZCBxdWlja2x5IGJlIGxvc3QgaW4gc3BlZWNoIGR1 ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZS4gSGVyZSwgd2Ug Y2FuIHVzZSB0aGUgd29yZCAnJ2NvJycuIGl0IGludmVydHMgdGhlIHRhbnJ1LCBtYWtpbmcgdGhl IHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5IHRoZSBsZWZ0bW9zdCBpbnN0ZWFkIG9mIHRoZSBvdGhl ciB3YXkgYXJvdW5kOgoKJydtaSBzZSBqaWJyaSBjbyBmYW52YSBsZSBkb3R5YmF1IGxlIGdsaWJh dScnIGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBMb2piYW4gb25lLCBidXQgbXVj aCBtb3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQgYW55IHN1bXRpIGJlZm9yZSB0 aGUgdGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkgZm9sbG93aW5nIGl0IG9ubHkg ZmlsbHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4KCl9fJydjbycnX18gSW52ZXJ0 IHRhbnJ1LiBBbnkgcHJldmlvdXMgc3VtdGkgZmlsbCB0aGUgbW9kaWZpZWQsIGFueSBmb2xsb3dp bmcgZmlsbCB0aGUgbW9kaWZpZXIuCgoKClRoZSBzdHJlbmd0aCBieSB3aGljaCB0d28gc2VsYnJp IGFyZSBib3VuZCB0b2dldGhlciB3aXRoIGNvIGlzIHZlcnkgd2VhayDigJMgZXZlbiB3ZWFrZXIg dGhhbiBub3JtYWwgdGFucnUgZ3JvdXBpbmcgd2l0aG91dCBhbnkgZ3JvdXBpbmcgd29yZHMuIFRo aXMgbWFrZXMgc3VyZSB0aGF0LCBpbiBhIGNvLWNvbnN0cnVjdCwgdGhlIGxlZnRtb3N0IHNlbGJy aSBpcyBhbHdheXMgdGhlIHNlbGJyaSBiZWluZyBtb2RpZmllZCwgYW5kIHRoZSByaWdodG1vc3Qg YWx3YXlzIG1vZGlmaWVzLCBldmVuIGlmIGFueSBvZiB0aG9zZSBwYXJ0cyBhcmUgdGFucnUuIFRo aXMgbWFrZXMgYSBjby1jb25zdHJ1Y3QgZWFzeSB0byBwYXJzZToKCicndGkgcGVseHUgcGxpc2Ug Y28ga3VrdGUnJyBpcyByZWFkICcndGknJyAoJydwZWx4dSBwbGlzZScnKSAnJ2NvIGt1a3RlJycs IHdoaWNoIGlzIHRoZSBzYW1lIGFzICcndGkga3VrdGUgcGVseHUgYm8gcGxpc2UnJy4gVGhpcyBh bHNvIG1lYW5zIHRoYXQgYSAnJ2tl4oCma2XigJllJycgY2Fubm90IGVuY29tcGFzcyBhICcnY28n Jy4KClRoZSBjbWF2byBvZiB0aGUgc2VsbWEnbyBHSWhBLCB0aGUgYnJpZGktdGFpbCBhZnRlcnRo b3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcywgaG93ZXZlciwgYmluZHMgZXZlbiBsb29zZXIgdGhh biAnJ2NvJycuIFRoaXMgaXMgaW4gb3JkZXIgdG8gdG90YWxseSBhdm9pZCBjb25mdXNpb24gYWJv dXQgd2hpY2ggc2VsYnJpIGJpbmRzIHRvIHdoaWNoIGluIGEgR0loQS1jb25zdHJ1Y3QuIFRoZSBh bnN3ZXIgaXMgc2ltcGxlOiBUaGUgR0loQSBuZXZlciBlbWNvbXBhc3NlcyBhbnkgc2VsYnJpLWdy b3Vwcy4KCgoKSG93IGNhbiB5b3UgZXhwcmVzcyDigJ1JIGFtIGFuIGltcG9ydGFudCBBbWVyaWNh biBidXllciBvZiBjb21wdXRlcnPigJ0gdXNpbmcgYSAnJ2NvJyc/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBza2FtaSB0ZSB2ZWNudSBjbyB2YWpuaSBtZXJrbycnfn4KCgoKSWYgaXTigJlz IG9mIGFueSB1c2UsIHRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlmZmVyZW50IGtpbmQgb2Ygc2VsYnJp IGdyb3VwZXJzIHJhbmtlZCBieSBzdHJlbmd0aDoKCgoKMS4gICAgJydibycnIGFuZCAnJ2tlLi5r ZeKAmWUnJwoKCgoyLiAgICBsb2dpY2FsIGNvbm5lY3RpdmVzIG90aGVyIHRoYW4gYnJpZGktdGFp bCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoZXhwbGFpbmVkIGluIGxlc3NvbiB0 d2VudHktZml2ZSkKCgoKMy4gICAgbm8gZ3JvdXBpbmcgd29yZHMKCgoKNC4gICAgJydjbycnCgoK CjUuICAgIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMgKGFsc28g aW4gbGVzc29uIHR3ZW50eS1maXZlKQoKCgpUaGUgcmVzdCBvZiB0aGlzIGxlc3NvbiB3aWxsIG5v dCBiZSBvbiBzZWxicmkgZ3JvdXBpbmcsIGJ1dCBtdWNoIGxpa2UgbGVzc29uIHNldmVudGVlbiBt ZW50aW9uIGFzc29ydGVkIHdvcmRzLCB3aGljaCBjYW4gYmUgb2YgdXNlLgoKCgonJ2JvJycgaGFz IGFub3RoZXIgdXNlLCB3aGljaCBzZWVtcyBzZXBhcmF0ZSBmcm9tIHNlbGJyaSBncm91cGluZzog SXQgY2FuIGFsc28gYmluZCBhIHN1bXRjaXRhIHRvIGFuIGVudGlyZSBicmlkaSwgc28gdGhhdCB0 aGUgY29udGVudCBvZiB0aGUgc3VtdGNpdGEgaXMgbm90IGEgc3VtdGksIGJ1dCB0aGUgZm9sbG93 aW5nIGJyaWRpLiBUaGlzIGlzIGJlc3QgZXhwbGFpbmVkIHdpdGggYW4gZXhhbXBsZS4KCl9fJyd4 ZWJuaScnX18geDEgaGF0ZXMgeDIKCicnbWkgZGFyeGkgZG8gLmkgbXXigJlpIGJvIG1pIGRvIHhl Ym5pJycg4oCTIOKAnEkgaGl0IHlvdSwgd2l0aCBtb3RpdmF0aW9uIHRoYXQgSSBoYXRlIHlvdS7i gJ0gSGVyZSB0aGUgJydibycnIGJpbmRzICcnbXXigJlpJycgdG8gdGhlIGZvbGxvd2luZyBicmlk aS4KClRoaXMgaXMgd2hlcmUgdGhlIHRlY2huaWNhbCBkaWZmZXJlbmNlIGJldHdlZW4gdGVuc2Ug c3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhIGlzIHJlbGV2YW50LiBZb3Ugc2VlLCB3aGVuIGJp bmRpbmcgYSBub3JtYWwgc3VtdGNpdGEgdG8gYSBicmlkaSB3aXRoICcnYm8nJywgaXQgbWVhbnMg dGhhdCB0aGUgZm9sbG93aW5nIGJyaWRpIHNvbWVob3cgZml0cyBpbnRvIHRoZSBzdW10aSBwbGFj ZSBvZiB0aGUgc3VtdGNpdGEuIEZvciB0aGUgcmVhc29uIG9mIEdvZCBLbm93cyBXaHksIGJpbmRp bmcgb25lIG9mIHRoZSB3b3JkcyAnJ2JhJycgb3IgJydwdScnIHRvIGEgYnJpZGkgaGFzIHRoZSBl eGFjdCBvcHBvc2l0ZSBlZmZlY3QuIEZvciBleGFtcGxlLCBpbiB0aGUgYnJpZGkgJydtaSBkYXJ4 aSBkbyAuaSBiYSBibyBkbyBjaW5qaWtjYScnLCBvbmUgd291bGQgYXNzdW1lIHRoYXQgdGhlIHNl Y29uZCBicmlkaSBpcyBzb21laG93IGZpbGxlZCBpbnRvIHRoZSBzdW10aSBwbGFjZSBvZiAnJ2Jh JycsIG1lYW5pbmcgdGhhdCB0aGUgYnJpZGkgZmlyc3QgdXR0ZXJlZCB0b29rIHBsYWNlIGluIHRo ZSBmdXR1cmUgb2YgdGhlIHNlY29uZCBicmlkaS4gVGhhdCdzIG5vdCB0aGUgY2FzZSwgaG93ZXZl ciwgYW5kIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIG9mIHRoYXQgdXR0ZXJhbmNlIHdvdWxkIGJl ICJJIGhpdCB5b3UuIEFmdGVyd2FyZHMsIHlvdSBmbGlydCIuIFRoaXMgd2VpcmQgcnVsZSBpcyBh Y3R1YWxseSBvbmUgb2YgdGhlIG1haW4gb2JzdGFjbGVzIHRvIGEgdW5pZmljYXRpb24gb2YgYWxs IHN1bXRjaXRhIGludG8gb25lIHNpbmdsZSB3b3JkIGNsYXNzLgoKCgpUaGUgdW5vZmZpY2lhbCB3 b3JkICcnbWXigJlvaScnIGlzIGVxdWl2YWxlbnQgdG8gbWUgbGHigJllICcnem/igJlvaScnLCB3 aGljaCBtZWFucyB0aGF0IGl0IGNvbnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBuZXh0IHdvcmQg aW50byBhIHNlbGJyaS4gSXQgaXMgdXNlZCB0byBpbnZlbnQgYnJpdmxhIG9uIHRoZSBmbHk6ICcn bWkgY2EgemdhbmEgbGEgbWXigJlvaSBYLWZpbGVzJycgZm9yIOKAnEkgbm93IHdhdGNoIFgtZmls ZXPigJ0uIExpa2UgYWxsIHF1b3RlIG5leHQgd29yZC1jbWF2bywgaXQgaXMgbm90IHN1cHBvcnRl ZCBieSB0aGUgb2ZmaWNpYWwgZ3JhbW1hciwgYnV0IHRvIHRoZSBsYXp5IExvamJhbmlzdCwgaXTi gJlzIGludmFsdWFibGUuCgoKClRoZSB3b3JkICcnZ2knJyBpcyBzdHJhZ2Uga2luZCBvZiBicmlk aSBzZXBhcmF0b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1dCB0byBteSBrbm93bGVkZ2UsIGl0 IGlzIHVzZWQgaW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRzIG9mIGNvbnN0cnVjdHM6IE1vc3Qg b2Z0ZW4gd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBsYWluZWQgaW4gbGVzc29uIHR3ZW50 eS1maXZlLCBidXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRoIHN1bXRjaXRhIGl0IGNyZWF0ZXMg YSB1c2VmdWwsIGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0OgoKJydtdeKAmWkgZ2kgQlJJREkt MSBnaSBCUklESS0yJycsIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gJydCUklESS0yIC5pIG114oCZ aSBibyBCUklESS0xJycuIFRoZXJlZm9yZSwgdGhlIGV4YW1wbGUgYWJvdmUsIHdoaWNoIGV4cGxh aW5lZCB3aHkgSSBoaXQgeW91LCBjYW4gYmUgd3JpdHRlbiAnJ2114oCZaSBnaSBtaSB4ZWJuaSBk byBnaSBtaSBkYXJ4aSBkbycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2FtZSBvcmRlciBhcyB0aGUg b3JpZ2luYWwgc2VudGVuY2UsIHdlIGNhbiBjb252ZXJ0ICcnbXXigJlpJycgd2l0aCAnJ3NlJyc6 ICcnc2UgbXXigJlpIGdpIG1pIGRhcnhpIGRvIGdpIG1pIHhlYm5pIGRvJycuCgpJdCBpcyBpbiBl eGFtcGxlcyBsaWtlIHRoaXMgdGhhdCAnJ2dpJycgcmVhbGx5IGNhbiBzaG93IGl0cyB2ZXJzYXRp bGl0eS4gSXQgZG9lcyBub3QganVzdCBzZXBhcmF0ZSB0d28gYnJpZGkgbGlrZSAnJy5pJycgZG9l cywgYnV0IGNhbiBhbHNvIHNlcGFyYXRlIHR3byBjb25zdHJ1Y3RzIHdpdGhpbiBhIGJyaWRpLCBt YWtpbmcgYWxsIGNvbnN0cnVjdHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgJydnaScnIGFwcGx5IHRv IGJvdGggYnJpZGksIGFzIHRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXM6CgpfXycnY2luYmEnJ19f IHgxIGtpc3NlcyB4MiBhdCBsb2N1cyB4MwoKCgonJ21pIGdpIHByYW1pIGRvIGdpIGNpbmJhIGRv JycgbGVhdmVzIG1pIG91dHNpZGUgdGhlIGNvbnN0cnVjdCwgbWFraW5nIGl0IGFwcGx5IHRvIGJv dGggYnJpZGkuIFRoaXMgY2FuIGFsc28gYmUgZG9uZSB3aXRoICcnZG8nJywgd2hpY2ggaXMgYWxz byBwcmVzZW50IGluIGJyb3RoIGJyaWRpOiAnJ21pIGdpIHByYW1pIGdpIGNpbmJhIHZhdSBkbycn LiBOb3RlIHRoYXQgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBkbyBhcHBlYXIgb3V0c2lkZSB0 aGUgc2Vjb25kIGJyaWRpLgoKCgpUaHVzLCB3ZSBjYW4gd3JpdGUgdGhlIG9yaWdpbmFsIHNlbnRl bmNlIHNob3J0ZXI6ICcnbWkgbXXigJlpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBkbycnLCBvciwg dG8gb21pdCBldmVuIHRoZSAnJ3ZhdScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBzaG9ydGVyIGFu ZCBtb3JlIGVsZWdhbnRseTogJydtaSBkbyBtdeKAmWkgZ2kgeGVibmkgZ2kgZGFyeGknJwoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LW9uZSAoQ09JKQoKSW4gdGhpcyBsZXNz b24sIHlvdSB3aWxsIGZhbWlsaWFyaXplIHlvdXJzZWxmIHdpdGggdm9jYXRpdmVzLCBvciAnJ21h 4oCZb2kgY29pJycuIFRoZXkgZ2V0IHRoZWlyIG93biBsZXNzb24sIG5vdCBiZWNhdXNlIHVuZGVy c3RhbmRpbmcgdGhlc2UgcHJvdmlkZXMgYSBiYXNpcyBmb3IgdW5kZXJzdGFuZGluZyBMb2piYW4g Z3JhbW1hciBpbiBnZW5lcmFsLCBvciBiZWNhdXNlIHRoZXkgYXJlIGhhcmQgdG8gdW5kZXJzdGFu ZCwgYnV0IHJhdGhlciBiZWNhdXNlIHRoZXkgYXJlIHZlcnkgb2Z0ZW4gdXNlZCBpbiBjYXN1YWwg c3BlZWNoLCBhbmQgdGhlcmUgYXJlIGEgbG90IG9mIHRoZW0uCgpBIHZvY2F0aXZlIGlzIHVzZWQg cGFydGx5IHRvIGRlZmluZSB3aG8gJydkbycnIHJlZmVycyB0by4gSWYgdGhlIHZvY2F0aXZlIGlz IGZvbGxvd2VkIGJ5IGEgY21ldmxhLCB0aGUgY21ldmxhIGdldHMgYW4gaW1wbGllZCBsYSBpbiBm cm9udCBvZiBpdC4gSWYgYSBzZWxicmkgZm9sbG93cywgYSAnJ2xlJycgaXMgdXNlZCBhcyBhIGdh ZHJpIGluc3RlYWQuCgpJbiB0aGVzZSBleGFtcGxlcywgSSB3aWxsIHVzZSB0aGUgdm9jYXRpdmUg Jydjb2knJywgd2l0aCBtZWFucyDigJxIaeKAnSBvciDigJxIZWxsb+KAnS4KCklmIGEgcGVyc29u IGlzIGNhbGxlZCAnJ2xhICsgU0VMQlJJJycsIHVzaW5nIGEgdm9jYXRpdmUgd2l0aCBvbmx5IHRo ZSBzZWxicmkgdG8gYWRkcmVzcyB0aGF0IHBlcnNvbiB3aWxsIG1lYW4geW91IHJlZmVyIHRvIGhl ciBhcyBhY3R1YWxseSBiZWluZyB0aGUgeDEgb2YgdGhhdCBzZWxicmksIHdoaWNoIGlzIG9mdGVu IHdyb25nLiBJZiwgZm9yIGluc3RhbmNlLCBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSB0c2FuaScn LCDigJxTa3nigJ0sIHNheWluZyAnJ2NvaSB0c2FuaScnIHJlZmVycyB0byBoZXIgYXMgYSAnJ2xl IHRzYW5pJycsIG1lYW5pbmcg4oCcSGksIHlvdSBza3nigJ0sIHdoaWxlICcnY29pIGxhIHRzYW5p IGNvcnJlY3RseScnIHJlZmVycyB0byBoZXIgYXMgc29tZW9uZSBjYWxsZWQgIlNreSIsIG1lYW5p bmcg4oCcSGkgU2t54oCdLiBUaGlzIGlzIGEgZnJlcXVlbnQgbWlzdGFrZSwgZXNwZWNpYWxseSBh bW9uZyBuZXcgTG9qYmFuaXN0cy4KCkFsbCB2b2NhdGl2ZXMgaGF2ZSBhIGZhJ29ybWEnbyB3aGlj aCBpcyBzb21ldGltZXMgcmVxdWlyZWQuIFRoaXMgaXMgJydkb+KAmXUnJy4gSXTigJlzIG1vc3Rs eSB1c2VkIGlmIGJvdGggdGhlIGZpcnN0IHdvcmQgYWZ0ZXIgdGhlIHZvY2F0aXZlIHBocmFzZSBh bmQgdGhlIGxhc3Qgd29yZCBvZiB0aGUgcGhyYXNlIGlzIGEgc2VsYnJpLCBzbyB0aGF0IGl0IHBy ZXZlbnRzIGZvcm1pbmcgYSB0YW5ydToKCgoKX18nJ2Rv4oCZdScnX18gRW5kIHZvY2F0aXZlIHBo cmFzZS4gVXN1YWxseSBlbGlkYWJsZS4KCl9fJydrbGFrdScnX18geDEgY3JpZXMgeDIgKHRlYXJz KSBmb3IgcmVhc29uIHgzCgonJ2NvaSBsYSBnbGVraSBkb+KAmXUga2xha3UgZmkgbWEnJyDigJ1I ZWxsbyBIYXBweS4gV2h5IGNyeT/igJ0KCgoKVGhlIGdlbmVyaWMgdm9jYXRpdmUsICcnZG9pJycs IGRvZXMgbm90aGluZyBleGNlcHQgZGVmaW5pbmcgd2hvIGlzIGJlaW5nIHJlZmVycmVkIHRvIGJ5 ICcnZG8nJzoKCicnZG9pIC5lcm5zdC4geHUgZG8gZG90Y28gbWVya28nJyDigJxFcm5zdDogQXJl IHlvdSBhIEdlcm1hbi1BbWVyaWNhbj/igJ0KCgoKQWxsIHRoZSBvdGhlciB2b2NhdGl2ZXMgaGF2 ZSBzb21lIGNvbnRlbnQgYmVzaWRlIGRlZmluaW5nICcnZG8nJy4gJydjb2knJywgd2hpY2ggeW91 IGtub3csIGFsc28gbWVhbnMg4oCcSGVsbG/igJ0sIGZvciBleGFtcGxlLiBNYW55IG9mIHRoZSB2 b2NhdGl2ZXMgaGF2ZSB0d28gb3IgdGhyZWUgZGVmaW5pdGlvbnMgbGlrZSB0aGUgYXR0aXR1ZGlu YWxzLiBMaWtlIGF0dGl0dWRpbmFscywgdGhpcyBpcyBiZWNhdXNlIHRoZXkgY2FuIGJlIG1vZGlm aWVkIHdpdGggJydjdeKAmWknJyBhbmQgJyduYWknJywgdGhvdWdoIG9ubHkgb25lIHZvY2F0aXZl IGhhcyB0aGUgJydjdeKAmWknJy1mb3JtIGRlZmluZWQuCgpTb21lIGltcG9ydGFudCB2b2NhdGl2 ZXMgYXJlIGxpc3RlZCBpbiB0aGUgdGFibGUgYmVsb3cuIFRoZXJlIGFyZSBvdGhlcnMsIGJ1dCB0 aG9zZSBhcmUgbm90IHVzZWQgbXVjaC4KCnx8dm9jYXRpdmV8V2l0aG91dCBzdWZmaXh8LWN14oCZ aXwtbmFpCgpjb2l8SGVsbG98LXwtCgpjb+KAmW98R29vZGJ5ZQl8LXwtCgpqZeKAmWV8VW5kZXJz dG9vZCAvIE9LfC18Tm90IHVuZGVyc3Rvb2QKCmZp4oCZaXxXZWxjb21lfC18Tm90IHdlbGNvbWUg aGVyZQoKcGXigJl1fFBsZWFzZXwtfC0KCmtp4oCZZXxUaGFua3N8LXxEaXNhcHByZWNpYXRpb24K CnJl4oCZaXxSZWFkeSB0byByZWNpZXZlfC18Tm90IHJlYWR5CgpqdeKAmWl8SGV5IXxBdCBlYXNl fElnbm9yZSBtZQoKdGHigJlhfEludGVycnVwdGlvbnwtfC0KCnZp4oCZb3xXaWxsIGRvfC18V2ls bCBub3QgZG8KCmtl4oCZb3xQbGVhc2UgcmVwZWF0fC18Tm8gcmVwZWF0IG5lZWRlZAoKa2knYWl8 d2VsbC13aXNofC18Y3Vyc2V8fAoKTm90aWNlIHRoYXQgJydraSdhaScnIGlzIGV4cGVyaW1lbnRh bAoKCgoKCldoYXQgd291bGQgJydjb2kgY2/igJlvJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxHcmVldGluZ3MgaW4gcGFzc2luZ+KAnSBvciDigJxIZWxsbyBhbmQgR29vZGJ5ZeKA nX5+CgoKCicnamXigJllJycgaXMgdXNlZCBhcyDigJxPS+KAnSwgYnV0IGFsc28gdGhlIGFwcHJv cHJpYXRlIHJlc3BvbnNlIHdoZW4gcmVjZWl2aW5nIHByYWlzZSBvciB0aGFua3MgKGF0IGxlYXN0 LCBpZiB5b3Ugd2FudCB0byBiZSBtb2Rlc3QpLCBhcyBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJh aXNlIG9yIHRoYW5rcyB3YXMgc3VjY2Vzc2Z1bGx5IHVuZGVyc3Rvb2QuCgoKClRyYW5zbGF0ZSAn J2tp4oCZZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFqbmkgLmkgamXigJllIC5qZW5pZnluLicnCgpf Xycnc2lkanUnJ19fIHgxIGhlbHBzIHgyIGRvIHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc VGhhbmtzLCB5b3UgaGVscGVyIG9mIG1lIHRvIGRvIHNvbWV0aGluZyBpbXBvcnRhbnQu4oCdIOKA nE5vIHByb2JsZW0sIEplbm5pZmVy4oCdfn4KCgoKQW5kICcnZmnigJlpIHRlIHZlY251IC5pIHBl 4oCZdSBrbyBjaXRrYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdV2VsY29tZSwgYnV5ZXIu IFBsZWFzZSBlYXQh4oCdfn4KCgoKJydyZeKAmWknJyBpcyB1c2VkIHRvIHNpZ25hbCB0aGF0IHlv dSBhcmUgcmVhZHkgdG8gYmUgc3Bva2VuIHRvLiBJdCBjYW4gYmUgdXNlZCBhcyB0aGUgTG9qYmFu IGVxdWl2YWxlbnQgb2Yg4oCcV2hhdCBjYW4gSSBkbyBmb3IgeW91P+KAnSBvciBwZXJoYXBzIHJl cGxhY2Ug4oCcSGVsbG/igJ0sIHdoZW4gc3BlYWtpbmcgb24gYSBwaG9uZS4gJydyZeKAmWkgbmFp JycgY2FuIG1lYW4g4oCcQUZL4oCdIG9yIOKAnEJlIHRoZXJlIGlzIGEgc2Vjb25kLuKAnQoKCgpU cmFuc2xhdGU6IOKAnEhlbGxvLCB3aGF0IGNhbiBJIGRvIGZvciB5b3UsIEludGVycHJldGVyL1Ry YW5zbGF0ZXI/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydjb2kgcmXigJlpIGxhIGZhbnZh Jyd+fgoKCgonJ3Rh4oCZYScnIGlzIHVzZWQgd2hlbiBhdHRlbXB0aW5nIHRvIHBvbGl0ZWx5IGlu dGVycnVwdCBzb21lb25lIGVsc2UuIFdoYXQgd291bGQgYmUgZ29vZCByZXNwb25zZXMgdG8gdGhp cz8KCgoKVHJhbnNsYXRlOiAnJ3Rh4oCZYSBybyBkbyBtaSBjb+KAmWEgY2xpdmEnJwoKX18nJ2Ns aXZhJydfXyB4MSBsZWF2ZXMgeDIgdmlhIHJvdXRlIHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcRXhjdXNlIG1lIGZvciBpbnRlcnJ1cHRpbmcsIGV2ZXJ5b25lLiBJIGJlZ2luIHRvIGxlYXZl IG5vd+KAnSBOb3RpY2UgdGhhdCBubyBmYSdvcm1hJ28gb3IgJycuaScnIGlzIG5lZWRlZC5+fgoK CgonJ2tl4oCZbycnIGlzIHVzZWQgYSBsb3Qgd2hlbiBpbmV4cGVyaWVuY2VkIExvamJhbmlzdHMg c3BlYWsgdG9nZXRoZXIgdm9jYWxseS4gSXTigJlzIHF1aXRlIGEgaGFuZHkgd29yZAoKX18nJ3N1 dHJhJydfXyB4MSBpcyBxdWljayBhdCBkb2luZyB4MgoKCgpUcmFuc2xhdGU6ICcnLnkga2XigJlv IHN1dHJhIHRhdmxhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxVaCwgUGxlYXNlIHJlcGVh dCwgeW91IHF1aWNrIHNwZWFrZXIu4oCdfn4KCgoKQW5kIOKAnE9rYXkgb2theSwgSSBnb3QgaXQg YWxyZWFkeSEgSeKAmWxsIGRvIGl0IeKAnQoKCgpBbiBhbnN3ZXI6IH5+Z3JleSxncmV5Oicna2Xi gJlvIG5haSAudWkgbmFpIHZp4oCZbycnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0 d2VudHktdHdvIChxdWFudGlmeWluZyBzdW10aSkKCk1vc3Qgb3RoZXIgbGVhcm5pbmcgbWF0ZXJp YWxzIHN1Y2ggYXMgVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFnZSBhbmQgTG9qYmFuIGZvciBC ZWdpbm5lcnMgd2VyZSB3cml0dGVuIGJlZm9yZSB0aGUgb2ZmaWNpYWwgYWRvcHRhdGlvbiAieG9y bG8iLCBhIGNoYW5nZSBpbiB0aGUgcnVsZXMgYWJvdXQgZ2FkcmkgZGVmaW5pdGlvbiBhbmQgZ2Fk cmkgcXVhbnRpZmljYXRpb24uIFRoZSBvYnNvbGV0ZW5lc3Mgb2Ygc29tZSBvZiB0aGUgdGV4dCBp biB0aGUgb2xkZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHdhcyBhIG1ham9yIGNhdXNlIGZvciB0aGUg bW90aXZhdGlvbiB0byB3cml0ZSB0aGVzZSBsZXNzb25zLiBVbmZvcnR1bmF0ZWx5IGZvciBtZSwg cXVhbnRpZmljYXRpb24gb2Ygc3VtdGkgY2FuIGJlY29tZSBhIHZlcnkgY29tcGxleCB0b3BpYyB3 aGVuIHRoZSBpbXBsaWNhdGlvbnMgb2YgY2VydGFpbiBydWxlcyBhcmUgZGlzY3Vzc2VkIGluIGRl dGFpbC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB0aGUgZ29hbCBvZiB0aGlzIHRleHQgYmVpbmcgYWNj dXJhdGUgZW5vdWdoIHRvIHJlcHJlc2VudCB0aGUgb2ZmaWNpYWwgImdvbGQgc3RhbmRhcmQiIEJQ RksgcnVsZXMsIHRoaXMgY2hhcHRlciB3YXMgYW1vbmcgdGhlIGxhc3Qgb25lcyBmaW5pc2hlZCBh bmQgdGhlIG9uZXMgbW9zdCBmcmVxdWVudHkgcmV3cml0dGVuLiBJIHN0cm9uZ2x5IGVuY291cmFn ZSBhbnlvbmUgd2hvIGZpbmRzIG1pc3Rha2VzIGluIHRoaXMgdGV4dCB0byBjb250YWN0IG1lIGlu IG9yZGVyIGZvciB0aGVtIHRvIGJlIGNvcnJlY3RlZC4KCkhhdmluZyBzYWlkIHRoYXQgZGlzY2xh aW1lciwgbGV0J3MgZ2V0IHN0YXJ0ZWQ6CgpUaGUgZmlyc3QgY29uY2VwdCB5b3Ugc2hvdWxkIGtu b3cgYWJvdXQgaXMgImRpc3RyaWJ1dGl2aXR5Ii4gSW4gbGVzc29uIGZvdXJ0ZWVuIGkgdXNlZCB0 aGUgd29yZCAiaW5kaXZpZHVhbHMiIGFib3V0IGEgZ3JvdXAgb2Ygb2JqZWN0cyBjb25zaWRlcmVk IGRpc3RyaWJ1dGl2ZWx5LiBBIGRpc3RyaWJ1dGl2ZSBncm91cCAnJ2tvJ2EnJyBpcyBmb3IgYW55 IHNlbGJyaSAnJ2Jyb2RhJycgYSBncm91cCBzdWNoIHRoYXQsIGlmICcna28nYSBicm9kYScnIGlz IHRydWUsIGl0IG1lYW5zIHRoYXQgZXZlcnkgbWVtYmVyIG9mIHRoZSBncm91cCBhbHNvIGlzIGNo YXJhY3Rlcml6ZWQgYnkgJydicm9kYScnLiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byBub24t ZGlzdHJpYnV0aXZpdHkgKHdoaWNoIG1hc3NlcyBoYXZlKSwgaW4gd2hpY2ggdGhlIGdyb3VwIGhh cyBvdGhlciBwcm9wZXJ0aWVzIHRoYW4gZWFjaCBvZiB0aGUgaW5kaXZpZHVhbHMgZG8uIFRoZSBk aXN0aW5jdGlvbiBiZXR3ZWVuIGRpc3RyaWJ1dGl2aXR5IChpbmRpdmlkdWFsLWxpa2UpIGFuZCBu b24tZGlzdHJpYnV0aXZpdHkgKG1hc3MtbGlrZSkgaXMgb2YgcmVsZXZhbmNlIHdoZW4gcXVhbnRp Znlpbmcgc3VtdGkuCgpMZXQgdXMgZmlyc3QgY29uc2lkZXIgaG93IG9uZSBjYW4gcXVhbnRpZnkg ZGVjcmlwdGlvbiBzdW10aSwgd2hpY2ggYXJlIHN1bXRpIG9mIHRoZSBmb3JtIEdBRFJJIEJSSVZM QS4gVGhlIG51bWJlciBzdHJpbmcgd2hpY2ggZG9lcyB0aGUgcXVhbnRpZmljYXRpb24gY2FuIGJl IHBsYWNlZCBiZWZvcmUgdGhlIGdhZHJpLCBpbiB3aGljaCBjYXNlIGl0IGlzIHJlZmVycmVkIHRv IGFzIGFuIF9fb3V0ZXIgcXVhbnRpZmllcl9fLCBhbmQgaXQgY2FuIGJlIHBsYWNlZCBiZXR3ZWVu IHRoZSBnYWRyaSBhbmQgdGhlIGJyaXZsYSwgaW4gd2hpY2ggY2FzZSBpdCdzIGFuIF9faW5uZXIg cXVhbnRpZmllcl9fLiBBbnkga2luZCBvZiBudW1iZXIgc3RyaW5nIGNhbiBhY3QgYXMgYSBxdWFu dGlmaWVyLgoKVGhlIHJ1bGVzIGZvciBob3cgaW5uZXIgYW5kIG91dGVyIHF1YW50aWZpZXJzIGFm ZmVjdHMgc3VtdGkgZGVwZW5kIG9uIHRoZSBraW5kIG9mIGdhZHJpIHdoaWNoIGlzIHVzZWQ6CgoK Ci0gLScnbG8nJyBhbmQgJydsZScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgdGVsbHMgdXMgaG93 IG1hbnkgb2JqZWN0cyBhcmUgYmVpbmcgc3Bva2VuIG9mIC0gaG93IG1hbnkgb2JqZWN0cyBhcmUg aW4gdGhlIGRpc2NvdXJzZSB0b3RhbC4gSWYgYW4gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50 LCB0aGUgc3VtdGkgaXMgZGlzdHJpYnV0ZWQgb3ZlciB0aGF0IGFtb3VudCBvZiBvYmplY3RzLiBB cyBzdGF0ZWQgZWFybGllciwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCBpdCdz IHZhZ3VlIGhvdyBtYW55IG9iamVjdHMgdGhlIHNlbGJyaSBhcHBsaWVzIHRvICh0aG91Z2ggbm90 IG5vbmUpLCBhbmQgd2hldGhlciBpdCBkb2VzIHNvIGRpc3RyaWJ1dGl2ZWx5IG9yIG5vbi1kaXN0 cmlidXRpdmVseS4gRXhhbXBsZXMgYXJlIGFsd2F5cyBhIGdvb2QgaWRlYSwgc28gaGVyZSB0aGV5 IGFyZToKCicnbXUgbG8gbXUgYmFrbmkgY3Ugc2UgamlybmEnJyAtIFRoZSBpbm5lciBxdWFudGlm aWVyIG9mIGZpdmUgVGVsbHMgdXMgdGhhdCB3ZSBzcGVhayBhYm91dCBmaXZlIHBpZWNlcyBvZiBj YXR0bGUsIGFuZCB0aGUgb3V0ZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxzIHVzIHRoYXQgdGhl IHNlbGJyaSBpcyB0cnVlIGZvciBlYWNoIG9mIHRoZSBmaXZlLiBUaGVyZWZvcmUsIGl0IG1lYW5z ICJBbGwgdGhlIGZpdmUgY293cyBoYWQgaG9ybnMiLiAKCl9fJydiYWtuaScnX18geDEgaXMgYSBj b3cvb3gvY2F0dGxlL2NhbGYgZXRjIG9mIGJyZWVkIHgyCgpfXycnamlybmEnJ19fIHgxIGlzIHRo ZSBob3JuIG9mIHgyIChtZXRhcGhvcjogYW55IHBvaW50ZWQgZXh0cmVtaXR5KQoKCgpXaGF0IGRv ZXMgdGhlIGZvbGxvd2luZyBicmlkaSBtZWFuPwoKJydsbyBydSd1cmd1YnVwdSBiZSBsaSByZSBw aSB6ZSBtdSBjdSBqZGltYSBsbyBwYSByZSBzb3ZkYScnCgpfXycncnUndXJndWJ1cHUnJ19fIHgx IGlzIG1lYXN1cmVzIHRvIGJlIHgyIEJyaXRpc2ggcG91bmRzIChHQlApCgpfXycnamRpbWEnJ19f IHgxIGlzIHRoZSBwcmljZSBvZiB4MiB0byBidXllciB4MyBzZXQgYnkgdmVuZG9yIHg0CgpfXycn c292ZGEnJ19fIHgxIGlzIGEgZ2FtZXRlIChlZ2cvc3Blcm0pIG9mIHgyCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OiAiVHdlbHZlIGVnZ3MgY29zdCAyLjc1IEJyaXRpc2ggcG91bmRzIiB3aGljaCwgYXMg dGhlIEVuZ2xpc2ggdHJhbnNsYXRpb24sIGNvdWxkIG1lYW4gYm90aCB0aGF0IHRoZXkgY29zdCAy Ljc1IGVhY2ggKGRpc3RyaWJ1dGl2ZWx5KSBvciB0aGF0IGFsbCB0d2VsdmUgdG9nZXRoZXIgY29z dCAyLjc1IChub24tZGlzdHJpYnV0aXZlbHkpfn4KCgoKJydzbyBsZSB0YSBwYSBwYSBjaSdlcmtl aSBjdSBjbGFtYXUgbWknJyAobm90aWNlIHRoYXQgdGhlICcndGEnJyBnb2VzIGJlZm9yZSB0aGUg aW5uZXIgcXVhbnRpZmllcikKCl9fJydjaSdlcmtlaScnX18geDEgcGxheXMgZ2FtZSB4MiBnb3Zl bmVyZCBieSBydWxlcyB4MyBpbnRlcnJlbGF0aW5nIGdhbWUgcGFydHMgeDQge3RoaXMgaXMgdXNl ZCB0byB0cmFuc2xhdGUgInBsYXkiIGluIHRoZSBzZW5zZSAicGxheSBhIGdhbWUiIHJhdGhlciB0 aGFuLCBmb3IgaW5zdGFuY2UgInBsYXlpbmcgcHJldGVuZCIgb3IgInBsYXlpbmcgSG91c2UifQoK X18nJ2NsYW1hdScnX18geDEgaXMgdGFsbGVyL2xvbmdlciB0aGFuIHgyIGluIGRpcmVjdGlvbiB4 MyBteSBtYXJpZ2luIHg0CgpBbnN3ZXI6IH5+Z3JleSxncmV5OlRoZSBpbm5lciBzdGF0ZXMgdGhl cmUgYXJlIDExIHBsYXllcnMgaW4gdGhlIGRpc2NvdXJzZSwgYW5kIHRoZSBvdXRlciBzdGF0ZXMg dGhhdCB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gbmluZSBvZiB0aGVtIGRpc3RyaWJ1dGl2ZWx5LiBU aHVzIGl0IG1lYW5zICJOaW5lIG9mIHRoZSBlbGV2ZW4gcGxheWVycyBhcmUgdGFsbGVyIHRoYW4g bWUifn4KCgoKVGhlcmUgYXJlIGEgZmV3IHBvaW50cyB0aGF0IG5lZWRzIHRvIGJlIHJhaXNlZCBy ZWdhcmRpbmcgcXVhbnRpZmljYXRpb24gb2YgJydsbycnLycnbGUnJzoKCkZpcnN0bHksICcnbG8n JyBpcyB1bmlxdWUgaW4gdGhhdCAie251bWJlcn0ge3NlbGJyaX0iIGlzIGRlZmluZWQgYXMgIntu dW1iZXJ9ICcnbG8nJyB7c2VsYnJpfSIuIFRoZXJlZm9yZSwgJydjaSBnZXJrdSBjdSBiYXRjaSBy ZSBuYW5tdScnIGlzIGRlZmluZWQgdG8gYmUgJydjaSBsbyBnZXJrdSBjdSBiYXRjaSByZSBsbyBu YW5tdScnLCB3aGljaCBjb25zaWRlcnMgYm90aCB0aGUgZ3JvdXAgb2YgZG9ncyBhbmQgdGhlIGdy b3VwIG9mIG1lbiBkaXN0cmlidXRpdmVseS4gVGhlcmVmb3JlLCBlYWNoIG9mIHRoZSB0aHJlZSBk b2dzIGJpdCBlYWNoIG9mIHRoZSB0d28gbWVuLCB3aXRoIHNpeCBiaXRpbmcgZXZlbnRzIGluIHRv dGFsLgoKX18nJ2JhdGNpJydfXyB4MSBiaXRlcy9waW5jaGVzIHgyIGF0IGxvY3VzIHgzIHVzaW5n IHg0IGFzIHBpbmNoaW5nIHRvb2wuCgpTZWNvbmRseTogV2hhdCBpZiB0aGVyZSBpcyBubyBvdXRl ciBxdWFudGlmaWVyPyBEb2VzIHRoaXMgbWVhbiB0aGF0IGl0IF9faXNfXyB0aGVyZSwgYnV0IGl0 J3MgZWxpZGVkPyBOb3BlLiBJZiB0aGVyZSBpcyBhbnkga2luZCBvZiBvdXRlciBxdWFudGlmaWVy LCBlbGlkZWQgb3Igbm90LCBpdCB3b3VsZCBmb3JjZSB0aGUgc3VtdGkgdG8gYmUgZGlzdHJpYnV0 aXZlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgbmVpdGhlciAnJ2xvJycgbm9yICcnbGUnJyBjb3Vs ZCBiZSB1c2VkIHRvIGRlc2NyaWJlIG1hc3Nlcy4gVGhlcmVmb3JlLCBpZiBubyBvdXRlciBxdWFu dGlmaWVyIGlzIHByZXNlbnQsIGl0J3Mgbm90IG9ubHkgZWxpZGVkIC0gaXQncyBzaW1wbHkgbm90 IHRoZXJlLiBTdW10aSB3aXRob3V0IGFuIG91dGVyIHF1YW50aWZpZXIgY2FuIGJlIHJlZmVycmVk IHRvIGFzICJjb25zdGFudHMiLCBldmVuIHRob3VnaCBJIHdvbid0LgoKVGhpcmRseSwgaXQgbWFr ZXMgbm8gc2Vuc2UgdG8gaGF2ZSBhbiBvdXRlciBxdWFudGlmaWVyIHdoaWNoIGlzIGxhcmdlciB0 aGFuIHRoZSBpbm5lciBvbmUuIEl0IG1lYW5zIHRoYXQgdGhlIHNlbGJyaSBob2xkcyB0cnVlIGZv ciBtb3JlIHN1bXRpIHRoYW4gYXJlIHByZXNlbnQgaW4gdGhlIGRpc2NvdXJzZSAtIGJ1dCBzaW5j ZSB0aGV5IGFwcGVhciBpbiBhIGJyaWRpLCB0aGV5IF9fYXJlX18gcGFydCBvZiB0aGUgZGlzY291 cnNlLiBJdCdzIGdyYW1tYXRpY2FsIHRvIGRvIGl0LCB0aG91Z2guCgpMYXN0bHksIHBsYWNpbmcg YSAnJ2xvJycgb3IgYSAnJ2xlJycgaW4gZnJvbnQgb2YgYSBzdW10aSBpcyBncmFtbWF0aWNhbCwg aWYgdGhlcmUgaXMgYW4gaW5uZXIgcXVhbnRpZmllciBwcmVzZW50LiAiJydsbycnLycnbGUnJyB7 bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICInJ2xvJycvJydsZScnIHtudW1iZXJ9ICcn bWUnJyB7c3VtdGl9Ii4KClNvIHdoYXQgd291bGQgdGhpcyBtZWFuPyAnJ21pIG5lbGNpIGxvaSBt aSBicmlqdSBrYW5zYSAuaSBrdSdpIGNpIGxvIHBhIG11IGppJ2kgcmkgY3UgbGF6bmknJwoKX18n J2JyaWp1JycnX18geDEgaXMgYW4gb2ZmaWNlIGZvciB3b3JrZXIgeDIgYXQgbG9jYXRpb24geDMK Cl9fJydrYW5zYScnX18geDEgYWNjb21wYW5pZXMgeDIgaW4gYWN0aW9uL3N0YXRlL2VudGVycHJp c2UgeDMKCl9fJydsYXpuaScnX18geDEgaXMgbGF6eSwgYXZvaWRpbmcgd29yayBjb25jZXJuaW5n IHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiJJIGxpa2UgbXkgY28td29ya2VycywgYnV0IHRocmVl IG91dCBvZiBhYm91dCB0d2VudHkgZml2ZSBvZiB0aGVtIGFyZSBsYXp5In5+CgoKCi0gLScnbGEn Jy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIGlzIGdyYW1tYXRpY2FsIGlmIHRoZSBuYW1lIGlzIGEg c2VsYnJpIC0gaW4gdGhpcyBjYXNlLCBpdCdzIGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgbmFtZS4g QW4gb3V0ZXIgcXVhbnRpZmllciBpcyB1c2VkIHRvIHF1YW50aWZ5IGRpc3RyaWJ1dGl2ZWx5IG92 ZXIgc3VjaCBpbmRpdmlkdWFscyAobXVjaCBsaWtlICcnbG8nJy8nJ2xlJycpIEl0J3MgZ3JhbW1h dGljYWwgd2hlbiBwbGFjZWQgaW4gZnJvbnQgb2Yge251bWJlcn0ge3N1bXRpfSwgaW4gd2hpY2gg Y2FzZSwgdGhlIGJvdGggdGhlIG51bWJlciBhbmQgdGhlIHN1bXRpIGlzIGNvbnNpZGVyZWQgdGhl IG5hbWUuCgoKClRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGxhIGNpIGJhcmd1IGN1IGppYm5pIGxlIG1p IHpkYW5pJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6IFR3byAiVGhlIFRocmVlIEFyY2hlcyIgYXJl IGxvY2F0ZWQgY2xvc2UgdG8gbXkgaG91c2UiIChQZXJoYXBzIFRoZSBUaHJlZSBBcmNoZXMgYXJl IGEga2luZCBvZiByZXN0YXVyYW50Pyl+fgoKCgotIC0nJ2xvaScnIGFuZCAnJ2xlaScnLSAtIEFu IGlubmVyIHF1YW50aWZpZXIgdGVsbHMgdXMgaG93IG1hbnkgbWVtYmVycyB0aGVyZSBhcmUgaW4g dGhlIG1hc3MvbWFzc2VzIGluIHF1ZXN0aW9uLiBBbiBvdXRlciBxdWFudGlmaWVyIHF1YW50aWZp ZXMgZGlzdHJpYnV0aXZlbHkgeyF9IG92ZXIgdGhlc2UgbWFzc2VzCgpOb3RpY2UgaGVyZSB0aGF0 IHdoaWxlIG1hc3NlcyBjb25zaXN0IG9mIGEgbnVtYmVyIG9mIG9iamVjdHMgY29uc2lkZXJlZCBu b24tZGlzdHJpYnV0aXZlbHksIGFuIG91dGVyIHF1YW50aWZpZXIgYWx3YXlzIHRyZWF0cyBlYWNo IG9mIHRoZXNlIG1hc3NlcyBhcyBhbiBpbmRpdmlkdWFsLgoKV2hlbiBwbGFjZWQgYmVmb3JlIGEg bnVtYmVyIHN0cmluZywgdGhlbiBhIHN1bXRpLCAnJ2xvaScnLycnbGVpJycgaXMgZGVmaW5lZCBh cyAiJydsbyBndW5tYSBiZSBsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUgbWFz cyBjb25zaXN0aW5nIG9mIHRoZSB7bnVtYmVyfSBvZiB7c3VtdGl9Ii4KCgoKQXR0ZW1wdCB0byB0 cmFuc2xhdGUgdGhpczogJydyZSBkZWkgZ3VubWEgcmUgbG9pIHplIHZhbHNpIC5pIGNhJ2UgcGEg ZGVpIGphaSBnYXUgamV0bnUnJwoKX18nJ2d1bm1hJydfXyB4MSBpcyBhIG1hc3Mgb2YgdGhlIGlu ZGl2aWR1YWxzIHgyCgpfXycndmFsc2knJ19fIHgxIGlzIGEgd29yZCwgbWVhbmluZyB4MiBpbiBs YW5ndWFnZSB4MwoKX18nJ2NhJ2UnJ19fIEF0dGl0dWRpbmFsOiBFdmlkZW50aWFsOiBJIGRlZmlu ZQoKX18nJ2pldG51JydfXyB4MSBpcyB0cnVlIGFjY29yZGluZyB0byBtZXRhcGh5c2ljcy9lcGlz dGVtb2xvZ3kgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGVzZSB0d28gdXR0ZXJhbmNlcyBh cmUgYSBtYXNzLCBjb25zaXN0aW5nIG9mIHR3byBpbmRpdmlkdWFsIG1hc3NlcyBlYWNoIG9mIHNl dmVuIHdvcmRzLiBJIGRlZmluZTogVGhpcyBvbmUgdXR0ZXJhbmNlIGNhdXNlcyB7aXR9IHRvIGJl IHRydWUuIn5+CgoKCi0gLScnbGFpJyctIC0gTXVjaCBsaWtlICcnbGEnJywgYW4gaW5uZXIgcXVh bnRpZmllciAod2hlbiBuYW1lIGlzIGEgc2VsYnJpKSBpcyBwYXJ0IG9mIHRoZSBuYW1lLiBBbiBv dXRlciBvbmUgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseS4gQmVmb3JlIGEgbnVtYmVyK3N1bXRp LCBib3RoIHRoZSBzdW10aSBhbmQgdGhlIG51bWJlciBtYWtlIHVwIHRoZSBuYW1lLgoKV2hlbiBh IGZyYWN0aW9uIGlzIHVzZWQgYXMgYW4gb3V0ZXIgcXVhbnRpZmllciB0byBxdWFudGlmeSAnJ2xv aScnLCAnJ2xlaScnIG9yICcnbGFpJycsIG9uZSBzcGVha3MgYWJvdXQgb25seSBwYXJ0IG9mIHRo ZSBtYXNzIChmb3IgaW5zdGFuY2UsICJoYWxmIG9mIHRoZSBKb2huc29ucyIgLSAnJ3BpIG11IGxh aSAuZGphbnN5bi4nJykuCgoKCi0gLScnbG8naScnIGFuZCAnJ2xlJ2knJy0gLSBBbiBpbm5lciBx dWFudGlmaWVyIGRlc2NyaWJlcyB0aGUgYW1vdW50IG9mIG1lbWJlcnMgb2YgdGhlIHNldC4gQW4g b3V0ZXIgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseSBvdmVyIHNldmVyYWwgb2Ygc3VjaCBzZXRz LiBXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgYW5kIGEgc3VtdGksIGl0J3MgZGVmaW5lZCBh cyAiJydsbyBzZWxjbWkgYmUgJydsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUg c2V0IG9mIHtudW1iZXJ9IHtzdW10aX0iLgoKCgpUcmFuc2xhdGUgJydsbydpIHJvIHNlIGNpbmtp IGN1IGJyYW1hdSBsYSdhIHBhIG5vIG5vIGxvJ2kgcm8gc2UgYm9neWthbWp1IGp1dHNpJycKCl9f JydjaW5raScnX18geDEgaXMgYW4gaW5zZWN0IG9mIHNwZWNpZXMgeDIKCl9fJydsYSdhJydfXyBB dHRpdHVkaW5hbDogRGlzY3Vyc2l2ZTogUHJvYmFibHkKCl9fJydicmFtYXUnJ19fIHgxIGlzIGJp Z2dlciB0aGFuIHgyIGluIGRpbWVuc2lvbiB4MyBieSBtYXJpZ2luIHg0CgpfXycnYm9neWthbWp1 JydfXyB4MSBpcyB0aGUgc3BpbmUgb2YgeDIKCl9fJydqdXRzaScnX18geDEgaXMgdGhlIHNwZWNp ZXMgb2YgZ2VudXMgeDIsIGZhbWlseSB4MyAuLi4gKG9wZW4gZW5kZWQgY2xhc3NpZmljYXRpb24p CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIHNldCBvZiBhbGwgdGhlIHNwZWNpZXMgb2YgaW5z ZWN0cyBpcyBwcm9iYWJseSBiaWdnZXIgdGhhbiBvbmUgaHVuZHJlZCBzZXRzIG9mIGFsbCBzcGVj aWVzIG9mIHZlcnRlYnJhdGVzIn5+CgoKCi0gLScnbGEnaScnLSAtIEFzIHdpdGggJydsYWknJwoK TGlrZSB3aXRoIHRoZSBtYXNzIGdhZHJpLCBhbiBvdXRlciBxdWFudGlmaWVyIGJlZm9yZSBhIHNl dCBnYWRyaSBlbmFibGVzIG9uZSB0byBzcGVhayBhYm91dCBhIGZyYWN0aW9uIG9mIGEgc2V0LiBJ biBmcm9udCBvZiBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNl bGNtaSBiZSBsYScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBzZXQgY29uc2lzdGluZyBvZiBU aGUge051bWJlcn0ge1N1bXRpfSIgKGNvbnNpZGVyZWQgYSBuYW1lKQoKCgotIC0nJ2xvJ2UnJyBh bmQgJydsZSdlJyctIC0gQXJlIGZvciBzb21lIHJlYXNvbiBub3QgaW5jbHVkZWQgaW4gdGhlIGN1 cnJlbnRseSBhY2NlcHRlZCBnYWRyaSBwcm9wb3NhbC4gSWYgb25lIHdlcmUgdG8gZXh0ZW5kIHRo ZSBydWxlcyBvZiBhbm90aGVyIGdhZHJpLCAnJ2xvJycvJydsZScnIHdvdWxkIHByb2JhYmx5IGJl IHRoZSBiZXN0IGNob2ljZSAoc2luY2UgYm90aCBvcGVyYXRlcyB3aXRoIGluZGl2aWR1YWxzIHJh dGhlciB0aGFuIGdyb3VwcyksIGFuZCBzbyBvbmUgd291bGQgZXhwZWN0IHRoZSBvdXRlciBxdWFu dGlmaWVyIHRvIGZvcmNlIGRpc3RyaWJ1dGl2aXR5IG92ZXIgdGhlIGFtb3VudCBvZiB0eXBpY2Fs L3N0ZXJlb3R5cGljYWwgdGhpbmdzIGdpdmVuIGJ5IHRoZSBpbm5lciBxdWFudGlmaWVyLgoKCgpX aGVuIHF1YW50aWZ5aW5nIHN1bWthJ2kgcmVwcmVzZW50aW5nIHNldmVyYWwgb2JqZWN0cywgaXQg aXMgdXNlZnVsIHRvIHJlbWVtYmVyIHRoYXQgdGhleSBhcmUgdXN1YWxseSBtYXNzZXMuIEJ5IGRl ZmluaXRpb24sICJ7bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2Rh IHBvaSBrZSdhIG1lJycge3N1bXRpfSIuIFlvdSB3aWxsIG5vdCBiZSBmYW1pbGlhciB3aXRoICcn ZGEnJyB1bnRpbCBhIGZldyBsZXNzb25zIGxhdGVyLCBzbyB0YWtlIGl0IG9uIGZhaXRoIHRoYXQg aXMgbWVhbnMgInNvbWV0aGluZyIgaW4gdGhpcyBjb250ZXh0LiBUaGVyZWZvcmUsICcnY2kgbWkn JyBtZWFucyAiVHdvIG9mIHRob3NlIHdobyBiZWxvbmcgdG8gInVzIiIuIFdoZW4gcXVhbnRpZnlp bmcgc3VjaCBtYXNzZXMsIGl0IGNhbiBzYWZlbHkgYmUgYXNzdW1lZCB0aGF0IHRoZSByZWxhdGlv biBpbXBsaWVkIGJ5ICcnbWUnJyBpcyBtZW1iZXJzaGlwIG9mIHRoZSBtYXNzLCBhbmQgdGhlcmVm b3JlICcnY2kgbWknJyBpcyAiVGhyZWUgb2YgdXMiLgoKCgpTb21lIGltcG9ydGFudCB1c2VzIG9m IHF1YW50aWZpY2F0aW9uIHJlcXVpcmVzIHlvdSB0byBiZSBxdWFudGlmeSBzZWxicmkgb3Igb2Jq ZWN0cyB3aG9zZSBpZGVudGl0eSBpcyB1bmtub3duLiBUaGlzIGlzIGRvbmUgYnkgImxvZ2ljYWxs eSBxdWFudGlmaWVkIHZhcmlhYmxlcyIuIFRoZXNlLCBhcyB3ZWxsIGFzIGhvdyB0byBxdWFudGlm eSB0aGVtIHdpbGwgYmUgY292ZXJlZCBpbiBsZXNzb25zIHR3ZW50eS1zZXZlbi4KCgoKTGFzdGx5 LCBob3cgY2FuIHlvdSBxdWFudGlmeSB1bmNvdW50YWJsZSBzdWJzdGFuY2VzIGxpa2Ugc3VnYXIg b3Igd2F0ZXI/IE9uZSBzb2x1dGlvbiBpcyB0byBxdWFudGlmeSBpdCB1c2luZyBpbmV4YWN0IG51 bWJlcnMuIFRoaXMgdXNlIGlzIHZhZ3VlLCBub3Qgb25seSBiZWNhdXNlIHRoZSB2YWx1ZSBvZiB0 aGUgbnVtYmVyIGlzIHZhZ3VlLCBidXQgYWxzbyBiZWNhdXNlIGl0J3Mgbm90IHNwZWNpZmllZCBv biB3aGF0IHNjYWxlIHlvdSdyZSBjb3VudGluZzogVGhlIHN1Z2FyIGNvdWxkIGJlIGNvbnNpZGVy ZWQgYSBncm91cCBvZiBtYW55IGNyeXN0YWxzLCBjb3VudGVkIG9uZSBhdCBhIHRpbWUsIGFuZCB0 aGUgd2F0ZXIgY291bGQgYmUgcXVhbnRpZmllZCBieSB0aGUgYW1vdW50cyBvZiByYWluZHJvcHMg aXQgdG9vayB0byBtYWtlIHRoZSBib2R5IG9mIHdhdGVyIGluIHF1ZXN0aW9uLiBXaGlsZSB0aGlz IHdheSBvZiBjb3VudGluZyBpcyBsZWdpdGltYXRlLCBpdCdzIG5vdCB2ZXJ5IGV4YWN0IGFuZCBj YW4gZWFzaWx5IGNvbmZ1c2Ugb3IgbWlzbGVhZC4KCkEgd2F5IHRvIGJlIGV4cGxpY2l0IGFib3V0 IG5vbi1jb3VudGFiaWxpdHkgaXMgdG8gdXNlIHRoZSBudWxsIG9wZXJhbmQgJyd0dSdvJycgYXMg YW4gaW5uZXIgcXVhbnRpZmllci4KCl9fJyd0dSdvJydfXyBOdWxsIG9wZXJhbmQgKCDDmCApLiBV c2VkIGluIHVuYXJ5IG1la3NvLgoKVGhpcyBzb2x1dGlvbiBpcyBlbGVnYW50IGFuZCBpbnR1aXRp dmUsIGFuZCBhbHNvIGdpdmVzIG1lIGFuIGV4Y3VzZSB0byBxdW90ZSB0aGlzIGhvcnJpZnlpbmcs IHlldCBjb21pY2FsIGV4YW1wbGUgZnJvbSB0aGUgb3JpZ2luYWwgJyd4b3JsbycnLXByb3Bvc2Fs OgoKJydsZSBuYW5tdSBjdSBzZSBzbnV0aSAuaSBqYSdlIGJvIGxvIHR1J28gZ2Vya3UgY3Uga3Vz cGUgbGUga2xhamknJwoKX18nJ3NudXRpJydfXyB4MSBpcyBhbiBhY2NpZGVudCBvbiB0aGUgcGFy dCBvZiB4MgoKX18nJ2phJ2UnJ19fIHN1bXRjaXRhOiBCQUk6IChmcm9tICcnamFsZ2UnJyk6IEJy aWRpIHJlc3VsdHMgaW4ge3N1bXRpfSAKCl9fJydrdXNwZScnX18geDEgc3BhbnMvZXh0ZW5kcyBv dmVyIHgyCgpfXycna2xhamknJ19fIHgxIGlzIGEgcm9hZC9hdmVudWUvc3RyZWV0IGF0IHgyIGFj Y2Vzc2luZyB4MwoKCgpXaGF0IGRvZXMgaXQgbWVhbj8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJU aGUgbWFuIGhhZCBhbiBhY2NpZGVudCBhbmQgc28gdGhlcmUgd2FzIGRvZyBhbGwgb3ZlciB0aGUg cm9hZCJ+fgoKCgpBIHNlY29uZCBtZXRob2Qgb2YgcXVhbnRpZnlpbmcgc3Vic3RhbmNlcyBpcyB0 byB1c2UgdGhlIHRlbnNlcyAnJ3ZlJ2knJywgJyd2ZSdhJycgYW5kICcndmUndScnIGFzIG1lbnRp b25lZCBpbiBsZXNzb24gdGVuOgoKJyd0aSB2ZSdpIGRqYWN1JycgLSBUaGlzIGlzIGEgc21hbGwg YW1vdW50IG9mIHdhdGVyCgpfXycnZGphY3UnJ19fIHgxIGlzIGFuIGV4cGFuc2Ugb2Ygd2F0ZXIv aXMgbWFkZSBvZiB3YXRlci9jb250YWlucyB3YXRlcgoKCgpUaGlyZGx5LCBvZiBjb3Vyc2UsIHlv dSBjb3VsZCB1c2UgYSBicml2bGEgdG8gZ2l2ZSBhbiBleGFjdCBtZWFzdXJlbWVudDoKCicnbGUg dGEgZGphY3UgY3Uga2knb2dyYSBiZSBsaSByZSBwaSBraSdvIGtpJ28nJyAtICJUaGF0IHdhdGVy IGhhcyBhIG1hc3Mgb2YgMi4wMDAgMDAwIGtpbG9ncmFtcyIKCl9fJydraSdvZ3JhJydfXyB4MSBt ZWFzdXJlcyBpbiBtYXNzIHgyIGtpbG9ncmFtcyBieSBzdGFuZGFyZCB4MwoKCgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIHR3ZW50eS10aHJlZSAobmVnYXRpb24pCgpTb21ldGltZXMsIGp1c3Qg c2F5aW5nIHdoYXTigJlzIHRoZSB0cnV0aCBpcyBub3QgZW5vdWdoLiBPZnRlbiwgd2Ugd2FudCB0 byBzcGVjaWZ5IHdoYXTigJlzIG5vdCB0aGUgdHJ1dGgsIGFuZCB3ZSBkbyB0aGlzIGJ5IHVzaW5n IG5lZ2F0aW9uLgoKTmVnYXRpb24gaW4gRW5nbGlzaCBtb3N0bHkgaW52b2x2ZXMg4oCcbm904oCd LCBhbmQgaXMgY29tcGxldGVseSBhcmJpdHJhcnkgYW5kIGFtYmlndW91cy4gV2UsIGFzIExvamJh bmlzdHMsIGNhbuKAmXQgaGF2ZSB0aGF0LCBvZiBjb3Vyc2UsIHNvIExvamJhbiBjb250YWlucyBh biBlbGVnYW50IGFuZCB1bmFtYmlnaW91cyBzeXN0ZW0gZm9yIG5lZ2F0aW5nLgoKCgpUaGUgZmly c3QgeW91IG5lZWQgdG8ga25vdyBhYm91dCBpcyBicmlkaSBuZWdhdGlvbiwgc28gY2FsbGVkIGJl Y2F1c2UgaXQgbmVnYXRlcyB0aGUgYnJpZGkgaXTigJlzIGluLCBzYXlpbmcgaXTigJlzIG5vdCB0 cnVlLiBUaGUgd2F5IHRvIG5lZ2F0ZSBhIGJyaWRpIGlzIHRvIHBsYWNlICcnbmEnJyBlaXRoZXIg anVzdCBiZWZvcmUgdGhlIHNlbGJyaSAoYWZ0ZXIgYW55ICcnY3UnJyksIG9yIGZpcnN0IGluIHRo ZSBzZW50ZW5jZSB3aXRoIGEgJydrdScnIGFmdGVyIGl0LgoKX18nJ3NwZW5pJydfXyB4MSBpcyBt YXJyaWVkIHRvIHgyIHVuZGVyIGNvbnZlbnRpb24geDMKClRodXM6ICcnbGUgbWkgc3BlbmkgY3Ug bmEgbmlubXUnJyBzdGF0ZXMgdGhhdCDigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7igJ0uIEl0 IHN0YXRlcyBub3RoaW5nIGFib3V0IHdoYXQgbXkgd2lmZSBpcywgb3IgaWYgSSBldmVuIGhhdmUg YSB3aWZlLiBJdCBvbmx5IHN0YXRlcyB0aGF0IEkgZG8gbm90IGhhdmUgYSB3aWZlIHdobyBpcyBh bHNvIGEgd29tYW4uIFRoaXMgaGFzIGFuIGltcG9ydGFudCBpbXBsaWNhdGlvbjogSWYgdGhlIG5l Z2F0aW9uIG9mIGEgYnJpZGkgaXMgZmFsc2UsIHRoZSBicmlkaSBtdXN0IGJlIHRydWU6ICcnbmEg a3UgbGUgbWkgc3BlbmkgY3UgbmEgbmlubXUnJyBtdXN0IG1lYW4gdGhhdCBJIGhhdmUgYm90aCBh IHNwb3VzZSwgYW5kIHRoYXQgc2hlIGlzIGEgc2hlLgoKSXQgaXMgcG9zc2libGUgdG8gdXNlIGJy aWRpIG5lZ2F0aW9ucyBpbiBhbGwgYnJpZGksIGV2ZW4gdGhlIGltcGxpY2l0IGJyaWRpIG9mIGRl c2NyaXB0aXZlIHN1bXRpLiAnJ2xvIG5hIHByZW51JycgY2FuIHJlZmVyIHRvIGFueXRoaW5nIG5v bi1odW1hbiwgd2hldGhlciBpdCBiZSBhIHNwaGlueCwgYSBiYXNlYmFsbCBvciB0aGUgcHJvcGVy dHkgb2YgYXBwcm9wcmlhdGVuZXNzLgoKCgpfXycnYmF1JydfXyBzdW10Y2l0YSwgZnJvbSBiYW5n dTogdXNpbmcgdGhlIGxhbmd1YWdlIG9mIHtzdW10aX0KCl9fJydzZSBqYeKAmWUnJ19fIHN1bXRj aXRhLCBmcm9tIHNlIGphbGdlOiBiZWNhdXNlIG9mIHtzdW10aX0KCgoKT2Z0ZW4gd2hlbiB1c2lu ZyAnJ25hJycsIGl04oCZcyBhIHByb2JsZW0gdGhhdCBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGku IElmIEkgc2F5ICcnbWkgbmEgc3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBzZSBqYeKAmWUgbGUg bnUgbWkgZG90Y28nJywgSSBlbmQgdXAgbmVnYXRpbmcgdG9vIG11Y2gsIGFuZCBpdCBpcyBub3Qg Y2xlYXIgdGhhdCBJIHdhbnRlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdC4gVGhl IHNlbnRlbmNlIGNvdWxkIHN1Z2dlc3QgdGhhdCBJIGluIGZhY3Qgc3BlYWsgZmFzdCBiZWNhdXNl IG9mIHNvbWUgb3RoZXIgcmVhc29uLCBvciB0aGF0IEkgc3BlYWsgZmFzdCBpbiBGcmVuY2ggYmVj YXVzZSBJ4oCZbSBHZXJtYW4uIFRvIGV4cHJlc3MgdGhlIHNlbnRlbmNlIGNvcnJlY3RseSwgSSBu ZWVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LCBhbmQgbm90IHRoZSBvdGhlciB0 aGluZ3MuCgpUbyBvbmx5IG5lZ2F0ZSBwYXJ0IG9mIGEgYnJpZGksICcnbmEga3UnJyBjYW4gYmUg bW92ZWQgYXJvdW5kIHRoZSBicmlkaSBhbmQgcGxhY2VkIGFueXdoZXJlIGEgc3VtdGkgY2FuIGdv LiBJdCB0aGVuIG5lZ2F0ZXMgYW55IHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhIHBsYWNlZCBh ZnRlciBpdC4KCgoKTW92aW5nICcnbmEga3UnJyBmcm9tIHRoZSBsZWZ0IGVuZCBvZiB0aGUgYnJp ZGkgYW5kIHJpZ2h0d2FyZHMgZWZmZWN0cyBhbnkgcXVhbnRpZmllcnMgaW4gYSBjZXJ0YWluIHdh eSwgYXMgY2FuIGJlIHNlZW4gYnkgdGhpcyBleGFtcGxlOgoKCgonJ25hIGt1IHJvIHJlbW5hIGN1 IHZlcmJhJycg4oCcSXTigJlzIG5vdCB0cnVlIHRoYXQ6IEFsbCBodW1hbnMgYXJlIGNoaWxkcmVu 4oCdCgonJ3N14oCZbyByZW1uYSBuYSBrdSBjdSB2ZXJiYScnIOKAnEZvciBhdCBsZWFzdCBvbmUg aHVtYW4gaXTigJlzIG5vdCB0cnVlIHRoYXQ6IEl04oCZcyBhIGNoaWxk4oCdLiBTZWUgdGhhdCB0 aGUgJyduYSBrdScnIGlzIHBsYWNlZCBiZWZvcmUgJydjdScnLCBzaW5jZSBhIHN1bXRpIGNhbiBn byBvbmx5IHRoZXJlLiBIYWQgSSBvbmx5IHVzZWQgJyduYScnLCBpdCB3b3VsZCBoYXZlIHRvIGdv IGFmdGVyICcnY3UnJy4KCgoKVGhlIHF1YW50aWZpZXIgaXMgaW52ZXJ0ZWQsICcncm8nJyBpcyB0 dXJuZWQgaW50byAnJ3N14oCZbycnLiBUaGlzIGlzLCBvZiBjb3Vyc2UsIG9ubHkgaWYgdGhlIG1l YW5pbmcgb2YgdGhlIGJyaWRpIGhhcyB0byBiZSBwcmVzZXJ2ZWQuIFRoaXMgbWVhbnMgdGhhdCB3 aGVuIHRoZSAnJ25hIGt1JycgaXMgcGxhY2VkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLCBvbmx5 IHRoZSBzZWxicmkgaXMgbmVnYXRlZCBidXQgYWxsIHRoZSBzdW10aSBhbmQgc3VtdGNpdGEgYXJl IHByZXNlcnZlZCwgYXMgY2FuIGJlIHNlZW4gYnkgdGhlc2UgdGhyZWUgaWRlbnRpY2FsIGJyaWRp OgoKX18nJ2NrdWxlJydfXyB4MSBpcyBhIHNjaG9vbCBhdCBsb2NhdGlvbiB4MiB0ZWFjaGluZyB4 MyB0byBzdHVkZW50cyB4NCBhbmQgb3BlcmF0ZWQgYnkgeDUKCgoKJyduYSBrdSBybyB2ZXJiYSBj dSB2ZSBja3VsZSBmbyBzdeKAmW8gY2t1bGUnJyDigJMg4oCcSXTigJlzIG5vdCB0cnVlIHRoYXQg YWxsIGNoaWxkcmVuIGFyZSBzdHVkZW50cyBpbiBhIHNjaG9vbC7igJ0KCicnc3XigJlvIHZlcmJh IGN1IHZlIGNrdWxlIG5hIGt1IGZvIHN14oCZbyBja3VsZScnIOKAkyDigJxTb21lIGNoaWxkcmVu IGFyZSBzdHVkZW50cyBpbiBub3QgYSBzaW5nbGUgc2Nob29sLuKAnQoKJydzdeKAmW8gdmVyYmEg Y3UgdmUgY2t1bGUgZm8gcm8gY2t1bGUgbmEga3UnJyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUg Zm9yIGFsbCBzY2hvb2xzIG5vdCBzdHVkZW50cyBpbiB0aGVtLuKAnQoKCgpUaGUgb3Bwb3NpdGUg b2YgJyduYScnIGlzICcnamEnYScnLiBUaGlzIGlzIGJhcmVseSBldmVyIHVzZWQsIHNpbmNlIGl0 IGlzIGRlZmF1bHQgaW4gbW9zdCBicmlkaS4gT25lIGV4Y2VwdGlvbiBpcyByZXBlYXRlZCBicmlk aSAobmV4dCBsZXNzb24pLiBTb21ldGltZXMgaXQncyB1c2VkIHRvIHB1dCBtb3JlIHdlaWdodCBv biB0aGUgdHJ1dGggb2YgdGhlIGJyaWRpLCBhcyBpbiAnJ2xhIC5iYWIuIGphJ2EgbWVsYmknJyA9 ICJCb2IgaXMgaW5kZWVkIGJlYXV0aWZ1bCIuCgoKCldoaWxlIHRoZSBtZWNoYW5pc20gb2YgJydu YSBrdScnIHJlc2VtYmxlcyBuYXR1cmFsIGxhbmd1YWdlIG5lZ2F0aW9uLCBpdCBjYW4gYmUgZGlm ZmljdWx0IHRvIGtlZXAgdHJhY2sgb2YgZXhhY3RseSB3aGF0IGlzIG5lZ2F0ZWQgYW5kIGhvdyB0 aGF0IGFmZmVjdHMgdGhlIGJyaWRpLiBGb3IgdGhhdCByZWFzb24sIHRoZSBjb25zdHJ1Y3QgJydu YSBrdScnIGlzIHJhcmVseSBzZWVuIGFueXdoZXJlIG90aGVyIHRoYW4gdGhlIGJlZ2lubmluZyBv ZiBhIGJyaWRpLiBJbiBtb3N0IGNhc2VzIHdoZXJlIG1vcmUgc3BlY2lmaWMgbmVnYXRpb24gaXMg bmVlZGVkIHBlb3BsZSByZXNvcnQgdG8gYSBkaWZmZXJlbnQgbWV0aG9kLiBUaGlzIG1ldGhvZCwg Y2FsbGVkIHNjYWxhciBuZWdhdGlvbiwgaXMgYW4gZWxlZ2FudCBhbmQgaW50dWl0aXZlIHRvb2wu IFVzaW5nIGl0LCB5b3UgZWZmZWN0IG9ubHkgdGhlIHNlbGJyaSwgc2luY2UgdGhlIHdvcmRzIHVz ZWQgaW4gc2NhbGFyIG5lZ2F0aW9uIGJpbmRzIHRvIHRoZSBzZWxicmkgbXVjaCBsaWtlIHRoZSB3 b3JkICcnc2UnJy4KClRoZSBuYW1lIOKAnHNjYWxhciBuZWdhdGlvbuKAnSBpcyBkZXJpdmVkIGZy b20gdGhlIGZhY3QgdGhhdCB0aGUgd29yZHMgd2hpY2ggYmluZCB0byB0aGUgc2VsYnJpIGNhbiBi ZSBwbGFjZWQgYWxvbmcgYSBzY2FsZSBmcm9tIGFmZmlybWF0aW9uIG92ZXIgbmVnYXRpb24gYW5k IHRvIHN0YXRpbmcgdGhhdCB0aGUgb3Bwb3NpdGUgY2FzZSBpcyB0cnVlOgoKfHxXb3JkfE1lYW5p bmcKCmpl4oCZYXzigJxJbmRlZWTigJ07IHNjYWxhciBhZmZpcm1lcgoKbm/igJllfOKAnE5vdCBy ZWFsbHnigJ0sIHNjYWxhciBtaWRwb2ludAoKbmHigJllfOKAnE5vbi3igJwsIHNjYWxhciBuZWdh dG9yCgp0b+KAmWV84oCcSWzigJ0sIOKAnERpcy3igJwsIOKAnE1pc+KAnSBlY3Q7IHNjYWxhciBv cHBvc2VyfHwKCgoKCgpUaGVzZSB3b3JkcyBhcmUgbm90IG5lZ2F0b3JzIGluIHRoZSBzYW1lIHNl bnNlIGFzICcnbmEnJy4gVGhleSBkbyBub3Qgc3RhdGUgdGhhdCBhIGJyaWRpIGlzIGZhbHNlLCBi dXQgbWFrZXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgdGhhdCBhIGJyaWRpIGlzIHRydWUg4oCTIHRo ZSBzYW1lIGJyaWRpLCBidXQgd2l0aCBhIGRpZmZlcmVudCBzZWxicmkuIFRoaXMgZGlzdGluY3Rp b24gaXMgbW9zdGx5IGFjYWRlbWljLCB0aG91Z2guIElmLCBmb3IgZXhhbXBsZSwgSSBzdGF0ZSB0 aGF0ICcnbWkgbmEnZSBzZSBuZWxjaScnICJJIGFtIG5vbi1saWtlZCIsIEkgYWN0dWFsbHkgc3Rh dGUgdGhhdCBzb21lIHNlbGJyaSBhcHBsaWVzIHRvIG1lLCB3aGljaCBpcyBhbHNvIG9uIGEgcmVs ZXZhbnQgc2NhbGUgd2l0aCB0aGUgc2VsYnJpICcnbmVsY2knJy4gTW9zdCBvZiB0aGUgdGltZSwg d2UgYXNzdW1lIGEgc2NhbGUgd2hlcmUgdGhlIHBvc2l0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVz aXZlIChsaWtlIGxvdmUtbGlrZS1kaXNsaWtlLWhhdGUpLCBzbyAnJ21pIG5hJ2Ugc2UgbmVsY2kn JyBpbXBsaWVzICcnbWkgbmEgc2UgbmVsY2knJwoKVGhlcmVmb3JlLCB0aGUgd29yZHMgJydub+KA mWUnJyBhbmQgJyd0b+KAmWUnJyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIHNlbGJyaSBp cyBwbGFjZWQgb24gc29tZSBvYnZpb3VzIHNjYWxlOgoKJydsZSBtaSBzcGVuaSBjdSB0b+KAmWUg bWVsYmknJyDigJMg4oCdTXkgc3BvdXNlIGlzIHVnbHnigJ0gbWFrZXMgc2Vuc2UsIHNpbmNlIHdl IGltbWVkaWF0ZWx5IGtub3cgd2hhdCB0aGUgb3Bwb3NpdGUgb2YgYmVhdXRpZnVsIGlzLCB3aGls ZQoKJydtaSBrbGFtYSBsZSBtaSB0b+KAmWUgemRhbmknJyDigJMg4oCdSSBnbyB0byBteSBvcHBv c2l0ZSB0aGluZyBvZiBob21l4oCdLCB3aGlsZSBncmFtbWF0aWNhbCwgbGVhdmVzIHRoZSBsaXN0 ZW5lciBndWVzc2luZyB3aGF0IHRoZSBzcGVha2VycyDigJxvcHBvc2l0ZS1ob21l4oCdIGlzIGFu ZCBzaG91bGQgYmUgYXZvaWRlZC4KCgoKU28gaG93IGNhbiB5b3UgbmVnYXRlIG9ubHkgdGhlIHNl bGJyaSB3aXRob3V0IGFsc28gaW1wbHlpbmcgdGhhdCB0aGUgc2VsYnJpIGlzIGNvcnJlY3QgYXQg c29tZSBvdGhlciBwb3NpdGlvbiBvbiBhIHRydXRoLXNjYWxlPyBTaW1wbGU6IE1vdmluZyB0aGUg JyduYSBrdScnIHRvIHRoZSByaWdodG1vc3QgZW5kIG9mIHRoZSBicmlkaSwgYXMgZGVtb25zdHJh dGVkIGEgZmV3IGxpbmVzIGFib3ZlLiBUaGlzIGZlYXR1cmUgaXMgdmVyeSB1c2VmdWwuIFNvbWUg bG9qYmFuaXN0cyBwcmVmZXIgdG8gcHJlZml4IHRoZSByYWZzaSAnJ25hci0nJyAodGhlIHJhZnNp IG9mICcnbmEnJykgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSAtIHRoaXMgaGFzIHRoZSBzYW1lIGVm ZmVjdCwgYnV0IEkgYWR2aXNlIGFnYWluc3QgaXQsIGJlY2F1c2UgaXQgbWFrZXMgZmFtaWxpYXIg YnJpdmxhIHNlZW0gYWxpZW4sIGFuZCBpdCdzIGhhcmRlciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bv a2VuIGNhc3VhbGx5LgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZXNlIHNlbnRlbmNlczoKCuKAnE15 IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnSAobWVhbmluZyB0aGF0IGhlIGlzIGEgbWFsZSkKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5h4oCZZSAvIHRv4oCZZSBuaW5t dScnLiBVc2luZyBzY2FsYXIgbmVnYXRpb24gaGVyZSBpbXBsaWVzIHRoYXQgaGUgZXhpc3RzLCB3 aGljaCBuYSBkaWQgbm90Ln5+CgoKCuKAnE15IHNwb3VzZSBpcyBub3QgcmVhbGx5IGEgd29tYW7i gJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5v4oCZZSBuaW5tdScn LiBUaGUgc2NhbGUgaGVyZSBpcyBwcmVzdW1lZCB0byBiZSBmcm9tIHdvbWFuIHRvIG1hbi5+fgoK CgrigJxJIGRvbuKAmXQgc3BlYWsgZmFzdCBpbiBFbmdsaXNoIGJlY2F1c2UgSeKAmW0gR2VybWFu 4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYeKAmWUgc3V0cmEgdGF2bGEgYmF1IGxl IGdsaWJhdSBzZSBqYeKAmWUgbGUgbnUgbWkgZG90Y28nJ35+CgoKCkFsc28sIG5vdGUgdGhhdCB3 aGVuZXZlciB0aGVzZSB3b3JkcyBhcmUgdXNlZCB0b2dldGhlciB3aXRoIGEgdGFucnUsIHRoZXkg b25seSBhZmZlY3QgdGhlIGxlZnRtb3N0IHNlbGJyaS4gSW4gb3JkZXIgdG8gbWFrZSBpdCBiaW5k IHRvIHRoZSB3aG9sZSB0YW5ydSBvciBwYXJ0cyBvZiB0aGUgdGFucnUsIHRoZSB1c3VhbCB0YW5y dS1ncm91cGluZyB3b3JkcyBjYW4gYmUgdXNlZC4KCgoKVHJ5IHRvIHNheSDigJxJIHNlbGwgc29t ZXRoaW5nIHdoaWNoIGlzIG5vdCB5ZWxsb3cgaG9tZXPigJ0gdXNpbmcgdGhlIHRhbnJ1ICcncGVs eHUgemRhbmkgdmVjbnUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgbmHigJllIGtlIHBl bHh1IHpkYW5pIGtl4oCZZSB2ZWNudSBvciBtaSBuYeKAmWUgcGVseHUgYm8gemRhbmkgdmVjbnUn J35+CgoKCldoZW4gYXR0ZW1wdGluZyB0byBhbnN3ZXI6IOKAnElzIHRoZSBraW5nIG9mIHRoZSBV U0EgZmF0P+KAnSwgYWxsIG9mIHRoZXNlIG5lZ2F0aW9ucyBmYWlsLiBXaGlsZSBpdOKAmXMgdGVj aG5pY2FsbHkgY29ycmVjdCB0byBuZWdhdGUgaXQgd2l0aCAnJ25hJycsIHNpbmNlIGl0IG1ha2Vz IG5vIGFzc3VtcHRpb25zIG9mIHRoYXQgaXMgdHJ1ZSwgaXTigJlzIG1pbGRseSBtaXNsZWFkaW5n IHNpbmNlIGl0IGNvdWxkIGxlYWQgdGhlIGxpc3RlbmVyIHRvIGJlbGlldmUgdGhlcmUgaXMgYSBr aW5nIG9mIHRoZSBVU0EuIEZvciB0aGVzZSBzY2VuYXJpb3MsIHRoZXJlIGlzIGEgbWV0YWxpbmd1 aXN0aWMgbmVnYXRvciwgJyduYeKAmWknJy4KCicnbmHigJlpJycgTWV0YWxpbmd1aXN0aWMgbmVn YXRvci4gU29tZXRoaW5nIGlzIHdyb25nIHdpdGggYXNzaWduaW5nIGEgdHJ1dGggdmFsdWUgdG8g dGhlIGJyaWRpLgoKQmVjYXVzZSAnJ25h4oCZaScnIGNhbiBiZSBuZWVkZWQgYW55d2hlcmUgaXQg aGFzIGJlZW4gZ2l2ZW4gdGhlIGdyYW1tYXIgb2YgdGhlIGF0dGl0dWRpbmFscywgd2hpY2ggbWVh bnMgaXQgY2FuIGFwcGVhciBhbnl3aGVyZSwgYW5kIGl0IGF0dGFjaGVzIHRvIHRoZSBwcmV2aW91 cyB3b3JkIG9yIGNvbnN0cnVjdC4KCgoKX18nJ3BhbGNpJydfXyB4MSBpcyBldmlsIGJ5IHN0YW5k YXJkIHgyCgonJ2xlIG5h4oCZaSBwdSB0ZSB6dWt0ZSBiZSBsZSBza2FtaSBjdSBwYWxjaScnIOKA kyDigJ1UaGUgc291Z2h0IGdvYWwge21pc3Rha2UhfSBvZiB0aGUgY29tcHV0ZXIgd2FzIGV2aWzi gJ0sIHByb2JhYmx5IHByb3Rlc3RzIHRoYXQgY29tcHV0ZXJzIGNhbiBzZWVrIGEgZ29hbCB2b2xp dGlvbmFsbHkuCgoKClNpbmNlIHRoaXMgaXMgYSBsZXNzb24gb24gbmVnYXRpb24sIEkgYmVsaWV2 ZSB0aGUgd29yZCAnJ25haScnIGRlc2VydmVzIGEgc2hvcnQgbWVudGlvbi4gSXQgaXMgdXNlZCB0 byBuZWdhdGUgbWlub3IgZ3JhbW1hdGljYWwgY29uc3RydWN0cywgYW5kIGNhbiBiZSB1c2VkIGlu IGNvbWJpbmF0aW9uIHdpdGggYXR0aXR1ZGluYWxzLCBhbGwgc3VtdGNpdGEgaW5jbHVkaW5nIHRl bnNlcywgdm9jYXRpdmVzIGFuZCBsb2dpY2FsIGNvbm5lY3RpdmVzLiBUaGUgcnVsZXMgZm9yIG5l Z2F0aW5nIHVzaW5nICcnbmFpJycgZGVwZW5kIG9uIHRoZSBjb25zdHJ1Y3QsIGFuZCBzbyB0aGUg ZWZmZWN0IG9mICcnbmFpJycgaGFzIGJlZW4gZGlzY3Vzc2VkIHdoZW4gbWVudGlvbmluZyB0aGUg Y29uc3RydWN0IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gaXMgc3VtdGNpdGEsIHdoZXJlIHRo ZSBydWxlcyBmb3IgbmVnYXRpb24gYXJlIG1vcmUgY29tcGxleCwgYW5kIHdpbGwgbm90IGJlIGRp c2N1c3NlZCBoZXJlLgoKX19Ob3RlOl9fIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIGl0IGhhcyBi ZWVuIHByb3Bvc2VkIHRvIG1vdmUgJyduYWknJyB0byB0aGUgc2VsbWEnbyBDQUksIHdoaWNoIG1l YW5zIHRoZSBzZW1hbnRpY3Mgb2YgJyduYWknJyBkZXBlbmQgb24gd2hpY2ggc2VsbWEnbyBpdCBm b2xsb3dzLiAKCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1mb3VyIChicmlr YeKAmWkvcHJvLWJyaWRpIGFuZCBrb+KAmWEpCgpJZiBJIHNheSB0aGF0IEnigJltIGNhbGxlZCBN aWtoYWlsLCAnJ2xhIC5taWthaWwuIGNtZW5lIG1pJycsIGFuZCB5b3UgaGF2ZSB0byBzYXkgdGhl IGV4YWN0IHNhbWUgYnJpZGksIHdoYXQgd291bGQgdGhhdCBiZT8gT25lIG9mIHRoZSBtYW55IGFu c3dlcnMgaXMgJydkbyBzZSBjbWVuZSBsYSAubWlrYWlsLicnLiBGb3IgdGhlIGJyaWRpIHRvIGJl IHRoZSBzYW1lLCB5b3UgaGF2ZSB0byByZXBsYWNlICcnbWknJyB3aXRoICcnZG8nJywgYW5kIGl0 IGRvZXNu4oCZdCBtYXR0ZXIgd2hpY2ggaWYgeW91IHNheSB0aGUgYnJpZGkgd2l0aCB0aGUgJydz ZScnLWNvbnZlcnRlZCBzZWxicmkgb3Igbm90LiBUaGlzIGlzIGJlY2F1c2UgYSBicmlkaSBpcyBu b3QgdGhlIHdvcmRzIHdoaWNoIGV4cHJlc3MgaXQg4oCTIGEgYnJpZGkgaXMgYW4gaWRlYSwgYW4g YWJzdHJhY3QgcHJvcG9zaXRpb24uIFRoZSB3b3JkICcnbWknJyB3aGVuIEkgc2F5IGl0IGFuZCB0 aGUgd29yZCAnJ2RvJycgd2hlbiB5b3UgZG8gcmVmZXJzIHRvIHRoZSBzYW1lIHN1bXRpLCBzbyB0 aGUgdHdvIGJyaWRpIGFyZSBpZGVudGljYWwuCgpUaGlzIGxlc3NvbiBpcyBvbiAnJ2JyaWth4oCZ aScnLCB0aGUgYnJpZGkgZXF1aXZhbGVudCBvZiBzdW1rYeKAmWkuIFRoZXkgYXJlIHdvcmQgd2hp Y2ggcmVwcmVzZW50IGVudGlyZSBicmlkaS4gSGVyZSBpdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1i ZXIgdGhhdCBhIGJyaWRpIGNvbnNpc3RzIG9ubHkgb2Ygc3VtdGkgYW5kIHRoZSB0aGluZ3Mgd2hp Y2ggY29udGFpbiB0aGUgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEuIE5laXRoZXIgYXR0aXR1 ZGluYWxzLCBub3IgdGhlIHNlbWFudGljIGxheWVyIG9mICcna28nJyBvciAnJ21hJycgYXJlIHBh cnQgb2YgdGhlIGJyaWRpIHByb3BlciwgYW5kIHNvIHRoZXNlIGFyZSBub3QgcmVwcmVzZW50ZWQg YnkgYSAnJ2JyaWth4oCZaScnLgoKCgpUaGVyZSBhcmUgbXVjaCBmZXdlciAnJ2JyaWth4oCZaScn IHRoYW4gdGhlcmUgYXJlIHN1bWth4oCZaS4gV2Ugd2lsbCBiZWdpbiBieSBnb2luZyB0aHJvdWdo IHNvbWUgb2YgdGhlIHdvcmRzIGluIHRoZSBtb3N0IHVzZWQgc2VyaWVzLCBjYWxsZWQgR09oQToK CldvcmQ6CURlZmluaXRpb246CgpfXycnZ2/igJl1JydfXwlSZXBlYXRzIHJlbW90ZSBwYXN0IGJy aWRpCgpfXycnZ2/igJlhJydfXwlSZXBlYXRzIHBhc3QgYnJpZGkKCl9fJydnb+KAmWUnJ19fCVJl cGVhdHMgbmV4dC10by1sYXN0IGJyaWRpCgpfXycnZ2/igJlpJydfXwlSZXBlYXRzIGxhc3QgbWVu dGlvbmVkIGJyaWRpCgpfXycnZ2/igJlvJydfXwlSZXBlYXRzIGZ1dHVyZSBicmlkaQoKX18nJ25l aScnX18JUmVwZWF0cyBjdXJyZW50IGJyaWRpCgpfXycnbm/igJlhJydfXwlSZXBlYXRzIG91dGVy IGJyaWRpCgoKClNvbWUgb2YgdGhlIEdPaEEtJydicmlrYeKAmWknJy4gTm90aWNlIHRoZSBmYW1p bGlhciBpLCBhLCB1LXBhdHRlcm4gZm9yIGNsb3NlIGluIHBhc3QsIG1lZGl1bSBpbiBwYXN0IGFu ZCBkaXN0YW50IGluIHBhc3QuCgoKCgoKVGhlc2UgYXJlIHZlcnkgbXVjaCBsaWtlIHRoZSBzdW1r YeKAmWkgJydyaScnLCAnJ3JhJycgYW5kICcncnUnJy4gVGhleSBjYW4gb25seSByZWZlciB0byBt YWluIGJyaWRpIG9mIGp1ZnJhLCBhbmQgbm90IHRob3NlIGNvbnRhaW5lZCBpbiByZWxhdGl2ZSBw aHJhc2VzIG9yIGRlc2NyaXB0aW9uIHN1bXRpLiBUaGUgbWFpbiBicmlkaSBjYW4gY29udGFpbiBh IHJlbGF0aXZlIHBocmFzZSwgb2YgY291cnNlLCBidXQgYSAnJ2JyaWth4oCZaScnIGNhbiBuZXZl ciBiZSB1c2VkIHRvIHJlZmVyIHRvIG9ubHkgdGhlIHJlbGF0aXZlIHBocmFzZS4KCkEgR09oQSBh Y3RzIGdyYW1tYXRpY2FsbHkgbXVjaCBsaWtlIGEgc2VsYnJpLCBhbnkgY29uc3RydWN0IHdoaWNo IGNhbiBhcHBseSB0byBzZWxicmkgY2FuIGFsc28gYXBwbHkgdG8gdGhlc2UuIFRoZSBwbGFjZSBz dHJ1Y3R1cmUgb2YgYSBHT2hBIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGJyaWRpIGl0IHJl cHJlc2VudHMsIGFuZCB0aGUgc3VtdGkgYXJlIGJ5IGRlZmF1bHQgdGhlIHNhbWUgYXMgaW4gdGhl IGJyaWRpIGl0IHJlcHJlc2VudHMuIEZpbGxpbmcgdGhlIHN1bXRpIHBsYWNlcyBvZiBhIEdPaEEg ZXhwbGljaXRseSBvdmVyd3JpdGVzIHRoZSBzdW10aSBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50 cy4gQ29udHJhc3Q6CgpBOiAnJ21pIGNpdGthIGxvIHBsaXNlJycgQjogJydnb+KAmWknJyDigJMg 4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnFlvdSBkby7igJ0gd2l0aAoKQTogJydtaSBjaXRrYSBs byBwbGlzZScnIEI6ICcnbWkgZ2/igJlpJycg4oCTIOKAnEkgZWF0IGFuIGFwcGxlLuKAnSDigJxJ IGRvLCB0b28u4oCdCgoKClRoZXNlICcnYnJpa2HigJlpJycgYXJlIHZlcnkgdXNlZnVsIHdoZW4g YW5zd2VyaW5nIGEgcXVlc3Rpb24gd2l0aCAnJ3h1Jyc6CgpBOiAnJ3h1IGRvIG5lbGNpIGxlIG1p IHNwZW5pJycgQjogJydnb+KAmWkgLyBuYSBnb+KAmWknJyDigJMg4oCcRG8geW91IGxpa2UgbXkg d2lmZT/igJ0g4oCcWWVzLi9Oby7igJ0uIFRoZSAnJ3h1JycsIGJlaW5nIGFuIGF0dGl0dWRpbmFs LCBpcyBub3QgY29waWVkLgoKV2hlbiByZXBlYXRpbmcgYnJpZGkgbmVnYXRlZCBieSAnJ25hJycs IHRoYXQgaXM6IEJyaWRpIHdoZXJlICcnbmEnJyBpcyBwbGFjZWQgaW4gdGhlIHByZW5leCAobGVz c29uIHR3ZW50eS1zZXZlbiksIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpIG9yIHJpZ2h0 IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgcnVsZXMgZm9yIGNvcHlpbmcgb3ZlciAnJ25hJycgYXJl IGRpZmZlcmVudCBmcm9tIHdoYXQgb25lIG1pZ2h0IGV4cGVjdC4gQW55ICcnbmEnJyBpcyBjb3Bp ZWQgb3ZlciwgYnV0IGFueSBhZGRpdGlvbmFsICcnbmEnJyBpbiB0aGUgcHJvLWJyaWRpIHJlcGxh Y2VzIHRoZSBmaXJzdCBuYS4gTGV0IG1lIHNob3cgeW91IHdpdGggYW4gZXhhbXBsZToKCkE6ICcn bWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKQjogJydtaSBuYSBnbydpJycgPSAnJ21pIG5hIGNpdGth IGxvIHBsaXNlJycKCkM6ICcnbWkgbmEgbmEgZ28naSA9ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyA9 ICcnbWkgamEnYSBnbydpJycKCgoKJyduZWknJyBhbmQgJydub+KAmWEnJyBhcmUgbm90IHVzZWQg bXVjaCwgZXhjZXB0IGZvciDigJxtaW5kLWJyZWFraW5nIHB1cnBvc2Vz4oCdLCB3aGljaCBpcyBt YWtpbmcgdXAgYnJpZGkgd2hpY2ggYXJlIGhhcmQgdG8gcGFyc2UsIGxpa2UgJydkZWkgbmEgc2Ug ZHXigJl1IGxlIG5v4oCZYSBsYeKAmWUgbGUgbmVpJycuIFNpbmNlICcnbmVpJycgcmVwZWF0cyB0 aGUgY3VycmVudCBvdXRlciBicmlkaSwgaG93ZXZlciwgJydsZSBuZWknJyBjYW4gYmUgdXNlZCB0 byByZWZlciB0byB0aGUgeDEgb2YgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGksICcnbGUgc2UgbmVp JycgdGhlIHgyIGFuZCBzbyBvbi4KCgoKV2hlbiB1c2luZyAnJ2JyaWth4oCZaScnLCBvbmUgbXVz dCBhbHdheXMgYmUgd2FyeSBvZiBjb3B5aW5nIHNlbnRlbmNlcyB3aXRoIHRoZSBwZXJzb25hbCBz dW1rYeKAmWkgbGlrZSAnJ21pJycsICcnZG8nJywgJydtYeKAmWEnJyBlY3QsIGFuZCBiZSBjYXJl ZnVsIG5vdCB0byByZXBlYXQgdGhlbSB3aGVuIHRoZXkgYXJlIGluIHRoZSB3cm9uZyBjb250ZWN0 LCBhcyBzaG93biBpbiB0aGUgdHdvIGV4YW1wbGVzIHdpdGggYXBwbGUgZWF0aW5nIGFib3ZlLiBJ bnN0ZWFkIG9mIHJlcGxhY2luZyB0aGVtIG9uZSBieSBvbmUsIHRob3VnaCwgdGhlIHdvcmQgJydy YeKAmW8nJyBhbnl3aGVyZSBpbiB0aGUgYnJpZGkgdXBkYXRlcyB0aGUgcGVyc29uYWwgc3Vta2Hi gJlpIHNvIHRoYXQgdGhleSBhcHBseSBmb3IgdGhlIHNwZWFrZXLigJlzIHBlcnNwZWN0aXZlOgoK QTogJydtaSBkbyBwcmFtaScnIEI6ICcnbWkgZG8gZ2/igJlpJycgaXMgZXF1aXZhbGVudCB0byBB OiAnJ21pIGRvIHByYW1pJycgQjogJydnb+KAmWkgcmHigJlvJycKCl9fJydyYeKAmW8nJ19fIFVw ZGF0ZSBhbGwgcGVyc29uYWwgc3Vta2HigJlpIHNvIHRoYXQgdGhleSBub3cgZml0IHRoZSBzcGVh a2Vy4oCZcyBwb2ludCBvZiB2aWV3LgoKCgpUaGUgb25seSBvdGhlciBzZXJpZXMgb2YgYnJpa2Hi gJlpIGFyZSB2ZXJ5IGVhc3kgdG8gcmVtZW1iZXI6CgpfXycnYnJvZGEnJ19fCUJyaWRpIHZhcmlh YmxlIDEKCl9fJydicm9kZScnX18JQnJpZGkgdmFyaWFibGUgMgoKX18nJ2Jyb2RpJydfXwlCcmlk aSB2YXJpYWJsZSAzCgpfXycnYnJvZG8nJ19fCUJyaWRpIHZhcmlhYmxlIDQKCl9fJydicm9kdScn X18JQnJpZGkgdmFyaWFibGUgNQoKX18nJ2NlaScnX18JRGVmaW5lIGJyaWRpIHZhcmlhYmxlIChu b3QgYSBicmlrYSdpIGFuZCBub3QgaW4gQlJPREEpCgoKCgoKVGhlIGZpcnN0IGZpdmUgYXJlIGp1 c3QgZml2ZSBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgd29yZC4gVGhleSBjYW4gYmUgdXNlZCBhcyBz aG9ydGN1dHMgdG8gYnJpZGkuIEFmdGVyIHNheWluZyBhIGJyaWRpLCBzYXlpbmcgJydjZWkgYnJv ZGEnJyBkZWZpbmVzIHRoYXQgYnJpZGkgYXMgJydicm9kYScnLCBhbmQgJydicm9kYScnIGNhbiB0 aGVuIGJlIHVzZWQgYXMgJydicmlrYeKAmWknJyBmb3IgdGhhdCBicmlkaSBpbiB0aGUgZm9sbG93 aW5nIGNvbnZlcnNhdGlvbi4KCldoaWxlIHdl4oCZcmUgYXQgaXQsIHRoZXJlIGlzIGFuIGFuYWxv Z291cyBzZXJpZXMgb2Ygc3Vta2HigJlpLCB3aGljaCBwcm9iYWJseSBkb2VzIG5vdCBiZWxvbmcg aW4gdGhpcyBsZXNzb24sIGJ1dCBoZXJlIHRoZXkgYXJlIGFueXdheToKCl9fJydrb+KAmWEnJ19f CVN1bXRpIHZhcmlhYmxlIDEJX18nJ2Zv4oCZYScnX18JU3VtdGkgdmFyaWFibGUgNgoKX18nJ2tv 4oCZZScnX18JU3VtdGkgdmFyaWFibGUgMglfXycnZm/igJllJydfXwlTdW10aSB2YXJpYWJsZSA3 CgpfXycna2/igJlpJydfXwlTdW10aSB2YXJpYWJsZSAzCV9fJydmb+KAmWknJ19fCVN1bXRpIHZh cmlhYmxlIDgKCl9fJydrb+KAmW8nJ19fCVN1bXRpIHZhcmlhYmxlIDQJX18nJ2Zv4oCZbycnX18J U3VtdGkgdmFyaWFibGUgOQoKX18nJ2tv4oCZdScnX18JU3VtdGkgdmFyaWFibGUgNQlfXycnZm/i gJl1JydfXwlTdW10aSB2YXJpYWJsZSAxMAoKCgphcyB3ZWxsIGFzIHRoZSAnJ2NlaScnLWVxdWl2 YWxlbnQgZm9yIHRoaXMgc2VyaWVzOgoKX18nJ2dvaScnX18gRGVmaW5lIHN1bXRpIHZhcmlhYmxl CgoKCgoKVGhlc2UgYXJlIHVzZWQgbGlrZSB0aGUgJydicmlrYeKAmWknJy1zZXJpZXMuIEp1c3Qg cGxhY2UsIGZvciBpbnN0YW5jZSwgJydnb2kga2/igJl1JycgYWZ0ZXIgYSBzdW10aSwgYW5kIHRo YXQgc3VtdGkgY2FuIGJlIHJlZmVycmVkIHRvIGJ5ICcna2/igJl1JycuCgoKClN0cmFuZ2VseSwg dGhlc2Ugc2VyaWVzIGFyZSByYXJlbHkgdXNlZCBmb3IgdGhlaXIgaW50ZW5kZWQgcHVycG9zZS4g VGhleSBhcmUsIGhvd2V2ZXIsIHVzZWQgYXMgYXJiaXRyYXJ5IHNlbGJyaSBhbmQgc3VtdGkgaW4g ZXhhbXBsZSB0ZXh0czoKCuKAnFNvLCBpcyBpdCB0cnVlIHRoYXQgdGhlIHRydXRoIGNvbmRpdGlv bnMgb2YgJydrb+KAmWEga2/igJllIGJyb2RhIG5hIGt1JycgYXJlIGFsd2F5cyB0aGUgc2FtZSBh cyAnJ25hIGt1IGtv4oCZYSBrb+KAmWUgYnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNu4oCZdC7i gJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1maXZlIChsb2dpY2FsIGNv bm5lY3RpdmVzKQoK4oCcSWYgeW91IGFzayBhIExvamJhbmlzdDog4oCcRG8geW91IHdhbnQgbWls ayBvciBzdWdhciBpbiB5b3VyIGNvZmZlZT/igJ0gc2hl4oCZbGwgYW5zd2VyOiDigJxDb3JyZWN0 LuKAneKAnQoKCgpXaXR0eSBhcyB0aGlzIGpva2UgbWlnaHQgYmUsIGl0IGlsbHVzdHJhdGVzIGEg d2VpcmQgcHJvcGVydHkgb2YgdGhlIEVuZ2xpc2ggd2F5IG9mIGFza2luZyB0aGlzIHF1ZXN0aW9u LiBJdCBpcyBwaHJhc2VkIGFzIGEgdHJ1ZS9mYWxzZSBxdWVzdGlvbiwgYnV0IGl0IHJlYWxseSBp c27igJl0LiBJbiBMb2piYW4sIHdlIGNhbuKAmXQgaGF2ZSB0aGlzIGtpbmQgb2YgaW5jb25zaXN0 ZW5jeSwgYW5kIHNvIHdlIG11c3QgZmluZCBhbm90aGVyIHdheSBvZiBhc2tpbmcgdGhpcyBraW5k IG9mIHF1ZXN0aW9uLiBJZiB5b3UgdGhpbmsgYWJvdXQgaXQsIGl04oCZcyBwcmV0dHkgaGFyZCB0 byBmaW5kIGEgZ29vZCBhbmQgZWFzeSB3YXksIGFuZCBpdCBzZWVtcyBMb2piYW4gaGF2ZSBwaWNr ZWQgYSBnb29kIHdheSBpbnN0ZWFkIG9mIGFuIGVhc3kgd2F5LgoKCgpUbyBleHBsYWluIGl0LCBs ZXQgdXMgdGFrZSB0d28gc2VwYXJhdGUgYnJpZGk6IEJyaWRpIDE6IOKAnEkgbGlrZSBtaWxrIGlu IG15IGNvZmZlZeKAnSBhbmQgYnJpZGkgMjog4oCcSSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKA nS4gQm90aCBvZiB0aGVzZSBicmlkaSBjYW4gaGF2ZSB0aGUgc3RhdGUgdHJ1ZSBvciBmYWxzZS4g VGhpcyB5aWVsZHMgZm91ciBjb21iaW5hdGlvbnMgb2Ygd2hpY2ggYnJpZGkgaXMvYXJlIHRydWU6 CgpBICkgMSBhbmQgMglCICkgMSBidXQgbm90IDIKCkMgKSAyIGJ1dCBub3QgMQlEICluZWl0aGVy IDEgbm9yIDIKCgoKSSwgaW4gYWN0dWFsaXR5LCBsaWtlIG1pbGsgaW4gbXkgY29mZmVlLCBhbmQg SeKAmW0gaW5kaWZmZXJlbnQgYXMgdG8gd2hldGhlciB0aGVyZSBpcyBzdWdhciBpbiBpdCBvciBu b3QuIFRoZXJlZm9yZSwgbXkgcHJlZmVyZW5jZSBjYW4gYmUgd3JpdHRlbiBBICkgdHJ1ZSBCICkg dHJ1ZSBDICkgZmFsc2UgRCApIGZhbHNlLCBzaW5jZSBib3RoIEEgYW5kIEIgeWllbGRzIHRydWUg Zm9yIG1lLCBidXQgbmVpdGhlciBDIG5vciBEIGRvZXMuIEEgbW9yZSBjb21wYWN0IHdheSBvZiB3 cml0aW5nIG15IGNvZmZlZSBwcmVmZXJlbmNlcyB3b3VsZCBiZSBUVEZGIGZvciB0cnVlLCB0cnVl LCBmYWxzZSwgZmFsc2UuIFNpbWlsYXJseSwgYSBwZXJzb24gbGlraW5nIGhpcyBjb2ZmZWUgYmxh Y2sgYW5kIHVuc3dlZXRlbmVkIHdvdWxkIGhhdmUgYSBjb2ZmZWUgcHJlZmVyZW5jZSBvZiBGRkZU LiBUaGlzIGNvbWJpdGF0aW9uIG9mICJ0cnVlIiBhbmQgImZhbHNlIiBpcyBjYWxsZWQgYSDigJx0 cnV0aCBmdW5jdGlvbuKAnSwgaW4gdGhpcyBjYXNlIGZvciB0aGUgdHdvIHN0YXRlbWVudHMg4oCc SSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29m ZmVl4oCdLiBOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHRoZSBzdGF0ZW1lbnRzIG1hdHRlcnMuCgpJ biBMb2piYW4sIHdlIG9wZXJhdGUgd2l0aCA0IHRydXRoIGZ1bmN0aW9ucywgd2hpY2ggd2UgY29u c2lkZXIgZnVuZGFtZW50YWw6CgpBOiBUVFRGIChhbmQvb3IpCgpPOiBURkZUIChpZiBhbmQgb25s eSBpZmYpCgpVOiBUVEZGICh3aGV0aGVyIG9yIG5vdCkKCkU6IFRGRkYgKGFuZCkKCgoKSW4gdGhp cyBleGFtcGxlLCB0aGV5IHdvdWxkIHRyYW5zbGF0ZSB0byBzb21ldGhpbmcgbGlrZTogQTrigJ1K dXN0IG5vdCBibGFjayBjb2ZmZWXigJ0sIE86IOKAnEVpdGhlciBib3RoIG1pbGsgb3Igc3VnYXIs IG9yIG5vdGhpbmcgZm9yIG1lLCBwbGVhc2XigJ0sIFU6IOKAnE1pbGssIGFuZCBJIGRvbuKAmXQg Y2FyZSBhYm91dCBpZiB0aGVyZeKAmXMgc3VnYXIgb3Igbm904oCdIGFuZCBFOiDigJxNaWxrIGFu ZCBzdWdhciwgcGxlYXNlLuKAnS4KCgoKSW4gTG9qYmFuLCB5b3UgcGxhY2UgdGhlIHdvcmQgZm9y IHRoZSB0cnV0aCBmdW5jdGlvbiBiZXR3ZWVuIHRoZSB0d28gYnJpZGksIHNlbGJyaSBvciBzdW10 aSBpbiBxdWVzdGlvbi4gVGhhdCB3b3JkIGlzIGNhbGxlZCBhIGxvZ2ljYWwgY29ubmVjdGl2ZS4g VGhlIHdvcmRzIGZvciB0cnV0aCBmdW5jdGlvbnMgYmV0d2VlbiBzdW10aSAoYW5kIGp1c3QgZm9y IHN1bXRpISkgYXJlICAnJy5hJycgJycubycnICcnLnUnJyBhbmQgJycuZScnLiBIb3cgbmljZS4g Rm9yIGluc3RhbmNlOiDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbiBhbmQgYSBHZXJt YW7igJ0gd291bGQgYmUgJydsbyBtZXJrbyAuZSBsbyBkb3RjbyBjdSBwZW5kbyBtaScnLgoKSG93 IHdvdWxkIHlvdSBzYXk6IOKAnEkgc3BlYWsgdG8geW91IGFuZCBubyBvbmUgZWxzZT/igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHRhdmxhIGRvIC5lIG5vIGRyYXRhJycgTm90ZSB0aGF0 IHRoaXMgYWN0dWFsbHkgc3RhdGVzIHRoYXQgaXQncyB0cnVlIHRoYXQgIkkgc3BlYWsgdG8geW91 Ii5+fgoKCgpPbmUgbW9yZTog4oCcSSBsaWtlIGNoZWVzZSB3aGV0aGVyIG9yIG5vdCBJIGxpa2Ug Y29mZmVl4oCdCgpfXycnY2thZmknJ19fIHgxIGlzIGEgcXVhbnRpdHkvY29udGFpbnMgY29mZmVl IGZyb20gc291cmNlL29mIGdyYWluIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuZWxj aSBsb+KAmWUgY2lybGEgLnUgbG/igJllIGNrYWZpJyd+fgoKCgpZb3UgY2FuIHBlcmhhcHMgZGVk dWNlIHRoYXQgdGhlcmUgYXJlIHNpeHRlZW4gcG9zc2libGUgdHJ1dGggZnVuY3Rpb25zLCBzbyB3 ZSBuZWVkIHRvIGxlYXJuIHR3ZWx2ZSBtb3JlIGluIG9yZGVyIHRvIGtub3cgdGhlbSBhbGwuIEVp Z2h0IG1vcmUgY2FuIGJlIG9idGFpbmVkIGJ5IG5lZ2F0aW5nIGVpdGhlciB0aGUgZmlyc3Qgc2Vu dGVuY2Ugb3IgdGhlIHNlY29uZC4gVGhlIGZpcnN0IGlzIG5lZ2F0ZWQgYnkgcHJlZml4aW5nIHRo ZSB0cnV0aCBmdW5jdGlvbiB3b3JkIHdpdGggJyduYScnLCB0aGUgc2Vjb25kIGlzIG5lZ2F0ZWQg YnkgcGxhY2luZyAnJ25haScnIGFmdGVyIHRoZSB3b3JkLiBGb3IgZXhhbXBsZSwgc2luY2UgJycu ZScnIHJlcHJlc2VudHMgVEZGRiwgJycuZSBuYWknJyBtdXN0IGJlIOKAnGJvdGggMSBpcyB0cnVl IGFuZCAyIGlzIGZhbHNl4oCdLCB3aGljaCBpcyBGVEZGLiBTaW1pbGFybHksICcnbmEgLmEnJyBp cyDigJxKdXN0IG5vdDogMSBpcyB0cnVlIGFuZCAyIGlzIGZhbHNl4oCdLCB3aGljaCBpcyBUVEZU LiBEb2luZyB0aGlzIHR5cGUgb2YgY29udmVyc2lvbiBpbiB0aGUgaGVhZCByZWFsLXRpbWUgaXMg dmVyeSwgdmVyeSBoYXJkLCBzbyBwZXJoYXBzIG9uZSBzaG91bGQgZm9jdXMgb24gbGVhcm5pbmcg aG93IGxvZ2ljYWwgY29ubmVjdGl2ZXMgd29yayBpbiBnZW5lcmFsLCBhbmQgdGhlbiBsZWFybiB0 aGUgbG9naWNhbCBjb25uZWN0aXZlcyB0aGVtc2VsdmVzIGJ5IGhlYXJ0LgoKCgpGb3VyIGZ1bmN0 aW9ucyBjYW5ub3QgYmUgbWFkZSB0aGlzIHdheTogVFRUVCwgVEZURiwgRlRGVCBhbmQgRkZGRi4g VGhlIGZpcnN0IGFuZCB0aGUgbGFzdCBjYW5ub3QgYmUgbWFkZSB1c2luZyBsb2dpY2FsIGNvbm5l Y3RpdmVzIGF0IGFsbCwgYnV0IHRoZXkgYXJlIGtpbmQgb2YgdXNlbGVzcyBhbnl3YXkuIFVzaW5n IGEgaHlwb3RoZXRpY2FsIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGUgc2VudGVuY2Ug4oCcSSBs aWtlIG1pbGsgRkZGRiBzdWdhciBpbiBteSBjb2ZmZWXigJ0gaXMgZXF1aXZhbGVudCB0byBzYXlp bmcg4oCcSSBkb27igJl0IGxpa2UgY29mZmVl4oCdLCBqdXN0IG1vcmUgY29tcGxpY2F0ZWQuIFRo ZSBsYXN0IHR3bywgVEZURiBhbmQgRlRGVCwgY2FuIGJlIG1hZGUgYnkgcHJlZml4aW5nICcnLnUn JyB3aXRoIGdvb2Qgb2zigJkgJydzZScnLCB3aGljaCBqdXN0IHJldmVydHMgdGhlIHR3byBzdGF0 ZW1lbnRzLiAnJ3NlIC51JycgLCBmb3IgaW5zdGFuY2UgaXMg4oCcQiB3aGV0aGVyIG9yIG5vdCBB 4oCdLCB3aGljaCBpcyBURlRGLiBUaGUgZmluYWwgbGlzdCBvZiBhbGwgbG9naWNhbCBjb25uZWN0 aXZlcyBjYW4gYmUgc2VlbiBiZWxvdy4KCgoKVFRUVDogQ2Fubm90IGJlIG1hZGUKClRUVEY6ICcn LmEnJwoKVFRGVDogJycuYSBuYWknJwoKVFRGRjogJycudScnIE9SICcnLnUgbmFpJycKClRGVFQ6 ICcnbmEgLmEnJwoKVEZURjogJydzZSAudScnCgpURkZUOiAnJy5vJycgT1IgJyduYSAubyBuYWkn JwoKVEZGRjogJycuZScnCgpGVFRUOiAnJ25hIC5hIG5haScnCgpGVFRGOiAnJ25hIC5vJycgT1Ig JycubyBuYWknJwoKRlRGVDogJydzZSAudSBuYWknJwoKRlRGRjogJycuZSBuYWknJwoKRkZUVDog JyduYSAudScnIE9SICcnbmEgLnUgbmFpJycKCkZGVEY6ICcnbmEgLmUnJwoKRkZGVDogJyduYSAu ZSBuYWknJwoKRkZGRjogQ2Fubm90IGJlIG1hZGUKCgoKTG9naWNhbGx5LCBzYXlpbmcgYSBzZW50 ZW5jZSB3aXRoIGEgbG9naWNhbCBjb25uZWN0aXZlLCBsaWtlIGZvciBpbnN0YW5jZSAnJ21pIG5l bGNpIGxv4oCZZSBjaXJsYSAuZSBuYWkgbG/igJllIGNrYWZpJycgaXMgZXF1aXZhbGVudCB0byBz YXlpbmcgdHdvIGJyaWRpLCB3aGljaCBhcmUgY29ubmVjdGVkIHdpdGggdGhlIHNhbWUgbG9naWNh bCBjb25uZWN0aXZlOiAnJ21pIG5lbGNpIGxv4oCZZSBjaXJsYSAuaSB7RSBOQUl9IG1pIG5lbGNp IGxv4oCZZSBja2FmaScnLiBUaGlzIGlzIGhvdyB0aGUgZnVuY3Rpb24gb2YgbG9naWNhbCBjb25u ZWN0aXZlcyBpcyBkZWZpbmVkLiBXZSB3aWxsIGdldCB0byBob3cgdG8gYXBwbHkgbG9naWNhbCBj b25uZWN0aXZlcyB0byBicmlkaSBpbiBhIG1vbWVudC4KCgoKQnkgcHV0dGluZyBhIOKAnGrigJ0g aW4gZnJvbnQgb2YgdGhlIGNvcmUgd29yZCBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSwgaXQgY29u bmVjdHMgdHdvIHNlbGJyaS4gQW4gZXhhbXBsZSBpcyAnJ21pIG5pbm11IG5hIGpvIG5hbm11Jycg 4oCcSSBhbSBhIG1hbiBvciBhIHdvbWFuLCBidXQgbm90IGJvdGjigJ0KCl9fJyduaW5tdScnX18g eDEgaXMgYSB3b21hbgoKCgpUaGlzIGlzIOKAnHRhbnJ1LWludGVybmFs4oCdLCBtZWFuaW5nIHRo YXQgaXQgbG9vc2VseSBiaW5kcyBzZWxicmkgdG9nZXRoZXIsIGV2ZW4gd2hlbiB0aGV5IGZvcm0g YSB0YW5ydTogJydsbyBkb3RjbyBqYSBtZXJrbyBwcmVudScnIG1lYW5zIOKAnGEgR2VybWFuIG9y IEFtZXJpY2FuIG1hbuKAnSwgYW5kIGlzIHBhcnNlZCAnJ2xvJycgKCcnZG90Y28gamEgbWVya28n JykgJydwcmVudScnLiBUaGlzIGJpbmRpbmcgaXMgc2xpZ2h0bHkgc3Ryb25nZXIgdGhhdCBub3Jt YWwgdGFucnUtZ3JvdXBpbmcgKHN0aWxsIHdlYWtlciB0aGFuIHNwZWNpZmljIGdyb3VwaW5nLXdv cmRzKSwgYW5kIGFzIHN1Y2gsICcnbG8gZG90Y28gamEgbWVya28gbmlubXUgamEgbmFubXUnJyBp cyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICgnJ25pbm11IGphIG5hbm11Jycp LiBUaGUgc2VsYnJpIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2FuIGFsc28gYmUgYXR0YWNoZWQgdG8g JycuaScnIGluIG9yZGVyIHRvIGNvbm5lY3QgdHdvIHNlbnRlbmNlcyB0b2dldGhlcjogJydsYSAu a2ltLiBjbWVuZSBtaSAuaSBqdSBtaSBuYW5tdScnIOKAnEnigJltIGNhbGxlZCBLaW0sIHdoZXRo ZXIgb3Igbm90IEnigJltIGEgbWFu4oCdLiBUaGUgY29tYmluYXRpb24gJycuaSBqZScnIHN0YXRl cyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNoIGxpa2Ugd2Ugd291bGQgYXNzdW1l IGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVzZW50LgoKCgpVbmZhaXJseSBoYXJk IHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3cgd291bGQgeW91IHRyYW5z bGF0ZSDigJxJZiB5b3XigJlyZSBjYWxsZWQgQm9iLCB5b3XigJlyZSBhIG1hbi7igJ0/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydsYSAuYmFiLiBjbWVuZSBkbyAuaSBuYSBqYSBkbyBuYW5tdScn IG9yIOKAnEVpdGhlciB5b3XigJlyZSBub3QgbmFtZWQgQm9iIGFuZCBhIG1hbiwgb3IgeW914oCZ cmUgbm90IG5hbWVkIEJvYiBhbmQgbm90IGEgbWFuLCBvciB5b3XigJlyZSBuYW1lZCBCb2IgYW5k IGEgbWFuLiBCdXQgeW91IGNhbuKAmXQgYmUgbmFtZWQgQm9iIGFuZCBub3QgYmUgYSBtYW4u4oCd IFRoZSBvbmx5IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6IOKAnFlvdeKAmXJlIGNhbGxl ZCBCb2IsIGJ1dCBub3QgYSBtYW4u4oCdIFRoaXMgbXVzdCBtZWFuIHRoYXQsIGlmIGl04oCZcyB0 cnVlIHRoYXQgeW914oCZcmUgY2FsbGVkIEJvYiwgeW91IG11c3QgYmUgYSBtYW4ufn4KCgoKSWYg d2UgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQgb2Yg4oCcSSBjcmllZCBhbmQg Z2F2ZSBhd2F5IG15IGRvZ+KAnSwgd2UgcnVuIGludG8gYSBwcm9ibGVtLgoKQXR0ZW1wdGluZyB0 byBzYXkgdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2plJycgYmV0d2VlbiB0aGUgc2VsYnJpIOKAnGdh dmXigJ0gYW5kIOKAnGNyaWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBzYW1lIHdvcmQgZm9yIHdvcmQs IGJ1dCB1bmZvcnR1bmF0ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVkIHRoZSBkb2cgYW5kIGdhdmUg YXdheSB0aGUgZG9n4oCdLCBjZi4gdGhlIGRlZmluaXRpb24gb2YgbG9naWNhbCBjb25uZWN0aXZl cy4gT25lIGNhbiBjcnkgdGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0IGNyeWluZyBkb2dzIGlzIGp1 c3Qgc2lsbHkuCgpIb3dldmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBieSB1c2luZyBicmlkaS10YWls IGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0aGF0IGFueSBwcmV2aW91cyBz dW10Y2l0YSBhbmQgc3VtdGkgYXR0YWNoZXMgdG8gYm90aCBzZWxicmkgYm91bmQgYnkgdGhlIGJy aWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlLCBidXQgYW55IGZvbGxvd2luZyBzdW10aSBvciBz dW10Y2l0YSBvbmx5IGFwcGxpZXMgdG8gdGhlIGxhc3QgbWVudGlvbmVkOiBUaGUgYnJpZGkgc3Bs aXRzIHVwIGZyb20gb25lIGhlYWQgdG8gdHdvIHRhaWxzLCB0byBzcGVhayBtZXRhcGhvcmljYWxs eS4KClRoZSBmb3JtIG9mIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgZ2nigJlW LCB3aXRoIHRoZSBWIGZvciB0aGUgdm93ZWwgb2YgdGhlIHRydXRoIGZ1bmN0aW9uLgoKSG93IGNv dWxkIHlvdSBjb3JyZWN0bHkgdHJhbnNsYXRlIHRoZSBFbmdsaXNoIHNlbnRlbmNlIHRvIExvamJh bj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHB1IGtsYWt1IGdp4oCZZSBkdW5kYSBsZSBt aSBnZXJrdScnfn4KCgoKV2hhdCBkb2VzICcncm8gcmVtbmEgY3UgcGFsY2kgZ2nigJlvIHp1a3Rl IGxvIHBhbGNpJycgbWVhbj8KCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4 MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFBlb3BsZSBhcmUgZXZpbCBpZiBhbmQgb25seSBp ZiB0aGV5IGRvIGV2aWwgdGhpbmdzLuKAnX5+CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIGZv cmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgZ3JvdXAgb2YgY29ubmVjdGVycyBtYWRl IGJ5IHByZWZpeGluZyDigJxn4oCdIGluIGZyb250IG9mIHRoZSB0cnV0aCBmdW5jdGlvbiB2b3dl bC4g4oCcRm9yZXRob3VnaHTigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgdGhleSBuZWVk IHRvIGdvIGluIGZyb250IG9mIHRoZSB0aGluZ3MgdGhleSBjb25uZWN0LCBhbmQgdGh1cyB5b3Ug bmVlZCB0byB0aGluayBhYm91dCB0aGUgZ3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIHRoZSBzZW50 ZW5jZSBiZWZvcmUgc2F5aW5nIGl0LiBBbGwtYnV0IHRhbnJ1IGludGVybmFsIG1lYW5zIHRoYXQg aXQgc2VydmVzIGJvdGggYXMgYSBjb25uZWN0aXZlIGJldHdlZW4gc3VtdGksIGJyaWRpLCBzZWxi cmkgYW5kIGJyaWRpLXRhaWxzLCBidXQgbm90IGJldHdlZW4gdHdvIHNlbGJyaSBvZiBvbmUgdGFu cnUuIExldCBtZSBzaG93IHlvdSBob3cgaXQgd29ya3MsIHJld3JpdGluZyB0aGUgTG9qYmFuIHNl bnRlbmNlIGFib3ZlOgoKJydnbyBsbyByZW1uYSBjdSBwYWxjaSBnaSBsbyByZW1uYSBjdSB6dWt0 ZSBsbyBwYWxjaScnCgpUaGUgZmlyc3QgbG9naWNhbCBjb25uZWN0aXZlIGluIHRoZXNlIGtpbmRz IG9mIGNvbnN0cnVjdHMgYXJlIHdoYXQgY2FycmllcyB0aGUgdm93ZWwgd2hpY2ggc2lnbmFsIHdo YXQgdHJ1dGggZnVuY3Rpb24gaXMgYmVpbmcgdXNlZC4gVGhlIHNlY29uZCBsb2dpY2FsIGNvbm5l Y3RpdmUgaXMgYWx3YXlzICcnZ2knJywgYW5kIGxpa2UgJycuaScnLCBpdCBoYXMgbm8gdHJ1dGgg ZnVuY3Rpb24uIEl0IHNpbXBseSBzZXJ2ZXMgdG8gc2VwYXJhdGUgdGhlIHR3byB0ZXJtcyBiZWlu ZyBjb25uZWN0ZWQuIElmIHlvdSB3YW50IHRvIG5lZ2F0ZSB0aGUgZmlyc3Qgb3Igc2Vjb25kIHNl bnRlbmNlLCBhICcnbmFpJycgaXMgc3VmZml4ZWQgdG8gZWl0aGVyIHRoZSBmaXJzdCAoZm9yIHRo ZSBmaXJzdCBzZW50ZW5jZSkgb3Igc2Vjb25kIChmb3IgdGhlIHNlY29uZCBzZW50ZW5jZSkgbG9n aWNhbCBjb25uZWN0aXZlLgoKUHJvdmlkZWQgdGhhdCB0aGUgY29uc3RydWN0cyBhcmUgdGVybWlu YXRlZCBwcm9wZXJseSwgaXQgaGFzIHJlbWFya2FibGUgZmxleGliaWxpdHksIGFzIHRoZSBmb2xs b3dpbmcgZmV3IGV4YW1wbGVzIGRlbW9uc3RyYXRlOgoKJydtaSBnbyBrbGFtYSBnaSBjYWR6dSB2 YXUgbGUgbWkgemRhbmknJyDigJxJIGdvLCBpZiBhbmQgb25seSBpZiB3YWxrLCB0byBteSBob21l 4oCdIG9yIOKAnEkgY2FuIG9ubHkgZ28gdG8gbXkgaG9tZSBieSB3YWxraW5nLuKAnSBOb3RpY2Ug dGhhdCB0aGUgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBsZSBtaSB6ZGFuaSBhcHBseSB0byBi b3RoICcnY2FkenUnJyBhbmQgJydrbGFtYScnLgoKJydzZSBndSBkbyBnaSBuYWkgbWkgYmFqcmEg bGUgZG8gY2t1bGUnJyDigJxXaGV0aGVyIG9yIG5vdCB5b3UsIHRoZW4gbm90IEksIHJ1biB0byB5 b3VyIHNjaG9vbOKAnSBvciDigJxJIHdvbuKAmXQgcnVuIHRvIHlvdXIgc2Nob29sIG5vIG1hdHRl ciBpZiB5b3UgZG8gb3Igbm904oCdCgoKClRoZSB0YW5ydS1pbnRlcm5hbCBlcXVpdmFsZW50IG9m IGdWIGlzIGd14oCZVi4gVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNhbWUsIGV4Y2VwdCB0aGF0IHRo ZXkgYXJlIGV4Y2x1c2l2ZWx5IHRhbnJ1LWludGVybmFsLCBhbmQgdGhhdCB0aGV5IGJpbmQgYSBz ZWxicmkgdG8gdGhlICcnZ2knJyB0aWdodGVyIHRoYW4gbm9ybWFsIHRhbnJ1LWdyb3VwaW5nLCBi dXQgd2Vha2VyIHRoYW4gZXhwbGljaXQgYmluZGluZy1zdW10aToKCicnbGEgeGFuei5rcnQuIGd1 4oCZZSBtZXJrbyBnaSBkb3RjbyBuYW5tdScnIGlzIGVxdWl2YWxlbnQgdG8KCicnbGEgeGFuei5r cnQuIG1lcmtvIGplIGRvdGNvIG5hbm11JycKCgoKQW5kIHNvIHlvdeKAmXZlIHJlYWQgcGFnZSB1 cCBhbmQgcGFnZSBkb3duIGp1c3QgdG8gZ2V0IHRoZSBuZWNlc3Nhcnkga25vd2xlZGdlIGluIG9y ZGVyIHRvIGJlIGFibGUgdG8gbGVhcm4gaG93IHRvIGFzayDigJxXb3VsZCB5b3UgbGlrZSBtaWxr IG9yIHN1Z2FyIGluIHlvdXIgY29mZmVlP+KAnSBpbiBMb2piYW4uIFNpbXBseSBwbGFjZSBhIHF1 ZXN0aW9uIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbnN0ZWFkIG9mIGFub3RoZXIgbG9naWNhbCBjb25u ZWN0aXZlLCBhbmQgbGlrZSAnJ21hJycsIGl0IGFza3MgdGhlIGxpc3RlbmVyIHRvIGZpbGwgaW4g YSBjb3JyZWN0IHJlc3BvbnNlLiBVbmZvcnR1bmF0ZWx5LCB0aGVzZSBxdWVzdGlvbi1sb2dpY2Fs IGNvbm5lY3RpdmVzIGRvbuKAmXQgYWx3YXlzIG1hdGNoIHRoZSBtb3JwaG9sb2dpY2FsIHBhdHRl cm4gb2YgdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhleSBhc2sgZm9yOgoKX18nJ2ppJydfXyBM b2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgc3VtdGkgbG9naWNhbCBjb25u ZWN0aXZlIChBKQoKX18nJ2pl4oCZaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBB c2tzIGZvciBhIHRhbnJ1LWludGVybmFsIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmUgKEpBKQoK X18nJ2dp4oCZaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGJy aWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIChHSWhBKQoKX18nJ2dl4oCZaScnX18gTG9naWNh bCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFu cnUgaW50ZXJuYWwgbG9naWNhbCBjb25uZWN0aXZlIChHQSkKCl9fJydndeKAmWknJ19fIExvZ2lj YWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3JldGhvdWdodCBvbmx5IHRhbnJ1 IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR1VoQSkKCgoKU28uLi4gaG93IHdvdWxkIHlv dSBhc2sgaWYgdGhlIHBlcnNvbnMgd2FudHMgbWlsayBvciBzdWdhciBpbiBoZXIgY29mZmVlPwoK X18nJ2xhZHJ1JydfXyB4MSBpcy9jb250YWlucyBtaWxrIGZyb20gc291cmNlIHgyCgpfXycnc2Fr dGEnJ19fIHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZyb20gc291cmNlIHgyIG9mIGNvbXBvc2l0aW9u IHgzCgoKClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5LGdyZXk6JydzYWt0YSBqZeKAmWkgbGFkcnUg bGUgZG8gY2thZmknJyB0aG91Z2ggSSBndWVzcyBzb21ldGhpbmcgbW9yZSBFbmdsaXNoIGFuZCBs ZXNzIGVsZWdhbnQgY291bGQgYWxzbyBzdWZmaWNlIGxpa2UgJydkbyBkamljYSBsZW51IGxvIHNh a3RhIGppIGxvIGxhZHJ1IGN1IG5lbnJpIGxlIGRvIGNrYWZpJyd+fgoKCgohIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIHR3ZW50eS1zaXggKG5vbi1sb2dpY2FsIGNvbm5lY3RpdmVzKQoKVGhlIHdv cmQgImxvZ2ljYWwiIGluICJsb2dpY2FsIGNvbm5lY3RpdmUiIHJlZmVycyB0byB0aGUgYXNzb2Np YXRpb24gYSBsb2dpY2FsIGNvbm5lY3RpdmUgaGFzIHdpdGggYSB0cnV0aCBmdW5jdGlvbi4gTm90 IGFsbCB1c2VmdWwgY29ubmVjdGl2ZXMgY2FuIGJlIGRlZmluZWQgdGhyb3VnaCBhIHRydXRoIGZ1 bmN0aW9uLCBob3dldmVyLCBhbmQgc28gdGhlcmUgYXJlIG90aGVyIGNvbm5lY3RpdmVzIGJlc2lk ZSB0aGUgbG9naWNhbCBvbmVzLgoKVGhlIG1lYW5pbmcgb2YgYSBsb2dpY2FsIGNvbm5lY3RpdmUg aXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB0d28gZGlmZmVyZW50IGJyaWRpIGNvbm5lY3RlZCB3aXRo IHRoYXQgbG9naWNhbCBjb25uZWN0aXZlLiBGb3IgaW5zdGFuY2UsICcnbWkgbml0Y3UgZG8gLmEg bGEgLmRqYW4uJycgaXMgZGVmaW5lZCB0byBiZSBlcXVpdmFsZW50IHRvICcnbWkgbml0Y3UgZG8g LmkgamEgbWkgbml0Y3UgbGEgLmRqYW4uJycuIFRoaXMgZGVmaW5pdGlvbiBpcyB1c2VmdWwgdG8g YmVhciBpbiBtaW5kLCBiZWNhdXNlIGl0IGltcGxpZXMgdGhhdCBzb21ldGltZXMsIHN1bXRpIGNh bm5vdCBiZSBjb25uZWN0ZWQgd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzIHdpdGhvdXQgY2hhbmlu ZyB0aGUgbWVhbmluZy4gQ29uc2lkZXIgdGhlIHNlbnRlbmNlOiAiSmFjayBhbmQgSm9lIHdyb3Rl IHRoaXMgcGxheS4iIE9uZSBhdHRlbXB0IGF0IGEgdHJhbnNsYXRpb24gd291bGQgYmU6ICcndGkg ZHJhY2kgZmkgbGEgLmRqYWsuIGUgbGEgLmRqb3VzLicnCgpfXycnZHJhY2knJ19fIHgxIGlzIGEg ZHJhbWEvcGxheSBhYm91dCB4MiBieSB3cml0ZXIvZHJhbWF0aXN0IHgzIGZvciBhdWRpZW5jZSB4 NCB3aXRoIGFjdG9ycyB4NQoKCgpUaGUgcHJvYmxlbSB3aXRoIHRoaXMgdHJhbnNsYXRpb24gaXMg dGhhdCBpdCBtZWFucyAnJ3RpIGRyYWNpIGxhIC5kamFrLiBpamUgdGkgZHJhY2kgbGEgLmRqb3Vz LicnLCB3aGljaCBpcyBub3QgcmVhbGx5IHRydWUuIE5laXRoZXIgSmFjayBub3IgSm9lIHdyb3Rl IGl0LCB0aGV5IGRpZCBzbyB0b2dldGhlci4gV2hhdCB3ZSB3YW50IGhlcmUgaXMgb2YgY291cnNl IGEgbWFzcywgYW5kIHNvbWUgd2F5IHRvIGpvaW4gSmFjayBhbmQgSm9lIGluIG9uZSBtYXNzLiBU aGlzIGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBhIHRydXRoIGZ1bmN0aW9uIHNvIHdlIG11c3QgdXNl IGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgd2hpY2ggYXJlIG9mIHNlbG1hJ28gSk9JLiBXZSds bCByZXR1cm4gdG8gdGhpcyBKYWNrIGFuZCBKb2UtcHJvYmxlbSBpbiBhIGxpdHRsZSAtIGZpcnN0 OiBGb3VyIG9mIHRoZSBrbm93biBKT0k6CgoKCnx8VGhlIExvamJhbiBjb25uZWN0aXZlOnwnJ2Nl Jyd8JydjZSdvJyd8Jydqb2knJ3wnJ2pvJ3UnJwoKSm9pbnMgc3VtdGkgYW5kIGZvcm1zIGE6fHNl dHxzZXF1ZW5jZXxtYXNzfGdyb3VwIG9mIGluZGl2aWR1YWxzfHwKClRoZSBmdW5jdGlvbnMgb2Yg dGhlc2Ugd29yZHMgYXJlIHNpbXBsZTogJydsbydpIHJlbW5hIGpvJ3UgbG8naSBnZXJrdScnIGNv bnNpZGVycyBib3RoIHRoZSBzZXQgb2YgaHVtYW5zIGFuZCB0aGUgc2V0IG9mIGRvZ3MgZGlzdHJp YnV0aXZlbHkgKGFzIGluZGl2aWR1YWxzKS4gUmVtZW1iZXIgZnJvbSBsZXNzb24gdHdlbnR5LXR3 byAocXVhbnRpZmllcnMpIHRoYXQgImRpc3RyaWJ1dGl2aXR5IiBtZWFucyB0aGF0IHdoYXQgaXMg dHJ1ZSBmb3IgdGhlIGdyb3VwIGlzIGFsc28gdHJ1ZSBmb3IgZWFjaCBvZiB0aGUgaW5kaXZpZHVh bHMgYWxvbmUuIFNpbWlsYXJseSAnJ2xvaSBybyBnaXNtdSBjZSdvIGxvaSBybyBsdWp2byBjZSdv IGxvaSBybyBmdSdpdmxhJycgaXMgYSBzZXF1ZW5jZSBjb25zaXN0aW5nIG9mIHRoZSBtYXNzIG9m IGFsbCBnaXNtdSwgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGx1anZvLCBmb2xsb3dlZCBi eSB0aGUgbWFzcyBvZiBhbGwgZnUnaXZsYS4KCkFzIHdpdGggYWxsIG9mIHRoZSBKT0kgd2hpY2gg aGFzIGFuIGluaGVyZW50IG9yZGVyLCAnJ3NlJycgbWF5IGJlIHB1dCBiZWZvcmUgJydjZSdvJycg dG8gaW52ZXJzZSB0aGUgb3JkZXI6ICJBICcnY2UnbycnIEIiIGlzIHRoZSBzYW1lIGFzICJCIHNl ICcnY2UnbycnIEEiLgoKCgpIb3cgY2FuIHlvdSBjb3JyZWN0bHkgdHJhbnNsYXRlICJKYWNrIGFu ZCBKb2Ugd3JvdGUgdGhpcyBwbGF5Ij8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgZHJhY2kg ZmkgbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMuJyd+fiAKCgoKVGhlIGNtYXZvIG9mIEpPSSBhcmUg dmVyeSBmbGV4aWJsZTogVGhleSBjYW4gYWN0IGJvdGggYXMgc3VtdGkgY29ubmVjdGl2ZXMgYW5k IHRhbnJ1LWludGVybmFsIGNvbm5lY3RpdmVzLCBzbyB0aGV5IGNhbiBiZSB1c2VkIHRvIGNvbm5l Y3Qgc3VtdGksIHNlbGJyaSBhbmQgYnJpZGkuIFRoaXMgZmxleGliaWxpdHkgbWVhbnMgdGhhdCBv bmUgbXVzdCBiZSBjYXJlZnVsIHRvIHVzZSBmYSdvcm1hJ28gY29ycmVjdGx5IHdoZW4gdXNpbmcg YSBKT0kuIAoKV2hhdCBpcyB3cm9uZyB3aXRoIHRoZSBicmlkaSAnJ2xvIGRvdGNvIGpvJ3UgbWkg Y3Uga2xhbWEgbGEgZG90Y28gZ3VnZGUnJz8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnam8ndScn IGlzIHB1dCBhZnRlciBhIHNlbGJyaSwgc28gaXQgZXhwZWN0cyBhIHNlbGJyaSBhZnRlciBpdCB0 byBjb25uZWN0IHRvLCBidXQgbm9uZSBpcyBmb3VuZC4gSGFkICBhICcna3UnJyBiZWVuIHByZXNl bnQgYmVmb3JlIHRoZSBjb25uZWN0aXZlLCBpdCB3b3VsZCBoYXZlIGJlZW4gZ3JhbW1hdGljYWx+ fgoKCgpJZiBzZXZlcmFsIEpPSSBhcmUgdXNlZCwgJydibycnIGFuZC9vciAnJ2tlJycgbWF5IGJl IHVzZWQgdG8gb3ZlcnJpZGUgdGhlIHVzdWFsIGxlZnQtZ3JvdXBpbmc6ICcnbWkgam9pIGRvIGNl J28gbGEgLmRqYWsuIGpvaSBibyBsYSAuZGpvdXMuIGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVp IHh1bnJlJycgIk1lIGFuZCB5b3UsIGFuZCB0aGVuIEphY2sgYW5kIEpvZSBhcmUgYWJvdXQgdGhl IHBsYXkgYWdhaW5zdCB0aGUgcmVkcyIuIENvbnRyYXN0IHdpdGggJydtaSBqb2kgZG8gY2UnbyBs YSAuZGphay4gam9pIGxhIC5kam91cy4gY3UgcHUnbyBjaSdlcmtlaSBkYW1iYSBsZWkgeHVucmUn JyAtICJGaXJzdCBtZSBhbmQgeW91LCB0aGVuIEphY2sgd2lsbCB0b2dldGhlciB3aXRoIEpvZSBw bGF5IGFnYWluc3QgdGhlIHJlZHMiLiAKCkNvbm5lY3RpbmcgYnJpZGkgd2l0aCBKT0kgY2FuIG1h a2Ugc29tZSBpbnRlcmVzdGluZyBpbXBsaWNhdGlvbnMgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3 ZWVuIHRoZSBicmlkaTogJydsYSAuZGphay4gbW9yc2kgcmknYSBsbyBudSByaSBkenVzb2kgLmkg am9pIGxlIGplbWphJ2EgcG8gcmkgY3UgYmVibmEnJyAtICJKYWNrIGlzIGRlYWQgYmVjYXVzZSBo ZSB3YXMgYSBpbmZhbnRyeSBzb2xkaWVyIGFuZCBoaXMgZ2VuZXJhbCB3YXMgYW4gaWRpb3QiLCBp bXBseWluZyB0aGF0IHRoZXNlIHR3byBicmlkaSBtYXNzZWQgdG9nZXRoZXIgd2FzIHRoZSBwaHlz aWNhbCBjYXVzZSBvZiBoaXMgZGVhdGg6IEhhZCBoZSBvbmx5IGJlZW4gaW4gYW4gYXJtb3JlZCB2 ZWhpY2xlIG9yIHdpdGggYSBjb21wZXRlbnQgY29tbWFuZGVyLCBoZSBtaWdodCBoYWQgc3Vydml2 ZWQuCgpfXycnZHp1c29pJydfXyB4MSBpcyBhbiBpbmZhbnRyeSBzb2xkaWVyIG9mIGFybXkgeDIK Cl9fJydqZW1qYSdhJydfXyB4MSBpcyBhIGdlbmVyYWwgb2YgYXJteSB4MiBpbiBmdW5jdGlvbiB4 MwoKX18nJ2JlYm5hJydfXyB4MSBpcyBmb29saXNoL2lkaW90aWMgaW4gcHJvcGVydHkgeDIKCgoK Tm9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMgbWF5IGFsc28gYmUgbmVnYXRlZCB3aXRoICcnbmFpJycs IGluZGljYXRpbmcgdGhhdCBzb21lIG90aGVyIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGU6ICcn bG8gZGphY3UgY2UnbyBuYWkgLmUnbyBsbyBsYWRydSBjdSBjYXZ5ZmxlIGZpIGxlIG1pIHRjYXRp JycgLSAiUGxlYXNlIGRvbid0IHBvdXIgZmlyc3Qgd2F0ZXIgdGhlbiBtaWxrIGluIG15IHRlYSIu IFRoaXMsIG9mIGNvdXJzZSwgc2F5cyBub3RoaW5nIGFib3V0IHdoaWNoIGNvbm5lY3RpdmUgaXMg YXBwcm9wcmlhdGUgLSBvbmUgbWlnaHQgZ3Vlc3MgJydzZSBjZSdvJycgKGZpcnN0IG1pbGssIHRo ZW4gd2F0ZXIpLCBvbmx5IHRvIGZpbmQgb3V0IHRoYXQgJycuZSBuYWknJyAob25seSB3YXRlciwg bm8gbWlsayBhdCBhbGwpIHdhcyB0aGUgY29ycmVjdCBvbmUuCgpfXycnY2F2eWZsZScnX18geDEs IGNvbnNpc3Rpbmcgb2YgeDIsIGZsb3dzIGludG8geDMgZnJvbSB4NAoKSnVzdCBsaWtlIGEgbG9n aWNhbCBjb25uZWN0aXZlIGlzIGEgcGxhdXNpYmxlIG5lZ2F0aW9uIG9mIGEgbm9uLWxvZ2ljYWwg Y29ubmVjdGl2ZSwgYW5zd2VycyB0byBxdWVzdGlvbnMgb2YgdGhlIHR5cGUgJydqaScnIG9yICcn amUnaScnIGNhbiBiZSBib3RoIGxvZ2ljYWwgYW5kIG5vbi1sb2dpY2FsOiBBOiAnJ2xhZHJ1IGpl J2kgc2FrdGEgbGUgZG8gY2thZmknJyBCOiAnJ3NlIGNlJ28nJyAoIk1pbGsgb3Igc3VnYXIgaW4g eW91IGNvZmZlZT8iICJGaXJzdCB0aGUgbGF0dGVyLCB0aGVuIHRoZSBmb3JtZXIiKS4gSW4gdGhp cyBjYXNlICcnY2UnJyB3b3VsZCBtYWtlIG5vIHNlbnNlIGF0IGFsbCwgc2luY2Ugc2V0cyBjYW4n dCBiZSBjb250YWluZWQgaW4gY29mZmVlLCBhbmQgJydqb2knJyAoYm90aCBtaXhlZCB0b2dldGhl cikgd291bGQgbWVhbiB0aGUgc2FtZSBhcyAnJ2pvJ3UnJyAoYm90aCBvZiB0aGVtKSwgdW5sZXNz IHRoZSByZXNwb25kYW50IHByZWZlcnJlZCB1bm1peGVkIHN1Z2FyIGluIGhpcyBjb2ZmZWUuCgoK ClRoZSBmaWZ0aCBKT0kgSSBwcmVzZW50IGhlcmUgaXMgYSBiaXQgb2YgYW4gb2RkYmFsbDoKCl9f JydmYSd1JydfXyBOb24tbG9naWNhbCBjb25uZWN0aXZlOiBVbm1peGVkIG9yZGVyZWQgZGlzdHJp YnV0aW9uIChBIGFuZCBCLCByZXNwZWN0aXZlbHkpCgpXaGVuIG9ubHkgb25lICcnZmEndScnIGlz IHBsYWNlZCB3aXRoaW4gYSBicmlkaSAob3Igc2V2ZXJhbCBicmlkaSBjb25uZWN0ZWQgdG9nZXRo ZXIgd2l0aCBjb25uZWN0b3JzKSwgJydmYSd1JycgbWF5IGJlIGFzc3VtZWQgdG8gYmUgaWRlbnRp Y2FsIHRvICcnam8ndScnLiBXaGVuIHNldmVyYWwgJydmYSd1JycgaXMgdXNlZCB3aXRoaW4gb25l IGJyaWRpLCBob3dldmVyLCB0aGUgY29uc3RydWN0cyBiZWZvcmUgJydmYSd1JycgZWFjaCBhcHBs eSB0byBlYWNoIG90aGVyLCBhbmQgdGhlIGNvbnN0cnVjdHMgYWZ0ZXIgJydmYSd1JycgZWFjaCBh cHBseSB0byBlYWNoIG90aGVyLiBMZXQncyBoYXZlIGFuIGV4YW1wbGU6CgonJ21pIGZhJ3UgZG8g cnVza28gZmEndSBrYWRubycnIC0gIllvdSBhbmQgSSBhcmUgUnVzc2lhbiBhbmQgQ2FuYWRpYW4i LCBpbXBseWluZyB0aGF0ICcnbWknJyBnb2VzIHdpdGggJydydXNrbycnIGFuZCAnJ2RvJycgZ29l cyB3aXRoICcna2Fkbm8nJywgYW5kIGltcGx5aW5nIG5vdGhpbmcgYWJvdXQgYW55IG90aGVyIGNv bWJpbmF0aW9uLiBPZiBjb3Vyc2UsIGluIHRoaXMgZXhhbXBsZSwgaXQgd291bGQgYmUgbXVjaCBl YXNpZXIgdG8gc2F5ICcnbWkgcnVza28gLmkgZG8ga2Fkbm8nJy4KCgoKVGhlc2UgbGFzdCB0aHJl ZSBKT0kgY29ubmVjdHMgdHdvIHNldHMgdG8gbWFrZSBuZXcgc2V0czoKCl9fJydqbydlJydfXwlB IHVuaW9uIEIKCl9fJydrdSdhJydfXwlBIGludGVyc2VjdGlvbiBCCgpfXycncGkndSAnJ19fCUNy b3NzIHByb2R1Y3Qgb2YgQSBhbmQgQgoKCgpUaGVzZSBhcmUgcHJvYmFibHkgbm90IHZlcnkgdXNl ZnVsIGZvciB0aGUgYXZlcmFnZSBMb2piYW5pc3QsIGJ1dCBJIG1pZ2h0IGFzIHdlbGwgaW5jbHVk ZSB0aGVtIGhlcmUuCgpUaGUgZmlyc3Qgb25lLCAnJ2pvJ2UnJywgbWFrZXMgYSBuZXcgc2V0IGZy b20gdHdvIHNldHMuIFRoaXMgbmV3IHNldCBjb250YWlucyBvbmx5IHRob3NlIG1lbWJlcnMgd2hp Y2ggYXJlIGluIGJvdGggc2V0cy4KCkEgc2V0IG1hZGUgd2l0aCAnJ2t1J2EnJyBjb250YWlucyBh bGwgdGhlIG1lbWJlcnMgb2Ygc2V0IEEgYW5kIHRob3NlIG9mIHNldCBCLiBJZiBhbnl0aGluZyBp cyBhIG1lbWJlciBvZiBib3RoIHNldHMsIHRoZXkgYXJlIG5vdCBjb3VudGVkIHR3aWNlLgoKJydw aSd1JycgaXMgYSBsaXR0bGUgbW9yZSBjb21wbGljYXRlZC4gQSBzZXQgIkEgJydwaSd1JycgQiIg Y29udGFpbnMgYWxsIHRoZSBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgImEgJydjZSdvJycgYiIs IHdoZXJlIGEgaXMgYSBtZW1iZXIgb2YgQSBhbmQgYiBpcyBhIG1lbWJlciBvZiBCLiBJdCBpcyB0 aHVzIGEgc2V0IG9mIHNlcXVlbmNlcyBvZiBtZW1iZXJzLiBJZiwgZm9yIGluc3RhbmNlLCBzZXQg QSBjb250YWluZWQgdGhlIG1lbWJlcnMgcCBhbmQgcSwgYW5kIHNldCBCIGNvbnRhaW5lZCBtZW1i ZXJzIGYgYW5kIGcsIHRoZW4gQSAnJ3BpJ3UnJyBCIHdvdWxkIGJlIGEgc2V0IGNvbnNpc3Rpbmcg b2YgdGhlIGZvdXIgbWVtYmVycyBwICcnY2UnbycnIGYsIHAgJydjZSdvJycgZywgcSAnJ2NlJ28n JyBmIGFuZCBxICcnY2UnbycnIGcuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5 LXNldmVuIChsb2piYW4gbG9naWM6IGRhLCBideKAmWEsIHpv4oCZdSBhbmQgdGVybXMpCgpUaGUg c3RhdGVkIHRvcGljIG9mIHRoaXMgbGVzc29uIG5lZWRzIHNvbWUganVzdGlmaWNhdGlvbjogVGhp cyBsZXNzb24gaXMgbm90IHJlYWxseSBhYm91dCBob3cgZG8gdG8gbG9naWMgaW4gTG9qYmFuLCBz aW5jZSBmaXJzdGx5LCBsb2dpYyBpcyBwcmVzdW1hYmx5IHRoZSBzYW1lIGluIGFsbCBsYW5ndWFn ZXMsIGFuZCBzZWNvbmRseSwgYWN0dWFsbHkgdGVhY2hpbmcgbG9naWMgd291bGQgYmUgdG90YWxs eSBpbXByYWN0aWNhbCBpbiBvbmUgc2luZ2xlIGxlc3Nvbi4gUmF0aGVyLCB0aGlzIGxlc3NvbiBp cyBleHBsYWlucyBzb21lIGNvbnN0cnVjdHMgd2hpY2ggcmVzZW1ibGVzIHRob3NlIHdoaWNoIGxv Z2ljaWFucyB1c2UuIEl0IHR1cm5zIG91dCB0aGV5IGhhdmUgYSByZW1hcmthYmxlIHdpZGUgcmFu Z2Ugb2YgdXNlcyBpbiBMb2piYW4uCgoKCkdldHRpbmcgaW52b2x2ZWQgaW4gdGhlIG1vcmUgb2Jz Y3VyZSBkZXRhaWxzIG9mIHRoZXNlIGxvZ2ljYWwgY29uc3RydWN0cyBjYW4gYmUgbWluZC13YXJw aW5nbHkgZGlmZmljdWx0LCBhbmQgdGhlcmUgd2lsbCBhbHdheXMgYmUgc29tZSBkaXNhZ3JlZW1l bnQgaW4gdGhlIGNvcm5lcnMgb2YgdGhpcyBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4KCgoKTGVhcm5p bmcgdGhlc2UgbG9naWNhbCBjb25zdHJ1Y3RzIHJlcXVpcmVzIG9uZSB0byBsZWFybiBhIGJpdCBh Ym91dCBjb25zdHJ1Y3RzIHdoaWNoIGFyZSBub3QgbG9naWNhbCBpbiBuYXR1cmUuIExldCdzIGJl Z2luIHdpdGggJyd6byd1JycKCgoKX18nJ3pvJ3UnJ19fIFNlcGFyYXRlcyBwcmVuZXggZnJvbSBi cmlkaQoKCgpCZWZvcmUgYW55ICcnem8ndScnIGlzIHRoZSBwcmVuZXgsIGFmdGVyICcnem8ndScn IGlzIHRoZSBicmlkaS4gSW5mb3JtYWxseSwgYSBwcmVuZXggaXMgYSBwbGFjZSBpbiBmcm9udCBv ZiB0aGUgYnJpZGksIHdoZXJlIHlvdSBwdXQgYSBidW5jaCBvZiB0ZXJtcy4gQSB0ZXJtIGlzIGFu IEVuZ2xpc2ggd29yZCBnaXZlbiB0byBzb21lIGtpbmRzIG9mIExvamJhbiBjb25zdHJ1Y3RzOiBT dW10aSwgc3VtdGNpdGEgd2l0aCBvciB3aXRob3V0IHN1bXRpIGF0dGFjaGVkLCAnJ25hIGt1Jycg YW5kIGFuIGFib21pbmF0aW9uIGNhbGxlZCBfX3Rlcm1zZXRzX18sIHdoaWNoIEkgcmVmdXNlIHRv IGluY2x1ZGUgaW4gdGhlc2UgbGVzc29ucy4gVGhlIHByZW5leCBpcyBub3QgcGFydCBvZiB0aGUg YnJpZGksIGJ1dCBhbnkgdGVybXMgcHV0IGluc2lkZSBpdCBnaXZlcyB1cyBpbmZvcm1hdGlvbiBh Ym91dCB0aGUgYnJpZGkuIE9uZSBjYW4sIGZvciBleGFtcGxlLCB1c2UgaXQgdG8gc3RhdGUgYSB0 b3BpYyBhcyBzaG93biB0aHVzOgoKCgonJ2xvIHBhbXBlJ28gamUgbmFpIHNwZW5pIHpvJ3UgbWkg bmEgemFucnUnJyAtICJDb25jZXJuaW5nIGxvdmVycyB3aG8gYXJlIG5vdCBzcG91c2VzOiBJIGRv IG5vdCBhcHByb3ZlIi4gVGhlIGJlbmVmaXRzIG9mIGtpbmQgb2Ygc2VudGVuY2Ugc3RydWN0dXJp bmcgaXMgcXVlc3Rpb25hYmxlLCBidXQgaXQncyBhbHdheXMgZ29vZCB0byBoYXZlIHNvbWUgdmFy aWF0aW9uIHRvIHBsYXkgd2l0aC4gRnVydGhlcm1vcmUsIGNvbnN0cnVjdGluZyBzZW50ZW5jZXMg dGhpcyB3YXkgcmVzZW1ibGVzIE1hbmRhcmluIChhbmQgb3RoZXIgbGFuZ3VhZ2VzKSBjbG9zZWx5 LCBtZWFuaW5nIGl0IG1pZ2h0IHNlZW0gbW9yZSBpbnR1aXRpdmUgZm9yIHNwZWFrZXJzIG9mIHRo YXQgbGFuZ3VhZ2UuCgpfXycncGFtcGUnbycnX18geDEgaXMgYSBsb3ZlciBvZiB4MgoKX18nJ3ph bnJ1JydfXyB4MSBhcHByb3ZlcyBvZiB4MiAocGxhbiwgZXZlbnQgb3IgYWN0aW9uKQoKCgpPZiBj b3Vyc2UsIHRoZSByZWxhdGlvbiBiZXR3ZWVuIHRoZSB0ZXJtcyBpbiB0aGUgcHJlbmV4IGFuZCB0 aGUgYnJpZGkgaXMgdmFndWUuIE9uZSBjYW4gaW1hZ2luZSBhbnkgc3VtdGkgaW4gdGhlIHByZW5l eCBiZWFyaW5nIHRoZSBzYW1lIHJlbGV2YW5jZSB0byB0aGUgYnJpZGkgYXMgaWYgdGhleSB3ZXJl IHB1dCBpbiB0aGUgYnJpZGkgYWZ0ZXIgYSAnJ2RvJ2UnJyBzdW10Y2l0YSwgYW5kIGFueSBzdW10 Y2l0YSBpbiB0aGUgcHJlbmV4IGRvaW5nIHByZXR0eSBtdWNoIHRoZSBzYW1lIGFzIGlmIHRoZXkg d2VyZSBpbiB0aGUgYnJpZGkuIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRvIHB1dCB0ZXJtcyBpbiBw cmVuZXhlcyB3aXRob3V0IGFueSBjbGVhciBoaW50cyBhcyB0byBob3cgdGhlIHRlcm0gbWF5IHJl bGF0ZSB0byB0aGUgYnJpZGk6CgonJ2xlIHZpIGdlcmt1IHpvJ3UgbWkgdG8nZSBuZWxjaSBsbyBj aWRqcnBpdHNhJycgLSAiQ29uY2VybmluZyB0aGlzIGRvZyBoZXJlOiBJIGRpc2xpa2UgcGl6emEu IiBJdCBsZWF2ZXMgeW91IGd1ZXNzaW5nIGFib3V0IHRoZSByZWFzb24gZm9yIG1lbnRpb25pbmcg dGhlIGRvZy4KCl9fJydjaWRqcnBpdHNhJydfXyB4MSBpcyBwaXp6YSB3aXRoIHRvcHBpbmcvaW5n cmVkaWVudHMgeDIKCgoKSWYgdGhlIHByZW5leCBjb250YWlucyAnJ25hIGt1JycsIGl0J3MgcHJl dHR5IHN0cmFpZ2h0IGZvcndhcmQ6IFRoZSBlbnRpcmUgYnJpZGkgaXMgbmVnYXRlZCwganVzdCBh cyBpZiB0aGUgYnJpZGkgaXRzZWxmIGJlZ2FuIHdpdGggJyduYSBrdScnLgoKCgpTbyBob3cgbG9u ZyBkb2VzIGEgcHJlbmV4IGxhc3Q/IEl0IGxhc3RzIHVudGlsIHRoZSBmb2xsb3dpbmcgYnJpZGkg aXMgdGVybWluYXRlZC4gSWYgdGhhdCBpcyBub3QgZGVzaXJlZCwgdGhlcmUgYXJlIHR3byB3YXlz IHRvIG1ha2UgaXQgYXBwbHkgdG8gc2V2ZXJhbCBicmlkaTogT25lIGlzIHRvIHB1dCBzb21lIGtp bmQgb2YgY29ubmVjdGl2ZSBhZnRlciB0aGUgJycuaScnIHNlcGFyYXRpbmcgdGhlIGJyaWRpLCBh bmQgYW5vdGhlciBtZXRob2QgaXMgdG8gc2ltcGx5IGluY2x1ZGUgYWxsIG9mIHRoZSB0ZXh0IGlu ICcndHUnZScnIC4uLiAnJ3R1J3UnJy1icmFja2V0cy4gVGhlc2UgYnJhY2tldHMgd29yayBwcmV0 dHkgbXVjaCBieSBnbHVpbmcgYWxsIHRoZSBicmlkaSB0b2dldGhlciBhbmQgbWFrZXMgYWxsIHNv cnRzIG9mIGNvbnN0cnVjdCBhcHBseSB0byBzZXZlcmFsIGJyaWRpLgoKCgpOb3cgdGhhdCB3ZSBj b3ZlcmVkICcnem8ndScnLCB0aGUgZmlyc3QgImxvZ2ljYWwiIHdvcmRzIHdlIGNhbiB1c2UgaXQg d2l0aCBhcmUgdGhlc2U6CgpfXycnZGEnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50 aWFsIHByby1zdW10aSAxCgpfXycnZGUnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50 aWFsIHByby1zdW10aSAyCgpfXycnZGknJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50 aWFsIHByby1zdW10aSAzCgoKClRoZXNlIHdvcmRzIGFyZSBhbGwgdGhlIHNhbWUsIGxpa2UgdGhl IG1hdGhlbWF0aWNhbCB2YXJpYWJsZXMgeCwgeSBhbmQgei4gT25jZSB5b3UgaGF2ZSBkZWZpbmVk IHRoZW0sIGhvd2V2ZXIsIHRoZXkga2VlcCByZWZlcmluZyB0byB0aGUgc2FtZSB0aGluZy4gVGhl c2Ugd29yZHMgYXJlIGRlZmluZWQgaW4gdGhlIHByZW5leCBvZiBicmlkaSwgbWVhbmluZyB0aGF0 IHdoZW4gdGhlIHByZW5leCBzdG9wIGFwcGx5aW5nLCB0aGUgZGVmaW5pdGlvbiBvZiB0aGVzZSB0 aHJlZSB3b3JkcyBhcmUgY2FuY2VsbGVkLgoKCgpUaGUgd29yZHMgJydkYScnLCAnJ2RlJycgYW5k ICcnZGknJyBjYW4gcmVmZXIgdG8gbGl0ZXJhbGx5IGFueSBzdW10aSwgd2hpY2ggbWFrZXMgdGhl bSBraW5kIG9mIHVzZWxlc3MgdW5sZXNzIHJlc3RyaWN0ZWQgaW4gc29tZSB3YXkuIFRoZSBmaXJz dCBhbmQgZm9yZW1vc3Qgd2F5IHRvIHJlc3RyaWN0IHRoZW0gaXMgdG8gcXVhbnRpZnkgdGhlbTog VGhleSBhcmUgbm90IGNhbGxlZCAibG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJv LXN1bXRpIiBmb3Igbm90aGluZy4gVGhleSBhcmUgcHJvLXN1bXRpLCB0aGV5IGFyZSBtb3N0IHVz ZWZ1bCB3aGVuIHF1YW50aWZpZWQsIGFuZCB0aGV5IGFyZSBleGlzdGVudGlhbC4gV2hhdCBkb2Vz IGl0IG1lYW4sIGJlaW5nICJleGlzdGVudGlhbCI/IEl0IG1lYW5zIHRoYXQgaWYgdGhleSBhcmUg dXNlZCwgdGhhdCBpbXBsaWVzIHRoYXQgdGhleSBhY3R1YWxseSByZWZlciB0byBzb21ldGhpbmcg d2hpY2ggZXhpc3RzLiBBbiBleGFtcGxlOgoKCgpUaGUgc3RhdGVtZW50ICcncGEgZGEgem8ndSBk YSBnZXJrdScnIGhhcyAnJ3BhIGRhJycgaW4gdGhlIHByZW5leCwgd2hpY2ggbWVhbnMgIkNvbmNl cm5pbmcgb25lIGV4aXN0aW5nIHRoaW5nOiIsIGFuZCB0aGVuICcnZGEnJywgbm93IGRlZmluZWQs IGlzIHVzZWQgaW4gdGhlIGJyaWRpICcnZGEgZ2Vya3UnJy4gVHJhbnNsYXRlZCB0byBFbmdsaXNo LCB0aGlzIG1lYW5zOiAiVGhlcmUgZXhpc3RzIG9uZSB0aGluZyB3aGljaCBpcyBhIGRvZyIuIFRo aXMgaXMgb2J2aW91c2x5IGZhbHNlLCB0aGVyZSBhcmUgYXJvdW5kIDQwMCwwMDAsMDAwIG9mIHRo ZW0gaW4gdGhlIHdvcmxkLiBJZiAnJ2RhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBub3QgcXVhbnRp ZmllZCwgdGhlIG51bWJlciAnJ3N1J28nJyBpcyB0aGUgZGVmYXVsdC4gVGh1cyAnJ2RhIHpvJ3Ug ZGEgZ2Vya3UnJyBtZWFucyAiVGhlcmUgZXhpc3QgYXQgbGVhc3Qgb25lIHRoaW5nIHdoaWNoIGlz IGEgZG9nIiwgd2hpY2ggaXMgdHJ1ZS4gTm90aWNlIGhlcmUsIHRoYXQgYW55IHF1YW50aWZpY2F0 aW9uIG11c3QgYmUgbW9yZSBvciBsZXNzIGV4YWN0IGluIG9yZGVyIHRvIGJlIHRydWU6IE9mIGNv dXJzZSBvbmUgZG9nIGV4aXN0cywgYnV0IGluIExvamJhbiwgJydwYSBkYSB6byd1IGRhIGdlcmt1 JycgbWVhbnMgbm90IG9ubHkgdGhhdCBkb2VzIG9uZSBkb2cgZXhpc3RzLCBidXQgYWxzbyB0aGF0 IG5vIG1vcmUgdGhhbiBvbmUgZG9lcy4gCgoKClRoZXJlIGFyZSBhIGZldyBzcGVjaWZpYyBydWxl cyB0byB0aGVzZSBleGlzdGVudGlhbCBwcm8tc3VtdGk6CgotIElmIHRoZSBxdWFudGlmaWVyICcn cm8nJyBpcyB1c2VkIGJlZm9yZSAnJ2RhJycsIGl0IGluc3RlYWQgcmVmZXJzIHRvICJhbGwgd2hp Y2ggZXhpc3RzIi4gIAoKLSBJZiB0aGUgc2FtZSB2YXJpYWJsZSBpcyBxdWFudGlmaWVkIHNldmVy YWwgdGltZXMsIHRoZSBmaXJzdCBxdWFudGlmaWNhdGlvbiBpcyB0aGUgb25lIHdoaWNoIHN0aWNr czogQW55IGxhdGVyIHF1YW50aWZpZWQgaW5zdGFuY2Ugb2YgdGhhdCB2YXJpYWJsZSBjYW4gcmVm ZXIgb25seSB0byB0aGluZ3Mgd2hpY2ggYXJlIGFsc28gYmVpbmcgcmVmZXJyZWQgdG8gYnkgdGhl IGZpcnN0IGluc3RhbmNlIG9mIHRoYXQgdmFyaWFibGUsIGFuZCBhbnkgbGF0ZXIgbm9uLXF1YW50 aWZpZWQgaW5zdGFuY2Ugb2YgdGhhdCB2YXJpYWJsZSB3aWxsIGdhaW4gdGhlIGZpcnN0IHF1YW50 aWZpZXIuIFRvIHVzZSBhbiBleGFtcGxlOiAnJ2NpIGRhIHpvJ3UgcmUgZGEgYmFyZGEgLmlqZSBk YSBwZWx4dScnIG1lYW5zICJUaGVyZSBleGlzdHMgdGhyZWUgdGhpbmdzIHN1Y2ggdGhhdCB0d28g b2YgdGhlbSBhcmUgYmlnIGFuZCBhbGwgdGhyZWUgYXJlIHllbGxvdyIuICcncmUgZGEnJywgYmVp bmcgYWZ0ZXIgJydjaSBkYScnLCBjYW4gb25seSByZWZlciB0byB0d28gb2YgdGhlIGFscmVhZHkg c3RhdGVkIHRocmVlIHRoaW5ncy4gV2hlbiAnJ2RhJycgYXBwZWFycyB3aXRob3V0IGEgcXVhbnRp ZmllciwgJydjaScnIGlzIGFzc3VtZWQuCgotIElmIHRoZXJlIGFyZSBzZXZlcmFsIHRlcm1zIGlu IHRoZSBwcmVuZXgsIHRoZSB0ZXJtcyBhcmUgYWx3YXlzIHJlYWQgbGVmdCB0byByaWdodC4gU29t ZXRpbWVzLCB0aGlzIG1hdHRlcnM6ICcncm8gZGEgZGUgem8ndSBkYSBwcmFtaSBkZScnIG1lYW5z ICJDb25jZXJuaW5nIGFsbCB0aGUgdGhpbmdzIFggdGhhdCBleGlzdHMsIGNvbmNlcm5pbmcgYXQg bGVhc3Qgb25lIHRoaW5nIFk6IFggbG92ZXMgWSIuIFRoaXMgaXMgdGhlIHNhbWUgYXMgIkFsbCB0 aGluZ3MgbG92ZSBhdCBsZWFzdCBvbmUgdGhpbmcuIiwgd2hlcmUgdGhlICJ0aGluZyhzKSIgY2Fu IGJlIGFueXRoaW5nLCBpbmNsdWRpbmcgdGhlIHRoaW5nIGl0c2VsZi4gTm90ZSBoZXJlIHRoYXQg JydkZScnIGNhbiByZWZlciB0byBkaWZmZXJlbnQgdGhpbmdzIGZvciBlYWNoICcnZGEnJyAtIHRo ZSB0aGluZyB3aGljaCBpcyByZWZlcnJlZCB0byBieSAnJ2RlJycgaXMgZGVwZW5kZW50IG9uIHRo ZSAnJ2RhJycsIHNpbmNlIGl0IGNhbWUgYmVmb3JlIGl0IGluIHRoZSBwcmVuZXgsIHRoZXJlZm9y ZSBlYWNoIHRoaW5nIG1pZ2h0IGxvdmUgc29tZXRoaW5nIGRpZmZlcmVudC4gSWYgd2Ugc3dpdGNo ZWQgdGhlIHBsYWNlcyBvZiAnJ2RhJycgYW5kICcnZGUnJyBpbiB0aGUgcHJlbmV4LCBhIGRpZmZl cmVudCByZXN1bHQgd291bGQgYXJpc2U6ICcnZGUgcm8gZGEgem8ndSBkYSBwcmFtaSBkZScnID0g IkNvbmNlcm5pbmcgYXQgbGVhc3Qgb25lIHRoaW5nIFksIGNvbmNlcm5pbmcgYWxsIFggd2hpY2gg ZXhpc3RzOiBYIGxvdmVzIFkiLCBtZWFuaW5nICJUaGVyZSBleGlzdHMgYXQgbGVhc3Qgb25lIHRo aW5nIHdoaWNoIGV2ZXJ5dGhpbmcgbG92ZXMiLgoKCgpPZiBjb3Vyc2UsIGJvdGggY2xhaW1zIGFy ZSBjb21wbGV0ZWx5IGZhbHNlLiBUaGVyZSBhcmUgbWFueSB0aGluZ3Mgd2hpY2ggbG92ZXMgbm90 aGluZyAtIHJvY2tzLCBvciBhYnN0cmFjdCBjb25jZXB0cywgZm9yIGV4YW1wbGUuIExpa2V3aXNl LCBpdCdzIGltcG9zc2libGUgdG8gY29uY2lldmUgb2Ygc29tZXRoaW5nIHdoaWNoIGV2ZXJ5dGhp bmcgbG92ZXMsIHNpbmNlICJldmVyeXRoaW5nIiBhbHNvIGVuY29tcGFzc2VzIG5vbi1zZW50aWVu dCB0aGluZ3MuIFdlIG5lZWQgYmV0dGVyIHdheXMgdG8gcmVzdHJpY3Qgd2hhdCB0aGVzZSB2YXJp YWJsZXMgY2FuIHBvaW50IHRvLiBPbmUgZ29vZCB3YXkgb2YgZG9pbmcgaXQgaXMgdG8gbWFrZSB0 aGVtIHRoZSBzdWJqZWN0IG9mIGEgcmVsYXRpdmUgY2xhdXNlOgoKJydybyBkaSBwb2kgcmVtbmEg em8ndSBiaXJrYSBkaScnID0gIkNvbmNlcm5pbmcgYWxsIFggdGhhdCBleGlzdHMsIHdoaWNoIGlz IGh1bWFuOiBYIGhhcyBvbmUgb3IgbW9yZSBhcm1zLiIgb3IgIkFsbCBodW1hbnMgaGF2ZSBhcm1z Iiwgd2hpY2ggaXMgdHJ1ZSwgYXQgbGVhc3Qgd2hlbiBzcGVha2luZyBpbiBhIHBvdGVudGlhbCwg dGltZWxlc3Mgc2Vuc2UuCgpfXycnYmlya2EnJ19fIHgxIGlzIGFuIGFybSBvZiB4MgoKV2hlbiBy ZXN0cmljdGluZyBjbGFpbXMgdXNpbmcgdGhpcyBraW5kIG9mIGxvZ2ljYWwgImV4aXN0ZW50aWFs IiB2YXJpYWJsZSwgaXQncyB2ZXJ5IGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IHVubGVzcyB0 aGVyZSBpcyBhbiBleHBsaWNpdCAnJ25vJycgYXMgYSBxdWFudGlmaWVyLCB0aGVzZSBraW5kIG9m IHN0YXRlbWVudHMgYWx3YXlzIGltcGx5IHRoYXQgdGhlcmUgX19hY3R1YWxseSBleGlzdHNfXyBz b21ldGhpbmcgd2hpY2ggY2FuIGJlIHJlZmVycmVkIHRvIGJ5ICcnZGEnJy4gVGhlcmVmb3JlLCBh bnkga2luZCBvZiBub24tbmVnYXRlZCBzdGF0ZW1lbnQgd2hlcmUgJydkYScnIHBvaW50cyB0byBz b21ldGhpbmcgd2hpY2ggZG9lcyBub3QgZXhpc3QgaXMgZmFsc2UsIGFzIGluIHRoaXMgZXhhbXBs ZTogJydybyBkYSBwb2kgcGF2eXNlbGppcm5hIHpvJ3UgZGEgc2UgamlybmEnJyAtICJBbGwgdW5p Y29ybnMgaGF2ZSBob3JucyIuIFRoaXMgaXMgd3JvbmcgYmVjYXVzZSwgc2luY2UgJydkYScnIGlz IGV4aXN0ZW5zaWFsLCBpdCBhbHNvIG1lYW5zIHRoYXQgdGhlcmUgbXVzdCBleGlzdCBhdCBsZWFz dCBvbmUgdW5pY29ybi4KCkludGVyZXN0aW5nbHksIHdoZW4gdXNpbmcgYSByZWxhdGl2ZSBjbGF1 c2UsIHRoZSB2YXJpYWJsZSBpcyBiZWluZyByZXN0cmljdGVkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhl ciB5b3UgdXNlICcncG9pJycgb3IgJydub2knJy4gVGhpcyBpcyBiZWNhdXNlICcncmUgZGEgbm9p IGdlcmt1Jycgc3RpbGwgb25seSBjYW4gcmVmZXIgdG8gdHdvIHRoaW5ncyB3aGljaCBhcmUgaHVt YW5zLiBUaGVyZWZvcmUsICcnbm9pJycgbWFrZXMgbGl0dGxlIHNlbnNlIHdpdGggJydkYScnLycn ZGUnJy8nJ2RpJycuIEFueSBjbGF1c2UgaXMgYWx3YXlzIHJlc3RyaWN0aXZlLCB1bmxlc3MgaXQn cyByZWFsbHkgc3R1cGlkIGFuZCBvYnZpb3VzIGxpa2UgJydkZSBub2kgZ2Vya3UgY3UgZ2Vya3Un Jy4KCgoKSW4gZmFjdCwgeW91IGRvbid0IHJlYWxseSBuZWVkIHRoZSBwcmVuZXggdG8gZGVmaW5l IHRoZSB2YXJpYWJsZXMuIFlvdSBjYW4gdXNlIHRoZW0gZGlyZWN0bHkgYXMgc3VtdGkgaW4gdGhl IGJyaWRpLCBhbmQgcXVhbnRpZnkgdGhlbSB0aGVyZS4gWW91IG9ubHkgbmVlZCB0byBxdWFudGlm eSB0aGVtIHRoZSBmaXJzdCB0aW1lIHRoZXkgYXBwZWFyLCB0aG91Z2guIFRodXMsIHRoZSBzZW50 ZW5jZSBhYm91dCBodW1hbnMgaGF2aW5nIGFybXMgY291bGQgYmUgdHVybmVkIGludG8gJydiaXJr YSBybyBkaSBwb2kgcmVtbmEnJy4gVGhlIG9yZGVyIG9mIHRoZSB2YXJpYWJsZXMgc3RpbGwgbWF0 dGVycyB0aG91Z2gsIGFuZCBzbyB0aGUgcHJlbmV4IGNhbiBiZSB1c2VkIHRvIGF2b2lkIGhhdmlu ZyB0byBtZXNzIHVwIHlvdXIgYnJpZGkgdG8gcGxhY2UgdGhlIHZhcmlhYmxlcyBpbiB0aGUgY29y cmVjdCBvcmRlci4gV2hlbiBoYXZpbmcgbW9yZSB2YXJpYWJsZXMsIGEgcHJlbmV4IGlzIHVzdWFs bHkgYSBnb29kIGlkZWEuCgoKClRoZSBzZWNvbmQga2luZCBvZiBsb2dpY2FsIHdvcmRzIGFyZSBi YXNpY2FsbHkgdGhlIHNhbWUgYXMgdGhlIHRocmVlIHdlIGhhdmUgYWxyZWFkeSBiZWVuIHRob3Vn aCwgYnV0IHRoZXNlIGFyZSBwcm8tYnJpZGkgaW5zdGVhZCBvZiBwcm8tc3VtdGk6CgoKCl9fJydi dSdhJydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tYnJpZGkgMQoKX18n J2J1J2UnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1icmlkaSAyCgpf XycnYnUnaScnX18gbG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLWJyaWRpIDMK CgoKVGhlc2Ugd29yayBwcmV0dHkgbXVjaCB0aGUgc2FtZSB3YXkgYXMgdGhlIG90aGVyIHRocmVl LCBidXQgdGhlcmUgYXJlIGEgZmV3IHBvaW50cyB3aGljaCBhcmUgaW1wb3J0YW50IHRvIG1lbnRp b246CgpTaW5jZSBvbmx5IHRlcm1zIGNhbiBnbyBpbiB0aGUgcHJlbmV4LCB0aGVzZSBwcm8tYnJp ZGkgbmVlZCB0byBoYXZlIGEgcXVhbnRpZmllciBpbiBvcmRlciB0byBtYWtlIHRoZW0gaW50byBz dW10aS4gV2hlbiBxdWFudGlmaWVkIGluIHRoZSBwcmVuZXgsIGhvd2V2ZXIsIHRoZSBxdWFudGlm aWVyIHdvcmtzIHZlcnkgZGlmZmVyZW50IGZyb20gcXVhbnRpZmllcnMgd2l0aCBub3JtYWwgc2Vs YnJpOiBJbnN0ZWFkIG9mIHF1YW50aWZ5aW5nIHRoZSBhbW91bnQgb2YgdGhpbmdzIHdoaWNoIGZp dHMgdGhlIHgxIG9mIHRoZSBzZWxicmkgdmFyaWFibGUsIGl0IGRpcmVjdGx5IHF1YW50aWZpZXMg dGhlIGFtb3VudCBvZiBzZWxicmkgd2hpY2ggYXBwbGllcy4gQWdhaW4sIHRoZSBkZWZhdWx0IHF1 YW50aWZpZXIgaXMgJydzbyd1JycuIFRodXMsIGluc3RlYWQgb2YgJydyZSBidSdhIHpvJ3UnJyBt ZWFuaW5nICJDb25jZXJuaW5nIHR3byB0aGluZ3Mgd2hpY2ggaXMgaW4gcmVsYXRpb25zaGlwIFg6 IiwgaXQgbWVhbnMgIkNvbmNlcm5pbmcgdHdvIHJlbGF0aW9uc2hpcHMgWDoiCgoKCkl0J3MgcHJv YmFibHkgZ29vZCB0byBzZWUgYW4gZXhhbXBsZSBwZiAnJ2J1J2EnJyBwdXQgdG8gcHJhY3RpY2U6 CgonJ3JvIGRhIGJ1J2EgbGEgLmJhYi4nJyA9ICJDb25zaWRlcmluZyBhbGwgWCB3aGljaCBleGlz dHM6IFggaXMgaW4gYXQgbGVhc3Qgb25lIHJlbGF0aW9uc2hpcCB3aXRoIEJvYiIgPSAiRXZlcnl0 aGluZyBpcyByZWxhdGVkIHRvIEJvYiBpbiBhdCBsZWFzdCBvbmUgd2F5LiIuIE5vdGljZSBhZ2Fp biB0aGUgb3JkZXIgbWF0dGVyczogJydidSdhIHJvIGRhIHpvJ3UgZGEgYnUnYSBCb2InJyBtZWFu czogIlRoZXJlIGlzIGF0IGxlYXN0IG9uZSByZWxhdGlvbnNoaXAgc3VjaCB0aGF0IGV2ZXJ5dGhp bmcgdGhhdCBleGlzdHMgaXMgaW4gdGhhdCByZWxhdGlvbnNoaXAgd2l0aCBCb2IiLiBUaGUgZmly c3Qgc3RhdGVtZW50IGlzIHRydWUgLSBmb3IgYW55IG9uZSB0aGluZywgb25lIGNhbiBpbmRlZWQg bWFrZSB1cCBzb21lIHNlbGJyaSB3aGljaCByZWxhdGVzIGFueSBndXkgY2FsbGVkIEJvYiBhbmQg aXQuIEJ1dCBJJ20gbm90IHN1cmUgdGhlIGxhdHRlciBpcyB0cnVlIC0gdGhhdCBvbmUgY2FuIG1h a2UgYSBzZWxicmkgd2hpY2ggY2FuIHJlbGF0ZSBhbnl0aGluZywgbm8gbWF0dGVyIHdoYXQgaXQg aXMsIGFuZCBCb2IuCgoKCkxldCdzIGhhdmUgYW4gZXhhbXBsZSB3aGljaCBxdWFudGlmaWVzIHNl bGJyaToKCicnY2knaSBidSdlIHpvJ3UgbWkgYnUnZSBkbycnIC0gIkNvbmNlcm5pbmcgYW4gaW5m aW5pdGUgYW1vdW50IG9mIHJlbGF0aW9uc2hpcHM6IEkgYW0gaW4gYWxsIHRob3NlIHJlbGF0aW9u c2hpcCB3aXRoIHlvdS4iIG9yICJUaGVyZSBleGlzdHMgYW4gaW5maW5pdGUgYW1vdW50IG9mIHJl bGF0aW9uc2hpcHMgYmV0d2VlbiB1cyIKCllvdSBjYW4ndCBxdWFudGlmeSB0aGUgc2VsYnJpIHZh cmlhYmxlcyBpbiB0aGUgYnJpZGkgaXRzZWxmLCB0aG91Z2guIFRoZW4gaXQgd2lsbCBhY3QgYXMg YSBzdW10aTogJydtaSBjaSdpIGJ1J2EgZG8nJyBpcyBub3QgYSBicmlkaS4KCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0d2VudHktZWlnaHQgKG5vdGVzIG9uIGFic3RyYWN0b3JzKQoKVGhl IG5vdGlvbiBvZiBhYnN0cmFjdGlvbnMgYW5kIGFic3RyYWN0b3JzIGlzIHF1aXRlIGZ1bmRhbWVu dGFsIHRvIExvamJhbiwgYW5kIHlvdSBoYXZlIGFscmVhZHkgbGVhcm5lZCB0aGUgbWVjaGFuaXNt IHR3ZW50eS10d28gbGVzc29ucyBhZ28uIFRoZXJlIGFyZSwgaG93ZXZlciwgbWFueSBhYnN0cmFj dG9ycyB3aXRoIHNsaWdodGx5IGRpZmZlcmVudCBzZW1hbnRpYyBtZWFuaW5nIHRvIGV4cGxvcmUs IGFzIHdlbGwgYXMgYSBzaW5nbGUgaW1wb3J0YW50IG1lY2hhbmlzbSB3aGljaCBoYXMgbm90IGJl ZW4gY292ZXJlZCB5ZXQuIEluIHRoaXMgbGVzc29uLCBhbGwgdHdlbHZlIGFic3RyYWN0b3JzIHdp bGwgYmUgZWxhYm9yYXRlZCBvbi4gVGhlIGZhJ29ybWEnbyBmb3IgYWxsIG9mIHRoZXNlIGlzICcn a2VpJycuCgoKClRoZSBmaXJzdCBhbmQgbW9zdCBiYXNpYyBhYnN0cmFjdG9yIGlzICcnc3XigJl1 JycsIHdoaWNoIHlvdSBhbHJlYWR5IGtub3cuCgpZb3UgbWlnaHQgcmVtZW1iZXIgZnJvbSBsZXNz b24gc2l4IHRoYXQgJydzdSd1JycgaGFkIGEgcGxhY2Ugc3RydWN0dXJlIHdpdGggdHdvIHN1bXRp IHBsYWNlcy4gVGhlIHNlY29uZCBzdW10aSBwbGFjZSBvZiAnJ3N1J3UnJyBtYWtlcyB0aGUgd29y ZCB2ZXJzYXRpbGUsIGFzIHRoZSB4MiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGhvdyB0aGUgYWJz dHJhY3Rpb24gc2hvdWxkIGJlIGNvbnNpZGVyZWQuCgpUaGUgRW5nbGlzaCBwaHJhc2Ug4oCcdGhh dCBJIGxvdmUgeW914oCdIGlzIGRlZmluaXRlbHkgYSBzdW10aSwgc2luY2UgaXTigJlzIG1lYW50 IHRvIGZ1bmN0aW9uIGFzIGEgc3ViamVjdCBvciBvYmplY3QgaW4gYSBzZW50ZW5jZS4gSXTigJlz IGFsc28gY2xlYXJseSBtYWRlIGZyb20gYW4gYWJzdHJhY3Rpb24uIEl0IGNhbiB0aGVyZWZvcmUg YmUgdHJhbnNsYXRlZCAoJydsbycnLycnbGUnJykgJydzdeKAmXUgbWkgZG8gcHJhbWknJy4gV2l0 aG91dCB0aGUgY29udGV4dCBvZiB0aGUgRW5nbGlzaCBzZW50ZW5jZSwgdGhvdWdoLCBpdOKAmXMg aGFyZCB0byBndWVzcyB3aGF0IGtpbmQgb2YgYWJzdHJhY3Rpb24gd2FzIG1lYW50LiDigJxJIHdp bGwgZGllIGhhcHB5IGJ5IHRoZSB0aW1lIHRoYXQgSSBsb3ZlIHlvdS7igJ0gdHJlYXRzIHRoZSBh YnN0cmFjdGlvbiBsaWtlIGFuIGV2ZW50IGhhcHBlbmluZyBpbiB0aW1lLiDigJxUaGUgdHJ1dGgg aXMgdGhhdCBJIGxvdmUgeW91LuKAnSB0cmVhdHMgdGhlIGFic3RyYWN0aW9uIGxpa2UgYSBicmlk aSwgd2hpY2ggY2FuIGJlIGNvbnNpZGVyZWQgdHJ1ZSBvciBmYWxzZS4gSW4gdGhlIHNlbnRlbmNl IOKAnFRoZSBtb3N0IGJlYXV0aWZ1bCB0aGluZyBpbiB0aGUgd29ybGQgaXMgdGhlIGlkZWEgdGhh dCBJIGxvdmUgeW914oCdLCB0aGUgYWJzdHJhY3Rpb24gaXMgY29uc2lkZXJlZCBhbiBhYnN0cmFj dCBjb25jZXB0LiBVc2luZyB0aGUgc2Vjb25kIHN1bXRpIHBsYWNlIG9mICcnc3XigJl1JycsIHRo ZXNlIGNhbiBiZSBleHBsaWNpdGx5IGRpc3Rpbmd1aXNoZWQgYmV0d2VlbjoKCicnbGUgc3XigJl1 IG1pIGRvIHByYW1pIGtlaSBiZSBsbyBmYXNudScnIGlzIGFuIGV2ZW50LgoKJydsZSBzdeKAmXUg bWkgZG8gcHJhbWkga2VpIGJlIGxvIGJyaWRpJycgaXMgYSBicmlkaS4KCicnbGUgc3XigJl1IG1p IGRvIHByYW1pIGtlaSBiZSBsbyBzaWRibycnIGlzIGEgY29uY2VwdC4KCgoKVXNpbmcgJydzdeKA mXUnJyB0aGlzIHdheSwgdGhlIHNlbWFudGljLCB0aG91Z2ggbm90IGdyYW1tYXRpY2FsLCByYW5n ZSBvZiBhbGwgYWJzdHJhY3RvcnMgY2FuIGJlIGNvdmVyZWQuIE1vcmUgdXN1YWxseSwgdGhvdWdo LCBvdGhlciBhYnN0cmFjdG9ycyBhcmUgdXNlZC4gJydudScnLCB3aGljaCB5b3UgYWxzbyBrbm93 LCB0cmVhdHMgdGhlIGFic3RyYWN0aW9uIGFzIGFuIGV2ZW50LgoKX18nJ251JydfXyB4MSBpcyBh biBldmVudCBvZiBCUklESQoKCgpUaGVyZSBhcmUgbWFueSB3YXlzIHRvIHZpZXcgYW4gZXZlbnQs IGFuZCBzbyB0aGVyZSBhcmUgZm91ciBvdGhlciBhYnN0cmFjdG9ycyB3aG9zZSBzZW1hbnRpYyBh cmUgYWxsIGNvdmVyZWQgYnkgbnUsIGJ1dCBtb3JlIHNwZWNpZmljLgoKX18nJ2114oCZZScnX18g eDEgaXMgYSBwb2ludC1saWtlIGV2ZW50IG9mIEJSSURJIGhhcHBlbmluZwoKX18nJ3ph4oCZaScn X18geDEgaXMgYSBzdGF0ZSBvZiBCUklESSBiZWluZyB0cnVlCgpfXycncHXigJl1JydfXyB4MSBp cyBhIHByb2Nlc3Mgb2YgQlJJREkgdW5mb2xkaW5nIHRocm91Z2ggc3RhZ2VzIHgyCgpfXycnenXi gJlvJydfXyB4MSBpcyBhbiBhY3Rpdml0eSBvZiBCUklESSBjb25zaXN0aW5nIG9mIHRoZSByZXBl YXRlZCBldmVudCBvZiB4MgoKCgpUaGUgdW5kZXJzdGFuZGluZyBvZiB0aGVzZSBhYnN0cmFjdG9y cyBpcyB0aWVkIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIGV2ZW50IGNvbnRvdXJzLiAnJ2114oCZ ZScnIGlzIGFraW4gdG8gdGhlIGV2ZW50IGNvbnRvdXIgJydjb+KAmWknJyBpbiB0aGUgc2Vuc2Ug dGhhdCBib3RoIHRyZWF0IHRoZSBicmlkaSBhcyBwb2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNl OgoKJydsZSBtdeKAmWUgbWkga2Fucm8gYmlueG8gY3Ugc2UgZGppY2EgbWknJyDigJMg4oCdTWUg YmVjb21pbmcgaGVhbHRoeSBpcyBkZXNpcmVkIGJ5IG1l4oCdIGhhcyB0aGUgc2VtYW50aWMgbWVh bmluZyB0aGF0IHRoZSBwcm9jZXNzIG9mIGJlY29taW5nIGhlYWx0aHkgaXMgbm90IGJlaW5nIGNv bnNpZGVyZWQuIElmIGl0IGNvbnNpc3RzIG9mIGNoZW1vdGhlcmFweSwgaXQgaXMgcGxhdXNpYmxl IHRoYXQgdGhpcyBwcm9jZXNzIGlzIG5vdCBkZXNpcmVkIGF0IGFsbC4g4oCcQmVjb21pbmcgaGVh bHRoeeKAnSwgaW4gYSBwb2ludC1saWtlIHNlbnNlIGlzIGRlc2lyZWQsIGhvd2V2ZXIuCgoKCicn emHigJlpJycgaXMgbGlrZSB0aGUgZXZlbnQgY29udG91ciAnJ2Nh4oCZbycnIGluIHRoZSBzZW5z ZSB0aGF0ICcnbGUgemHigJlpIEJSSURJJycgYmVnaW5zIHRvIGFwcGx5IHdoZW4gdGhlIGJyaWRp IGJlZ2lucyBhbmQgc2hhcnBseSBlbmRzIHdoZW4gdGhlIGJyaWRpIGNlYXNlcyB0byBiZSB0cnVl LCBtdWNoIGxpa2UgJydjYeKAmW8nJy4KCicnemHigJlvIHph4oCZaSBtaSBrYW5ybyBiaW54bycn IG1lYW5zIHRoYXQgdGhlIHN0YXRlIG9mIG1lIGJlY29taW5nIGhlYWx0aHkgdG9vayB0b28gbG9u ZyB0aW1lOyB0aGF0IHRoZSB0aW1lIGJldHdlZW4gbXkgaGVhbHRoIGJlZ2lubmluZyB0byBpbXBy b3ZlIGFuZCBiZSBhY3R1YWxseSBiZWluZyBoZWFsdGh5IHdhcyBsb25nLXdpbmRlZC4KCgoKVGhl IGFjdHVhbCB0cmVhdG1lbnQgaXMgcGVyaGFwcyBiZXR0ZXIgY2F1Z2h0IGJ5ICcncHXigJl1Jycs IHdoaWNoLCBsaWtlIGV2ZW50IGNvbnRvdXJzIGluIGdlbmVyYWwsIHB1dHMgZW1waGFzaXMgb24g dGhlIGVudGlyZSBldmVudCBhcyB1bmZvbGRpbmcgdGhyb3VnaCB0aW1lLiAnJy5paSBiYSB6aSBj b+KAmWEgcHXigJl1IG1pIGthbnJvIGJpbnhvIHZhdSAub2knJyBleHByZXNzZXMgZmVhciB0aGF0 IHRoZSBwYWluZnVsIHByb2Nlc3Mgb2YgYmVjb21pbmcgaGVhbHRoeSBpcyBhYm91dCB0byBiZWdp bi5UaGUgeDIgaXMgZmlsbGVkIGJ5IGEgc2VxdWVuY2Ugb2Ygc3RhZ2VzLCB3aGljaCBjYW4gYmUg bWFkZSBieSBpbnRlcnNwYWNpbmcgdGhlIHN0YWdlcyB3aXRoIHRoZSBub24tbG9naWNhbCBjb25u ZWN0aXZlICcnY2XigJlvJyc6ICcnemXigJl1IHB14oCZdSBtaSBrYW5ybyBiaW54byBrZWkgbGUg bnUgbWkgZmFja2kgY2XigJlvIGxlIG51IG1pIGphaSB0b2xzdGkgY2XigJlvIG1pIHJlbnZpJycg bWVhbnMg4oCcc29tZXRoaW5nIGlzIGEgbG9uZyBwcm9jZXNzIG9mIG1lIGJlY29taW5nIGhlYWx0 aHkgY29uc2lzdGluZyBvZiB0aGUgc3RhZ2VzIEEgKSBJIGZpbmQgb3V0IEIgKSBzb21ldGhpbmcg YWJvdXQgbWUgYmVnaW5zIEMgKSBJIGVuZHVyZS7igJ0KCgoKRmluYWxseSwgdGhlIHNlbWFudGlj cyBvZiAnJ3p14oCZbycnIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gYXMgY29uc2lzdGluZyBvZiBy ZXBlYXRlZCBhY3Rpb25zOiAnJ2ppYnJpIG1pIGZhIGxvIHp14oCZbyBtaSB6YmFzdSBsbyBrYXJj ZScnIOKAkyDigJxUaGUgYWN0aXZpdHkgb2YgbWUgbWFraW5nIGNhcnMgaXMgbXkgam9i4oCdIGlz IGFjY3VyYXRlIGlmLCBmb3IgaW5zdGFuY2UsIHRoZSBzcGVha2VyIHdvcmtzIGF0IGEgY2FyLXBy b2R1Y2luZyBmYWN0b3J5LiBIZXJlLCBoZXIgYWN0aXZpdHkgb2YgcHJvZHVjaW5nIGNhcnMgY29u c2lzdHMgb2YgdGhlIHJlcGVhdGVkIGFjdGlvbnMgQSApIHNoZSBsb3dlcnMgZnJhbWUgMSBvbnRv IGNhciAxIEIgKSBzaGUgd2VsZHMgZnJhbWUgMSB0byBjYXIgMSwgQyApIHJlcGVhdCB3aXRoIGNh ciAyLiBUaGUgeDIgaGVyZSBpcyBhbHNvIGEgc2VxdWVuY2UuCgoKCk5vdGUgdGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiAnJ2114oCZZSBiYWpyYScnLCAnJ3ph4oCZaSBiYWpyYScnLCAnJ3B14oCZdSBi YWpyYScnLCAnJ3p14oCZbyBiYWpyYScnIGFuZCAnJ251IGJhanJhJycuIFRoZSBwb2ludC1saWtl IGV2ZW50IG9mIHJ1bm5pbmcgcHV0cyBlbXBoYXNpcyBvbiB0aGUgZXZlbnQgaGFwcGVuaW5nLCBi dXQgbm90aGluZyBlbHNlLiBUaGUgc3RhdGUgb2YgcnVubmluZyBiZWdpbnMgd2hlbiB0aGUgcnVu bmVyIGJlZ2lucyBhbmQgc3RvcHMgd2hlbiB0aGUgcnVubmVyIHN0b3BzLiBUaGUgcHJvY2VzcyBv ZiBydW5uaW5nIGNvbnNpc3RzIG9mIGEgd2FybS11cCwga2VlcGluZyBhIHN0ZWFkeSBzcGVlZCwg YW5kIHRoZSBmaW5hbCBzcHJpbnQuIFRoZSBhY3Rpdml0eSBvZiBydW5uaW5nIGNvbnNpc3RzIHRo ZSBjeWNsZXMgb2YgbGlmdGluZyBvbmUgZm9vdCwgbW92aW5nIGl0IGZvcndhcmQsIGRyb3BwaW5n IGl0IGRvd24sIHJlcGVhdCB3aXRoIHRoZSBvdGhlciBmb290LiBBbGwgb2YgdGhlc2UgYXJlIGNv dmVyZWQgYnkgdGhlIGV2ZW50IG9mIHJ1bm5pbmcuCgoKClRoZSBhYnN0cmFjdG9yICcnZHXigJl1 JycgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBldmVudHMgYW5kIG9ubHkgY29uc2lkZXJzIHRoZSBi cmlkaSBpbnNpZGUgdGhlIGFic3RyYWN0aW9uIGFzIGEgYnJpZGk6CgonJy51aSBzYWkgemkgZmFj a2kgbGUgZHXigJl1IHppIGNpdGthIGxvIGNpZGpycGl0c2EnJyDigJMg4oCcWWVzISBJIGp1c3Qg Zm91bmQgb3V0IHRoYXQgcGl6emEgd2lsbCBiZSBlYXRlbiBzb29uIeKAnS4gV2hhdCBpcyBiZWlu ZyBkaXNjb3ZlcmVkIGlzIHRoZSB0cnV0aCBvZiBhbiBhYnN0cmFjdCBicmlkaSwgbm90IGFuIGV2 ZW50LiBJbiBnZW5lcmFsLCBhYnN0cmFjdGlvbnMgbGlrZSB0cnV0aHMsIGxpZXMsIHRoaW5ncyBi ZWluZyBkaXNjb3ZlcmVkIG9yIGJlbGlldmVkIGFyZSBhbGwgcHVyZSBicmlkaSwgc28gJydkdeKA mXUnJyBpcyBhcHByb3ByaWF0ZS4gCgpfXycnZHXigJl1JydfXyB4MSBpcyB0aGUgYnJpZGkgb2Yg QlJJREkgZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgyCgpGb3IgYnJpZGkgdG8gZXhpc3QgKG9yIGF0 IGxlYXN0IHRvIGhhdmUgYW55IHJlbGV2YW5jZSksIHRoZXkgbXVzdCBiZSBleHByZXNzZWQgaW4g c29tZSBtZWRpdW0sIHdoZXRoZXIgdGhpcyBpcyBzcGVlY2gsIHRob3VnaHQgb3Igd3JpdGluZy4g VGhlIHRlcm0g4oCcZXhwcmVzc2Vk4oCdIGlzIG1pc2xlYWRpbmcgaWYgaXQgaXMgZXhwcmVzc2Vk IG9ubHkgaW4gdGhlIG1pbmQgb2Ygc29tZW9uZSBidXQgdGhlIHRlcm0gbm9uZXRoZWxlc3MgYXBw bGllcy4gU3BlY2lmeWluZyB3aGljaCBtZWRpdW0gdGhlIGJyaWRpIGlzIGV4cHJlc3NlZCBpbiBp cyB3aGF0IHRoZSB4MiBvZiAnJ2R14oCZdScnIGlzIHVzZWQgZm9yOiAgJycudWkgZmFja2kgbGUg ZHXigJl1IGphaSBjaWRqcnBpdHNhIGtlaSB6b+KAmWUgcGUgbGUgbWkgbWFtdGEnJyDigJMg4oCc WWF5LCBkaXNjb3ZlcmVkIHRoYXQgc29tZXRoaW5nIGFib3V0IHBpenphLCBleHByZXNzZWQgaW4g c29tZXRoaW5nIHRoYXQgaGFkIHRvIGRvIHdpdGggbXkgbW90aGVyIeKAnS4gVGhlIHRyYW5zbGF0 aW9uIGlzIGNsdW1zeSwgYnV0IHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHNwZWFrZXLigJlzIG1v dGhlciB0b2xkIGhpbSB0aGF0IHBpenphIHdhcyBjb21pbmcuCgoKClRoZSBuZXh0IGFic3RyYWN0 b3IsICcnc2nigJlvJycsIGlzIGRlcml2ZWQgZnJvbSB0aGUgZ2lzbXUgJydzaWRibycnIG1lYW5p bmcg4oCcaWRlYeKAnS4gSXTigJlzIHJlbGF0aXZlbHkgZWFzeSB0byB1bmRlcnN0YW5kOiAnJ2xl IHNp4oCZbyBtaSBtYW10YScnIGlzIHRoZSB2ZXJ5IGlkZWEgdGhhdCBJIGFtIGEgbW90aGVyLiBT aW1pbGFybHksICcnbGUgc2nigJlvIHByYW1pJycgaXMg4oCcVGhlIGNvbmNlcHQgdGhhdCBzb21l b25lIGxvdmVzIHNvbWVvbmXigJ0sIHdoaWNoIGNhbiBiZSB0cmFuc2xhdGVkIGFzIG1lcmVseSDi gJxMb3ZlIGl0c2VsZi7igJ0gQWxsIGlkZWFzIG5lZWQgc29tZW9uZSB0byByZWZsZWN0IG9uIHRo ZW0sIGFuZCB0aGUgc2Vjb25kIHN1bXRpIHBsYWNlIG9mICcnc2nigJlvJycgbWlycm9ycyB0aGlz OgoKX18nJ3Np4oCZbycnX18geDEgaXMgYW4gaWRlYSBvZiBCUklESSBhcyBpbWFnaW5lZCBieSB4 MgoKJydsZSBzaeKAmW8gbmFubXUga2VpIGJlIGRvIGN1IHhsYWxpIHZhdSBwZeKAmWknJyDigJMg 4oCcWW91ciBpZGVhIG9mIG1hbmxpbmVzcyBpcyBoYXJtZnVsLCBJIHRoaW5rLOKAnQoKCgpUaGUg YWJzdHJhY3RvciAnJ2plaScnIGlzIHZlcnkgZGlmZmVyZW50IGZyb20gdGhvc2UgY292ZXJlZCBz byBmYXIsIGJlY2F1c2Ugb2YgaXRzIHBsYWNlIHN0cnVjdHVyZToKCl9fJydqZWknJ19fIHgxIGlz IHRoZSB0cnV0aCB2YWx1ZSBvZiBCUklESSB1bmRlciBlcGlzdGVtb2xvZ3kgeDIKClRoZSBmaXJz dCBzdW10aSBwbGFjZSBpcyBub3QgYW4gYWJzdHJhY3RlZCBicmlkaSwgYnV0IGEgdmVyZGljdCBv ZiB0cnV0aCwgd2hpY2ggbGllcyBiZXR3ZWVuIDAgKGZhbHNlKSBhbmQgMSAodHJ1dGgpIGluY2x1 c2l2ZS4gVGhlc2UgdHdvIG51bWJlcnMgYXJlIHVzZWQgdG8gcmVwcmVzZW50IGZhbHNlaG9vZCBv ciB0cnV0aCwgYW5kIHdoaWxlIHRoZSB4MSBvZiB0aGUgYWJzdHJhY3Rpb24gaXMgdGVjaG5pY2Fs bHkgYSBudW1iZXIgKCcnbGknJyksIGl0J3Mgbm90IHZlcnkgdXNlZnVsIHRvIGRvIG1hdGhlbWF0 aWNzIG9uIHN0YXRlbWVudHMgc3VjaCBhcyAidHJ1ZSIgb3IgImZhbHNlIiwgc28gdGhleSBzaG91 bGQgcHJvYmFibHkgbm90IGJlIGNvbnNpZGVyZWQgbWF0aGVtYXRpY2FsIHF1YW50aXRpZXMuCgpU aGUgeDIgaXMgb2Z0ZW4gbGVmdCB2YWd1ZS4KCicnLnkgbGkgcGkgc2/igJl1IGplaSBnb+KAmWkg a2VpIHR14oCZYSBtaScnIOKAkyDigJxVdWgsIHRoYXTigJlzIG5vdCB2ZXJ5IHRydWUsIGFjY29y ZGluZyB0byBtZS7igJ0KCgoKJydrYScnIGlzIGdsb3NzZWQgInByb3BlcnR5Iiwgd2hpY2ggaXMg bm90IGNsZWFyIGF0IGFsbC4gSXQgcmVmZXJzIHRvIHRoZSBlc3NlbmNlIG9mIGZpdHRpbmcgdG8g YSBjZXJ0YWluIHNlbGJyaSwgdGh1cyAnJ2xvIGthIGNsYW5pJycgaXMgInRhbGxuZXNzIiwgYW5k ICcnbG8ga2EgZGppY2EnJyBpcyAiZGVzaXJlIi4gSW4gZmFjdCwgZm9yIGFueSBzZWxicmksICJY IHNhdGlzZmllcyB0aGUgc2VsYnJpIiBpcyB0aGUgc2FtZSBhcyAiWCBpcyBjaGFyYWN0ZXJpemVk IGJ5IHRoZSBwcm9wZXJ0eSBvZiB0aGUgc2VsYnJpIi4KClRoaXMgc2VsYnJpIG1heSBoYXZlIHNv bWUgc3VtdGkgcGxhY2VzIGZpbGxlZCBvdXQsIGFsbG93aW5nIHZlcnkgc3BlY2lmaWMgcHJvcGVy dGllcyB0byBiZSBleHByZXNzZWQ6ICcnbGUga2EgcGVuZG8gbGEgeGFuei5rcnQgZ2knZSBiYWRy aScnLCAiVGhlIHByb3BlcnR5IG9mIGJlaW5nIGEgZnJpZW5kIG9mIEhhbnMgS3VydCBhbmQgYmVp bmcgZGVwcmVzc2VkIi4gVGhpcyBnaXZlcyByaXNlIHRvIHN0cm9uZyBhbWJpZ3VpdHk6IFNpbmNl ICcna2EnJyBpcyBhYm91dCBmaXR0aW5nIHRvIGEgc2VsYnJpIChvciBldmVuIGFuIGVudGlyZSBi cmlkaSksIG9uZSBtdXN0IGJlIGFibGUgdG8gc3BlY2lmeSB3aGljaCBzdW10aSBwbGFjZSB3ZSBh cmUgdGFsa2luZyBhYm91dDogIlRoZSBwcm9wZXJ0eSBvZiBzd2ltbWluZyBpbiBzb21ldGhpbmci IGlzIHZlcnkgZGlmZmVyZW50IGZyb20gIlRoZSBwcm9wZXJ0eSBvZiBzb21ldGhpbmcgc3dpbW1p bmcgaW4geW91Ii4gCgpPZiBjb3Vyc2UsIHRoaXMgY2Fubm90IGFsd2F5cyBiZSB1cCB0byBjb250 ZXh0LCBhbmQgc28gd2UgaGF2ZSBhIHdvcmQsICcnY2UndScnLCB3aGljaCBpZGVudGlmaWVzIHdo aWNoIHN1bXRpIHBsYWNlIGlzIGJlaW5nIGZvY3VzZWQgb246CgpfXycnY2UndScnX18gU2V0cyBm b2N1cyBvbiBzdW10aSBwbGFjZSBpbiBhYnN0cmFjdGlvbi4KCgoKJydrYScnLWNvbnN0cnVjdHMg YXJlIHVzZWQgaW4gYWxsIGtpbmRzIG9mIHNlbGJyaSwgJyd6bWFkdScnIGFuZCAnJ21sZWNhJycg aW50cm9kdWNlZCBpbiBsZXNzb24gbmluZXRlZW4gaXMgZXhhbXBsZXMgb2Ygc3VjaCBzZWxicmku IFNvOiB3aGF0IGlzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gJydtaSBkbyB6bWFkdSBsbyBrYSBs YSBsaXogcHJhbWkgY2UndScnIGFuZCAnJ21pIGRvIHptYWR1IGxvIGthIGNlJ3UgcHJhbWkgbGEg bGl6Jyc/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiBUaGUgZmlyc3Qgb25lIG1lYW5zICJMaXogbG92 ZXMgbWUgbW9yZSB0aGFuIHlvdSIsIHRoZSBzZWNvbmQgIkkgbG92ZSBMaXogbW9yZSB0aGFuIHlv dSBkbyJ+fgoKVGhlICcnY2UndScnIGNhbiBiZSBlbGlkZWQsIGluIHdoaWNoIGNhc2UgaXQgaXMg dW5kZXJzdG9vZCB0byBmaWxsIHRoZSBmaXJzdCB1bmZpbGxlZCBzdW10aSBwbGFjZSBvZiB0aGUg YWJzdHJhY3Rpb24uCgoKCkxhc3RseSwgd2UgaGF2ZSB0aGUgd29yZCAnJ25pJycsIHRoZSBkZWZp bml0aW9uIG9mIHdoaWNoIGlzIG11Y2ggY29udGVzdGVkIGFuZCBkaXNjdXNzZWQgYW1vbmcgTG9q YmFuaXN0cy4gQXQgbGVhc3QgdHdvIHNsaWdodGx5IGRpZmZlcmVudCBtZWFuaW5ncyBjYW4gYmUg Y29udmV5ZWQgd2l0aCAnJ25pJycsIHBvc3NpYmx5IG1vcmUsIGFuZCBpdCBoYXMgbm90IGJlZW4g c2V0dGxlZCB3aGljaCBvbmUgaXMgdGhlIGNvcnJlY3QgdXNlIG9mICcnbmknJy4gTGV0J3MgZmly c3Qgc2VlIGhvdyB0aGUgd29yZCBpcyBnbG9zc2VkOgoKX18nJ25pJydfXyB4MSBpcyB0aGUgcXVh bnRpdHkgb2YgQlJJREkgYXMgbWVhc3VyZWQgYXQgc2NhbGUgeDIKClVubGlrZSB0aGUgeDEgb2Yg JydqZWknJywgdGhlIHgxIG9mICcnbmknJyBfX2lzX18gdXNlZnVsIHRvIHRyZWF0IGFzIGEgbnVt YmVyLiBUaGUgZGlzY3Vzc2lvbiBhcmlzZXMgYmVjYXVzZSBpdCdzIHBvc3NpYmxlIHRvIHF1YW50 aWZ5IGJyaWRpIGluIHNldmVyYWwgd2F5cy4gVGhlIGZvbGxvd2luZyBmb3VyIGV4YW1wbGVzIHNo b3cgdHdvIGRpZmZlcmVudCB3YXlzOgoKX18nJ3hhbXNpJydfXyB4MSBpcyB0aGUvYSBzZWEvb2Nl YW4gb2YgcGxhbmV0IHgyIG1hZGUgb2YgZmx1aWQgeDMKCl9fJydjZW5iYScnX18geDEgdmFyaWVz IGluIHByb3BlcnR5L2Ftb3VudCB4MiBieSBhbW91bnQvZGVncmVlIHgzIHVuZGVyIGNvbmRpdGlv bnMgeDQKCicnbGUgeGFtc2kgY3UgY2VuYmEgbGUgbmkgY2UndSBibGFudScnIC0gIlRoZSBvY2Vh biB2YXJpZXMgaW4gYmx1ZW5lc3MiIChtZWFuaW5nIHRoYXQgaXQgbWlnaHQgYmUgbGVzcyBvciBt b3JlIGJsdWUsIGNvbnRyYXN0IHdpdGggJydsZSB4YW1zaSBjdSBjZW5iYSBsZSBrYSBjZSd1IGJs YW51JycsIHdoaWNoIG1lYW5zIHRoYXQgaXQgdmFyaWVzIGluIHdoZXRoZXIgaXQncyBibHVlIG9y IG5vdCkKCicnbWkgem1hZHUgZG8gbG8gbmkgcGVuZG8gY2UndScnLSAiSSBoYXZlIG1vcmUgZnJp ZW5kcyB0aGFuIHlvdSIKCldoZXJlIHRoZSBmaXJzdCBleGFtcGxlIHVzZXMgJyduaScnIHRvIHF1 YW50aWZ5IGhvdyBtdWNoIGFuIG9iamVjdCBpcyBjaGFyYWN0ZXJpemVkIGJ5IGEgc2VsYnJpLCBh bmQgdGhlIHNlY29uZCBleGFtcGxlIHRvIHF1YW50aWZ5IGhvdyBtYW55IHggYXJlIGNoYXJhY3Rl cml6ZWQgYnkgYSBzZWxicmkuCgpUaGlzIGlzLCBvZiBjb3Vyc2UsIGEgcHJvYmxlbSB0byBhIGxh bmd1YWdlIGxpa2UgTG9qYmFuLCB3aGljaCBwcmlkZXMgaXRzZWxmIHdpdGggdW5hbWJpZ2l1dHku IFRoaXMgcHJvYmxlbSBoYXZlIG5vdCBiZWVuIHNvbHZlZCB5ZXQsIGFuZCBzbyBhcyBvZiBub3cs IHdlIGFyZSBzdHVjayB3aXRoICcnbmknJyBoYXZpbmcgZHVhbCBtZWFuaW5ncy4gIAoKVGhlcmUg aXMgYWxzbyBzbGlnaHQgZGlzYWdyZWVtZW50IGFib3V0IHdoYXQgaXQgbWFrZXMgc2Vuc2UgdG8g cXVhbnRpZnksIHRob3VnaCB0aGlzIGlzIGEgcGhpbG9zb3BoaWNhbCByYXRoZXIgdGhhbiBsaW5n dWlzdGljIGRlYmF0ZS4gU29tZSB0ZXh0cyBzdHJlc3MgdGhhdCB0aG9zZSB0aGluZ3Mgd2hpY2gg YXJlIG5vdCBlYXNpbHkgcXVhbnRpZmlhYmxlIGxpa2UgJydsZSBuaSBtaSB0dW5iYSBkbycnLCB0 aGUgYW1vdW50IG9mIG1lIGJlaW5nIHlvdXIgc2libGluZywgbWFrZXMgbm8gc2Vuc2UgaSBhICcn bmknJy1jb25zdHJ1Y3QuIEZvciBvdGhlcnMgdGhpcyBpcyBhIHBlcmZlY3RseSByZWFzb25hYmxl IHRoaW5nIHRvIHNheSwgZXZlbiB0aG91Z2ggYWN0dWFsbHkgbWVhc3VyaW5nIGl0IGlzIG5vdCBw cmFjdGljYWwsIHNpbWlsYXJseSB0byB0aGUgRW5nbGlzaCBxdWFudGlmaWNhdGlvbiBvZiBsb3Zl IGluIHRoZSBzZW50ZW5jZSAiSSBkaWRuJ3Qga25vdyBob3cgbXVjaCBJIGxvdmVkIHlvdSB1bnRp bCBub3ciLgoKQm90aCAnJ2thJycgYW5kICcnbmknJyBhbHdheXMgaGFzIGFuIGV4cGxpY2l0IG9y IGltcGxpY2l0ICcnY2UndScnLgoKCgohISFFbmQgb2YgbGVzc29ucwoKU29ycnksIGJ1dCBhcyBv ZiBub3csIHRoZXJlIGFyZSBubyBtb3JlIGxlc3NvbnMgaW4gdGhpcyBzZXJpZXMuIFBlcmhhcHMg bW9yZSB3aWxsIGJlIGFkZGVkIGxhdGVyLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bs b2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hh bmdlcwo=