Received: from localhost ([::1]:44562 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1TCclh-0000L3-QM; Fri, 14 Sep 2012 13:45:42 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:36992 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1TCcla-0000Kw-1P for wikineurotic@lojban.org; Fri, 14 Sep 2012 13:45:40 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 14 Sep 2012 13:45:33 -0700 From: "Apache" Date: Fri, 14 Sep 2012 13:45:33 -0700 To: wikineurotic@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 selpa'i at 20:45 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 ---- ---------------------- -------------------------------------------------- 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: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by selpa'i X-BeenThere: wikineurotic@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: wikineurotic-bounces@lojban.org Content-Length: 140506 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBzZWxwYSdpIGF0 IDIwOjQ1IFVUQwoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6 CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvd2F2ZWxlc3NvbnNjb250aW51ZWRwMgoKWW91 IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2lu ZyB0aGlzIGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5 LnBocD9wYWdlPXdhdmVsZXNzb25zY29udGludWVkcDImY29tcGFyZT0xJm9sZHZlcj0xMCZuZXd2 ZXI9MTEKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xs b3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGlu ZXM6IDc2Mi03NjYgY2hhbmdlZCB0byArTGluZXM6IDc2Mi03NjYgQEAKKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQmVmb3JlIGFueSAn J3pvJ3UnJyBpcyB0aGUgcHJlbmV4LCBhZnRlciAnJ3pvJ3UnJyBpcyB0aGUgYnJpZGkuIEluZm9y bWFsbHksIGEgcHJlbmV4IGlzIGEgcGxhY2UgaW4gZnJvbnQgb2YgdGhlIGJyaWRpLCB3aGVyZSB5 b3UgcHV0IGEgYnVuY2ggb2YgdGVybXMuIEEgdGVybSBpcyBhbiBFbmdsaXNoIHdvcmQgZ2l2ZW4g dG8gc29tZSBraW5kcyBvZiBMb2piYW4gY29uc3RydWN0czogU3VtdGksIHN1bXRjaXRhIHdpdGgg b3Igd2l0aG91dCBzdW10aSBhdHRhY2hlZCwgJyduYSBrdScnIGFuZCBhbiBhYm9taW5hdGlvbiBj YWxsZWQgX190ZXJtc2V0c19fLCB3aGljaCBJIHJlZnVzZSB0byBpbmNsdWRlIGluIHRoZXNlIGxl c3NvbnMuIFRoZSBwcmVuZXggaXMgbm90IHBhcnQgb2YgdGhlIGJyaWRpLCBidXQgYW55IHRlcm1z IHB1dCBpbnNpZGUgaXQgZ2l2ZXMgdXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJyaWRpLiBPbmUg Y2FuLCBmb3IgZXhhbXBsZSwgdXNlIGl0IHRvIHN0YXRlIGEgdG9waWMgYXMgc2hvd24gdGh1czoK Ci0gJydsbyBwYW1wZSdvIGplIG5haSBzcGVuaSB6byd1IG1pIG5hIHp1bnJlJycgLSAmcXVvdDtD b25jZXJuaW5nIGxvdmVycyB3aG8gYXJlIG5vdCBzcG91c2VzOiBJIGRvIG5vdCBhcHByb3ZlJnF1 b3Q7LiBUaGUgYmVuZWZpdHMgb2Yga2luZCBvZiBzZW50ZW5jZSBzdHJ1Y3R1cmluZyBpcyBxdWVz dGlvbmFibGUsIGJ1dCBpdCdzIGFsd2F5cyBnb29kIHRvIGhhdmUgc29tZSB2YXJpYXRpb24gdG8g cGxheSB3aXRoLiBGdXJ0aGVybW9yZSwgY29uc3RydWN0aW5nIHNlbnRlbmNlcyB0aGlzIHdheSBy ZXNlbWJsZXMgTWFuZGFyaW4gKGFuZCBvdGhlciBsYW5ndWFnZXMpIGNsb3NlbHksIG1lYW5pbmcg aXQgbWlnaHQgc2VlbSBtb3JlIGludHVpdGl2ZSBmb3Igc3BlYWtlcnMgb2YgdGhhdCBsYW5ndWFn ZS4KKyAnJ2xvIHBhbXBlJ28gamUgbmFpIHNwZW5pIHpvJ3UgbWkgbmEgemFucnUnJyAtICZxdW90 O0NvbmNlcm5pbmcgbG92ZXJzIHdobyBhcmUgbm90IHNwb3VzZXM6IEkgZG8gbm90IGFwcHJvdmUm cXVvdDsuIFRoZSBiZW5lZml0cyBvZiBraW5kIG9mIHNlbnRlbmNlIHN0cnVjdHVyaW5nIGlzIHF1 ZXN0aW9uYWJsZSwgYnV0IGl0J3MgYWx3YXlzIGdvb2QgdG8gaGF2ZSBzb21lIHZhcmlhdGlvbiB0 byBwbGF5IHdpdGguIEZ1cnRoZXJtb3JlLCBjb25zdHJ1Y3Rpbmcgc2VudGVuY2VzIHRoaXMgd2F5 IHJlc2VtYmxlcyBNYW5kYXJpbiAoYW5kIG90aGVyIGxhbmd1YWdlcykgY2xvc2VseSwgbWVhbmlu ZyBpdCBtaWdodCBzZWVtIG1vcmUgaW50dWl0aXZlIGZvciBzcGVha2VycyBvZiB0aGF0IGxhbmd1 YWdlLgpfXycncGFtcGUnbycnX18geDEgaXMgYSBsb3ZlciBvZiB4MgpfXycnemFucnUnJ19fIHgx IGFwcHJvdmVzIG9mIHgyIChwbGFuLCBldmVudCBvciBhY3Rpb24pCgoKCgoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBh Z2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZlIExlc3NvbnMgQ29udGlu dWVkIChwYXJ0IHR3byk6CgohISFieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSBsYSAua3JpYmFj ci4sIGxhIHhhbGJvIGFuZCBvdGhlcnMsIGF1dHVtbiAyMDExLgoKCgpUaGlzIGlzIHRoZSBzZWNv bmQgaW5zdGFsbG1lbnQgb2YgdGhlIFdhdmUgTGVzc29ucyBDb250aW51ZWQuIElmIHlvdSBkaWRu J3QgY2F0Y2ggdGhlIGZpcnN0IHBhcnQsIG9yIHdhbnQgdG8gZ28gYmFjayBmb3Igc29tZSByZWFz b24sIGp1c3QgY2xpY2sgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxoZXJlLikpCgoKCiEhTG9qYmFu IExlc3NvbnMgLSBMZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFzc29ydGVkIHdvcmRzKQoKQW5kIHdp dGggdGhhdCwgdGhpcmQgY2hhcHRlciwgeW91IGtub3cgYSBsb3QgYWJvdXQgTG9qYmFuIHN1bXRp LiBBZnRlciBzdWNoIGEgbG9uZyB0aW1lIG9mIHJpZ29yb3VzIHN5c3RlbWF0aWMgbGVhcm5pbmcs IHdoYXQgY291bGQgYmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhpcyBsZXNzb24gd2hlcmUgSSBzcGVh ayBhYm91dCBzb21lIHdvcmRzIHdoaWNoIEkgY291bGQgbm90LCBvciB3YW50ZWQgbm90IHRvIGZp dCBpbnRvIGFueSBvdGhlciBsZXNzb25zPyBTbyBoZXJlIGFyZSBhIGZldyBzbWFsbCBhbmQgcmVh bGx5IHVzZWZ1bCB3b3JkczoKCgoKVGhlIGZvbGxvd2luZyBjbWF2byBhcmUgYWxsIGVsbGlwdGlj YWwgd29yZHMuIFlvdSBzaG91bGQgYWxyZWFkeSBiZSBmYW1pbGlhciB3aXRoIHRoZSBmaXJzdC4K Cl9fJyd6b+KAmWUnJ19fIC0gZWxsaXB0aWNhbCBzdW10aQoKX18nJ2Nv4oCZZScnX18gLSBlbGxp cHRpY2FsIHNlbGJyaQoKX18nJ2Rv4oCZZScnX18gLSBlbGxpcHRpY2FsIHN1bXRjaXRhCgpfXycn anXigJlhJydfXyAtIGVsbGlwdGljYWwgZXZpZGVudGlhbAoKX18nJ2Rv4oCZaScnX18gLSBlbGxp cHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZQoKX18nJ2dl4oCZZScnX18gLSBlbGxpcHRpY2FsIGF0 dGl0dWRpbmFsCgoKCkFsbCBvZiB0aGVzZSBhY3QgZ3JhbW1hdGljYWxseSBhcyBhIGNtYXZvIG9m IHRoZSBraW5kIHRoZXkgcmVwcmVzZW50LCBidXQgdGhleSBjb250YWluIG5vIGluZm9ybWF0aW9u LCBhbmQgY2FuIGJlIHF1aXRlIGhhbmR5IHdoZW4geW914oCZcmUgbGF6eSBhbmQgZG9u4oCZdCBu ZWVkIHRvIGJlIHNwZWNpZmljIGFueXdheS4gVGhlcmUgYXJlLCBob3dldmVyLCBhIGZldyB0aGlu Z3Mgd2hpY2ggbmVlZCB0byBiZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6b+KAmWUnJyBoYXZlIHRv IHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBjbGFpbWVkIHRvIGhhdmUgYSB2YWx1ZS4g4oCc emVybyBjYXJz4oCdIG9yIOKAnG5vdGhpbmfigJ0sIGZvciBpbnN0YW5jZSwgaGFzIG5vIHZhbHVl LCBhbmQgdGhlcmVmb3JlIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSAnJ3pv4oCZZScnLiBUaGlz IGlzIGJlY2F1c2UsIGlmIGl0IGNvdWxkIG1lYW4g4oCcbm90aGluZ+KAnSBieSAnJ3pv4oCZZScn LCB0aGVuIGFueSBzZWxicmkgY291bGQgYmUgaWRlbnRpY2FsIHRvIGl0cyBuZWdhdGlvbiwgaWYg b25lIG9mIHRoZSBlbGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQgd2l0aCBhICcnem/igJllJycgd2l0 aCBubyB2YWx1ZS4KCiAgICAnJ2dl4oCZZScnIGRvZXMgbm90IG1lYW4gdGhhdCB5b3UgZmVlbCBu byBlbW90aW9uLCBqdXN0IHRoYXQgeW91IGZlZWwgbm90aGluZyBzcGVjaWFsIG9yIHdvcnRoIHRv IG1lbnRpb24gYXQgdGhlIG1vbWVudC4gSXTigJlzIHNpbWlsYXIgdG8g4oCcSeKAmW0gZmluZS7i gJ0uICcnZ2XigJllIHBlaScnIGFzayBhYm91dCBhbiBlbGxpcHRpY2FsIGVtb3Rpb24gYW5kIGlz IGEgZ29vZCB0cmFuc2xhdGlvbiBmb3I6IOKAnEhvdyBhcmUgeW91IGZlZWxpbmc/4oCdLgoKICAg ICcnY2/igJllJycgaXMgaGFuZHkgd2hlbiBuZWVkaW5nIGEgc2VsYnJpIGluIGEgY29uc3RydWN0 IGZvciBncmFtbWF0aWNhbCByZWFzb25zLCBsaWtlIGluIHRoZSBkZWZpbml0aW9uIG9mICcndHXi gJlhJycgaW4gdGhlIHByZXZpb3VzIGxlc3Nvbi4KCiAgICAnJ2p14oCZYScnIGRvZXMgbm90IGNo YW5nZSB0aGUgdHJ1dGggdmFsdWUgb3Igc3ViamVjdGl2ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBi cmlkaSBvciBhbnl0aGluZyBsaWtlIHRoYXQuIEluIGZhY3QsIGl04oCZcyBtb3N0bHkgZG9lcyBu b3RoaW5nLiBIb3dldmVyLCAnJ2p14oCZYSBwZWknJywg4oCcV2hhdCBpcyB5b3VyIGJhc2lzIGZv ciBzYXlpbmcgdGhhdD/igJ0gaXMgaGFuZHkuCgogICAgJydkb+KAmWknJyBpcyByZWFsbHkgdXNl ZnVsLiBBIGxvdCBvZiB0aW1lcyB3aGVuIHlvdSByZWZlciB0byB1dHRlcmFuY2VzIG9yIGNvbnZl cnNhdGlvbnMgYnkgd29yZHMgbGlrZSDigJx0aGlz4oCdIG9yIOKAnHRoYXTigJ0sIHlvdSB3YW50 ICcnZG/igJlpJycuCgogICAgSWYgeW91IGZpbGwgaW4gbW9yZSBzdW10aSB0aGFuIGEgc2VsYnJp IGhhcyBwbGFjZXMgZm9yLCB0aGUgbGFzdCBzdW10aSBoYXZlIGltcGxpZWQgJydkb+KAmWUnJyBz dW10Y2l0YSBpbiBmcm9udCBvZiB0aGVtLgoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSB3b3Jk LCAnJ3pp4oCZbycnLCB0aGF0IHlvdSBjYW4gZmlsbCBhIHN1bXRpIHBsYWNlIHdpdGggdG8gZGVs ZXRlIGl0IGZyb20gYW55IHNlbGJyaS4gJydsbyBtZWxiaSBiZSB6aeKAmW8nJywgZm9yIGluc3Rh bmNlLCBpcyBqdXN0IOKAnFNvbWV0aGluZyBiZWF1dGlmdWzigJ0sIGFuZCBkb2VzIG5vdCBpbmNs dWRlIHRoZSB1c3VhbCB4MiBvZiAnJ21lbGJpJycsIHdoaWNoIGlzIHRoZSBvYnNlcnZlciB3aG8g anVkZ2VzIHNvbWV0aGluZyB0byBiZSBiZWF1dGlmdWwuIFRodXMsIGl0IGNhbiBtZWFuIHNvbWV0 aGluZyBsaWtlIOKAnE9iamVjdGl2ZWx5IGJlYXV0aWZ1bC7igJ0gSXQgZG9lcyBub3Qgc3RhdGUg dGhhdCBub3RoaW5nIGZpbGxzIHRoZSBzdW10aSBwbGFjZSB3aGljaCBpcyBiZWluZyBkZWxldGVk LCBqdXN0IHRoYXQgdGhlIHN1bXRpIHBsYWNlIGlzIG5vdCBiZWluZyBjb25zaWRlcmVkIGluIHRo ZSBzZWxicmkuIFVzaW5nICcnemnigJlvJycgd2l0aCBhIHN1bXRjaXRhIGdpdmVzIHdlaXJkIHJl c3VsdHMuIEZvcm1hbGx5LCB0aGV5IHNob3VsZCBjYW5jZWwgZWFjaCBvdGhlciBvdXQuIFByYWN0 aWNhbGx5LCBpdCB3b3VsZCBwcm9iYWJseSBiZSB1bmRlcnN0b29kIGFzIGFuIGV4cGxpY2l0IHdh eSBvZiBzYXlpbmcgdGhhdCB0aGUgc3VtdGNpdGEgZG9lcyBub3QgYXBwbHksIGFzIGluOiAnJ21p IGRhcnhpIGRvIG114oCZaSB6aeKAmW8nJyAtIOKAnEkgaGl0IHlvdSwgd2l0aCBvciB3aXRob3V0 IG1vdGl2YXRpb24u4oCdCgoKClRoZW4gdGhlcmUgaXMgdGhlIHdvcmQgJydqYWknJy4gSXTigJlz IG9uZSBvZiB0aG9zZSBjb29sLCBzbWFsbCB3b3JkcyB3aGljaCBhcmUgaGFyZCB0byBncmFzcCwg YnV0IGVhc3kgdG8gd29yayB3aXRoIG9uY2UgeW91IGtub3cgaXQuIEl0IGhhcyB0d28gZGlzdGlu Y3QsIGJ1dCBzaW1pbGFyIGZ1bmN0aW9ucy4gQm90aCBoYXZlIHNvbWV0aGluZyB0byBkbyB3aXRo IGNvbnZlcnRpbmcgdGhlIHNlbGJyaSwgbGlrZSAnJ3NlJycgZG9lcy4KCl9fJydqYWknJ19fIFNl bGJyaSBjb252ZXJzaW9uOiBDb252ZXJ0cyBzdW10Y2l0YSBvciB1bnNwZWNpZmllZCBhYnN0cmFj dGlvbiB0byB4MS4gVXNlIHdpdGggJydmYWknJwoKX18nJ2ZhaScnX18gTWFya3Mgc3VtdGkgcGxh Y2UuIFdvcmtzIGxpa2UgJydmYScnLiBUbyBiZSB1c2VkIHdpdGggJydqYWknJy4KClRoZSBmaXJz dCBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rpb24gaXQgY2FuIG1ha2UgaXMgIicnamFpJycge3N1bXRj aXRhfSB7c2VsYnJpfSIuIEl0IGNoYW5nZXMgdGhlIHN1bXRpIHBsYWNlcyBzdWNoIHRoYXQgdGhl IHN1bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YSBiZWNvbWVzIHRoZSBzZWxicmnigJlzIHgxLCBh bmQgdGhlIHNlbGJyaeKAmXMgb2xkIHgxIGlzIHJlbW92ZWQsIGFuZCBvbmx5IGFjY2Vzc2libGUg YnkgdXNpbmcgJydmYWknJywgd2hpY2ggd29ya3MgbGlrZSAnJ2ZhJycuIFlvdSBjYW4gc2VlIGl0 IHdpdGggdGhpcyBleGFtcGxlOgoKX18nJ2dhdScnX18gLSBzdW10Y2l0YSAoZnJvbSAnJ2dhc251 JycpIOKAnGJyaWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJvdXQgYnkvd2l0aCBhY3RpdmUgYWdlbnQg e3N1bXRpfeKAnQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRpIGZhaSBtaScnLiAtIOKAnFlvdSBicmlu ZyBhYm91dCBhdHRlbnRpb24gdG8gdGhpcyBieSBtZeKAnS4gVGhlIG5ldyBzZWxicmksICcnamFp IGdhdSBqdW5kaScnLCBoYXMgdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiDigJx4MSBicmluZ3MgYWJv dXQgYXR0ZW50aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNlIGFyZSB0aGVuIGZpbGxlZCBieSAnJ2Rv JycgYW5kICcndGknJy4gVGhlICcnZmFpJycgdGhlbiBtYXJrcyB0aGUgcGxhY2UgZm9yIHRoZSBv bGQgeDEsIHRoZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0ZW50aW9uLCBhbmQgaXQgaXMgZmlsbGVk IHdpdGggJydtaScnLiBUaGlzIHdvcmQgY2FuIGJlIHZlcnkgY29udmVuaWVudCBhbmQgaGFzIHRv bnMgb2YgdXNlcy4gQSBnb29kIGV4YW1wbGUgaXMgZGVzY3JpcHRpdmUtbGlrZSBzdW10aS4gT25l IGNhbiwgZm9yIGluc3RhbmNlLCByZWZlciB0byDigJx0aGUgbWV0aG9kIG9mIHZvbGl0aW9uYWwg YWN0aW9u4oCdIGJ5ICcnbG8gamFpIHRh4oCZaSB6dWt0ZScnLgoKX18nJ3Rh4oCZaScnX186IHN1 bXRjaXRhIChmcm9tICcndGFkamknJykg4oCcQnJpZGkgaXMgZG9uZSB3aXRoIHRoZSBtZXRob2Qg b2Yge3N1bXRpfeKAnQoKQ2FuIHlvdSBkZWR1Y2Ugd2hhdCB0aGUgb3JkaW5hcnkgTG9qYmFuIHBo cmFzZSAnJ2RvIGphaSBnYXUgbW8nJyBtZWFucz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxX aGF0IGFyZSB5b3UgZG9pbmc/4oCdfn4KCgoKVGhlIG90aGVyIGZ1bmN0aW9uIG9mICcnamFpJycg aXMgZWFzaWVyIHRvIGV4cGxhaW4uIEl0IHNpbXBseSBjb252ZXJ0cyB0aGUgc2VsYnJpIHN1Y2gg dGhhdCB0aGUgc3VtdGkgaW4gdGhlIHgxIGdldHMgYSAnJ3R14oCZYScnIGluIGZyb250IG9mIGl0 ICgnJ2tv4oCZYSBqYWkgYnJvZGEnJyBfXz1fXyAnJ3R14oCZYSBrb+KAmWEgYnJvZGEnJykuIElu IG90aGVyIHdvcmRzLCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEgd2F5IHN1Y2ggdGhhdCBp dCBidWlsZHMgYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRoZSBzdW10aSBpbiB0aGUg eDEsIGFuZCB0aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9uIGluc3RlYWQgb2YgdGhl IGFjdHVhbCBzdW10aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBwbGFjZSBpcyBhY2Nlc3Np YmxlIGJ5ICcnZmFpJycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMtdXNlciBvZnRlbiBzYXlz ICcnbGUgZ2Vya3UgYmUgZG8gamFpIHNlIHN0aWRpIG1pJycsIHRvIHVzZSBhIHJhbmRvbSBleGFt cGxlIG9mIGEgc3VtdGkgaW4geDEuIFdoYXTigJlzIGhlIHNheT8KCl9fJydzdGlkaScnX18geDEg aW5zcGlyZXMvc3VnZ2VzdHMgeDIgaW4vdG8geDPigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxJIHN1Z2dlc3QgKHNvbWV0aGluZyBhYm91dCkgeW91ciBkb2cu4oCdfn4KCgoKU28gZmFyIHlv deKAmXZlIGxlYXJuZWQgaG93IHRvIGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJpLCBzZWxicmkgdG8g c3VtdGksIGFuZCBzZWxicmkgaW50byBicmlkaSwgc2luY2UgYWxsIHNlbGJyaSBieSB0aGVtc2Vs dmVzIGFyZSBhbHNvIGJyaWRpLiBZb3Ugb25seSBuZWVkIG9uZSBsYXN0IGZ1bmN0aW9uOiBjb252 ZXJ0IHN1bXRpIHRvIHNlbGJyaS4gVGhpcyBpcyBkb25lIHdpdGggdGhlIHdvcmQgJydtZScnLiBJ dCBhY2NlcHRzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IGludG8gYSBzZWxicmkgd2l0aCB0aGUg cGxhY2Ugc3RydWN0dXJlIOKAnHgxIGlzIHNwZWNpZmljIHRvIHtzdW10aX0gaW4gcHJvcGVydHkg eDLigJ0uCgpfXycnbWUnJ19fOiBHZW5lcmljIGNvbnZlcnQgc3VtdGkgdG8gc2VsYnJpLiB4MSBp cyBzcGVjaWZpYyB0byBTVU1USSBpbiBwcm9wZXJ0eSB4MgoKCgpXaGVuIHNjcmV3aW5nIGEgc2Vu dGVuY2UgdXAsIGtub3dpbmcgaG93IHRvIGNvcnJlY3QgeW91cnNlbGYgaXMgYSBnb29kIGlkZWEu IFRoZXJlIGFyZSB0aHJlZSB3b3JkcyBpbiBMb2piYW4gd2hpY2ggeW91IGNhbiB1c2UgdG8gZGVs ZXRlIHlvdXIgcHJldmlvdXMgd29yZChzKQoKX18nJ3NpJydfXyAtIGRlbGV0aW9uOiBEZWxldGVz IGxhc3Qgd29yZCBvbmx5LgoKX18nJ3NhJydfXyAtIGRlbGV0aW9uOiBEZWxldGVzIGJhY2sgdW50 aWwgbmV4dCBjbWF2byBzcG9rZW4uCgpfXycnc3UnJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgZW50 aXJlIGRpc2NvdXJzZS4KClRoZSBmdW5jdGlvbiBvZiB0aGVzZSB3b3JkcyBhcmUgb2J2aW91czog VGhleSBkZWxldGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJlZW4gc3Bva2VuLiBUaGV5 IGRvIG5vdCB3b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1b3RlcyBleGNlcHQgJyds dS4ubGnigJl1JycpLCB0aG91Z2gsIGFzIHRoYXQgd291bGQgbGVhdmUgaXQgaW1wb3NzaWJsZSB0 byBxdW90ZSB0aGVzZSB3b3Jkcy4gU2V2ZXJhbCAnJ3NpJycgaW4gYSByb3cgZGVsZXRlcyBzZXZl cmFsIHdvcmRzLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWlnaHRlZW4gKHF1b3Rl cykKCk9uZSBvZiB0aGUga2V5IGRlc2lnbiBmZWF0dXJlcyBvZiBMb2piYW4gaXMgdGhhdCBpdOKA mXMgc3VwcG9zZWQgdG8gYmUgYXVkaW8tdmlzdWFsIGlzb21vcnBoaWMsIG1lYW5pbmcgdGhhdCBl dmVyeXRoaW5nIGV4cHJlc3NlZCBpbiB0ZXh0IHNob3VsZCBhbHNvIGJlIGV4cHJlc3NlZCBpbiBz cGVlY2ggYW5kIHZpY2UgdmVyc2EuIFRoZXJlZm9yZSwgdGhlcmUgY2Fubm90IGJlIGFueSBwdW5j dHVhdGlvbiB3aGljaCBpcyBub3QgcHJvbm91bmNlZC4gVGhpcyBtZWFucyB0aGF0IExvamJhbiBo YXMgYSB3aWRlIHJhbmdlIG9mIHdvcmRzIHRvIHF1b3RlIG90aGVyIHdvcmRzLiBBbGwgTG9qYmFu IHF1b3RlcyB0YWtlIHNvbWUgaW5wdXQgb2YgdGV4dCBhbmQgY29udmVydHMgaXQgdG8gYSBzdW10 aS4gTGV04oCZcyBiZWdpbiB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoKX18nJ2x1JydfXyBRdW90 ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKX18nJ2xp 4oCZdScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250 ZW50CgoKClRoZSB0ZXh0IGluc2lkZSB0aGlzIGNvbnN0cnVjdCBtdXN0IGJ5IGl0c2VsZiBiZSBn cmFtbWF0aWNhbC4gSXQgY2FuIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgd2l0aCBzb21lIGZldyBl eGNlcHRpb25zLCBtb3N0IG5vdGFibHksIG9idmlvdXNseSwgJydsaeKAmXUnJy4KCgoKVHJ5IHRv IHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHNlbnRlbmNlLiBUYWtlIHlvdXIgdGltZS4KCicnbWkg c3RpZGkgbG8gZHJhdGEgYmUgdHXigJlhIGx1IGtvIGphaSBnYXUgbW8gbGnigJl1JycKCl9fJydk cmF0YScnX18geDEgaXMgZGlmZmVyZW50IGZyb20geDIgYnkgc3RhbmRhcmQKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIHNvbWV0aGlu ZyBhYm91dCDigJxrbyBqYWkgZ2F1IG1v4oCdLuKAnX5+CgoKClRoZXNlIHF1b3RlIHdvcmRzIGNh bm5vdCBxdW90ZSB1bmdyYW1tYXRpY2FsIHRleHQuIFRoaXMgaXMgc29tZXRpbWVzIHVzZWZ1bCwg d2hlbiB5b3Ugd2FudCB0byBvbmx5IHBpY2sgb3V0IHBhcnQgb2YgYSBzZW50ZW5jZSwgYXMgaW46 IOKAnCBpcyDigJxnaeKAmWXigJ0gYSBMb2piYW4gc3VtdGNpdGE/4oCdCgoKCkZvciB0aGlzLCB5 b3UgbmVlZCB0aGVzZSB0d28gY21hdm8KCl9fJydsb+KAmXUnJ19fIFF1b3RlIHdvcmQ6IEJlZ2lu IHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgpfXycnbGXigJl1Jydf XyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRl bnQKCgoKVGhlIHRleHQgaW5zaWRlIG11c3QgYmUgTG9qYmFuIHdvcmRzLCBidXQgbmVlZCBub3Qg YmUgZ3JhbW1hdGljYWwuIFRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3ZlIGV4YW1wbGUgKHRoZW4g b25lIHdpdGggJydnaSdlJycpIGludG8gTG9qYmFuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4 dSBsb+KAmXUgZ2nigJllIGxl4oCZdSBsb2pibyBzdW10Y2l0YScnfn4KCgoKVGhpcyBxdW90ZSBj YW4gYmUgdXNlZCB0byBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIGV4Y2VwdCAnJ2xl4oCZdScnLiBI b3dldmVyLCB0aGlzIGlzIG5vdCBlbm91Z2guIElmIHdlIHdhbnQgdG8gdHJhbnNsYXRlIOKAnGlz IOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0cmFuc2xhdGlvbiBvZiDigJxXaGF04oCZcyB1cD/igJ3i gJ0sIHdlIG1pZ2h0IGJlIHNsaWdodGx5IHdyb25nIGFib3V0IHdoYXQgd2UgaGVyZSBzdGF0ZSwg c2luY2UgJydkbyBtbycnIGFsc28gY2FuIG1lYW4g4oCcV2hhdCBhcmUgeW91P+KAnSwgYnV0IGxl dOKAmXMgcm9sbCB3aXRoIGl0IGZvciBhIHNlY29uZC4gV2hhdCB3ZSBuZWVkIGhlcmUgaXMgdGhl IHdvcmQgJyd6b2knJy4KCgoKJyd6b2knJyBOZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJwb3Nl IHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZS4KCgoKV2hlbiB1c2luZyAnJ3pvaScn LCB5b3UgcGljayBhbnkgbW9ycGhvbG9naWNhbGx5IGNvcnJlY3QgbG9qYmFuIHdvcmQgYXQgd2ls bCAoY2FsbGVkIHRoZSBkZWxpbWl0ZXIpLCB3aGljaCB0aGVuIG9wZW5zIGEgcXVvdGUuIFRvIGNs b3NlIGlzLCB1c2UgdGhhdCB3b3JkIGFnYWluLiBUaGlzIHdheSwgeW91IGNhbiBxdW90ZSBhbnl0 aGluZyBleGNlcHQgdGhlIGRlbGltaXRlciwgd2hpY2ggc2hvdWxkbuKAmXQgYmUgYSBwcm9ibGVt IGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJzZWxmLiBVc3VhbGx5LCB0aGUgd29yZCBwaWNr ZWQgaXMgZWl0aGVyICcnem9pJycgaXRzZWxmLCBvciBhIGxldHRlciB3aGljaCBzdGFuZHMgZm9y IHRoZSBsYW5ndWFnZSB3aGljaCB0aGUgcXVvdGUgaXMgd3JpdHRlbiBpbi4gRXhhbXBsZTog4oCc SSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmHigJ0gaXMgJydtaSBwdSBuZWxjaSBsYeKA mWUgem9pIHpvaS4gVGhlIFBoYW50b20gb2YgdGhlIE9wZXJhIC56b2knJyBOb3RpY2UgdHdvIHRo aW5nczogRmlyc3RseSwgSSBuZWVkIGEgJydsYeKAmWUnJywgc2luY2UgSSBkaWRu4oCZdCBsaWtl IHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJlZmVycmVkIHRvLiBTZWNvbmRseSwgYmV0 d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhlIHF1b3RlLCB0aGVyZSBhcmUgcGF1c2Vz LCBvcHRpb25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcuIFRoaXMg cGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgZGVsaW1pdGVyLgoK CgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBzZW50ZW5jZSBjb25jZXJuaW5nIOKAnFdoYXTi gJlzIHVwP+KAnQoKCgpfXycnZHJhbmknJ19fIHgxIGlzIGNvcnJlY3QvcHJvcGVyIGluIGFzcGVj dCB4MiBpbiBzaXR1YXRpb24geDMgYnkgc3RhbmRhcmQgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ3h1IGx1IGRvIG1vIGxp4oCZdSBkcmFuaSB4ZSBmYW52YSB6b2kgZ3kuIFdoYXTigJlzIHVw PyAuZ3knJy4gSGVyZSB0aGUgZGVsaW1pdGVyICcnZ3knJyBpcyBjaG9zZW4gYmVjYXVzZSBpdCdz IHNob3J0IGZvciAnJ2dsaWNvJycsIG1lYW5pbmcgIkVuZ2xpc2gifn4KCgoKQ2xvc2VseSBhbmFs b2dvdXNseSwgdGhlcmUgaXMgJydsYeKAmW8nJy4gSXQgd29ya3MgZXhhY3RseSBsaWtlICcnem9p JycsIGJ1dCB0dXJucyB0aGUgcmVzdWx0aW5nIHF1b3RlIGludG8gYSBuYW1lLiBJdCBpcyBuZWVk ZWQgYmVjYXVzZSBub3JtYWxseSwgb25seSBzZWxicmkgYW5kIGNtZXZsYSBjYW4gYmUgbmFtZXMs IG5vdCBxdW90ZXMuCgpfXycnbGHigJlvJydfXyBOZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJw b3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZSDigJMgdXNlIGFzIG5hbWUuCgoK Ckxhc3Qgb2YgdGhlIG9mZmljaWFsIHF1b3RlIHdvcmRzLCB0aGVyZSBpcyAnJ3pvJycuICcnem8n JyBhbHdheXMgcXVvdGVzIHRoZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIgd2hhdCBpdCBp cy4gSXTigJlzIHByZXR0eSBoYW5keS4KCicnem8nJyBRdW90ZSBuZXh0IExvamJhbiB3b3JkLCBu byBtYXR0ZXIgd2hhdC4KCkV4YW1wbGU6ICcnem8gem8gem/igJlvIHBsaXhhdScnID0g4oCcIOKA nHpv4oCdIGlzIHVzZWZ1bCwgaGVoZeKAnQoKX18nJ3pv4oCZbycnX18gYXR0aXR1ZGluYWw6IGRp c2N1cnNpdmU6IEh1bW9yb3VzbHksIOKAnGtpZGRpbmcgeW914oCdCgpfXycncGxpeGF1JydfXyB4 MSBpcyB1c2VmdWwgZm9yIHgyIHRvIGRvIHB1cnBvc2UgeDMKCgoKTG9qYmFuIHVzZXJzIGhhdmUg Zm91bmQgaXQgdXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0aCBmb3VyIGFkZGl0aW9uYWwgcXVvdGUg d29yZHMuIFRoZXkgYXJlIGFsbCBleHBlcmltZW50YWwsIGFuZCB0aGUgZm9ybWFsIGdyYW1tYXIg ZG9lcyBub3Qgc3VwcG9ydCBpdC4gTm9uZXRoZWxlc3MsIHRoZXkgYXJlIHVzZWQgb2Z0ZW4sIGFu ZCBpdOKAmXMgZ29vZCB0byBiZSBhYmxlIHRvIHJlY29nbml6ZSB0aGVtLiBUaGUgbW9zdCB1c2Vk IGlzOgoKCgpfXycnem/igJlvaScnX18gUXVvdGUgbmV4dCB3b3JkIG9ubHkuIE5leHQgd29yZCBp cyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5n OgoKCgpFeGFtcGxlOiAnJ3JpIHB1IGN1c2t1IHpv4oCZb2kgRG9oISAudeKAmWknJyDigJxIYSBo YSwgaGUgc2FpZCDigJxEb2gh4oCdIOKAnAoKCgpJdOKAmXMgdmVyeSBlYXN5IHRvIHVzZS4gQWdh aW4sIG5vdGUgdGhhdCBhbGwgZ3JhbW1hciBib3RzIHdpbGwgY29uc2lkZXIgdGhlIHNlbnRlbmNl IG5vdCBncmFtbWF0aWNhbCwgYmVjYXVzZSB0aGVzZSB3b3JkcyBkbyBub3QgZXhpc3QgaW4gdGhl IGZvcm1hbCBncmFtbWFyLgoKCgpBbmFsb2dvdXMgdG8gJyd6bydvaScnIGFuZCAnJ2xh4oCZbycn LCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGHigJlvaScnLCB3aGljaCB3b3JrcyBqdXN0IGxp a2UgJyd6b+KAmW9pJycsIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZToKCl9fJydsYeKA mW9pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seSwgdXNlIGFzIG5hbWUuIE5leHQgd29yZCBpcyBp ZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgoK CgpIb3cgd291bGQgeW91IHNheTog4oCcTXkgRW5nbGlzaCBuYW1lIGlzIOKAnFNhZmnigJ3igJ0/ CgpfXycnZ2xpY28nJ19fIHgxIGlzIEVuZ2xpc2gvcGVydGFpbnMgdG8gRW5nbGlzaCBjdWx0dXJl IGluIGFzcGVjdCB4MgoKX18nJ2NtZW5lJydfXyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBhcyB1c2Vk IGJ5IHgzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGljbyBzZSBjbWVuZSBsYeKAmW9p IFNhZmknJy4gTm90aWNlIHRoZSBuZWNlc3Nhcnkgc2UuIFdlIGRvbuKAmXQgd2hhdCB0byBzYXkg dGhhdCB3ZeKAmXJlIGEgbmFtZSF+fgoKCgpUaGlyZGx5LCAnJ3Jh4oCZb2knJyBxdW90ZXMgdGhl IG5leHQgcmFmc2kuIFNpbmNlIHJhZnNpIGFyZSBub3Qgd29yZHMsIHRoZXkgd291bGQgdXN1YWxs eSBoYXZlIHRvIGJlIHF1b3RlZCBieSAnJ3pvaScnLiBGdXJ0aGVybW9yZSwgc2V2ZXJhbCByYWZz aSBhcmUgYWxzbyBjbWF2by4gVG8gYXZvaWQgY29uZnVzaW9uIG9mIHdoaWNoIGlzIG1lYW50LCAn J3Jh4oCZb2knJyBhbHdheXMgcmVmZXIgdG8gYSByYWZzaSwgYW5kIGlzIHdyb25nIGluIGZyb250 IG9mIGFueSB0ZXh0IHN0cmluZyB3aGljaCBhcmUgbm90IHJhZnNpLgoKCgpXaGF0IGRvZXMgJydy YeKAmW9pIHp14oCZZSByYWZzaSB6byB6dWt0ZSAuaWt14oCZaSB6b+KAmW9pIHp14oCZZSBzdW10 Y2l0YScnIG1lYW4/CgpfXycna3XigJlpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSG93 ZXZlciAvIHRob3VnaCAoY29udHJhc3RzIHRvIHNvbWV0aGluZyBwcmV2aW91c2x5IHNhaWQpCgpf XycncmFmc2knJ19fIHgxIGFuIGFmZml4IGZvciB3b3JkL2NvbmNlcHQgeDIgd2l0aCBwcm9wZXJ0 aWVzL29mIGZvcm0geDMgaW4gbGFuZ3VhZ2UgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxU aGUgcmFmc2kg4oCcenXigJll4oCdIGlzIGEgcmFmc2kgZm9yIOKAnHp1a3Rl4oCdLiBCdXQg4oCc enXigJll4oCdIGlzIGEgc3VtdGNpdGHigJ1+fgoKCgpBbmQgZmluYWxseSB0aGUgdXNlZnVsIHdv cmQgJydtYeKAmW9pJycuICcnbWHigJlvaScnIHF1b3RlcyBhbnkgY21hdm8sIGJ1dCB0cmVhdHMg dGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQgY2xhc3MgKHNlbG1h4oCZbykgdG8gd2hp Y2ggdGhhdCB3b3JkIGJlbG9uZ3MuIFNvLCBmb3IgaW5zdGFuY2UsIGJh4oCZbyBiZWxvbmdzIHRv IHRoZSB3b3JkY2xhc3MgY2FsbGVkIFpBaE8sIHNvICcnbWHigJlvaSBiYeKAmW8nJyBpcyB1bm9m ZmljaWFsIExvamJhbiBmb3Ig4oCcWmFoT+KAnQoKCgpUcnkgaXQgb3V0LiBTYXkgdGhhdCAnJ3B1 JycgYW5kICcnYmEnJyBhcmUgaW4gdGhlIHNhbWUgc2VsbWHigJlvIQoKX18nJ2NtYXZvJydfXyB4 MSBpcyBhIGdyYW1tYXRpY2FsIHdvcmQgb2YgY2xhc3MgeDIgaW4gbGFuZ3VhZ2UgeDMKCgoKKE9u ZSBwb3NzaWJsZSkgQW5zd2VyOiAgfn5ncmV5LGdyZXk6Jyd6byBwdSBjbWF2byBtYeKAmW9pIGJh Jyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZXRlZW4gKG51bWJlcnMpCgpX aGVuIGxlYXJuaW5nIGEgbGFuZ3VhZ2UsIG9uZSBvZiB0aGUgdGhpbmdzIHdoaWNoIGFyZSB1c3Vh bGx5IHRhdWdodCB2ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0byBjb3VudC4gVGhpcyByZWFsbHkgbWFr ZXMgbGl0dGxlIHNlbnNlLCBiZWNhdXNlIGl04oCZcyBub3QgbmVjZXNzYXJ5IHRvIGtub3cgbnVt YmVycyBpZiB5b3UgZG9u4oCZdCBrbm93IGhvdyB0byBzcGVhayBhYm91dCB0aG9zZSB0aGluZ3Mg dG8gd2hpY2ggdGhleSBhcHBseS4gVGhpcyBpcyBwYXJ0bHkgdGhlIHJlYXNvbiB3aHkgSSBoYXZl IGxlZnQgaXQgZm9yIGxlc3NvbiBudW1iZXIgbmluZXRlZW4uIFRoZSBvdGhlciByZWFzb24gaXMg dGhhdCB3aGlsZSB0aGUgbnVtYmVycyB0aGVtc2VsdmVzIGFyZSBlYXN5IHRvIGxlYXJuLCBob3cg dGhleSBhcHBseSB0byBzdW10aSBjYW4gZ2V0IHZlcnkgY29uZnVzaW5nIGluZGVlZC4gVGhhdCwg aG93ZXZlciwgd2Ugd2lsbCBzYXZlIGZvciBhIGxhdGVyIGxlc3Nvbi4KCkJlZm9yZSBsZWFybmlu ZyB0aGUgd29yZHMgdGhlbXNlbHZlcywgeW91IHNob3VsZCBrbm93IHRoYXQgbnVtYmVycyBkbyBu b3QgaGF2ZSBhbnkgaW50ZXJuYWwgZ3JhbW1hci4gVGhpcyBtZWFucyB0aGF0IGFueSByb3cgb2Yg bnVtYmVyIHdvcmRzIChoZW5jZWZvcnRoIHJlZmVycmVkIHRvIGFzIGEgIm51bWJlciBzdHJpbmci KSBhcmUgdHJlYXRlZCBpZGVudGljYWxseSB0byBhbnkgb3RoZXIgbnVtYmVyIHN0cmluZyB0byB0 aGUgTG9qYmFuIGdyYW1tYXIsIGV2ZW4gaWYgdGhlIHN0cmluZyBtYWtlcyBubyBzZW5zZS4gVGhl cmVmb3JlLCBvbmUgY2FuIG5ldmVyIGFuc3dlciB1bmFtYmlndW91c2x5IHdoZXRoZXIgYSBudW1i ZXIgY29uc3RydWN0IG1ha2VzIHNlbnNlIG9yIG5vdC4gVGhlcmUgYXJlLCBob3dldmVyLCBpbnRl bmRlZCB3YXlzIG9mIHVzaW5nIHRoZSBudW1iZXIgd29yZHMsIGFuZCBjb25mdXNpb24gd2lsbCBw cm9iYWJseSByZXN1bHQgaWYgeW91IGRldmlhdGUgZnJvbSB0aGUgc3RhbmRhcmQuCgpMZWFybmlu ZyBhbGwgdGhlIG51bWJlciB3b3JkcyBvZiBMb2piYW4gYXJlIHdheSBiZXlvbmQgdGhlIHNjb3Bl IG9mIHRoaXMgbGVzc29uLCBzbyB5b3Ugd2lsbCBvbmx5IGJlIGludHJvZHVjZWQgdG8gd2hhdCBp cyBub3JtYWxseSB1c2VkIGluIHRleHQuIFRoZSB3aWRlIHJhbmdlIG9mIExvamJhbiBtYXRoZW1h dGljYWwgY21hdm8gYXJlIGNhbGxlZCAnJ21la3NvJycgKExvamJhbiBmb3IgIm1hdGhlbWF0aWNh bCBleHByZXNzaW9uIiksIGFuZCBpcyB3aWRlbHkgZGlzcmVnYXJkZWQgYmVjYXVzZSBvZiBpdHMg Y29tcGxleGl0eSBhbmQgcXVlc3Rpb25hYmxlIGFkdmFudGFnZSBvdmVyIHNvLWNhbGxlZCBicmlk aSBtYXRoLgoKTGV04oCZcyBiZWdpbiB3aXRoIHRoZSBvcmRpbmFyeSBMb2piYW4gbnVtYmVycywg ZnJvbSB6ZXJvIHRvIG5pbmU6Cgp8fHplcm98b25lfHR3b3x0aHJlZXxmb3VyfGZpdmV8c2l4fHNl dmVufGVpZ2h0fG5pbmUKCm5vfHBhfHJlfGNpfHZvfG11fHhhfHplfGJpfHNvfHwKCk5vdGljZSBo b3cgdGhlIHZvd2VscyBhcmUgYWx0ZXJuYXRpbmcgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAnJ25v JycpLCBhbmQgaG93IG5vIGNvbnNvbmFudCBpcyB1c2VkIGZvciB0d28gZGlnaXRzLgoKSW4gb3Jk ZXIgdG8gZXhwcmVzcyBudW1iZXJzIGhpZ2hlciB0aGFuIG5pbmUsIHRoZSBudW1iZXJzIGFyZSBq dXN0IHN0cnVuZyB0b2dldGhlcjoKCicndm8gbXUgY2knJyDigJMgZm91ciBodW5kcmVkIGFuZCBm aWZ0eSB0aHJlZSAoNDUzKQoKJydwYSBubyBubyBubyBubycnIHRlbiB0aG91c2FuZCAoMTAgMDAw KQoKVGhlcmUgaXMgYWxzbyBhIOKAnHF1ZXN0aW9uLWRpZ2l04oCdLCB3aGljaCBpcyB1c2VkIGxp a2Ugb3RoZXIgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb24gd29yZHMuIEl04oCZcyAnJ3hvJycu IFRoZSBhbnN3ZXIgdG8gc3VjaCBhIHF1ZXN0aW9uIG1heSBiZSBqdXN0IHRoZSByZWxldmFudCBk aWdpdChzKSBieSBpdHNlbGYsIG9yIHRoZXkgY2FuIGJlIG51bWVyaWNhbCBjb25zdHJ1Y3RzLCBh cyBzaG93biBsYXRlci4KCicnY2kgeG8geG8geG8nJyDigJMgIlRocmVlIHRob3VzYW5kIGFuZCBo b3cgbWFueT8iICgzPz8/KQoKX18nJ3hvJydfXyBxdWVzdGlvbiBkaWdpdCDigJMgdXNlIGxpa2Ug YW55IG90aGVyIGRpZ2l0IHRvIGFzayBmb3IgdGhlIGNvcnJlY3QgZGlnaXQuCgpUaGUgZXhwZXJp bWVudGFsIHdvcmQgJyd4bydlJycgaXMgc29tZXRpbWVzIHVzZWQgdG8gbWVhbiBhbiB1bnNwZWNp ZmllZCwgZWxsaXB0aWNhbCBkaWdpdC4gSXRzIGRlZmluaXRpb24gaXMgbm90IG9mZmljaWFsLCB0 aG91Z2guCgonJ2NpIHhv4oCZZSB4b+KAmWUgeG/igJllJycg4oCTIFRocmVlIHRob3VzYW5kIGFu ZCBzb21ldGhpbmcKCl9fJyd4bydlJydfXyBlbGxpcHRpY2FsIGRpZ2l0LgoKU2luY2UgYWxsIG51 bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVkIGdyYW1tYXRpY2FsbHkgdGhlIHNhbWUsIG9uZSBtaWdo dCBhbHNvIGFuc3dlciBzZXZlcmFsIGRpZ2l0cyB0byBvbmUgJyd4bydlJycKCgoKRnVydGhlcm1v cmUsIHRoZXJlIGlzIGFsc28gYSBzZXQgb2YgaGV4YWRlY2ltYWwgZGlnaXRzIEEgdGhyb3VnaCBG LiBCeSBkZWZhdWx0LCBMb2piYW4gb3BlcmF0ZXMgaW4gYmFzZSAxMCwgYnV0IHdoZW4gdXNpbmcg aGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBjYW4gYmUgc2FmZWx5IGFzc3VtZWQgdGhhdCB5b3UgdXNl IGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZlaXxnYWl8amF1fHJlaXx4ZWkgfHZhaXwKCjEwKEEpfDEx KEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0KEUpfDE1KEYpfHwKClllcywgSSBrbm93IHRoZXJlIGFy ZSB0d28gd29yZHMgZm9yIEUuIFRoZSBvZmZpY2lhbCBvbmUgaXMgJydyZWknJyAoYWxsIHRocmVl LWxldHRlciBjbWF2byBiZWdpbm5pbmcgd2l0aCB4IGlzIGV4cGVyaW1lbnRhbCkuICcneGVpJycg d2FzIGludmVudGVkIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoICcncmUnJy4KClRoZSBiYXNlIGNh biBiZSBleHBsaWNpdGx5IHN0YXRlZCB1c2luZyAnJ2p1J3UnJzogQW55IG51bWJlciBiZWZvcmUg JydqdSd1JycgdGhlIG51bWJlciBiZWluZyBzcG9rZW4gb2YsIGFueSBudW1iZXIgYWZ0ZXIgaXMg dGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoKCicnZGF1IHNvIGZlaSBubyBqdeKAmXUgcGEgcmUnJyDi gJMgQTlCMCBpbiBiYXNlIDEyIChub3RpY2UgaGVyZSB0aGF0IGJhc2UgMTIgaXMgYWx3YXlzIGlu IGRlY2ltYWwuIEl0IGlzIHBvc3NpYmxlIHRvIHBlcm1hbmVudGx5IGNoYW5nZSB0aGUgYmFzZSB5 b3Ugc3BlYWsgaW4sIGJ1dCBzaW5jZSBpdCBoYXMgbmV2ZXIgYmVlbiB1c2VkIGluIHByYWN0aWNl LCBpdCBoYXMgbm90IGJlZW4gc3RhbmRhcmRpemVkIGhvdyBvbmUgc2hvdWxkIGRvIGl0KQoKRnJh Y3Rpb25zIGFyZSBhbHNvIHVzZWZ1bCB0byBsZWFybiBob3cgdG8gZXhwcmVzcy4gVGhleSBhcmUg dXN1YWxseSBleHByZXNzZWQgdmlhIGEgZGVjaW1hbCBwb2ludCwgJydwaScnLgoKX18nJ3BpJydf XyBEZWNpbWFsIHBvaW50IChvciBwb2ludCBpbiB3aGljaGV2ZXIgYmFzZSB5b3UgYXJlIHRhbGtp bmcgaW4pCgonJ3BhIHJlIHBpIHJlIG11Jycg4oCTIHR3ZWx2ZSBwb2ludCB0d28gZml2ZSAoMTIu MjUpLiAKCkxpa2UgaW4gbWF0aGVtYXRpY3MsIHdoZW4gbm8gbnVtYmVyIHN0cmluZyBpcyBwbGFj ZWQgYmVmb3JlIG9yIGFmdGVyICcncGknJywgemVybyBpcyBhc3N1bWVkLiAKClJlbGF0ZWQgdG8g dGhpcywgdGhlIG51bWJlciBzZXBhcmF0b3IgJydwaSdlJycgaXMgdXNlZCB0byBzZXBhcmF0ZSBu dW1iZXJzLCBlaXRoZXIgdG8gc2VwYXJhdGUgZGlnaXRzIHdoZW4gc3BlYWtpbmcgaW4gYSBiYXNl IGxhcmdlciB0aGFuIHNpeHRlZW4sIG9yIHdoZW4gYSBkZWNpbWFsIHBvaW50IGlzIG5vdCBhcHBs aWNhYmxlLCBmb3IgaW5zdGFuY2UsIHdoZW4gdGFsa2luZyBhYm91dCB0aW1lIGluIGhvdXJzLCBt aW51dGVzLCBzZWNvbmRzOgoKJydwYSBzbyBwaSdlIHJlIG11IHBpJ2Ugbm8ganUndSByZSB6ZScn IOKAkyBOaW5ldGVlbiwgdHdlbnR5LWZpdmUsIHplcm8gaW4gYmFzZSAyNyAoSlAwIGJhc2UgMjcp CgonJ3JlIHJlIHBp4oCZZSB2byBiaScnIOKAkyB0d2VudHktdHdvLCBmb3VydHkgZWlnaHQgKDIy OjQ4KQoKCgpUaGVyZSBpcyBhbHNvIGEgcmFuZ2Ugb2YgbnVtYmVyIHdvcmRzIHdoaWNoIGFyZSBu b3QgbWF0aGVtYXRpY2FsbHkgZXhhY3QgYnV0IHJhdGhlciBzdWJqZWN0aXZlIG9yIHJlbGF0aXZl LiBUaGUgYmVoYXZpb3JzIG9mIHRoZXNlIHdvcmRzIGFyZSBhbG1vc3QgZXhhY3RseSBsaWtlIHRo ZSBiZWhhdmlvciBvZiBkaWdpdHMsIGV4Y2VwdCB0aGV5IGNhbm5vdCBiZSBjb21iaW5lZCB0byBt YWtlIGJpZ2dlciBudW1iZXJzIHRoZSB3YXkgZGlnaXRzIGNhbjoKCnx8IHJvfHNvJ2F8c28nZXxz bydpfHNvJ298c28ndXwKCmFsbHxhbG1vc3QgYWxsfG1vc3R8bWFueXxzb21lfGZld3x8CgpXaGVu IGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBkaWdpdHMsIHRoZXNlIHdvcmRzIGFyZSBhc3N1bWVk IHRvIGdpdmUgYSBzZWNvbmQgdmVyZGljdCBhYm91dCB0aGUgc2l6ZSBvZiB0aGUgbnVtYmVyOgoK JydtdSBiaSBzbydpIHNhaScnIOKAk0ZpZnR5IGVpZ2h0LCB3aGljaCBpcyByZWFsbHkgbWFueS4K ClRoZXkgc2hvdWxkIHRoZXJlZm9yZSBub3QgYmUgcGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgYSBu dW1iZXIgc3RyaW5nLiBXaGVuIHBsYWNlZCBhZnRlciAnJ3BpJycsIHRoZXkgYXJlIGFzc3VtZWQg dG8gY29udmV5IHRoZSBzaXplIG9mIGEgZnJhY3Rpb246CgonJ3BpIHNvJ2knJyDigJMgYSBnb29k IHBhcnQgb2YgaXQ6CgonJ3BpIHNvJ28nJyDigJMgc29tZSBvZiBpdCAKCicncGkgc28nYScnIOKA kyBhbG1vc3QgYWxsIG9mIGl0CgoKClRoZXNlIGFyZSBzb21lIGhpZ2h0bHkgc3ViamVjdGl2ZSBu dW1iZXJzIC0gdGhleSB3b3JrIGp1c3QgbGlrZSB0aGUgcHJldmlvdXMgb25lcy4KCnx8ZHXigJll fG1vJ2F8cmF1Cgp0b28gbWFueXx0b28gZmV3fGVub3VnaHx8CgpUaGUgZm9sbG93aW5nIGZpdmUg YXJlIGNvbnRleHQtYmFzZWQgbnVtYmVycyDigJMgdGhlc2Ugd29yayBsaWtlIHRoZSBwcmV2aW91 cyBvbmVzLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGV5IHRha2UgdGhlIG5leHQgbnVtYmVy IGluIG9yZGVyIHRvIGFzc2lnbiB0aGVtIG1lYW5pbmc6Cgp8fGRhJ2F8c3UnZXxzdSdvfHphJ3V8 bWUnaQoKYWxsIGV4Y2VwdCBuIHxBdCBtb3N0IG58QXQgbGVhc3Qgbnxtb3JlIHRoYW4gbnxsZXNz IHRoYW4gbnx8CgpJZiBubyBudW1iZXIgc3RyaW5nIGZvbGxvdyB0aGVtLCDigJxvbmXigJ0gaXMg YXNzdW1lZC4KCicnc2/igJlpIHBhIHJlIGRhJ2EgbXUnJyDigJMgTWFueSwgd2hpY2ggaXMgdHdl bHZlLCB3aGljaCBpcyBhbGwgYnV0IGZpdmUuCgpUaGUgdHdvIGxhc3QgbnVtYmVyIHdvcmRzIHlv dSBzaG91bGQga25vdyBoYXZlIHNsaWdodGx5IG1vcmUgY29tcGxpY2F0ZWQgZ3JhbW1hcjoKCl9f JydqaSdpJydfXyAtIG51bWJlciByb3VuZGluZyBvciBudW1iZXIgYXBwcm94aW1hdGlvbgoKV2hl biAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyLCB0aGUgZW50aXJlIG51bWJlciBp cyBhcHByb3hpbWF0ZWQ6CgonJ2ppJ2kgemUgemEndSByYXUganUnbycnIOKAkyAiQWJvdXQgc2V2 ZW50eSwgd2hpY2ggaXMgbW9yZSB0aGFuIGVub3VnaCwgY2VydGFpbmx54oCdCgpQbGFjZWQgaW4g dGhlIG1pZGRsZSBvZiB0aGUgbnVtYmVyLCBvbmx5IHRoZSBmb2xsb3dpbmcgZGlnaXRzIGFyZSBu b24tZXhhY3QuIEF0IHRoZSBlbmQgb2YgYSBudW1iZXIsIGl0IHNpZ25pZmllcyB0aGF0IHRoZSBu dW1iZXIgaGFzIGJlZW4gcm91bmRlZCBvZmYuIAoKX18nJ2tpJ28nJ19fIE51bWJlciBjb21tYSAg LSBzZXBhcmF0ZXMgZGlnaXRzIHdpdGhpbiBvbmUgc3RyaW5nOyBUaG91c2FuZHMuCgpJdCBpcyBu b3QgaW5jaWRlbnRpYWwgdGhhdCAnJ2tpJ28nJyBzb3VuZHMgbGlrZSDigJxraWxv4oCdLiBBdCBp dHMgc2ltcGxlc3QsICcna2knbycnIGlzIHVzZWQgdG8gc2VwYXJhdGUgdGhyZWUgZGlnaXRzIGF0 IGEgdGltZSBpbiBsYXJnZSBudW1iZXJzLCBtdWNoIGxpa2UgY29tbWFzIGFyZSB1c2VkIGluIEVu Z2xpc2g6CgonJ3BhIGtpJ28gc28gc28gc28ga2knbyBiaSB4YSB6ZScnIOKAkyAxLDk5OSw4NjcK CklmIGxlc3MgdGhhbiB0aHJlZSBkaWdpdHMgYXJlIHB1dCBiZWZvcmUgYSAnJ2tpJ28nJywgdGhl IGRpZ2l0cyBhcmUgYXNzdW1lZCB0byBiZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgb25lcywgYW5k IHplcm9zIGFyZSBhc3N1bWVkIHRvIGZpbGwgaW4gdGhlIHJlc3Q6CgonJ3ZvIGtpJ28gY2kgYmkg a2knbyBwYSBraSdvIGtpJ28nJyDigJMgNCwwMzgsMDAxLDAwMCwwMDAKCicna2knbycnIGlzIHVz ZWQgc2ltaWxhcmx5IGFmdGVyIGEgZGVjaW1hbCBwb2ludC4KCgoKVGhhdCBjb25jbHVkZXMgdGhl IGNvbW1vbiBMb2piYW4gbnVtYmVycyB0aGVtc2VsdmVzLiBIb3cgdGhleSBhcHBseSB0byBzdW10 aSBpcyBhIHNjaWVuY2UgaW4gaXRzZWxmLCBhbmQgd2UgbGVhdmUgdGhhdCBmb3IgbGVzc29uIHR3 ZW50eS10d28uIE5vdyB3ZSBmb2N1cyBvbiBob3cgdGhlc2UgbnVtYmVycyBjYW4gYmUgdXNlZCBp biBhIGJyaWRpLgoKQSBzdHJpbmcgb2YgbnVtYmVyIHdvcmRzIGJ5IHRoZW1zZWx2ZXMgYXJlIGdy YW1tYXRpY2FsLCBzaW5jZSB0aGV5IGNhbiBhY3QgYXMgYW4gYW5zd2VyIHRvIGEgJyd4bycnLXR5 cGUgb2YgcXVlc3Rpb24uIEluIHRoaXMgY2FzZSwgaG93ZXZlciwgdGhleSBjYW5ub3QgYmUgY29u c2lkZXJlZCBwYXJ0IG9mIGFueSBicmlkaS4gSW4gZ2VuZXJhbCwgaWYgbnVtYmVycyBmaWxsIHBh cnQgb2YgYSBicmlkaSwgdGhleSBkbyBzbyBpbiBvbmUgb2YgdHdvIGZvcm1zOiBQdXJlIG51bWJl cnMgYW5kIHF1YW50aWZpZXJzLgoKQSBwdXJlIG51bWJlciBpcyBhbnkgcm93IG9mIG51bWJlciB3 b3JkcyBwcmVmaXhlZCB3aXRoICcnbGknJy4gVGhpcyBtYWtlcyBhIHN1bXRpIGRpcmVjdGx5IGZy b20gdGhlIG51bWJlciwgYW5kIHJlZmVycyB0byB0aGUgbWF0aGVtYXRpY2FsIGNvbmNlcHQgb2Ys IGZvciBpbnN0YW5jZSwg4oCcdGhlIG51bWJlciBzaXjigJ0uIEl0cyBmYSdvcm1hJ28gaXMgJyds bydvJycKCl9fJydsaScnX18gY29udmVydCBudW1iZXIvbWVrc28tZXhwcmVzc2lvbiB0byBzdW10 aS4KCl9fJydsbydvJydfXyBmYSdvcm1hJ286IGVuZCBjb252ZXJ0IG51bWJlci9tZWtzby1leHBy ZXNzaW9uIHRvIHN1bXRpLgoKVGhlc2UgcHVyZSBzdW10aSBhcmUgdXN1YWxseSB3aGF0IGZpbGxz IHRoZSB4MiBvZiBicml2bGEgc3VjaCBhcyAnJ21pdHJlJycgb3IgJydjYWNyYScnCgpfXycnbWl0 cmUnJ19fIHgxIGlzIHgyIG1ldHJlcyBpbiBkaW1lbnNpb24geDMgYnkgc3RhbmRhcmQgeDQKCl9f JydjYWNyYScnX18geDEgaXMgeDIgaG91cnMgaW4gZHVyYXRpb24gKGRlZmF1bHQgMSkgYnkgc3Rh bmRhcmQgeDMKCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOgoKJydsZSB0YSBudSBj aW5qaWtjYSBjdSBjYWNyYSBsaSBjaSBqaSdpIHUnaSBuYWknJwoKQW5zd2VyOiB+fmdyZXksZ3Jl eTog4oCdKnNpZ2gqIFRoYXQgZmxpcnRpbmcgaGFzIGJlZW4gZ29pbmcgb24gZm9yIGFyb3VuZCB0 aHJlZSBob3Vycy7igJ0gfn4KCkhvdyBkbyB5b3UgY291bnQgdG8gdGhyZWUgaW4gTG9qYmFuPwoK QW5zd2VyOiB+fmdyZXksZ3JleTogJydsaSBwYSBsaSByZSBsaSBjaScnIH5+CgoKClRoZSBsYXN0 IHRoaW5nIHdl4oCZbGwgZ28gdGhyb3VnaCBpbiB0aGlzIGxlc3NvbiBpcyB0aGUgd29yZHMgb2Yg dGhlIHNlbG1h4oCZbyBNQUkgYW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRhaW5zIHR3 byB3b3JkcywgJydtYWknJyBhbmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVydCBhbnkg bnVtYmVyIHN0cmluZyB0byBhbiBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2YgYXR0 aXR1ZGluYWxzLiBPcmRpbmFscyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8gbnVtYmVy ZWQgc2VnbWVudHMsIGxpa2UgY2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZlcmVuY2Ug YmV0d2VlbiAnJ21haScnIGFuZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50aWZpZXMg bGFyZ2VyIHN1YmRpdmlzaW9ucyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRlIGEgdGV4 dCBvbiB0d28gZGlmZmVyZW50IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcgY2hhcHRl cnMgd2l0aCAnJ21vJ28nJyBhbmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2UgdGhhdCB0 aGVzZSBhcyB3ZWxsIGFzIHRoZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJlY3RseSwg d2l0aG91dCBhbnkgbmVlZCBmb3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9yZGVyIG9y ZGluYWwgbWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW/igJlvJydfXzog SGlnaGVyIG9yZGVyIG9yZGluYWwgbWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsLgoK CgpUaGVyZSBhcmUgZml2ZSBNT0ksIGFuZCB0aGV5IGFsbCBjb252ZXJ0IGFueSBudW1iZXIgc3Ry aW5nIHRvIHNlbGJyaS4gV2XigJlsbCB0YWtlIHRoZW0gb25lIGF0IGEgdGltZToKCl9fJydtb2kn J19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBu4oCZdGggbWVtYmVy IG9mIHNldCB4MiBieSBvcmRlciB4MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8n aSBuaW5tdSBwZW5kbyBiZSBtaSBsZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNs YW5pIG1sZWNhJycg4oCTIOKAnEx1aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBm cmllbmRzIGJ5IHRoZSBvcmRlcjogVGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNz IHRhbGwgb25lc+KAnS4KCihXaGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5 IHVuZGVyc3Rvb2QgdGhhdCBpZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1l aWdodCkgaXMgdXNlZCBhcyBhIHN1bXRpLCB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IGFyZSBvcmRl cmVkIGZyb20gdGhlIG9uZSB3aXRoIG1vc3Qgb2YgdGhlIHByb3BlcnR5IHRvIHRoZSBvbmUgd2l0 aCBsZXNzIG9mIHRoZSBwcm9wZXJ0eSwgc28gdGhlIHgzIG9mIHRoZSBmb2xsb3dpbmcgc2VudGVu Y2UgY291bGQgaGF2ZSBiZWVuIHNob3J0ZW5lZCB0byAnJ2xvIGthIGNsYW5pJycpCgpfXycnbGlk bmUnJ19fIHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5jZSB4MwoKX18nJ2NsYW5pJydfXyB4MSBp cyBzaG9ydCBpbiBkaW1lbnNpb24geDIgYnkgc3RhbmRhcmQgeDMKCl9fJyd6bWFkdScnX18geDEg ZXhjZWVkcyB4MiBpbiBwcm9wZXJ0eSB4MyBieSBhbW91bnQgeDQKCl9fJydtbGVjYScnX18geDEg aXMgbGVzcyB0aGFuL2lzIGxlc3MgY2hhcmFjdGVyaXplZCB0aGFuIHgyIGJ5IHByb3BlcnR5IHgz IGJ5IGFtb3VudCB4NAoKCgpfXycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJp OiB4MSBpcyB0aGUgbWFzcyBmb3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGljaCBoYXMgdGhlIG4g bWVtYmVycyBvZiB4MwoKTm90aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9zZWQgdG8gYmUgaW5k aXZpZHVhbHMsIHgyIGEgc2V0IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxkICcnbWkgY2kgbWVp JycgbWVhbj8gCgpBbndlcjogfn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3VwIG9mIHRocmVlLuKA nX5+CgoKCl9fJydzaSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBv bmUtbnRoIG9mIG1hc3MgeDIKCkV4YW1wbGU6ICcnbGUgdmkgcGxpc2UgY3UgbWUnaSBwaSBwYSBz aSdlIGxlaSBtaSBjaWRqYSBiZSB6ZSdhIGxvIGRqZWRpJycg4oCTIOKAnFRoaXMgYXBwbGUgaGVy ZSBpcyBsZXNzIHRoYW4gb25lIHRlbnRoIG9mIG15IGZvb2QgZm9yIG9uZSBkYXnigJ0KCl9fJydj dSdvJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBoYXMgbiBwcm9iYWJpbGl0 eSBvZiBvY2N1cnJpbmcgdW5kZXIgY29uZGl0aW9ucyB4MgoKRXhhbXBsZTogJydsbyBudSBtaSBt cm9iaSdvIGN1IHBhIGN1J28gbG8gbnUgbWkgZGVucGEgcmknJyDigJMg4oCdQW4gZXZlbnQgb2Yg bWUgZHlpbmcgaGFzIHByb2JhYmlsaXR5IDEgdW5kZXIgdGhlIGNvbmRpdGlvbnM6IEkgd2FpdCBm b3IgaXTigJ0gPSDigJ1NZSBkeWluZyBpcyBjb21wbGV0ZWx5IGNlcnRhaW4gaWYgSSB3YWl0IGxv bmcgZW5vdWdoLuKAnQoKX18nJ2RlbnBhJydfXyB4MSB3YWl0cyBmb3IgeDIsIGJlaW5nIGluIHN0 YXRlIHgzIHVudGlsIHJlc3VtaW5nL2RvaW5nIHg0CgpfXycndmEnZScnX18gLSBDb252ZXJ0IG51 bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgYXQgdGhlIG7igJl0aCBwb3NpdGlvbiBvbiB0aGUgc2Nh bGUgeDIKCkV4YW1wbGU6ICcnbGkgcGEgbm8gY3Ugcm8gdmHigJllIGxhIHRvcmlub24nJyDigJMg 4oCcMTAgaXMgdGhlIGhpZ2hlc3QgdmFsdWUgb24gdGhlIFRvcmluby1zY2FsZeKAnQoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5IChibywga2UsIGNvIGFuZCBtb3JlIGN1dGVu ZXNzKQoKU2F5IHlvdeKAmXJlIGFuIGltcG9ydGFudCBBbWVyaWNhbiBidXllciBvZiBjb21wdXRl cnMuIEhvdyBkbyB5b3UgZXhwcmVzcyB0aGlzPyBGb3IgY29uc3RydWN0cyBsaWtlIHRoZXNlLCB0 YW5ydSBhcmUgaWRlYWw6ICcnbWkgdmFqbmkgbWVya28gc2thbWkgdGUgdmVjbnUnJy4gTm8gd2Fp dCwgdGhhdOKAmXMgbm90IHJpZ2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9tIGxlZnQgdG8gcmln aHQsIHNvIHRoaXMgdGFucnUgaXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1lcmtvJycpICcnc2th bWknJykgJyd0ZSB2ZWNudScnLCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3IgaW1wb3J0YW50IEFt ZXJpY2Fucy4gWW91IGNhbuKAmXQgY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgc2VsYnJpIHRvIGdl dCBhIHVzZWZ1bCB0YW5ydS4gTmVpdGhlciBjYW4gdGhpcyBiZSBzb2x2ZWQgd2l0aCBsb2dpY2Fs IGNvbm5lY3RpdmVzLCB3aGljaCB5b3Ugd2lsbCBmaXJzdCBsZWFybiBhYm91dCBsYXRlciBhbnl3 YXkuIFRoZSBvbmx5IHdheSB0byBtYWtlIGEgZml0dGluZyB0YW5ydSBpcyB0byBmb3JjZSB0aGUg c2VsYnJpIHRvIGdyb3VwIGRpZmZlcmVudGx5LgoKCgpUbyBiaW5kIHR3byBzZWxicmkgY2xvc2Ug dG9nZXRoZXIgaW4gYSB0YW5ydSwgdGhlIHdvcmQgJydibycnIGNhbiBiZSBwbGFjZWQgYmV0d2Vl biB0aGVtOiAnJ21pIHZham5pIGJvIG1lcmtvIHNrYW1pIGJvIHRlIHZlY251JycgaXMgcmVhZCAn J21pJycgKCcndmFqbmkgYm8gbWVya28nJykgKCcnc2thbWkgYm8gdGUgdmVjbnUnJyksIHdoaWNo IGlzIHVzZWZ1bCBpbiB0aGlzIGNvbnRleHQuIElmIGJvIGlzIHBsYWNlZCBiZXR3ZWVuIHNldmVy YWwgc2VsYnJpIGluIGEgcm93LCB0aGV5IGFyZSBncm91cGVkIGZyb20gcmlnaHQgdG8gbGVmdCBp bnN0ZWFkIG9mIHRoZSB1c3VhbCBsZWZ0IHRvIHJpZ2h0OiAnJ21pIHZham5pIG1lcmtvIGJvIHNr YW1pIGJvIHRlIHZlY251JycgaXMgcmVhZCAnJ3Zham5pJycgKCcnbWVya28gYm8nJyAoJydza2Ft aSBibyB0ZSB2ZWNudScnKSkgYW4g4oCcaW1wb3J0YW50IChBbWVyaWNhbiBjb21wdXRlci1idXll cinigJ0sIHdoaWNoIGlzIGV2ZW4gbW9yZSBhcHByb3ByaWF0ZSBpbiB0aGUgc2l0dWF0aW9uLgoK X18nJ2JvJydfXyBCaW5kcyB0d28gc2VsYnJpIHRvZ2V0aGVyIHN0cm9uZ2x5LgoKCgpIb3cgd291 bGQgeW91IHNheSDigJxUaGF04oCZcyBhIHRhc3R5IHllbGxvdyBhcHBsZeKAnT8KCl9fJydrdWt0 ZScnX18geDEgaXMgdGFzdHkgZm9yIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBrdWt0 ZSBwZWx4dSBibyBwbGlzZScnfn4KCgoKV2hhdCBhYm91dCDigJ1UaGF04oCZcyBhIGJpZywgdGFz dHkgeWVsbG93IGFwcGxl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJkYSBrdWt0 ZSBibyBwZWx4dSBibyBwbGlzZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlzIGlzIHRv IHVzZSB0aGUgd29yZHMgJydrZeKApmtl4oCZZScnLiBUaGVzZSBjYW4gYmUgY29uc2lkZXJlZCBh cyBlcXVpdmFsZW50IHRvIHRoZSBwYXJlbnRoZXNpc2VzIHVzZWQgaW4gdGhlIHBhcmFncmFwaCBh Ym92ZS4gJydrZScnIGJlZ2lucyBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLCAnJ2tl4oCZZScnIGVu ZHMgaXQuCgpfXycna2UnJ19fIOKAkyBiZWdpbiBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKX18n J2tl4oCZZScnX18g4oCTIGVuZCBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3Ro IG9mIHRoZSBiaW5kaW5nIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUs ICcnbWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAn J21pIHZham5pIGtlIG1lcmtvIGtlIHNrYW1pIHRlIHZlY251IHtrZeKAmWV9IHtrZeKAmWV9Jycu CgpIb3cgY291bGQgeW91IHNheSDigJxJ4oCZbSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhv bWVzP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkg dmVjbnUnJ35+CgoKCldoaWxlIHdl4oCZcmUgYXQgbWVzc2luZyB3aXRoIHRoZSBvcmRpbmFyeSB0 YW5ydSBzdHJ1Y3R1cmUsIHRoZXJlIGlzIGFub3RoZXIgd29yZCB3b3J0aCBwYXlpbmcgYXR0ZW50 aW9uIHRvLiBJZiBJIHdhbnQgdG8gc2F5IHRoYXQgSeKAmW0gYSBwcm9mZXNzaW9uYWwgdHJhbnNs YXRvciwgSSBjb3VsZCBzYXkgJydtaSBmYW52YSBzZSBqaWJyaScnLgoKX18nJ2ppYnJpJydfXyB4 MSBpcyBhIGpvYiBvZiB4MgoKX18nJ2RvdHliYXUnJ19fIHgxIGlzIEdlcm1hbiB1c2VkIGJ5IHgy IHRvIHNheSB4MwoKX18nJ2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2VkIGJ5IHgyIHRvIHNh eSB4MwoKSWYgSSB3YW50ZWQgdG8gc2F5IHRoYXQgSeKAmW0gYSBwcm9mZXNzaW9uYWwgdHJhbnNs YXRlciBmcm9tIEVuZ2xpc2ggdG8gR2VybWFuLCBJ4oCZZCBoYXZlIHRvIG1lc3MgYXJvdW5kIHdp dGggJydiZScnIGFuZCAnJ2JlaScnOiAnJ21pIGZhbnZhIGJlIGxlIGRvdHliYXUgYmVpIGxlIGds aWJhdSBiZeKAmW8gc2UgamlicmknJywgYW5kIHRoZSBmYWN0IHRoYXQgaXQgd2FzIGEgdGFucnUg Y291bGQgcXVpY2tseSBiZSBsb3N0IGluIHNwZWVjaCBkdWUgdG8gdGhlIGNvbXBsaWNhdGVkIHN0 cnVjdHVyZSBvZiB0aGUgc2VudGVuY2UuIEhlcmUsIHdlIGNhbiB1c2UgdGhlIHdvcmQgJydjbycn LiBpdCBpbnZlcnRzIHRoZSB0YW5ydSwgbWFraW5nIHRoZSByaWdodG1vc3Qgc2VsYnJpIG1vZGlm eSB0aGUgbGVmdG1vc3QgaW5zdGVhZCBvZiB0aGUgb3RoZXIgd2F5IGFyb3VuZDoKCicnbWkgc2Ug amlicmkgY28gZmFudmEgbGUgZG90eWJhdSBsZSBnbGliYXUnJyBpcyB0aGUgc2FtZSBicmlkaSBh cyB0aGUgcHJldmlvdXMgTG9qYmFuIG9uZSwgYnV0IG11Y2ggbW9yZSBlYXN5IHRvIHVuZGVyc3Rh bmQuIE5vdGljZSB0aGF0IGFueSBzdW10aSBiZWZvcmUgdGhlIHRhbnJ1IGZpbGxzICcnc2Ugamli cmknJywgd2hpbGUgYW55IGZvbGxvd2luZyBpdCBvbmx5IGZpbGxzIHRoZSBtb2RpZnlpbmcgc2Vs YnJpOiAnJ2ZhbnZhJycuCgpfXycnY28nJ19fIEludmVydCB0YW5ydS4gQW55IHByZXZpb3VzIHN1 bXRpIGZpbGwgdGhlIG1vZGlmaWVkLCBhbnkgZm9sbG93aW5nIGZpbGwgdGhlIG1vZGlmaWVyLgoK CgpUaGUgc3RyZW5ndGggYnkgd2hpY2ggdHdvIHNlbGJyaSBhcmUgYm91bmQgdG9nZXRoZXIgd2l0 aCBjbyBpcyB2ZXJ5IHdlYWsg4oCTIGV2ZW4gd2Vha2VyIHRoYW4gbm9ybWFsIHRhbnJ1IGdyb3Vw aW5nIHdpdGhvdXQgYW55IGdyb3VwaW5nIHdvcmRzLiBUaGlzIG1ha2VzIHN1cmUgdGhhdCwgaW4g YSBjby1jb25zdHJ1Y3QsIHRoZSBsZWZ0bW9zdCBzZWxicmkgaXMgYWx3YXlzIHRoZSBzZWxicmkg YmVpbmcgbW9kaWZpZWQsIGFuZCB0aGUgcmlnaHRtb3N0IGFsd2F5cyBtb2RpZmllcywgZXZlbiBp ZiBhbnkgb2YgdGhvc2UgcGFydHMgYXJlIHRhbnJ1LiBUaGlzIG1ha2VzIGEgY28tY29uc3RydWN0 IGVhc3kgdG8gcGFyc2U6CgonJ3RpIHBlbHh1IHBsaXNlIGNvIGt1a3RlJycgaXMgcmVhZCAnJ3Rp JycgKCcncGVseHUgcGxpc2UnJykgJydjbyBrdWt0ZScnLCB3aGljaCBpcyB0aGUgc2FtZSBhcyAn J3RpIGt1a3RlIHBlbHh1IGJvIHBsaXNlJycuIFRoaXMgYWxzbyBtZWFucyB0aGF0IGEgJydrZeKA pmtl4oCZZScnIGNhbm5vdCBlbmNvbXBhc3MgYSAnJ2NvJycuCgpUaGUgY21hdm8gb2YgdGhlIHNl bG1hJ28gR0loQSwgdGhlIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2 ZXMsIGhvd2V2ZXIsIGJpbmRzIGV2ZW4gbG9vc2VyIHRoYW4gJydjbycnLiBUaGlzIGlzIGluIG9y ZGVyIHRvIHRvdGFsbHkgYXZvaWQgY29uZnVzaW9uIGFib3V0IHdoaWNoIHNlbGJyaSBiaW5kcyB0 byB3aGljaCBpbiBhIEdJaEEtY29uc3RydWN0LiBUaGUgYW5zd2VyIGlzIHNpbXBsZTogVGhlIEdJ aEEgbmV2ZXIgZW1jb21wYXNzZXMgYW55IHNlbGJyaS1ncm91cHMuCgoKCkhvdyBjYW4geW91IGV4 cHJlc3Mg4oCdSSBhbSBhbiBpbXBvcnRhbnQgQW1lcmljYW4gYnV5ZXIgb2YgY29tcHV0ZXJz4oCd IHVzaW5nIGEgJydjbycnPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgc2thbWkgdGUgdmVj bnUgY28gdmFqbmkgbWVya28nJ35+CgoKCklmIGl04oCZcyBvZiBhbnkgdXNlLCB0aGlzIGlzIHRo ZSBsaXN0IG9mIGRpZmZlcmVudCBraW5kIG9mIHNlbGJyaSBncm91cGVycyByYW5rZWQgYnkgc3Ry ZW5ndGg6CgoKCjEuICAgICcnYm8nJyBhbmQgJydrZS4ua2XigJllJycKCgoKMi4gICAgbG9naWNh bCBjb25uZWN0aXZlcyBvdGhlciB0aGFuIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwg Y29ubmVjdGl2ZXMgKGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5v IGdyb3VwaW5nIHdvcmRzCgoKCjQuICAgICcnY28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVy dGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzIChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkK CgoKVGhlIHJlc3Qgb2YgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5n LCBidXQgbXVjaCBsaWtlIGxlc3NvbiBzZXZlbnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywg d2hpY2ggY2FuIGJlIG9mIHVzZS4KCgoKJydibycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2Vl bXMgc2VwYXJhdGUgZnJvbSBzZWxicmkgZ3JvdXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10 Y2l0YSB0byBhbiBlbnRpcmUgYnJpZGksIHNvIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRj aXRhIGlzIG5vdCBhIHN1bXRpLCBidXQgdGhlIGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0 IGV4cGxhaW5lZCB3aXRoIGFuIGV4YW1wbGUuCgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgon J21pIGRhcnhpIGRvIC5pIG114oCZaSBibyBtaSBkbyB4ZWJuaScnIOKAkyDigJxJIGhpdCB5b3Us IHdpdGggbW90aXZhdGlvbiB0aGF0IEkgaGF0ZSB5b3Uu4oCdIEhlcmUgdGhlICcnYm8nJyBiaW5k cyAnJ2114oCZaScnIHRvIHRoZSBmb2xsb3dpbmcgYnJpZGkuCgpUaGlzIGlzIHdoZXJlIHRoZSB0 ZWNobmljYWwgZGlmZmVyZW5jZSBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10 Y2l0YSBpcyByZWxldmFudC4gWW91IHNlZSwgd2hlbiBiaW5kaW5nIGEgbm9ybWFsIHN1bXRjaXRh IHRvIGEgYnJpZGkgd2l0aCAnJ2JvJycsIGl0IG1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyBicmlk aSBzb21laG93IGZpdHMgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhLiBGb3Ig dGhlIHJlYXNvbiBvZiBHb2QgS25vd3MgV2h5LCBiaW5kaW5nIG9uZSBvZiB0aGUgd29yZHMgJydi YScnIG9yICcncHUnJyB0byBhIGJyaWRpIGhhcyB0aGUgZXhhY3Qgb3Bwb3NpdGUgZWZmZWN0LiBG b3IgZXhhbXBsZSwgaW4gdGhlIGJyaWRpICcnbWkgZGFyeGkgZG8gLmkgYmEgYm8gZG8gY2luamlr Y2EnJywgb25lIHdvdWxkIGFzc3VtZSB0aGF0IHRoZSBzZWNvbmQgYnJpZGkgaXMgc29tZWhvdyBm aWxsZWQgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgJydiYScnLCBtZWFuaW5nIHRoYXQgdGhlIGJy aWRpIGZpcnN0IHV0dGVyZWQgdG9vayBwbGFjZSBpbiB0aGUgZnV0dXJlIG9mIHRoZSBzZWNvbmQg YnJpZGkuIFRoYXQncyBub3QgdGhlIGNhc2UsIGhvd2V2ZXIsIGFuZCB0aGUgY29ycmVjdCB0cmFu c2xhdGlvbiBvZiB0aGF0IHV0dGVyYW5jZSB3b3VsZCBiZSAiSSBoaXQgeW91LiBBZnRlcndhcmRz LCB5b3UgZmxpcnQiLiBUaGlzIHdlaXJkIHJ1bGUgaXMgYWN0dWFsbHkgb25lIG9mIHRoZSBtYWlu IG9ic3RhY2xlcyB0byBhIHVuaWZpY2F0aW9uIG9mIGFsbCBzdW10Y2l0YSBpbnRvIG9uZSBzaW5n bGUgd29yZCBjbGFzcy4KCgoKVGhlIHVub2ZmaWNpYWwgd29yZCAnJ21l4oCZb2knJyBpcyBlcXVp dmFsZW50IHRvIG1lIGxh4oCZZSAnJ3pv4oCZb2knJywgd2hpY2ggbWVhbnMgdGhhdCBpdCBjb252 ZXJ0cyB0aGUgY29udGVudCBvZiB0aGUgbmV4dCB3b3JkIGludG8gYSBzZWxicmkuIEl0IGlzIHVz ZWQgdG8gaW52ZW50IGJyaXZsYSBvbiB0aGUgZmx5OiAnJ21pIGNhIHpnYW5hIGxhIG1l4oCZb2kg WC1maWxlcycnIGZvciDigJxJIG5vdyB3YXRjaCBYLWZpbGVz4oCdLiBMaWtlIGFsbCBxdW90ZSBu ZXh0IHdvcmQtY21hdm8sIGl0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIG9mZmljaWFsIGdyYW1t YXIsIGJ1dCB0byB0aGUgbGF6eSBMb2piYW5pc3QsIGl04oCZcyBpbnZhbHVhYmxlLgoKCgpUaGUg d29yZCAnJ2dpJycgaXMgc3RyYWdlIGtpbmQgb2YgYnJpZGkgc2VwYXJhdG9yLCBhbmFsb2dvdXMg dG8gJycuaScnLCBidXQgdG8gbXkga25vd2xlZGdlLCBpdCBpcyB1c2VkIGluIG9ubHkgdHdvIGRp ZmZlcmVudCBraW5kcyBvZiBjb25zdHJ1Y3RzOiBNb3N0IG9mdGVuIHdpdGggbG9naWNhbCBjb25u ZWN0aXZlcywgZXhwbGFpbmVkIGluIGxlc3NvbiB0d2VudHktZml2ZSwgYnV0IGFsc28gd2l0aCBz dW10Y2l0YS4gV2l0aCBzdW10Y2l0YSBpdCBjcmVhdGVzIGEgdXNlZnVsLCBidXQgaGFyZGx5IHNl ZW4sIGNvbnN0cnVjdDoKCicnbXXigJlpIGdpIEJSSURJLTEgZ2kgQlJJREktMicnLCB3aGljaCBp cyBlcXVpdmFsZW50IHRvICcnQlJJREktMiAuaSBtdeKAmWkgYm8gQlJJREktMScnLiBUaGVyZWZv cmUsIHRoZSBleGFtcGxlIGFib3ZlLCB3aGljaCBleHBsYWluZWQgd2h5IEkgaGl0IHlvdSwgY2Fu IGJlIHdyaXR0ZW4gJydtdeKAmWkgZ2kgbWkgeGVibmkgZG8gZ2kgbWkgZGFyeGkgZG8nJywgb3Ig dG8gcHJlc2VydmUgdGhlIHNhbWUgb3JkZXIgYXMgdGhlIG9yaWdpbmFsIHNlbnRlbmNlLCB3ZSBj YW4gY29udmVydCAnJ2114oCZaScnIHdpdGggJydzZScnOiAnJ3NlIG114oCZaSBnaSBtaSBkYXJ4 aSBkbyBnaSBtaSB4ZWJuaSBkbycnLgoKSXQgaXMgaW4gZXhhbXBsZXMgbGlrZSB0aGlzIHRoYXQg JydnaScnIHJlYWxseSBjYW4gc2hvdyBpdHMgdmVyc2F0aWxpdHkuIEl0IGRvZXMgbm90IGp1c3Qg c2VwYXJhdGUgdHdvIGJyaWRpIGxpa2UgJycuaScnIGRvZXMsIGJ1dCBjYW4gYWxzbyBzZXBhcmF0 ZSB0d28gY29uc3RydWN0cyB3aXRoaW4gYSBicmlkaSwgbWFraW5nIGFsbCBjb25zdHJ1Y3RzIG91 dHNpZGUgdGhlIHNjb3BlIG9mICcnZ2knJyBhcHBseSB0byBib3RoIGJyaWRpLCBhcyB0aGlzIGV4 YW1wbGUgZGVtb25zdHJhdGVzOgoKX18nJ2NpbmJhJydfXyB4MSBraXNzZXMgeDIgYXQgbG9jdXMg eDMKCgoKJydtaSBnaSBwcmFtaSBkbyBnaSBjaW5iYSBkbycnIGxlYXZlcyBtaSBvdXRzaWRlIHRo ZSBjb25zdHJ1Y3QsIG1ha2luZyBpdCBhcHBseSB0byBib3RoIGJyaWRpLiBUaGlzIGNhbiBhbHNv IGJlIGRvbmUgd2l0aCAnJ2RvJycsIHdoaWNoIGlzIGFsc28gcHJlc2VudCBpbiBicm90aCBicmlk aTogJydtaSBnaSBwcmFtaSBnaSBjaW5iYSB2YXUgZG8nJy4gTm90ZSB0aGF0ICcndmF1JycgaXMg bmVlZGVkIHRvIG1ha2UgZG8gYXBwZWFyIG91dHNpZGUgdGhlIHNlY29uZCBicmlkaS4KCgoKVGh1 cywgd2UgY2FuIHdyaXRlIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBzaG9ydGVyOiAnJ21pIG114oCZ aSBnaSB4ZWJuaSBnaSBkYXJ4aSB2YXUgZG8nJywgb3IsIHRvIG9taXQgZXZlbiB0aGUgJyd2YXUn Jywgd2UgY2FuIHdyaXRlIGl0IGV2ZW4gc2hvcnRlciBhbmQgbW9yZSBlbGVnYW50bHk6ICcnbWkg ZG8gbXXigJlpIGdpIHhlYm5pIGdpIGRhcnhpJycKCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIHR3ZW50eS1vbmUgKENPSSkKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBmYW1pbGlhcml6 ZSB5b3Vyc2VsZiB3aXRoIHZvY2F0aXZlcywgb3IgJydtYeKAmW9pIGNvaScnLiBUaGV5IGdldCB0 aGVpciBvd24gbGVzc29uLCBub3QgYmVjYXVzZSB1bmRlcnN0YW5kaW5nIHRoZXNlIHByb3ZpZGVz IGEgYmFzaXMgZm9yIHVuZGVyc3RhbmRpbmcgTG9qYmFuIGdyYW1tYXIgaW4gZ2VuZXJhbCwgb3Ig YmVjYXVzZSB0aGV5IGFyZSBoYXJkIHRvIHVuZGVyc3RhbmQsIGJ1dCByYXRoZXIgYmVjYXVzZSB0 aGV5IGFyZSB2ZXJ5IG9mdGVuIHVzZWQgaW4gY2FzdWFsIHNwZWVjaCwgYW5kIHRoZXJlIGFyZSBh IGxvdCBvZiB0aGVtLgoKQSB2b2NhdGl2ZSBpcyB1c2VkIHBhcnRseSB0byBkZWZpbmUgd2hvICcn ZG8nJyByZWZlcnMgdG8uIElmIHRoZSB2b2NhdGl2ZSBpcyBmb2xsb3dlZCBieSBhIGNtZXZsYSwg dGhlIGNtZXZsYSBnZXRzIGFuIGltcGxpZWQgbGEgaW4gZnJvbnQgb2YgaXQuIElmIGEgc2VsYnJp IGZvbGxvd3MsIGEgJydsZScnIGlzIHVzZWQgYXMgYSBnYWRyaSBpbnN0ZWFkLgoKSW4gdGhlc2Ug ZXhhbXBsZXMsIEkgd2lsbCB1c2UgdGhlIHZvY2F0aXZlICcnY29pJycsIHdpdGggbWVhbnMg4oCc SGnigJ0gb3Ig4oCcSGVsbG/igJ0uCgpJZiBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSArIFNFTEJS SScnLCB1c2luZyBhIHZvY2F0aXZlIHdpdGggb25seSB0aGUgc2VsYnJpIHRvIGFkZHJlc3MgdGhh dCBwZXJzb24gd2lsbCBtZWFuIHlvdSByZWZlciB0byBoZXIgYXMgYWN0dWFsbHkgYmVpbmcgdGhl IHgxIG9mIHRoYXQgc2VsYnJpLCB3aGljaCBpcyBvZnRlbiB3cm9uZy4gSWYsIGZvciBpbnN0YW5j ZSwgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgdHNhbmknJywg4oCcU2t54oCdLCBzYXlpbmcgJydj b2kgdHNhbmknJyByZWZlcnMgdG8gaGVyIGFzIGEgJydsZSB0c2FuaScnLCBtZWFuaW5nIOKAnEhp LCB5b3Ugc2t54oCdLCB3aGlsZSAnJ2NvaSBsYSB0c2FuaSBjb3JyZWN0bHknJyByZWZlcnMgdG8g aGVyIGFzIHNvbWVvbmUgY2FsbGVkICJTa3kiLCBtZWFuaW5nIOKAnEhpIFNreeKAnS4gVGhpcyBp cyBhIGZyZXF1ZW50IG1pc3Rha2UsIGVzcGVjaWFsbHkgYW1vbmcgbmV3IExvamJhbmlzdHMuCgpB bGwgdm9jYXRpdmVzIGhhdmUgYSBmYSdvcm1hJ28gd2hpY2ggaXMgc29tZXRpbWVzIHJlcXVpcmVk LiBUaGlzIGlzICcnZG/igJl1JycuIEl04oCZcyBtb3N0bHkgdXNlZCBpZiBib3RoIHRoZSBmaXJz dCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBsYXN0IHdvcmQgb2YgdGhl IHBocmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBmb3JtaW5nIGEgdGFucnU6 CgoKCl9fJydkb+KAmXUnJ19fIEVuZCB2b2NhdGl2ZSBwaHJhc2UuIFVzdWFsbHkgZWxpZGFibGUu CgpfXycna2xha3UnJ19fIHgxIGNyaWVzIHgyICh0ZWFycykgZm9yIHJlYXNvbiB4MwoKJydjb2kg bGEgZ2xla2kgZG/igJl1IGtsYWt1IGZpIG1hJycg4oCdSGVsbG8gSGFwcHkuIFdoeSBjcnk/4oCd CgoKClRoZSBnZW5lcmljIHZvY2F0aXZlLCAnJ2RvaScnLCBkb2VzIG5vdGhpbmcgZXhjZXB0IGRl ZmluaW5nIHdobyBpcyBiZWluZyByZWZlcnJlZCB0byBieSAnJ2RvJyc6CgonJ2RvaSAuZXJuc3Qu IHh1IGRvIGRvdGNvIG1lcmtvJycg4oCcRXJuc3Q6IEFyZSB5b3UgYSBHZXJtYW4tQW1lcmljYW4/ 4oCdCgoKCkFsbCB0aGUgb3RoZXIgdm9jYXRpdmVzIGhhdmUgc29tZSBjb250ZW50IGJlc2lkZSBk ZWZpbmluZyAnJ2RvJycuICcnY29pJycsIHdoaWNoIHlvdSBrbm93LCBhbHNvIG1lYW5zIOKAnEhl bGxv4oCdLCBmb3IgZXhhbXBsZS4gTWFueSBvZiB0aGUgdm9jYXRpdmVzIGhhdmUgdHdvIG9yIHRo cmVlIGRlZmluaXRpb25zIGxpa2UgdGhlIGF0dGl0dWRpbmFscy4gTGlrZSBhdHRpdHVkaW5hbHMs IHRoaXMgaXMgYmVjYXVzZSB0aGV5IGNhbiBiZSBtb2RpZmllZCB3aXRoICcnY3XigJlpJycgYW5k ICcnbmFpJycsIHRob3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3XigJlpJyctZm9y bSBkZWZpbmVkLgoKU29tZSBpbXBvcnRhbnQgdm9jYXRpdmVzIGFyZSBsaXN0ZWQgaW4gdGhlIHRh YmxlIGJlbG93LiBUaGVyZSBhcmUgb3RoZXJzLCBidXQgdGhvc2UgYXJlIG5vdCB1c2VkIG11Y2gu Cgp8fHZvY2F0aXZlfFdpdGhvdXQgc3VmZml4fC1jdeKAmWl8LW5haQoKY29pfEhlbGxvfC18LQoK Y2/igJlvfEdvb2RieWUJfC18LQoKamXigJllfFVuZGVyc3Rvb2QgLyBPS3wtfE5vdCB1bmRlcnN0 b29kCgpmaeKAmWl8V2VsY29tZXwtfE5vdCB3ZWxjb21lIGhlcmUKCnBl4oCZdXxQbGVhc2V8LXwt CgpraeKAmWV8VGhhbmtzfC18RGlzYXBwcmVjaWF0aW9uCgpyZeKAmWl8UmVhZHkgdG8gcmVjaWV2 ZXwtfE5vdCByZWFkeQoKanXigJlpfEhleSF8QXQgZWFzZXxJZ25vcmUgbWUKCnRh4oCZYXxJbnRl cnJ1cHRpb258LXwtCgp2aeKAmW98V2lsbCBkb3wtfFdpbGwgbm90IGRvCgprZeKAmW98UGxlYXNl IHJlcGVhdHwtfE5vIHJlcGVhdCBuZWVkZWQKCmtpJ2FpfHdlbGwtd2lzaHwtfGN1cnNlfHwKCk5v dGljZSB0aGF0ICcna2knYWknJyBpcyBleHBlcmltZW50YWwKCgoKCgpXaGF0IHdvdWxkICcnY29p IGNv4oCZbycnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcR3JlZXRpbmdzIGluIHBh c3NpbmfigJ0gb3Ig4oCcSGVsbG8gYW5kIEdvb2RieWXigJ1+fgoKCgonJ2pl4oCZZScnIGlzIHVz ZWQgYXMg4oCcT0vigJ0sIGJ1dCBhbHNvIHRoZSBhcHByb3ByaWF0ZSByZXNwb25zZSB3aGVuIHJl Y2VpdmluZyBwcmFpc2Ugb3IgdGhhbmtzIChhdCBsZWFzdCwgaWYgeW91IHdhbnQgdG8gYmUgbW9k ZXN0KSwgYXMgaXQgaW5kaWNhdGVzIHRoYXQgdGhlIHByYWlzZSBvciB0aGFua3Mgd2FzIHN1Y2Nl c3NmdWxseSB1bmRlcnN0b29kLgoKCgpUcmFuc2xhdGUgJydraeKAmWUgc2lkanUgYmUgbWkgYmVp IGxvIHZham5pIC5pIGpl4oCZZSAuamVuaWZ5bi4nJwoKX18nJ3NpZGp1JydfXyB4MSBoZWxwcyB4 MiBkbyB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYW5rcywgeW91IGhlbHBlciBvZiBt ZSB0byBkbyBzb21ldGhpbmcgaW1wb3J0YW50LuKAnSDigJxObyBwcm9ibGVtLCBKZW5uaWZlcuKA nX5+CgoKCkFuZCAnJ2Zp4oCZaSB0ZSB2ZWNudSAuaSBwZeKAmXUga28gY2l0a2EnJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnVdlbGNvbWUsIGJ1eWVyLiBQbGVhc2UgZWF0IeKAnX5+CgoKCicn cmXigJlpJycgaXMgdXNlZCB0byBzaWduYWwgdGhhdCB5b3UgYXJlIHJlYWR5IHRvIGJlIHNwb2tl biB0by4gSXQgY2FuIGJlIHVzZWQgYXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIOKAnFdoYXQg Y2FuIEkgZG8gZm9yIHlvdT/igJ0gb3IgcGVyaGFwcyByZXBsYWNlIOKAnEhlbGxv4oCdLCB3aGVu IHNwZWFraW5nIG9uIGEgcGhvbmUuICcncmXigJlpIG5haScnIGNhbiBtZWFuIOKAnEFGS+KAnSBv ciDigJxCZSB0aGVyZSBpcyBhIHNlY29uZC7igJ0KCgoKVHJhbnNsYXRlOiDigJxIZWxsbywgd2hh dCBjYW4gSSBkbyBmb3IgeW91LCBJbnRlcnByZXRlci9UcmFuc2xhdGVyP+KAnQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnY29pIHJl4oCZaSBsYSBmYW52YScnfn4KCgoKJyd0YeKAmWEnJyBpcyB1 c2VkIHdoZW4gYXR0ZW1wdGluZyB0byBwb2xpdGVseSBpbnRlcnJ1cHQgc29tZW9uZSBlbHNlLiBX aGF0IHdvdWxkIGJlIGdvb2QgcmVzcG9uc2VzIHRvIHRoaXM/CgoKClRyYW5zbGF0ZTogJyd0YeKA mWEgcm8gZG8gbWkgY2/igJlhIGNsaXZhJycKCl9fJydjbGl2YScnX18geDEgbGVhdmVzIHgyIHZp YSByb3V0ZSB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEV4Y3VzZSBtZSBmb3IgaW50ZXJy dXB0aW5nLCBldmVyeW9uZS4gSSBiZWdpbiB0byBsZWF2ZSBub3figJ0gTm90aWNlIHRoYXQgbm8g ZmEnb3JtYSdvIG9yICcnLmknJyBpcyBuZWVkZWQufn4KCgoKJydrZeKAmW8nJyBpcyB1c2VkIGEg bG90IHdoZW4gaW5leHBlcmllbmNlZCBMb2piYW5pc3RzIHNwZWFrIHRvZ2V0aGVyIHZvY2FsbHku IEl04oCZcyBxdWl0ZSBhIGhhbmR5IHdvcmQKCl9fJydzdXRyYScnX18geDEgaXMgcXVpY2sgYXQg ZG9pbmcgeDIKCgoKVHJhbnNsYXRlOiAnJy55IGtl4oCZbyBzdXRyYSB0YXZsYScnCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcVWgsIFBsZWFzZSByZXBlYXQsIHlvdSBxdWljayBzcGVha2VyLuKA nX5+CgoKCkFuZCDigJxPa2F5IG9rYXksIEkgZ290IGl0IGFscmVhZHkhIEnigJlsbCBkbyBpdCHi gJ0KCgoKQW4gYW5zd2VyOiB+fmdyZXksZ3JleTonJ2tl4oCZbyBuYWkgLnVpIG5haSB2aeKAmW8n J35+CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXR3byAocXVhbnRpZnlpbmcg c3VtdGkpCgpNb3N0IG90aGVyIGxlYXJuaW5nIG1hdGVyaWFscyBzdWNoIGFzIFRoZSBDb21wbGV0 ZSBMb2piYW4gTGFuZ3VhZ2UgYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzIHdlcmUgd3JpdHRlbiBi ZWZvcmUgdGhlIG9mZmljaWFsIGFkb3B0YXRpb24gInhvcmxvIiwgYSBjaGFuZ2UgaW4gdGhlIHJ1 bGVzIGFib3V0IGdhZHJpIGRlZmluaXRpb24gYW5kIGdhZHJpIHF1YW50aWZpY2F0aW9uLiBUaGUg b2Jzb2xldGVuZXNzIG9mIHNvbWUgb2YgdGhlIHRleHQgaW4gdGhlIG9sZGVyIGxlYXJuaW5nIG1h dGVyaWFscyB3YXMgYSBtYWpvciBjYXVzZSBmb3IgdGhlIG1vdGl2YXRpb24gdG8gd3JpdGUgdGhl c2UgbGVzc29ucy4gVW5mb3J0dW5hdGVseSBmb3IgbWUsIHF1YW50aWZpY2F0aW9uIG9mIHN1bXRp IGNhbiBiZWNvbWUgYSB2ZXJ5IGNvbXBsZXggdG9waWMgd2hlbiB0aGUgaW1wbGljYXRpb25zIG9m IGNlcnRhaW4gcnVsZXMgYXJlIGRpc2N1c3NlZCBpbiBkZXRhaWwuIEluIG9yZGVyIHRvIGZ1bGZp bGwgdGhlIGdvYWwgb2YgdGhpcyB0ZXh0IGJlaW5nIGFjY3VyYXRlIGVub3VnaCB0byByZXByZXNl bnQgdGhlIG9mZmljaWFsICJnb2xkIHN0YW5kYXJkIiBCUEZLIHJ1bGVzLCB0aGlzIGNoYXB0ZXIg d2FzIGFtb25nIHRoZSBsYXN0IG9uZXMgZmluaXNoZWQgYW5kIHRoZSBvbmVzIG1vc3QgZnJlcXVl bnR5IHJld3JpdHRlbi4gSSBzdHJvbmdseSBlbmNvdXJhZ2UgYW55b25lIHdobyBmaW5kcyBtaXN0 YWtlcyBpbiB0aGlzIHRleHQgdG8gY29udGFjdCBtZSBpbiBvcmRlciBmb3IgdGhlbSB0byBiZSBj b3JyZWN0ZWQuCgpIYXZpbmcgc2FpZCB0aGF0IGRpc2NsYWltZXIsIGxldCdzIGdldCBzdGFydGVk OgoKVGhlIGZpcnN0IGNvbmNlcHQgeW91IHNob3VsZCBrbm93IGFib3V0IGlzICJkaXN0cmlidXRp dml0eSIuIEluIGxlc3NvbiBmb3VydGVlbiBpIHVzZWQgdGhlIHdvcmQgImluZGl2aWR1YWxzIiBh Ym91dCBhIGdyb3VwIG9mIG9iamVjdHMgY29uc2lkZXJlZCBkaXN0cmlidXRpdmVseS4gQSBkaXN0 cmlidXRpdmUgZ3JvdXAgJydrbydhJycgaXMgZm9yIGFueSBzZWxicmkgJydicm9kYScnIGEgZ3Jv dXAgc3VjaCB0aGF0LCBpZiAnJ2tvJ2EgYnJvZGEnJyBpcyB0cnVlLCBpdCBtZWFucyB0aGF0IGV2 ZXJ5IG1lbWJlciBvZiB0aGUgZ3JvdXAgYWxzbyBpcyBjaGFyYWN0ZXJpemVkIGJ5ICcnYnJvZGEn Jy4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gbm9uLWRpc3RyaWJ1dGl2aXR5ICh3aGljaCBt YXNzZXMgaGF2ZSksIGluIHdoaWNoIHRoZSBncm91cCBoYXMgb3RoZXIgcHJvcGVydGllcyB0aGFu IGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGRvLiBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBkaXN0 cmlidXRpdml0eSAoaW5kaXZpZHVhbC1saWtlKSBhbmQgbm9uLWRpc3RyaWJ1dGl2aXR5IChtYXNz LWxpa2UpIGlzIG9mIHJlbGV2YW5jZSB3aGVuIHF1YW50aWZ5aW5nIHN1bXRpLgoKTGV0IHVzIGZp cnN0IGNvbnNpZGVyIGhvdyBvbmUgY2FuIHF1YW50aWZ5IGRlY3JpcHRpb24gc3VtdGksIHdoaWNo IGFyZSBzdW10aSBvZiB0aGUgZm9ybSBHQURSSSBCUklWTEEuIFRoZSBudW1iZXIgc3RyaW5nIHdo aWNoIGRvZXMgdGhlIHF1YW50aWZpY2F0aW9uIGNhbiBiZSBwbGFjZWQgYmVmb3JlIHRoZSBnYWRy aSwgaW4gd2hpY2ggY2FzZSBpdCBpcyByZWZlcnJlZCB0byBhcyBhbiBfX291dGVyIHF1YW50aWZp ZXJfXywgYW5kIGl0IGNhbiBiZSBwbGFjZWQgYmV0d2VlbiB0aGUgZ2FkcmkgYW5kIHRoZSBicml2 bGEsIGluIHdoaWNoIGNhc2UgaXQncyBhbiBfX2lubmVyIHF1YW50aWZpZXJfXy4gQW55IGtpbmQg b2YgbnVtYmVyIHN0cmluZyBjYW4gYWN0IGFzIGEgcXVhbnRpZmllci4KClRoZSBydWxlcyBmb3Ig aG93IGlubmVyIGFuZCBvdXRlciBxdWFudGlmaWVycyBhZmZlY3RzIHN1bXRpIGRlcGVuZCBvbiB0 aGUga2luZCBvZiBnYWRyaSB3aGljaCBpcyB1c2VkOgoKCgotIC0nJ2xvJycgYW5kICcnbGUnJy0g LSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55IG9iamVjdHMgYXJlIGJlaW5n IHNwb2tlbiBvZiAtIGhvdyBtYW55IG9iamVjdHMgYXJlIGluIHRoZSBkaXNjb3Vyc2UgdG90YWwu IElmIGFuIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgdGhlIHN1bXRpIGlzIGRpc3RyaWJ1 dGVkIG92ZXIgdGhhdCBhbW91bnQgb2Ygb2JqZWN0cy4gQXMgc3RhdGVkIGVhcmxpZXIsIGlmIG5v IG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQncyB2YWd1ZSBob3cgbWFueSBvYmplY3Rz IHRoZSBzZWxicmkgYXBwbGllcyB0byAodGhvdWdoIG5vdCBub25lKSwgYW5kIHdoZXRoZXIgaXQg ZG9lcyBzbyBkaXN0cmlidXRpdmVseSBvciBub24tZGlzdHJpYnV0aXZlbHkuIEV4YW1wbGVzIGFy ZSBhbHdheXMgYSBnb29kIGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CgonJ211IGxvIG11IGJha25p IGN1IHNlIGppcm5hJycgLSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIFRlbGxzIHVzIHRo YXQgd2Ugc3BlYWsgYWJvdXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91dGVyIHF1 YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBmb3IgZWFj aCBvZiB0aGUgZml2ZS4gVGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNvd3MgaGFk IGhvcm5zIi4gCgpfXycnYmFrbmknJ19fIHgxIGlzIGEgY293L294L2NhdHRsZS9jYWxmIGV0YyBv ZiBicmVlZCB4MgoKX18nJ2ppcm5hJydfXyB4MSBpcyB0aGUgaG9ybiBvZiB4MiAobWV0YXBob3I6 IGFueSBwb2ludGVkIGV4dHJlbWl0eSkKCgoKV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcgYnJpZGkg bWVhbj8KCicnbG8gcnUndXJndWJ1cHUgYmUgbGkgcmUgcGkgemUgbXUgY3UgamRpbWEgbG8gcGEg cmUgc292ZGEnJwoKX18nJ3J1J3VyZ3VidXB1JydfXyB4MSBpcyBtZWFzdXJlcyB0byBiZSB4MiBC cml0aXNoIHBvdW5kcyAoR0JQKQoKX18nJ2pkaW1hJydfXyB4MSBpcyB0aGUgcHJpY2Ugb2YgeDIg dG8gYnV5ZXIgeDMgc2V0IGJ5IHZlbmRvciB4NAoKX18nJ3NvdmRhJydfXyB4MSBpcyBhIGdhbWV0 ZSAoZWdnL3NwZXJtKSBvZiB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlR3ZWx2ZSBlZ2dzIGNv c3QgMi43NSBCcml0aXNoIHBvdW5kcyIgd2hpY2gsIGFzIHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9u LCBjb3VsZCBtZWFuIGJvdGggdGhhdCB0aGV5IGNvc3QgMi43NSBlYWNoIChkaXN0cmlidXRpdmVs eSkgb3IgdGhhdCBhbGwgdHdlbHZlIHRvZ2V0aGVyIGNvc3QgMi43NSAobm9uLWRpc3RyaWJ1dGl2 ZWx5KX5+CgoKCicnc28gbGUgdGEgcGEgcGEgY2knZXJrZWkgY3UgY2xhbWF1IG1pJycgKG5vdGlj ZSB0aGF0IHRoZSAnJ3RhJycgZ29lcyBiZWZvcmUgdGhlIGlubmVyIHF1YW50aWZpZXIpCgpfXycn Y2knZXJrZWknJ19fIHgxIHBsYXlzIGdhbWUgeDIgZ292ZW5lcmQgYnkgcnVsZXMgeDMgaW50ZXJy ZWxhdGluZyBnYW1lIHBhcnRzIHg0IHt0aGlzIGlzIHVzZWQgdG8gdHJhbnNsYXRlICJwbGF5IiBp biB0aGUgc2Vuc2UgInBsYXkgYSBnYW1lIiByYXRoZXIgdGhhbiwgZm9yIGluc3RhbmNlICJwbGF5 aW5nIHByZXRlbmQiIG9yICJwbGF5aW5nIEhvdXNlIn0KCl9fJydjbGFtYXUnJ19fIHgxIGlzIHRh bGxlci9sb25nZXIgdGhhbiB4MiBpbiBkaXJlY3Rpb24geDMgbXkgbWFyaWdpbiB4NAoKQW5zd2Vy OiB+fmdyZXksZ3JleTpUaGUgaW5uZXIgc3RhdGVzIHRoZXJlIGFyZSAxMSBwbGF5ZXJzIGluIHRo ZSBkaXNjb3Vyc2UsIGFuZCB0aGUgb3V0ZXIgc3RhdGVzIHRoYXQgdGhlIHNlbGJyaSBhcHBsaWVz IHRvIG5pbmUgb2YgdGhlbSBkaXN0cmlidXRpdmVseS4gVGh1cyBpdCBtZWFucyAiTmluZSBvZiB0 aGUgZWxldmVuIHBsYXllcnMgYXJlIHRhbGxlciB0aGFuIG1lIn5+CgoKClRoZXJlIGFyZSBhIGZl dyBwb2ludHMgdGhhdCBuZWVkcyB0byBiZSByYWlzZWQgcmVnYXJkaW5nIHF1YW50aWZpY2F0aW9u IG9mICcnbG8nJy8nJ2xlJyc6CgpGaXJzdGx5LCAnJ2xvJycgaXMgdW5pcXVlIGluIHRoYXQgIntu dW1iZXJ9IHtzZWxicml9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2xvJycge3NlbGJyaX0i LiBUaGVyZWZvcmUsICcnY2kgZ2Vya3UgY3UgYmF0Y2kgcmUgbmFubXUnJyBpcyBkZWZpbmVkIHRv IGJlICcnY2kgbG8gZ2Vya3UgY3UgYmF0Y2kgcmUgbG8gbmFubXUnJywgd2hpY2ggY29uc2lkZXJz IGJvdGggdGhlIGdyb3VwIG9mIGRvZ3MgYW5kIHRoZSBncm91cCBvZiBtZW4gZGlzdHJpYnV0aXZl bHkuIFRoZXJlZm9yZSwgZWFjaCBvZiB0aGUgdGhyZWUgZG9ncyBiaXQgZWFjaCBvZiB0aGUgdHdv IG1lbiwgd2l0aCBzaXggYml0aW5nIGV2ZW50cyBpbiB0b3RhbC4KCl9fJydiYXRjaScnX18geDEg Yml0ZXMvcGluY2hlcyB4MiBhdCBsb2N1cyB4MyB1c2luZyB4NCBhcyBwaW5jaGluZyB0b29sLgoK U2Vjb25kbHk6IFdoYXQgaWYgdGhlcmUgaXMgbm8gb3V0ZXIgcXVhbnRpZmllcj8gRG9lcyB0aGlz IG1lYW4gdGhhdCBpdCBfX2lzX18gdGhlcmUsIGJ1dCBpdCdzIGVsaWRlZD8gTm9wZS4gSWYgdGhl cmUgaXMgYW55IGtpbmQgb2Ygb3V0ZXIgcXVhbnRpZmllciwgZWxpZGVkIG9yIG5vdCwgaXQgd291 bGQgZm9yY2UgdGhlIHN1bXRpIHRvIGJlIGRpc3RyaWJ1dGl2ZSwgd2hpY2ggd291bGQgbWVhbiB0 aGF0IG5laXRoZXIgJydsbycnIG5vciAnJ2xlJycgY291bGQgYmUgdXNlZCB0byBkZXNjcmliZSBt YXNzZXMuIFRoZXJlZm9yZSwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCBpdCdz IG5vdCBvbmx5IGVsaWRlZCAtIGl0J3Mgc2ltcGx5IG5vdCB0aGVyZS4gU3VtdGkgd2l0aG91dCBh biBvdXRlciBxdWFudGlmaWVyIGNhbiBiZSByZWZlcnJlZCB0byBhcyAiY29uc3RhbnRzIiwgZXZl biB0aG91Z2ggSSB3b24ndC4KClRoaXJkbHksIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGhhdmUgYW4g b3V0ZXIgcXVhbnRpZmllciB3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgaW5uZXIgb25lLiBJdCBt ZWFucyB0aGF0IHRoZSBzZWxicmkgaG9sZHMgdHJ1ZSBmb3IgbW9yZSBzdW10aSB0aGFuIGFyZSBw cmVzZW50IGluIHRoZSBkaXNjb3Vyc2UgLSBidXQgc2luY2UgdGhleSBhcHBlYXIgaW4gYSBicmlk aSwgdGhleSBfX2FyZV9fIHBhcnQgb2YgdGhlIGRpc2NvdXJzZS4gSXQncyBncmFtbWF0aWNhbCB0 byBkbyBpdCwgdGhvdWdoLgoKTGFzdGx5LCBwbGFjaW5nIGEgJydsbycnIG9yIGEgJydsZScnIGlu IGZyb250IG9mIGEgc3VtdGkgaXMgZ3JhbW1hdGljYWwsIGlmIHRoZXJlIGlzIGFuIGlubmVyIHF1 YW50aWZpZXIgcHJlc2VudC4gIicnbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgaXMgZGVm aW5lZCBhcyAiJydsbycnLycnbGUnJyB7bnVtYmVyfSAnJ21lJycge3N1bXRpfSIuCgpTbyB3aGF0 IHdvdWxkIHRoaXMgbWVhbj8gJydtaSBuZWxjaSBsb2kgbWkgYnJpanUga2Fuc2EgLmkga3UnaSBj aSBsbyBwYSBtdSBqaSdpIHJpIGN1IGxhem5pJycKCl9fJydicmlqdScnJ19fIHgxIGlzIGFuIG9m ZmljZSBmb3Igd29ya2VyIHgyIGF0IGxvY2F0aW9uIHgzCgpfXycna2Fuc2EnJ19fIHgxIGFjY29t cGFuaWVzIHgyIGluIGFjdGlvbi9zdGF0ZS9lbnRlcnByaXNlIHgzCgpfXycnbGF6bmknJ19fIHgx IGlzIGxhenksIGF2b2lkaW5nIHdvcmsgY29uY2VybmluZyB4MgoKQW5zd2VyOiB+fmdyZXksZ3Jl eToiSSBsaWtlIG15IGNvLXdvcmtlcnMsIGJ1dCB0aHJlZSBvdXQgb2YgYWJvdXQgdHdlbnR5IGZp dmUgb2YgdGhlbSBhcmUgbGF6eSJ+fgoKCgotIC0nJ2xhJyctIC0gQW4gaW5uZXIgcXVhbnRpZmll ciBpcyBncmFtbWF0aWNhbCBpZiB0aGUgbmFtZSBpcyBhIHNlbGJyaSAtIGluIHRoaXMgY2FzZSwg aXQncyBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIHF1YW50aWZpZXIgaXMg dXNlZCB0byBxdWFudGlmeSBkaXN0cmlidXRpdmVseSBvdmVyIHN1Y2ggaW5kaXZpZHVhbHMgKG11 Y2ggbGlrZSAnJ2xvJycvJydsZScnKSBJdCdzIGdyYW1tYXRpY2FsIHdoZW4gcGxhY2VkIGluIGZy b250IG9mIHtudW1iZXJ9IHtzdW10aX0sIGluIHdoaWNoIGNhc2UsIHRoZSBib3RoIHRoZSBudW1i ZXIgYW5kIHRoZSBzdW10aSBpcyBjb25zaWRlcmVkIHRoZSBuYW1lLgoKCgpUcmFuc2xhdGUgdGhp czogJydyZSBsYSBjaSBiYXJndSBjdSBqaWJuaSBsZSBtaSB6ZGFuaScnCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OiBUd28gIlRoZSBUaHJlZSBBcmNoZXMiIGFyZSBsb2NhdGVkIGNsb3NlIHRvIG15IGhv dXNlIiAoUGVyaGFwcyBUaGUgVGhyZWUgQXJjaGVzIGFyZSBhIGtpbmQgb2YgcmVzdGF1cmFudD8p fn4KCgoKLSAtJydsb2knJyBhbmQgJydsZWknJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxz IHVzIGhvdyBtYW55IG1lbWJlcnMgdGhlcmUgYXJlIGluIHRoZSBtYXNzL21hc3NlcyBpbiBxdWVz dGlvbi4gQW4gb3V0ZXIgcXVhbnRpZmllciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IHshfSBv dmVyIHRoZXNlIG1hc3NlcwoKTm90aWNlIGhlcmUgdGhhdCB3aGlsZSBtYXNzZXMgY29uc2lzdCBv ZiBhIG51bWJlciBvZiBvYmplY3RzIGNvbnNpZGVyZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5LCBhbiBv dXRlciBxdWFudGlmaWVyIGFsd2F5cyB0cmVhdHMgZWFjaCBvZiB0aGVzZSBtYXNzZXMgYXMgYW4g aW5kaXZpZHVhbC4KCldoZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBzdHJpbmcsIHRoZW4gYSBz dW10aSwgJydsb2knJy8nJ2xlaScnIGlzIGRlZmluZWQgYXMgIicnbG8gZ3VubWEgYmUgbG8nJy8n J2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIG1hc3MgY29uc2lzdGluZyBvZiB0aGUge251 bWJlcn0gb2Yge3N1bXRpfSIuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoaXM6ICcncmUgZGVp IGd1bm1hIHJlIGxvaSB6ZSB2YWxzaSAuaSBjYSdlIHBhIGRlaSBqYWkgZ2F1IGpldG51JycKCl9f JydndW5tYScnX18geDEgaXMgYSBtYXNzIG9mIHRoZSBpbmRpdmlkdWFscyB4MgoKX18nJ3ZhbHNp JydfXyB4MSBpcyBhIHdvcmQsIG1lYW5pbmcgeDIgaW4gbGFuZ3VhZ2UgeDMKCl9fJydjYSdlJydf XyBBdHRpdHVkaW5hbDogRXZpZGVudGlhbDogSSBkZWZpbmUKCl9fJydqZXRudScnX18geDEgaXMg dHJ1ZSBhY2NvcmRpbmcgdG8gbWV0YXBoeXNpY3MvZXBpc3RlbW9sb2d5IHgyCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OiAiVGhlc2UgdHdvIHV0dGVyYW5jZXMgYXJlIGEgbWFzcywgY29uc2lzdGluZyBv ZiB0d28gaW5kaXZpZHVhbCBtYXNzZXMgZWFjaCBvZiBzZXZlbiB3b3Jkcy4gSSBkZWZpbmU6IFRo aXMgb25lIHV0dGVyYW5jZSBjYXVzZXMge2l0fSB0byBiZSB0cnVlLiJ+fgoKCgotIC0nJ2xhaScn LSAtIE11Y2ggbGlrZSAnJ2xhJycsIGFuIGlubmVyIHF1YW50aWZpZXIgKHdoZW4gbmFtZSBpcyBh IHNlbGJyaSkgaXMgcGFydCBvZiB0aGUgbmFtZS4gQW4gb3V0ZXIgb25lIHF1YW50aWZpZXMgZGlz dHJpYnV0aXZlbHkuIEJlZm9yZSBhIG51bWJlcitzdW10aSwgYm90aCB0aGUgc3VtdGkgYW5kIHRo ZSBudW1iZXIgbWFrZSB1cCB0aGUgbmFtZS4KCldoZW4gYSBmcmFjdGlvbiBpcyB1c2VkIGFzIGFu IG91dGVyIHF1YW50aWZpZXIgdG8gcXVhbnRpZnkgJydsb2knJywgJydsZWknJyBvciAnJ2xhaScn LCBvbmUgc3BlYWtzIGFib3V0IG9ubHkgcGFydCBvZiB0aGUgbWFzcyAoZm9yIGluc3RhbmNlLCAi aGFsZiBvZiB0aGUgSm9obnNvbnMiIC0gJydwaSBtdSBsYWkgLmRqYW5zeW4uJycpLgoKCgotIC0n J2xvJ2knJyBhbmQgJydsZSdpJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBkZXNjcmliZXMgdGhl IGFtb3VudCBvZiBtZW1iZXJzIG9mIHRoZSBzZXQuIEFuIG91dGVyIHF1YW50aWZpZXMgZGlzdHJp YnV0aXZlbHkgb3ZlciBzZXZlcmFsIG9mIHN1Y2ggc2V0cy4gV2hlbiBwbGFjZWQgYmVmb3JlIGEg bnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlICcnbG8n Jy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBvZiB7bnVtYmVyfSB7c3VtdGl9 Ii4KCgoKVHJhbnNsYXRlICcnbG8naSBybyBzZSBjaW5raSBjdSBicmFtYXUgbGEnYSBwYSBubyBu byBsbydpIHJvIHNlIGJvZ3lrYW1qdSBqdXRzaScnCgpfXycnY2lua2knJ19fIHgxIGlzIGFuIGlu c2VjdCBvZiBzcGVjaWVzIHgyCgpfXycnbGEnYScnX18gQXR0aXR1ZGluYWw6IERpc2N1cnNpdmU6 IFByb2JhYmx5CgpfXycnYnJhbWF1JydfXyB4MSBpcyBiaWdnZXIgdGhhbiB4MiBpbiBkaW1lbnNp b24geDMgYnkgbWFyaWdpbiB4NAoKX18nJ2JvZ3lrYW1qdScnX18geDEgaXMgdGhlIHNwaW5lIG9m IHgyCgpfXycnanV0c2knJ19fIHgxIGlzIHRoZSBzcGVjaWVzIG9mIGdlbnVzIHgyLCBmYW1pbHkg eDMgLi4uIChvcGVuIGVuZGVkIGNsYXNzaWZpY2F0aW9uKQoKQW5zd2VyOiB+fmdyZXksZ3JleTog IlRoZSBzZXQgb2YgYWxsIHRoZSBzcGVjaWVzIG9mIGluc2VjdHMgaXMgcHJvYmFibHkgYmlnZ2Vy IHRoYW4gb25lIGh1bmRyZWQgc2V0cyBvZiBhbGwgc3BlY2llcyBvZiB2ZXJ0ZWJyYXRlcyJ+fgoK CgotIC0nJ2xhJ2knJy0gLSBBcyB3aXRoICcnbGFpJycKCkxpa2Ugd2l0aCB0aGUgbWFzcyBnYWRy aSwgYW4gb3V0ZXIgcXVhbnRpZmllciBiZWZvcmUgYSBzZXQgZ2FkcmkgZW5hYmxlcyBvbmUgdG8g c3BlYWsgYWJvdXQgYSBmcmFjdGlvbiBvZiBhIHNldC4gSW4gZnJvbnQgb2YgYSBudW1iZXIgYW5k IGEgc3VtdGksIGl0J3MgZGVmaW5lZCBhcyAiJydsbyBzZWxjbWkgYmUgbGEnJyB7bnVtYmVyfSB7 c3VtdGl9IiAtICJUaGUgc2V0IGNvbnNpc3Rpbmcgb2YgVGhlIHtOdW1iZXJ9IHtTdW10aX0iIChj b25zaWRlcmVkIGEgbmFtZSkKCgoKLSAtJydsbydlJycgYW5kICcnbGUnZScnLSAtIEFyZSBmb3Ig c29tZSByZWFzb24gbm90IGluY2x1ZGVkIGluIHRoZSBjdXJyZW50bHkgYWNjZXB0ZWQgZ2Fkcmkg cHJvcG9zYWwuIElmIG9uZSB3ZXJlIHRvIGV4dGVuZCB0aGUgcnVsZXMgb2YgYW5vdGhlciBnYWRy aSwgJydsbycnLycnbGUnJyB3b3VsZCBwcm9iYWJseSBiZSB0aGUgYmVzdCBjaG9pY2UgKHNpbmNl IGJvdGggb3BlcmF0ZXMgd2l0aCBpbmRpdmlkdWFscyByYXRoZXIgdGhhbiBncm91cHMpLCBhbmQg c28gb25lIHdvdWxkIGV4cGVjdCB0aGUgb3V0ZXIgcXVhbnRpZmllciB0byBmb3JjZSBkaXN0cmli dXRpdml0eSBvdmVyIHRoZSBhbW91bnQgb2YgdHlwaWNhbC9zdGVyZW90eXBpY2FsIHRoaW5ncyBn aXZlbiBieSB0aGUgaW5uZXIgcXVhbnRpZmllci4KCgoKV2hlbiBxdWFudGlmeWluZyBzdW1rYSdp IHJlcHJlc2VudGluZyBzZXZlcmFsIG9iamVjdHMsIGl0IGlzIHVzZWZ1bCB0byByZW1lbWJlciB0 aGF0IHRoZXkgYXJlIHVzdWFsbHkgbWFzc2VzLiBCeSBkZWZpbml0aW9uLCAie251bWJlcn0ge3N1 bXRpfSIgaXMgZGVmaW5lZCBhcyAie251bWJlcn0gJydkYSBwb2kga2UnYSBtZScnIHtzdW10aX0i LiBZb3Ugd2lsbCBub3QgYmUgZmFtaWxpYXIgd2l0aCAnJ2RhJycgdW50aWwgYSBmZXcgbGVzc29u cyBsYXRlciwgc28gdGFrZSBpdCBvbiBmYWl0aCB0aGF0IGlzIG1lYW5zICJzb21ldGhpbmciIGlu IHRoaXMgY29udGV4dC4gVGhlcmVmb3JlLCAnJ2NpIG1pJycgbWVhbnMgIlR3byBvZiB0aG9zZSB3 aG8gYmVsb25nIHRvICJ1cyIiLiBXaGVuIHF1YW50aWZ5aW5nIHN1Y2ggbWFzc2VzLCBpdCBjYW4g c2FmZWx5IGJlIGFzc3VtZWQgdGhhdCB0aGUgcmVsYXRpb24gaW1wbGllZCBieSAnJ21lJycgaXMg bWVtYmVyc2hpcCBvZiB0aGUgbWFzcywgYW5kIHRoZXJlZm9yZSAnJ2NpIG1pJycgaXMgIlRocmVl IG9mIHVzIi4KCgoKU29tZSBpbXBvcnRhbnQgdXNlcyBvZiBxdWFudGlmaWNhdGlvbiByZXF1aXJl cyB5b3UgdG8gYmUgcXVhbnRpZnkgc2VsYnJpIG9yIG9iamVjdHMgd2hvc2UgaWRlbnRpdHkgaXMg dW5rbm93bi4gVGhpcyBpcyBkb25lIGJ5ICJsb2dpY2FsbHkgcXVhbnRpZmllZCB2YXJpYWJsZXMi LiBUaGVzZSwgYXMgd2VsbCBhcyBob3cgdG8gcXVhbnRpZnkgdGhlbSB3aWxsIGJlIGNvdmVyZWQg aW4gbGVzc29ucyB0d2VudHktc2V2ZW4uCgoKCkxhc3RseSwgaG93IGNhbiB5b3UgcXVhbnRpZnkg dW5jb3VudGFibGUgc3Vic3RhbmNlcyBsaWtlIHN1Z2FyIG9yIHdhdGVyPyBPbmUgc29sdXRpb24g aXMgdG8gcXVhbnRpZnkgaXQgdXNpbmcgaW5leGFjdCBudW1iZXJzLiBUaGlzIHVzZSBpcyB2YWd1 ZSwgbm90IG9ubHkgYmVjYXVzZSB0aGUgdmFsdWUgb2YgdGhlIG51bWJlciBpcyB2YWd1ZSwgYnV0 IGFsc28gYmVjYXVzZSBpdCdzIG5vdCBzcGVjaWZpZWQgb24gd2hhdCBzY2FsZSB5b3UncmUgY291 bnRpbmc6IFRoZSBzdWdhciBjb3VsZCBiZSBjb25zaWRlcmVkIGEgZ3JvdXAgb2YgbWFueSBjcnlz dGFscywgY291bnRlZCBvbmUgYXQgYSB0aW1lLCBhbmQgdGhlIHdhdGVyIGNvdWxkIGJlIHF1YW50 aWZpZWQgYnkgdGhlIGFtb3VudHMgb2YgcmFpbmRyb3BzIGl0IHRvb2sgdG8gbWFrZSB0aGUgYm9k eSBvZiB3YXRlciBpbiBxdWVzdGlvbi4gV2hpbGUgdGhpcyB3YXkgb2YgY291bnRpbmcgaXMgbGVn aXRpbWF0ZSwgaXQncyBub3QgdmVyeSBleGFjdCBhbmQgY2FuIGVhc2lseSBjb25mdXNlIG9yIG1p c2xlYWQuCgpBIHdheSB0byBiZSBleHBsaWNpdCBhYm91dCBub24tY291bnRhYmlsaXR5IGlzIHRv IHVzZSB0aGUgbnVsbCBvcGVyYW5kICcndHUnbycnIGFzIGFuIGlubmVyIHF1YW50aWZpZXIuCgpf XycndHUnbycnX18gTnVsbCBvcGVyYW5kICggw5ggKS4gVXNlZCBpbiB1bmFyeSBtZWtzby4KClRo aXMgc29sdXRpb24gaXMgZWxlZ2FudCBhbmQgaW50dWl0aXZlLCBhbmQgYWxzbyBnaXZlcyBtZSBh biBleGN1c2UgdG8gcXVvdGUgdGhpcyBob3JyaWZ5aW5nLCB5ZXQgY29taWNhbCBleGFtcGxlIGZy b20gdGhlIG9yaWdpbmFsICcneG9ybG8nJy1wcm9wb3NhbDoKCicnbGUgbmFubXUgY3Ugc2Ugc251 dGkgLmkgamEnZSBibyBsbyB0dSdvIGdlcmt1IGN1IGt1c3BlIGxlIGtsYWppJycKCl9fJydzbnV0 aScnX18geDEgaXMgYW4gYWNjaWRlbnQgb24gdGhlIHBhcnQgb2YgeDIKCl9fJydqYSdlJydfXyBz dW10Y2l0YTogQkFJOiAoZnJvbSAnJ2phbGdlJycpOiBCcmlkaSByZXN1bHRzIGluIHtzdW10aX0g CgpfXycna3VzcGUnJ19fIHgxIHNwYW5zL2V4dGVuZHMgb3ZlciB4MgoKX18nJ2tsYWppJydfXyB4 MSBpcyBhIHJvYWQvYXZlbnVlL3N0cmVldCBhdCB4MiBhY2Nlc3NpbmcgeDMKCgoKV2hhdCBkb2Vz IGl0IG1lYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIG1hbiBoYWQgYW4gYWNjaWRlbnQg YW5kIHNvIHRoZXJlIHdhcyBkb2cgYWxsIG92ZXIgdGhlIHJvYWQifn4KCgoKQSBzZWNvbmQgbWV0 aG9kIG9mIHF1YW50aWZ5aW5nIHN1YnN0YW5jZXMgaXMgdG8gdXNlIHRoZSB0ZW5zZXMgJyd2ZSdp JycsICcndmUnYScnIGFuZCAnJ3ZlJ3UnJyBhcyBtZW50aW9uZWQgaW4gbGVzc29uIHRlbjoKCicn dGkgdmUnaSBkamFjdScnIC0gVGhpcyBpcyBhIHNtYWxsIGFtb3VudCBvZiB3YXRlcgoKX18nJ2Rq YWN1JydfXyB4MSBpcyBhbiBleHBhbnNlIG9mIHdhdGVyL2lzIG1hZGUgb2Ygd2F0ZXIvY29udGFp bnMgd2F0ZXIKCgoKVGhpcmRseSwgb2YgY291cnNlLCB5b3UgY291bGQgdXNlIGEgYnJpdmxhIHRv IGdpdmUgYW4gZXhhY3QgbWVhc3VyZW1lbnQ6CgonJ2xlIHRhIGRqYWN1IGN1IGtpJ29ncmEgYmUg bGkgcmUgcGkga2knbyBraSdvJycgLSAiVGhhdCB3YXRlciBoYXMgYSBtYXNzIG9mIDIuMDAwIDAw MCBraWxvZ3JhbXMiCgpfXycna2knb2dyYScnX18geDEgbWVhc3VyZXMgaW4gbWFzcyB4MiBraWxv Z3JhbXMgYnkgc3RhbmRhcmQgeDMKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHkt dGhyZWUgKG5lZ2F0aW9uKQoKU29tZXRpbWVzLCBqdXN0IHNheWluZyB3aGF04oCZcyB0aGUgdHJ1 dGggaXMgbm90IGVub3VnaC4gT2Z0ZW4sIHdlIHdhbnQgdG8gc3BlY2lmeSB3aGF04oCZcyBub3Qg dGhlIHRydXRoLCBhbmQgd2UgZG8gdGhpcyBieSB1c2luZyBuZWdhdGlvbi4KCk5lZ2F0aW9uIGlu IEVuZ2xpc2ggbW9zdGx5IGludm9sdmVzIOKAnG5vdOKAnSwgYW5kIGlzIGNvbXBsZXRlbHkgYXJi aXRyYXJ5IGFuZCBhbWJpZ3VvdXMuIFdlLCBhcyBMb2piYW5pc3RzLCBjYW7igJl0IGhhdmUgdGhh dCwgb2YgY291cnNlLCBzbyBMb2piYW4gY29udGFpbnMgYW4gZWxlZ2FudCBhbmQgdW5hbWJpZ2lv dXMgc3lzdGVtIGZvciBuZWdhdGluZy4KCgoKVGhlIGZpcnN0IHlvdSBuZWVkIHRvIGtub3cgYWJv dXQgaXMgYnJpZGkgbmVnYXRpb24sIHNvIGNhbGxlZCBiZWNhdXNlIGl0IG5lZ2F0ZXMgdGhlIGJy aWRpIGl04oCZcyBpbiwgc2F5aW5nIGl04oCZcyBub3QgdHJ1ZS4gVGhlIHdheSB0byBuZWdhdGUg YSBicmlkaSBpcyB0byBwbGFjZSAnJ25hJycgZWl0aGVyIGp1c3QgYmVmb3JlIHRoZSBzZWxicmkg KGFmdGVyIGFueSAnJ2N1JycpLCBvciBmaXJzdCBpbiB0aGUgc2VudGVuY2Ugd2l0aCBhICcna3Un JyBhZnRlciBpdC4KCl9fJydzcGVuaScnX18geDEgaXMgbWFycmllZCB0byB4MiB1bmRlciBjb252 ZW50aW9uIHgzCgpUaHVzOiAnJ2xlIG1pIHNwZW5pIGN1IG5hIG5pbm11Jycgc3RhdGVzIHRoYXQg 4oCcTXkgc3BvdXNlIGlzIG5vdCBhIHdvbWFu4oCdLiBJdCBzdGF0ZXMgbm90aGluZyBhYm91dCB3 aGF0IG15IHdpZmUgaXMsIG9yIGlmIEkgZXZlbiBoYXZlIGEgd2lmZS4gSXQgb25seSBzdGF0ZXMg dGhhdCBJIGRvIG5vdCBoYXZlIGEgd2lmZSB3aG8gaXMgYWxzbyBhIHdvbWFuLiBUaGlzIGhhcyBh biBpbXBvcnRhbnQgaW1wbGljYXRpb246IElmIHRoZSBuZWdhdGlvbiBvZiBhIGJyaWRpIGlzIGZh bHNlLCB0aGUgYnJpZGkgbXVzdCBiZSB0cnVlOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1IG5hIG5p bm11JycgbXVzdCBtZWFuIHRoYXQgSSBoYXZlIGJvdGggYSBzcG91c2UsIGFuZCB0aGF0IHNoZSBp cyBhIHNoZS4KCkl0IGlzIHBvc3NpYmxlIHRvIHVzZSBicmlkaSBuZWdhdGlvbnMgaW4gYWxsIGJy aWRpLCBldmVuIHRoZSBpbXBsaWNpdCBicmlkaSBvZiBkZXNjcmlwdGl2ZSBzdW10aS4gJydsbyBu YSBwcmVudScnIGNhbiByZWZlciB0byBhbnl0aGluZyBub24taHVtYW4sIHdoZXRoZXIgaXQgYmUg YSBzcGhpbngsIGEgYmFzZWJhbGwgb3IgdGhlIHByb3BlcnR5IG9mIGFwcHJvcHJpYXRlbmVzcy4K CgoKX18nJ2JhdScnX18gc3VtdGNpdGEsIGZyb20gYmFuZ3U6IHVzaW5nIHRoZSBsYW5ndWFnZSBv ZiB7c3VtdGl9CgpfXycnc2UgamHigJllJydfXyBzdW10Y2l0YSwgZnJvbSBzZSBqYWxnZTogYmVj YXVzZSBvZiB7c3VtdGl9CgoKCk9mdGVuIHdoZW4gdXNpbmcgJyduYScnLCBpdOKAmXMgYSBwcm9i bGVtIHRoYXQgbmVnYXRlcyB0aGUgZW50aXJlIGJyaWRpLiBJZiBJIHNheSAnJ21pIG5hIHN1dHJh IHRhdmxhIGJhdSBsZSBnbGliYXUgc2UgamHigJllIGxlIG51IG1pIGRvdGNvJycsIEkgZW5kIHVw IG5lZ2F0aW5nIHRvbyBtdWNoLCBhbmQgaXQgaXMgbm90IGNsZWFyIHRoYXQgSSB3YW50ZWQgdG8g b25seSBuZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QuIFRoZSBzZW50ZW5jZSBjb3VsZCBzdWdnZXN0 IHRoYXQgSSBpbiBmYWN0IHNwZWFrIGZhc3QgYmVjYXVzZSBvZiBzb21lIG90aGVyIHJlYXNvbiwg b3IgdGhhdCBJIHNwZWFrIGZhc3QgaW4gRnJlbmNoIGJlY2F1c2UgSeKAmW0gR2VybWFuLiBUbyBl eHByZXNzIHRoZSBzZW50ZW5jZSBjb3JyZWN0bHksIEkgbmVlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0 IEkgc3BlYWsgZmFzdCwgYW5kIG5vdCB0aGUgb3RoZXIgdGhpbmdzLgoKVG8gb25seSBuZWdhdGUg cGFydCBvZiBhIGJyaWRpLCAnJ25hIGt1JycgY2FuIGJlIG1vdmVkIGFyb3VuZCB0aGUgYnJpZGkg YW5kIHBsYWNlZCBhbnl3aGVyZSBhIHN1bXRpIGNhbiBnby4gSXQgdGhlbiBuZWdhdGVzIGFueSBz dW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YSBwbGFjZWQgYWZ0ZXIgaXQuCgoKCk1vdmluZyAnJ25h IGt1JycgZnJvbSB0aGUgbGVmdCBlbmQgb2YgdGhlIGJyaWRpIGFuZCByaWdodHdhcmRzIGVmZmVj dHMgYW55IHF1YW50aWZpZXJzIGluIGEgY2VydGFpbiB3YXksIGFzIGNhbiBiZSBzZWVuIGJ5IHRo aXMgZXhhbXBsZToKCgoKJyduYSBrdSBybyByZW1uYSBjdSB2ZXJiYScnIOKAnEl04oCZcyBub3Qg dHJ1ZSB0aGF0OiBBbGwgaHVtYW5zIGFyZSBjaGlsZHJlbuKAnQoKJydzdeKAmW8gcmVtbmEgbmEg a3UgY3UgdmVyYmEnJyDigJxGb3IgYXQgbGVhc3Qgb25lIGh1bWFuIGl04oCZcyBub3QgdHJ1ZSB0 aGF0OiBJdOKAmXMgYSBjaGlsZOKAnS4gU2VlIHRoYXQgdGhlICcnbmEga3UnJyBpcyBwbGFjZWQg YmVmb3JlICcnY3UnJywgc2luY2UgYSBzdW10aSBjYW4gZ28gb25seSB0aGVyZS4gSGFkIEkgb25s eSB1c2VkICcnbmEnJywgaXQgd291bGQgaGF2ZSB0byBnbyBhZnRlciAnJ2N1JycuCgoKClRoZSBx dWFudGlmaWVyIGlzIGludmVydGVkLCAnJ3JvJycgaXMgdHVybmVkIGludG8gJydzdeKAmW8nJy4g VGhpcyBpcywgb2YgY291cnNlLCBvbmx5IGlmIHRoZSBtZWFuaW5nIG9mIHRoZSBicmlkaSBoYXMg dG8gYmUgcHJlc2VydmVkLiBUaGlzIG1lYW5zIHRoYXQgd2hlbiB0aGUgJyduYSBrdScnIGlzIHBs YWNlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaSwgb25seSB0aGUgc2VsYnJpIGlzIG5lZ2F0ZWQg YnV0IGFsbCB0aGUgc3VtdGkgYW5kIHN1bXRjaXRhIGFyZSBwcmVzZXJ2ZWQsIGFzIGNhbiBiZSBz ZWVuIGJ5IHRoZXNlIHRocmVlIGlkZW50aWNhbCBicmlkaToKCl9fJydja3VsZScnX18geDEgaXMg YSBzY2hvb2wgYXQgbG9jYXRpb24geDIgdGVhY2hpbmcgeDMgdG8gc3R1ZGVudHMgeDQgYW5kIG9w ZXJhdGVkIGJ5IHg1CgoKCicnbmEga3Ugcm8gdmVyYmEgY3UgdmUgY2t1bGUgZm8gc3XigJlvIGNr dWxlJycg4oCTIOKAnEl04oCZcyBub3QgdHJ1ZSB0aGF0IGFsbCBjaGlsZHJlbiBhcmUgc3R1ZGVu dHMgaW4gYSBzY2hvb2wu4oCdCgonJ3N14oCZbyB2ZXJiYSBjdSB2ZSBja3VsZSBuYSBrdSBmbyBz deKAmW8gY2t1bGUnJyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUgc3R1ZGVudHMgaW4gbm90IGEg c2luZ2xlIHNjaG9vbC7igJ0KCicnc3XigJlvIHZlcmJhIGN1IHZlIGNrdWxlIGZvIHJvIGNrdWxl IG5hIGt1Jycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIGZvciBhbGwgc2Nob29scyBub3Qgc3R1 ZGVudHMgaW4gdGhlbS7igJ0KCgoKVGhlIG9wcG9zaXRlIG9mICcnbmEnJyBpcyAnJ2phJ2EnJy4g VGhpcyBpcyBiYXJlbHkgZXZlciB1c2VkLCBzaW5jZSBpdCBpcyBkZWZhdWx0IGluIG1vc3QgYnJp ZGkuIE9uZSBleGNlcHRpb24gaXMgcmVwZWF0ZWQgYnJpZGkgKG5leHQgbGVzc29uKS4gU29tZXRp bWVzIGl0J3MgdXNlZCB0byBwdXQgbW9yZSB3ZWlnaHQgb24gdGhlIHRydXRoIG9mIHRoZSBicmlk aSwgYXMgaW4gJydsYSAuYmFiLiBqYSdhIG1lbGJpJycgPSAiQm9iIGlzIGluZGVlZCBiZWF1dGlm dWwiLgoKCgpXaGlsZSB0aGUgbWVjaGFuaXNtIG9mICcnbmEga3UnJyByZXNlbWJsZXMgbmF0dXJh bCBsYW5ndWFnZSBuZWdhdGlvbiwgaXQgY2FuIGJlIGRpZmZpY3VsdCB0byBrZWVwIHRyYWNrIG9m IGV4YWN0bHkgd2hhdCBpcyBuZWdhdGVkIGFuZCBob3cgdGhhdCBhZmZlY3RzIHRoZSBicmlkaS4g Rm9yIHRoYXQgcmVhc29uLCB0aGUgY29uc3RydWN0ICcnbmEga3UnJyBpcyByYXJlbHkgc2VlbiBh bnl3aGVyZSBvdGhlciB0aGFuIHRoZSBiZWdpbm5pbmcgb2YgYSBicmlkaS4gSW4gbW9zdCBjYXNl cyB3aGVyZSBtb3JlIHNwZWNpZmljIG5lZ2F0aW9uIGlzIG5lZWRlZCBwZW9wbGUgcmVzb3J0IHRv IGEgZGlmZmVyZW50IG1ldGhvZC4gVGhpcyBtZXRob2QsIGNhbGxlZCBzY2FsYXIgbmVnYXRpb24s IGlzIGFuIGVsZWdhbnQgYW5kIGludHVpdGl2ZSB0b29sLiBVc2luZyBpdCwgeW91IGVmZmVjdCBv bmx5IHRoZSBzZWxicmksIHNpbmNlIHRoZSB3b3JkcyB1c2VkIGluIHNjYWxhciBuZWdhdGlvbiBi aW5kcyB0byB0aGUgc2VsYnJpIG11Y2ggbGlrZSB0aGUgd29yZCAnJ3NlJycuCgpUaGUgbmFtZSDi gJxzY2FsYXIgbmVnYXRpb27igJ0gaXMgZGVyaXZlZCBmcm9tIHRoZSBmYWN0IHRoYXQgdGhlIHdv cmRzIHdoaWNoIGJpbmQgdG8gdGhlIHNlbGJyaSBjYW4gYmUgcGxhY2VkIGFsb25nIGEgc2NhbGUg ZnJvbSBhZmZpcm1hdGlvbiBvdmVyIG5lZ2F0aW9uIGFuZCB0byBzdGF0aW5nIHRoYXQgdGhlIG9w cG9zaXRlIGNhc2UgaXMgdHJ1ZToKCnx8V29yZHxNZWFuaW5nCgpqZeKAmWF84oCcSW5kZWVk4oCd OyBzY2FsYXIgYWZmaXJtZXIKCm5v4oCZZXzigJxOb3QgcmVhbGx54oCdLCBzY2FsYXIgbWlkcG9p bnQKCm5h4oCZZXzigJxOb24t4oCcLCBzY2FsYXIgbmVnYXRvcgoKdG/igJllfOKAnEls4oCdLCDi gJxEaXMt4oCcLCDigJxNaXPigJ0gZWN0OyBzY2FsYXIgb3Bwb3Nlcnx8CgoKCgoKVGhlc2Ugd29y ZHMgYXJlIG5vdCBuZWdhdG9ycyBpbiB0aGUgc2FtZSBzZW5zZSBhcyAnJ25hJycuIFRoZXkgZG8g bm90IHN0YXRlIHRoYXQgYSBicmlkaSBpcyBmYWxzZSwgYnV0IG1ha2VzIGEgcG9zaXRpdmUgc3Rh dGVtZW50IHRoYXQgYSBicmlkaSBpcyB0cnVlIOKAkyB0aGUgc2FtZSBicmlkaSwgYnV0IHdpdGgg YSBkaWZmZXJlbnQgc2VsYnJpLiBUaGlzIGRpc3RpbmN0aW9uIGlzIG1vc3RseSBhY2FkZW1pYywg dGhvdWdoLiBJZiwgZm9yIGV4YW1wbGUsIEkgc3RhdGUgdGhhdCAnJ21pIG5hJ2Ugc2UgbmVsY2kn JyAiSSBhbSBub24tbGlrZWQiLCBJIGFjdHVhbGx5IHN0YXRlIHRoYXQgc29tZSBzZWxicmkgYXBw bGllcyB0byBtZSwgd2hpY2ggaXMgYWxzbyBvbiBhIHJlbGV2YW50IHNjYWxlIHdpdGggdGhlIHNl bGJyaSAnJ25lbGNpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHdlIGFzc3VtZSBhIHNjYWxlIHdoZXJl IHRoZSBwb3NpdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSAobGlrZSBsb3ZlLWxpa2UtZGlz bGlrZS1oYXRlKSwgc28gJydtaSBuYSdlIHNlIG5lbGNpJycgaW1wbGllcyAnJ21pIG5hIHNlIG5l bGNpJycKClRoZXJlZm9yZSwgdGhlIHdvcmRzICcnbm/igJllJycgYW5kICcndG/igJllJycgc2hv dWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBzZWxicmkgaXMgcGxhY2VkIG9uIHNvbWUgb2J2aW91 cyBzY2FsZToKCicnbGUgbWkgc3BlbmkgY3UgdG/igJllIG1lbGJpJycg4oCTIOKAnU15IHNwb3Vz ZSBpcyB1Z2x54oCdIG1ha2VzIHNlbnNlLCBzaW5jZSB3ZSBpbW1lZGlhdGVseSBrbm93IHdoYXQg dGhlIG9wcG9zaXRlIG9mIGJlYXV0aWZ1bCBpcywgd2hpbGUKCicnbWkga2xhbWEgbGUgbWkgdG/i gJllIHpkYW5pJycg4oCTIOKAnUkgZ28gdG8gbXkgb3Bwb3NpdGUgdGhpbmcgb2YgaG9tZeKAnSwg d2hpbGUgZ3JhbW1hdGljYWwsIGxlYXZlcyB0aGUgbGlzdGVuZXIgZ3Vlc3Npbmcgd2hhdCB0aGUg c3BlYWtlcnMg4oCcb3Bwb3NpdGUtaG9tZeKAnSBpcyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQuCgoK ClNvIGhvdyBjYW4geW91IG5lZ2F0ZSBvbmx5IHRoZSBzZWxicmkgd2l0aG91dCBhbHNvIGltcGx5 aW5nIHRoYXQgdGhlIHNlbGJyaSBpcyBjb3JyZWN0IGF0IHNvbWUgb3RoZXIgcG9zaXRpb24gb24g YSB0cnV0aC1zY2FsZT8gU2ltcGxlOiBNb3ZpbmcgdGhlICcnbmEga3UnJyB0byB0aGUgcmlnaHRt b3N0IGVuZCBvZiB0aGUgYnJpZGksIGFzIGRlbW9uc3RyYXRlZCBhIGZldyBsaW5lcyBhYm92ZS4g VGhpcyBmZWF0dXJlIGlzIHZlcnkgdXNlZnVsLiBTb21lIGxvamJhbmlzdHMgcHJlZmVyIHRvIHBy ZWZpeCB0aGUgcmFmc2kgJyduYXItJycgKHRoZSByYWZzaSBvZiAnJ25hJycpIGluIGZyb250IG9m IHRoZSBzZWxicmkgLSB0aGlzIGhhcyB0aGUgc2FtZSBlZmZlY3QsIGJ1dCBJIGFkdmlzZSBhZ2Fp bnN0IGl0LCBiZWNhdXNlIGl0IG1ha2VzIGZhbWlsaWFyIGJyaXZsYSBzZWVtIGFsaWVuLCBhbmQg aXQncyBoYXJkZXIgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiBjYXN1YWxseS4KCgoKVHJ5IHRv IHRyYW5zbGF0ZSB0aGVzZSBzZW50ZW5jZXM6CgrigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7i gJ0gKG1lYW5pbmcgdGhhdCBoZSBpcyBhIG1hbGUpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyds ZSBtaSBzcGVuaSBjdSBuYeKAmWUgLyB0b+KAmWUgbmlubXUnJy4gVXNpbmcgc2NhbGFyIG5lZ2F0 aW9uIGhlcmUgaW1wbGllcyB0aGF0IGhlIGV4aXN0cywgd2hpY2ggbmEgZGlkIG5vdC5+fgoKCgri gJxNeSBzcG91c2UgaXMgbm90IHJlYWxseSBhIHdvbWFu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydsZSBtaSBzcGVuaSBjdSBub+KAmWUgbmlubXUnJy4gVGhlIHNjYWxlIGhlcmUgaXMgcHJl c3VtZWQgdG8gYmUgZnJvbSB3b21hbiB0byBtYW4ufn4KCgoK4oCcSSBkb27igJl0IHNwZWFrIGZh c3QgaW4gRW5nbGlzaCBiZWNhdXNlIEnigJltIEdlcm1hbuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgbmHigJllIHN1dHJhIHRhdmxhIGJhdSBsZSBnbGliYXUgc2UgamHigJllIGxlIG51 IG1pIGRvdGNvJyd+fgoKCgpBbHNvLCBub3RlIHRoYXQgd2hlbmV2ZXIgdGhlc2Ugd29yZHMgYXJl IHVzZWQgdG9nZXRoZXIgd2l0aCBhIHRhbnJ1LCB0aGV5IG9ubHkgYWZmZWN0IHRoZSBsZWZ0bW9z dCBzZWxicmkuIEluIG9yZGVyIHRvIG1ha2UgaXQgYmluZCB0byB0aGUgd2hvbGUgdGFucnUgb3Ig cGFydHMgb2YgdGhlIHRhbnJ1LCB0aGUgdXN1YWwgdGFucnUtZ3JvdXBpbmcgd29yZHMgY2FuIGJl IHVzZWQuCgoKClRyeSB0byBzYXkg4oCcSSBzZWxsIHNvbWV0aGluZyB3aGljaCBpcyBub3QgeWVs bG93IGhvbWVz4oCdIHVzaW5nIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pIHZlY251JycKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIG5h4oCZZSBrZSBwZWx4dSB6ZGFuaSBrZeKAmWUgdmVjbnUg b3IgbWkgbmHigJllIHBlbHh1IGJvIHpkYW5pIHZlY251Jyd+fgoKCgpXaGVuIGF0dGVtcHRpbmcg dG8gYW5zd2VyOiDigJxJcyB0aGUga2luZyBvZiB0aGUgVVNBIGZhdD/igJ0sIGFsbCBvZiB0aGVz ZSBuZWdhdGlvbnMgZmFpbC4gV2hpbGUgaXTigJlzIHRlY2huaWNhbGx5IGNvcnJlY3QgdG8gbmVn YXRlIGl0IHdpdGggJyduYScnLCBzaW5jZSBpdCBtYWtlcyBubyBhc3N1bXB0aW9ucyBvZiB0aGF0 IGlzIHRydWUsIGl04oCZcyBtaWxkbHkgbWlzbGVhZGluZyBzaW5jZSBpdCBjb3VsZCBsZWFkIHRo ZSBsaXN0ZW5lciB0byBiZWxpZXZlIHRoZXJlIGlzIGEga2luZyBvZiB0aGUgVVNBLiBGb3IgdGhl c2Ugc2NlbmFyaW9zLCB0aGVyZSBpcyBhIG1ldGFsaW5ndWlzdGljIG5lZ2F0b3IsICcnbmHigJlp JycuCgonJ25h4oCZaScnIE1ldGFsaW5ndWlzdGljIG5lZ2F0b3IuIFNvbWV0aGluZyBpcyB3cm9u ZyB3aXRoIGFzc2lnbmluZyBhIHRydXRoIHZhbHVlIHRvIHRoZSBicmlkaS4KCkJlY2F1c2UgJydu YeKAmWknJyBjYW4gYmUgbmVlZGVkIGFueXdoZXJlIGl0IGhhcyBiZWVuIGdpdmVuIHRoZSBncmFt bWFyIG9mIHRoZSBhdHRpdHVkaW5hbHMsIHdoaWNoIG1lYW5zIGl0IGNhbiBhcHBlYXIgYW55d2hl cmUsIGFuZCBpdCBhdHRhY2hlcyB0byB0aGUgcHJldmlvdXMgd29yZCBvciBjb25zdHJ1Y3QuCgoK Cl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKJydsZSBuYeKAmWkgcHUg dGUgenVrdGUgYmUgbGUgc2thbWkgY3UgcGFsY2knJyDigJMg4oCdVGhlIHNvdWdodCBnb2FsIHtt aXN0YWtlIX0gb2YgdGhlIGNvbXB1dGVyIHdhcyBldmls4oCdLCBwcm9iYWJseSBwcm90ZXN0cyB0 aGF0IGNvbXB1dGVycyBjYW4gc2VlayBhIGdvYWwgdm9saXRpb25hbGx5LgoKCgpTaW5jZSB0aGlz IGlzIGEgbGVzc29uIG9uIG5lZ2F0aW9uLCBJIGJlbGlldmUgdGhlIHdvcmQgJyduYWknJyBkZXNl cnZlcyBhIHNob3J0IG1lbnRpb24uIEl0IGlzIHVzZWQgdG8gbmVnYXRlIG1pbm9yIGdyYW1tYXRp Y2FsIGNvbnN0cnVjdHMsIGFuZCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGF0dGl0 dWRpbmFscywgYWxsIHN1bXRjaXRhIGluY2x1ZGluZyB0ZW5zZXMsIHZvY2F0aXZlcyBhbmQgbG9n aWNhbCBjb25uZWN0aXZlcy4gVGhlIHJ1bGVzIGZvciBuZWdhdGluZyB1c2luZyAnJ25haScnIGRl cGVuZCBvbiB0aGUgY29uc3RydWN0LCBhbmQgc28gdGhlIGVmZmVjdCBvZiAnJ25haScnIGhhcyBi ZWVuIGRpc2N1c3NlZCB3aGVuIG1lbnRpb25pbmcgdGhlIGNvbnN0cnVjdCB0aGVtc2VsdmVzLiBU aGUgZXhjZXB0aW9uIGlzIHN1bXRjaXRhLCB3aGVyZSB0aGUgcnVsZXMgZm9yIG5lZ2F0aW9uIGFy ZSBtb3JlIGNvbXBsZXgsIGFuZCB3aWxsIG5vdCBiZSBkaXNjdXNzZWQgaGVyZS4KCl9fTm90ZTpf XyBBdCB0aGUgdGltZSBvZiB3cml0aW5nLCBpdCBoYXMgYmVlbiBwcm9wb3NlZCB0byBtb3ZlICcn bmFpJycgdG8gdGhlIHNlbG1hJ28gQ0FJLCB3aGljaCBtZWFucyB0aGUgc2VtYW50aWNzIG9mICcn bmFpJycgZGVwZW5kIG9uIHdoaWNoIHNlbG1hJ28gaXQgZm9sbG93cy4gCgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0d2VudHktZm91ciAoYnJpa2HigJlpL3Byby1icmlkaSBhbmQga2/i gJlhKQoKSWYgSSBzYXkgdGhhdCBJ4oCZbSBjYWxsZWQgTWlraGFpbCwgJydsYSAubWlrYWlsLiBj bWVuZSBtaScnLCBhbmQgeW91IGhhdmUgdG8gc2F5IHRoZSBleGFjdCBzYW1lIGJyaWRpLCB3aGF0 IHdvdWxkIHRoYXQgYmU/IE9uZSBvZiB0aGUgbWFueSBhbnN3ZXJzIGlzICcnZG8gc2UgY21lbmUg bGEgLm1pa2FpbC4nJy4gRm9yIHRoZSBicmlkaSB0byBiZSB0aGUgc2FtZSwgeW91IGhhdmUgdG8g cmVwbGFjZSAnJ21pJycgd2l0aCAnJ2RvJycsIGFuZCBpdCBkb2VzbuKAmXQgbWF0dGVyIHdoaWNo IGlmIHlvdSBzYXkgdGhlIGJyaWRpIHdpdGggdGhlICcnc2UnJy1jb252ZXJ0ZWQgc2VsYnJpIG9y IG5vdC4gVGhpcyBpcyBiZWNhdXNlIGEgYnJpZGkgaXMgbm90IHRoZSB3b3JkcyB3aGljaCBleHBy ZXNzIGl0IOKAkyBhIGJyaWRpIGlzIGFuIGlkZWEsIGFuIGFic3RyYWN0IHByb3Bvc2l0aW9uLiBU aGUgd29yZCAnJ21pJycgd2hlbiBJIHNheSBpdCBhbmQgdGhlIHdvcmQgJydkbycnIHdoZW4geW91 IGRvIHJlZmVycyB0byB0aGUgc2FtZSBzdW10aSwgc28gdGhlIHR3byBicmlkaSBhcmUgaWRlbnRp Y2FsLgoKVGhpcyBsZXNzb24gaXMgb24gJydicmlrYeKAmWknJywgdGhlIGJyaWRpIGVxdWl2YWxl bnQgb2Ygc3Vta2HigJlpLiBUaGV5IGFyZSB3b3JkIHdoaWNoIHJlcHJlc2VudCBlbnRpcmUgYnJp ZGkuIEhlcmUgaXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgYSBicmlkaSBjb25zaXN0 cyBvbmx5IG9mIHN1bXRpIGFuZCB0aGUgdGhpbmdzIHdoaWNoIGNvbnRhaW4gdGhlIHN1bXRpLCBz ZWxicmkgYW5kIHN1bXRjaXRhLiBOZWl0aGVyIGF0dGl0dWRpbmFscywgbm9yIHRoZSBzZW1hbnRp YyBsYXllciBvZiAnJ2tvJycgb3IgJydtYScnIGFyZSBwYXJ0IG9mIHRoZSBicmlkaSBwcm9wZXIs IGFuZCBzbyB0aGVzZSBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgJydicmlrYeKAmWknJy4KCgoK VGhlcmUgYXJlIG11Y2ggZmV3ZXIgJydicmlrYeKAmWknJyB0aGFuIHRoZXJlIGFyZSBzdW1rYeKA mWkuIFdlIHdpbGwgYmVnaW4gYnkgZ29pbmcgdGhyb3VnaCBzb21lIG9mIHRoZSB3b3JkcyBpbiB0 aGUgbW9zdCB1c2VkIHNlcmllcywgY2FsbGVkIEdPaEE6CgpXb3JkOglEZWZpbml0aW9uOgoKX18n J2dv4oCZdScnX18JUmVwZWF0cyByZW1vdGUgcGFzdCBicmlkaQoKX18nJ2dv4oCZYScnX18JUmVw ZWF0cyBwYXN0IGJyaWRpCgpfXycnZ2/igJllJydfXwlSZXBlYXRzIG5leHQtdG8tbGFzdCBicmlk aQoKX18nJ2dv4oCZaScnX18JUmVwZWF0cyBsYXN0IG1lbnRpb25lZCBicmlkaQoKX18nJ2dv4oCZ bycnX18JUmVwZWF0cyBmdXR1cmUgYnJpZGkKCl9fJyduZWknJ19fCVJlcGVhdHMgY3VycmVudCBi cmlkaQoKX18nJ25v4oCZYScnX18JUmVwZWF0cyBvdXRlciBicmlkaQoKCgpTb21lIG9mIHRoZSBH T2hBLScnYnJpa2HigJlpJycuIE5vdGljZSB0aGUgZmFtaWxpYXIgaSwgYSwgdS1wYXR0ZXJuIGZv ciBjbG9zZSBpbiBwYXN0LCBtZWRpdW0gaW4gcGFzdCBhbmQgZGlzdGFudCBpbiBwYXN0LgoKCgoK ClRoZXNlIGFyZSB2ZXJ5IG11Y2ggbGlrZSB0aGUgc3Vta2HigJlpICcncmknJywgJydyYScnIGFu ZCAnJ3J1JycuIFRoZXkgY2FuIG9ubHkgcmVmZXIgdG8gbWFpbiBicmlkaSBvZiBqdWZyYSwgYW5k IG5vdCB0aG9zZSBjb250YWluZWQgaW4gcmVsYXRpdmUgcGhyYXNlcyBvciBkZXNjcmlwdGlvbiBz dW10aS4gVGhlIG1haW4gYnJpZGkgY2FuIGNvbnRhaW4gYSByZWxhdGl2ZSBwaHJhc2UsIG9mIGNv dXJzZSwgYnV0IGEgJydicmlrYeKAmWknJyBjYW4gbmV2ZXIgYmUgdXNlZCB0byByZWZlciB0byBv bmx5IHRoZSByZWxhdGl2ZSBwaHJhc2UuCgpBIEdPaEEgYWN0cyBncmFtbWF0aWNhbGx5IG11Y2gg bGlrZSBhIHNlbGJyaSwgYW55IGNvbnN0cnVjdCB3aGljaCBjYW4gYXBwbHkgdG8gc2VsYnJpIGNh biBhbHNvIGFwcGx5IHRvIHRoZXNlLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgR09oQSBpcyB0 aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLCBhbmQgdGhlIHN1bXRp IGFyZSBieSBkZWZhdWx0IHRoZSBzYW1lIGFzIGluIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBG aWxsaW5nIHRoZSBzdW10aSBwbGFjZXMgb2YgYSBHT2hBIGV4cGxpY2l0bHkgb3ZlcndyaXRlcyB0 aGUgc3VtdGkgb2YgdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMuIENvbnRyYXN0OgoKQTogJydtaSBj aXRrYSBsbyBwbGlzZScnIEI6ICcnZ2/igJlpJycg4oCTIOKAnEkgZWF0IGFuIGFwcGxlLuKAnSDi gJxZb3UgZG8u4oCdIHdpdGgKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ21pIGdv4oCZ aScnIOKAkyDigJxJIGVhdCBhbiBhcHBsZS7igJ0g4oCcSSBkbywgdG9vLuKAnQoKCgpUaGVzZSAn J2JyaWth4oCZaScnIGFyZSB2ZXJ5IHVzZWZ1bCB3aGVuIGFuc3dlcmluZyBhIHF1ZXN0aW9uIHdp dGggJyd4dScnOgoKQTogJyd4dSBkbyBuZWxjaSBsZSBtaSBzcGVuaScnIEI6ICcnZ2/igJlpIC8g bmEgZ2/igJlpJycg4oCTIOKAnERvIHlvdSBsaWtlIG15IHdpZmU/4oCdIOKAnFllcy4vTm8u4oCd LiBUaGUgJyd4dScnLCBiZWluZyBhbiBhdHRpdHVkaW5hbCwgaXMgbm90IGNvcGllZC4KCldoZW4g cmVwZWF0aW5nIGJyaWRpIG5lZ2F0ZWQgYnkgJyduYScnLCB0aGF0IGlzOiBCcmlkaSB3aGVyZSAn J25hJycgaXMgcGxhY2VkIGluIHRoZSBwcmVuZXggKGxlc3NvbiB0d2VudHktc2V2ZW4pLCBpbiB0 aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSBvciByaWdodCBiZWZvcmUgdGhlIHNlbGJyaSwgdGhl IHJ1bGVzIGZvciBjb3B5aW5nIG92ZXIgJyduYScnIGFyZSBkaWZmZXJlbnQgZnJvbSB3aGF0IG9u ZSBtaWdodCBleHBlY3QuIEFueSAnJ25hJycgaXMgY29waWVkIG92ZXIsIGJ1dCBhbnkgYWRkaXRp b25hbCAnJ25hJycgaW4gdGhlIHByby1icmlkaSByZXBsYWNlcyB0aGUgZmlyc3QgbmEuIExldCBt ZSBzaG93IHlvdSB3aXRoIGFuIGV4YW1wbGU6CgpBOiAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycK CkI6ICcnbWkgbmEgZ28naScnID0gJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpDOiAnJ21pIG5h IG5hIGdvJ2kgPSAnJ21pIGNpdGthIGxvIHBsaXNlJycgPSAnJ21pIGphJ2EgZ28naScnCgoKCicn bmVpJycgYW5kICcnbm/igJlhJycgYXJlIG5vdCB1c2VkIG11Y2gsIGV4Y2VwdCBmb3Ig4oCcbWlu ZC1icmVha2luZyBwdXJwb3Nlc+KAnSwgd2hpY2ggaXMgbWFraW5nIHVwIGJyaWRpIHdoaWNoIGFy ZSBoYXJkIHRvIHBhcnNlLCBsaWtlICcnZGVpIG5hIHNlIGR14oCZdSBsZSBub+KAmWEgbGHigJll IGxlIG5laScnLiBTaW5jZSAnJ25laScnIHJlcGVhdHMgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGks IGhvd2V2ZXIsICcnbGUgbmVpJycgY2FuIGJlIHVzZWQgdG8gcmVmZXIgdG8gdGhlIHgxIG9mIHRo ZSBjdXJyZW50IG91dGVyIGJyaWRpLCAnJ2xlIHNlIG5laScnIHRoZSB4MiBhbmQgc28gb24uCgoK CldoZW4gdXNpbmcgJydicmlrYeKAmWknJywgb25lIG11c3QgYWx3YXlzIGJlIHdhcnkgb2YgY29w eWluZyBzZW50ZW5jZXMgd2l0aCB0aGUgcGVyc29uYWwgc3Vta2HigJlpIGxpa2UgJydtaScnLCAn J2RvJycsICcnbWHigJlhJycgZWN0LCBhbmQgYmUgY2FyZWZ1bCBub3QgdG8gcmVwZWF0IHRoZW0g d2hlbiB0aGV5IGFyZSBpbiB0aGUgd3JvbmcgY29udGVjdCwgYXMgc2hvd24gaW4gdGhlIHR3byBl eGFtcGxlcyB3aXRoIGFwcGxlIGVhdGluZyBhYm92ZS4gSW5zdGVhZCBvZiByZXBsYWNpbmcgdGhl bSBvbmUgYnkgb25lLCB0aG91Z2gsIHRoZSB3b3JkICcncmHigJlvJycgYW55d2hlcmUgaW4gdGhl IGJyaWRpIHVwZGF0ZXMgdGhlIHBlcnNvbmFsIHN1bWth4oCZaSBzbyB0aGF0IHRoZXkgYXBwbHkg Zm9yIHRoZSBzcGVha2Vy4oCZcyBwZXJzcGVjdGl2ZToKCkE6ICcnbWkgZG8gcHJhbWknJyBCOiAn J21pIGRvIGdv4oCZaScnIGlzIGVxdWl2YWxlbnQgdG8gQTogJydtaSBkbyBwcmFtaScnIEI6ICcn Z2/igJlpIHJh4oCZbycnCgpfXycncmHigJlvJydfXyBVcGRhdGUgYWxsIHBlcnNvbmFsIHN1bWth 4oCZaSBzbyB0aGF0IHRoZXkgbm93IGZpdCB0aGUgc3BlYWtlcuKAmXMgcG9pbnQgb2Ygdmlldy4K CgoKVGhlIG9ubHkgb3RoZXIgc2VyaWVzIG9mIGJyaWth4oCZaSBhcmUgdmVyeSBlYXN5IHRvIHJl bWVtYmVyOgoKX18nJ2Jyb2RhJydfXwlCcmlkaSB2YXJpYWJsZSAxCgpfXycnYnJvZGUnJ19fCUJy aWRpIHZhcmlhYmxlIDIKCl9fJydicm9kaScnX18JQnJpZGkgdmFyaWFibGUgMwoKX18nJ2Jyb2Rv JydfXwlCcmlkaSB2YXJpYWJsZSA0CgpfXycnYnJvZHUnJ19fCUJyaWRpIHZhcmlhYmxlIDUKCl9f JydjZWknJ19fCURlZmluZSBicmlkaSB2YXJpYWJsZSAobm90IGEgYnJpa2EnaSBhbmQgbm90IGlu IEJST0RBKQoKCgoKClRoZSBmaXJzdCBmaXZlIGFyZSBqdXN0IGZpdmUgaW5zdGFuY2VzIG9mIHRo ZSBzYW1lIHdvcmQuIFRoZXkgY2FuIGJlIHVzZWQgYXMgc2hvcnRjdXRzIHRvIGJyaWRpLiBBZnRl ciBzYXlpbmcgYSBicmlkaSwgc2F5aW5nICcnY2VpIGJyb2RhJycgZGVmaW5lcyB0aGF0IGJyaWRp IGFzICcnYnJvZGEnJywgYW5kICcnYnJvZGEnJyBjYW4gdGhlbiBiZSB1c2VkIGFzICcnYnJpa2Hi gJlpJycgZm9yIHRoYXQgYnJpZGkgaW4gdGhlIGZvbGxvd2luZyBjb252ZXJzYXRpb24uCgpXaGls ZSB3ZeKAmXJlIGF0IGl0LCB0aGVyZSBpcyBhbiBhbmFsb2dvdXMgc2VyaWVzIG9mIHN1bWth4oCZ aSwgd2hpY2ggcHJvYmFibHkgZG9lcyBub3QgYmVsb25nIGluIHRoaXMgbGVzc29uLCBidXQgaGVy ZSB0aGV5IGFyZSBhbnl3YXk6CgpfXycna2/igJlhJydfXwlTdW10aSB2YXJpYWJsZSAxCV9fJydm b+KAmWEnJ19fCVN1bXRpIHZhcmlhYmxlIDYKCl9fJydrb+KAmWUnJ19fCVN1bXRpIHZhcmlhYmxl IDIJX18nJ2Zv4oCZZScnX18JU3VtdGkgdmFyaWFibGUgNwoKX18nJ2tv4oCZaScnX18JU3VtdGkg dmFyaWFibGUgMwlfXycnZm/igJlpJydfXwlTdW10aSB2YXJpYWJsZSA4CgpfXycna2/igJlvJydf XwlTdW10aSB2YXJpYWJsZSA0CV9fJydmb+KAmW8nJ19fCVN1bXRpIHZhcmlhYmxlIDkKCl9fJydr b+KAmXUnJ19fCVN1bXRpIHZhcmlhYmxlIDUJX18nJ2Zv4oCZdScnX18JU3VtdGkgdmFyaWFibGUg MTAKCgoKYXMgd2VsbCBhcyB0aGUgJydjZWknJy1lcXVpdmFsZW50IGZvciB0aGlzIHNlcmllczoK Cl9fJydnb2knJ19fIERlZmluZSBzdW10aSB2YXJpYWJsZQoKCgoKClRoZXNlIGFyZSB1c2VkIGxp a2UgdGhlICcnYnJpa2HigJlpJyctc2VyaWVzLiBKdXN0IHBsYWNlLCBmb3IgaW5zdGFuY2UsICcn Z29pIGtv4oCZdScnIGFmdGVyIGEgc3VtdGksIGFuZCB0aGF0IHN1bXRpIGNhbiBiZSByZWZlcnJl ZCB0byBieSAnJ2tv4oCZdScnLgoKCgpTdHJhbmdlbHksIHRoZXNlIHNlcmllcyBhcmUgcmFyZWx5 IHVzZWQgZm9yIHRoZWlyIGludGVuZGVkIHB1cnBvc2UuIFRoZXkgYXJlLCBob3dldmVyLCB1c2Vk IGFzIGFyYml0cmFyeSBzZWxicmkgYW5kIHN1bXRpIGluIGV4YW1wbGUgdGV4dHM6CgrigJxTbywg aXMgaXQgdHJ1ZSB0aGF0IHRoZSB0cnV0aCBjb25kaXRpb25zIG9mICcna2/igJlhIGtv4oCZZSBi cm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhlIHNhbWUgYXMgJyduYSBrdSBrb+KAmWEga2/igJll IGJyb2RhJyc/4oCdIOKAnE5vcGUsIGl0IGlzbuKAmXQu4oCdCgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiB0d2VudHktZml2ZSAobG9naWNhbCBjb25uZWN0aXZlcykKCuKAnElmIHlvdSBh c2sgYSBMb2piYW5pc3Q6IOKAnERvIHlvdSB3YW50IG1pbGsgb3Igc3VnYXIgaW4geW91ciBjb2Zm ZWU/4oCdIHNoZeKAmWxsIGFuc3dlcjog4oCcQ29ycmVjdC7igJ3igJ0KCgoKV2l0dHkgYXMgdGhp cyBqb2tlIG1pZ2h0IGJlLCBpdCBpbGx1c3RyYXRlcyBhIHdlaXJkIHByb3BlcnR5IG9mIHRoZSBF bmdsaXNoIHdheSBvZiBhc2tpbmcgdGhpcyBxdWVzdGlvbi4gSXQgaXMgcGhyYXNlZCBhcyBhIHRy dWUvZmFsc2UgcXVlc3Rpb24sIGJ1dCBpdCByZWFsbHkgaXNu4oCZdC4gSW4gTG9qYmFuLCB3ZSBj YW7igJl0IGhhdmUgdGhpcyBraW5kIG9mIGluY29uc2lzdGVuY3ksIGFuZCBzbyB3ZSBtdXN0IGZp bmQgYW5vdGhlciB3YXkgb2YgYXNraW5nIHRoaXMga2luZCBvZiBxdWVzdGlvbi4gSWYgeW91IHRo aW5rIGFib3V0IGl0LCBpdOKAmXMgcHJldHR5IGhhcmQgdG8gZmluZCBhIGdvb2QgYW5kIGVhc3kg d2F5LCBhbmQgaXQgc2VlbXMgTG9qYmFuIGhhdmUgcGlja2VkIGEgZ29vZCB3YXkgaW5zdGVhZCBv ZiBhbiBlYXN5IHdheS4KCgoKVG8gZXhwbGFpbiBpdCwgbGV0IHVzIHRha2UgdHdvIHNlcGFyYXRl IGJyaWRpOiBCcmlkaSAxOiDigJxJIGxpa2UgbWlsayBpbiBteSBjb2ZmZWXigJ0gYW5kIGJyaWRp IDI6IOKAnEkgbGlrZSBzdWdhciBpbiBteSBjb2ZmZWXigJ0uIEJvdGggb2YgdGhlc2UgYnJpZGkg Y2FuIGhhdmUgdGhlIHN0YXRlIHRydWUgb3IgZmFsc2UuIFRoaXMgeWllbGRzIGZvdXIgY29tYmlu YXRpb25zIG9mIHdoaWNoIGJyaWRpIGlzL2FyZSB0cnVlOgoKQSApIDEgYW5kIDIJQiApIDEgYnV0 IG5vdCAyCgpDICkgMiBidXQgbm90IDEJRCApbmVpdGhlciAxIG5vciAyCgoKCkksIGluIGFjdHVh bGl0eSwgbGlrZSBtaWxrIGluIG15IGNvZmZlZSwgYW5kIEnigJltIGluZGlmZmVyZW50IGFzIHRv IHdoZXRoZXIgdGhlcmUgaXMgc3VnYXIgaW4gaXQgb3Igbm90LiBUaGVyZWZvcmUsIG15IHByZWZl cmVuY2UgY2FuIGJlIHdyaXR0ZW4gQSApIHRydWUgQiApIHRydWUgQyApIGZhbHNlIEQgKSBmYWxz ZSwgc2luY2UgYm90aCBBIGFuZCBCIHlpZWxkcyB0cnVlIGZvciBtZSwgYnV0IG5laXRoZXIgQyBu b3IgRCBkb2VzLiBBIG1vcmUgY29tcGFjdCB3YXkgb2Ygd3JpdGluZyBteSBjb2ZmZWUgcHJlZmVy ZW5jZXMgd291bGQgYmUgVFRGRiBmb3IgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLiBTaW1pbGFy bHksIGEgcGVyc29uIGxpa2luZyBoaXMgY29mZmVlIGJsYWNrIGFuZCB1bnN3ZWV0ZW5lZCB3b3Vs ZCBoYXZlIGEgY29mZmVlIHByZWZlcmVuY2Ugb2YgRkZGVC4gVGhpcyBjb21iaXRhdGlvbiBvZiAi dHJ1ZSIgYW5kICJmYWxzZSIgaXMgY2FsbGVkIGEg4oCcdHJ1dGggZnVuY3Rpb27igJ0sIGluIHRo aXMgY2FzZSBmb3IgdGhlIHR3byBzdGF0ZW1lbnRzIOKAnEkgbGlrZSBtaWxrIGluIG15IGNvZmZl ZeKAnSBhbmQg4oCcSSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKAnS4gTm90ZSB0aGF0IHRoZSBv cmRlciBvZiB0aGUgc3RhdGVtZW50cyBtYXR0ZXJzLgoKSW4gTG9qYmFuLCB3ZSBvcGVyYXRlIHdp dGggNCB0cnV0aCBmdW5jdGlvbnMsIHdoaWNoIHdlIGNvbnNpZGVyIGZ1bmRhbWVudGFsOgoKQTog VFRURiAoYW5kL29yKQoKTzogVEZGVCAoaWYgYW5kIG9ubHkgaWZmKQoKVTogVFRGRiAod2hldGhl ciBvciBub3QpCgpFOiBURkZGIChhbmQpCgoKCkluIHRoaXMgZXhhbXBsZSwgdGhleSB3b3VsZCB0 cmFuc2xhdGUgdG8gc29tZXRoaW5nIGxpa2U6IEE64oCdSnVzdCBub3QgYmxhY2sgY29mZmVl4oCd LCBPOiDigJxFaXRoZXIgYm90aCBtaWxrIG9yIHN1Z2FyLCBvciBub3RoaW5nIGZvciBtZSwgcGxl YXNl4oCdLCBVOiDigJxNaWxrLCBhbmQgSSBkb27igJl0IGNhcmUgYWJvdXQgaWYgdGhlcmXigJlz IHN1Z2FyIG9yIG5vdOKAnSBhbmQgRTog4oCcTWlsayBhbmQgc3VnYXIsIHBsZWFzZS7igJ0uCgoK CkluIExvamJhbiwgeW91IHBsYWNlIHRoZSB3b3JkIGZvciB0aGUgdHJ1dGggZnVuY3Rpb24gYmV0 d2VlbiB0aGUgdHdvIGJyaWRpLCBzZWxicmkgb3Igc3VtdGkgaW4gcXVlc3Rpb24uIFRoYXQgd29y ZCBpcyBjYWxsZWQgYSBsb2dpY2FsIGNvbm5lY3RpdmUuIFRoZSB3b3JkcyBmb3IgdHJ1dGggZnVu Y3Rpb25zIGJldHdlZW4gc3VtdGkgKGFuZCBqdXN0IGZvciBzdW10aSEpIGFyZSAgJycuYScnICcn Lm8nJyAnJy51JycgYW5kICcnLmUnJy4gSG93IG5pY2UuIEZvciBpbnN0YW5jZTog4oCcSSBhbSBm cmllbmRzIHdpdGggYW4gQW1lcmljYW4gYW5kIGEgR2VybWFu4oCdIHdvdWxkIGJlICcnbG8gbWVy a28gLmUgbG8gZG90Y28gY3UgcGVuZG8gbWknJy4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxJIHNw ZWFrIHRvIHlvdSBhbmQgbm8gb25lIGVsc2U/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSB0YXZsYSBkbyAuZSBubyBkcmF0YScnIE5vdGUgdGhhdCB0aGlzIGFjdHVhbGx5IHN0YXRlcyB0 aGF0IGl0J3MgdHJ1ZSB0aGF0ICJJIHNwZWFrIHRvIHlvdSIufn4KCgoKT25lIG1vcmU6IOKAnEkg bGlrZSBjaGVlc2Ugd2hldGhlciBvciBub3QgSSBsaWtlIGNvZmZlZeKAnQoKX18nJ2NrYWZpJydf XyB4MSBpcyBhIHF1YW50aXR5L2NvbnRhaW5zIGNvZmZlZSBmcm9tIHNvdXJjZS9vZiBncmFpbiB4 MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgbmVsY2kgbG/igJllIGNpcmxhIC51IGxv4oCZ ZSBja2FmaScnfn4KCgoKWW91IGNhbiBwZXJoYXBzIGRlZHVjZSB0aGF0IHRoZXJlIGFyZSBzaXh0 ZWVuIHBvc3NpYmxlIHRydXRoIGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBsZWFybiB0d2VsdmUg bW9yZSBpbiBvcmRlciB0byBrbm93IHRoZW0gYWxsLiBFaWdodCBtb3JlIGNhbiBiZSBvYnRhaW5l ZCBieSBuZWdhdGluZyBlaXRoZXIgdGhlIGZpcnN0IHNlbnRlbmNlIG9yIHRoZSBzZWNvbmQuIFRo ZSBmaXJzdCBpcyBuZWdhdGVkIGJ5IHByZWZpeGluZyB0aGUgdHJ1dGggZnVuY3Rpb24gd29yZCB3 aXRoICcnbmEnJywgdGhlIHNlY29uZCBpcyBuZWdhdGVkIGJ5IHBsYWNpbmcgJyduYWknJyBhZnRl ciB0aGUgd29yZC4gRm9yIGV4YW1wbGUsIHNpbmNlICcnLmUnJyByZXByZXNlbnRzIFRGRkYsICcn LmUgbmFpJycgbXVzdCBiZSDigJxib3RoIDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hp Y2ggaXMgRlRGRi4gU2ltaWxhcmx5LCAnJ25hIC5hJycgaXMg4oCcSnVzdCBub3Q6IDEgaXMgdHJ1 ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgVFRGVC4gRG9pbmcgdGhpcyB0eXBlIG9mIGNv bnZlcnNpb24gaW4gdGhlIGhlYWQgcmVhbC10aW1lIGlzIHZlcnksIHZlcnkgaGFyZCwgc28gcGVy aGFwcyBvbmUgc2hvdWxkIGZvY3VzIG9uIGxlYXJuaW5nIGhvdyBsb2dpY2FsIGNvbm5lY3RpdmVz IHdvcmsgaW4gZ2VuZXJhbCwgYW5kIHRoZW4gbGVhcm4gdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMg dGhlbXNlbHZlcyBieSBoZWFydC4KCgoKRm91ciBmdW5jdGlvbnMgY2Fubm90IGJlIG1hZGUgdGhp cyB3YXk6IFRUVFQsIFRGVEYsIEZURlQgYW5kIEZGRkYuIFRoZSBmaXJzdCBhbmQgdGhlIGxhc3Qg Y2Fubm90IGJlIG1hZGUgdXNpbmcgbG9naWNhbCBjb25uZWN0aXZlcyBhdCBhbGwsIGJ1dCB0aGV5 IGFyZSBraW5kIG9mIHVzZWxlc3MgYW55d2F5LiBVc2luZyBhIGh5cG90aGV0aWNhbCBsb2dpY2Fs IGNvbm5lY3RpdmUgaW4gdGhlIHNlbnRlbmNlIOKAnEkgbGlrZSBtaWxrIEZGRkYgc3VnYXIgaW4g bXkgY29mZmVl4oCdIGlzIGVxdWl2YWxlbnQgdG8gc2F5aW5nIOKAnEkgZG9u4oCZdCBsaWtlIGNv ZmZlZeKAnSwganVzdCBtb3JlIGNvbXBsaWNhdGVkLiBUaGUgbGFzdCB0d28sIFRGVEYgYW5kIEZU RlQsIGNhbiBiZSBtYWRlIGJ5IHByZWZpeGluZyAnJy51Jycgd2l0aCBnb29kIG9s4oCZICcnc2Un Jywgd2hpY2gganVzdCByZXZlcnRzIHRoZSB0d28gc3RhdGVtZW50cy4gJydzZSAudScnICwgZm9y IGluc3RhbmNlIGlzIOKAnEIgd2hldGhlciBvciBub3QgQeKAnSwgd2hpY2ggaXMgVEZURi4gVGhl IGZpbmFsIGxpc3Qgb2YgYWxsIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2FuIGJlIHNlZW4gYmVsb3cu CgoKClRUVFQ6IENhbm5vdCBiZSBtYWRlCgpUVFRGOiAnJy5hJycKClRURlQ6ICcnLmEgbmFpJycK ClRURkY6ICcnLnUnJyBPUiAnJy51IG5haScnCgpURlRUOiAnJ25hIC5hJycKClRGVEY6ICcnc2Ug LnUnJwoKVEZGVDogJycubycnIE9SICcnbmEgLm8gbmFpJycKClRGRkY6ICcnLmUnJwoKRlRUVDog JyduYSAuYSBuYWknJwoKRlRURjogJyduYSAubycnIE9SICcnLm8gbmFpJycKCkZURlQ6ICcnc2Ug LnUgbmFpJycKCkZURkY6ICcnLmUgbmFpJycKCkZGVFQ6ICcnbmEgLnUnJyBPUiAnJ25hIC51IG5h aScnCgpGRlRGOiAnJ25hIC5lJycKCkZGRlQ6ICcnbmEgLmUgbmFpJycKCkZGRkY6IENhbm5vdCBi ZSBtYWRlCgoKCkxvZ2ljYWxseSwgc2F5aW5nIGEgc2VudGVuY2Ugd2l0aCBhIGxvZ2ljYWwgY29u bmVjdGl2ZSwgbGlrZSBmb3IgaW5zdGFuY2UgJydtaSBuZWxjaSBsb+KAmWUgY2lybGEgLmUgbmFp IGxv4oCZZSBja2FmaScnIGlzIGVxdWl2YWxlbnQgdG8gc2F5aW5nIHR3byBicmlkaSwgd2hpY2gg YXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBzYW1lIGxvZ2ljYWwgY29ubmVjdGl2ZTogJydtaSBuZWxj aSBsb+KAmWUgY2lybGEgLmkge0UgTkFJfSBtaSBuZWxjaSBsb+KAmWUgY2thZmknJy4gVGhpcyBp cyBob3cgdGhlIGZ1bmN0aW9uIG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMgaXMgZGVmaW5lZC4gV2Ug d2lsbCBnZXQgdG8gaG93IHRvIGFwcGx5IGxvZ2ljYWwgY29ubmVjdGl2ZXMgdG8gYnJpZGkgaW4g YSBtb21lbnQuCgoKCkJ5IHB1dHRpbmcgYSDigJxq4oCdIGluIGZyb250IG9mIHRoZSBjb3JlIHdv cmQgb2YgYSBsb2dpY2FsIGNvbm5lY3RpdmUsIGl0IGNvbm5lY3RzIHR3byBzZWxicmkuIEFuIGV4 YW1wbGUgaXMgJydtaSBuaW5tdSBuYSBqbyBuYW5tdScnIOKAnEkgYW0gYSBtYW4gb3IgYSB3b21h biwgYnV0IG5vdCBib3Ro4oCdCgpfXycnbmlubXUnJ19fIHgxIGlzIGEgd29tYW4KCgoKVGhpcyBp cyDigJx0YW5ydS1pbnRlcm5hbOKAnSwgbWVhbmluZyB0aGF0IGl0IGxvb3NlbHkgYmluZHMgc2Vs YnJpIHRvZ2V0aGVyLCBldmVuIHdoZW4gdGhleSBmb3JtIGEgdGFucnU6ICcnbG8gZG90Y28gamEg bWVya28gcHJlbnUnJyBtZWFucyDigJxhIEdlcm1hbiBvciBBbWVyaWNhbiBtYW7igJ0sIGFuZCBp cyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICcncHJlbnUnJy4gVGhpcyBiaW5k aW5nIGlzIHNsaWdodGx5IHN0cm9uZ2VyIHRoYXQgbm9ybWFsIHRhbnJ1LWdyb3VwaW5nIChzdGls bCB3ZWFrZXIgdGhhbiBzcGVjaWZpYyBncm91cGluZy13b3JkcyksIGFuZCBhcyBzdWNoLCAnJ2xv IGRvdGNvIGphIG1lcmtvIG5pbm11IGphIG5hbm11JycgaXMgcGFyc2VkICcnbG8nJyAoJydkb3Rj byBqYSBtZXJrbycnKSAoJyduaW5tdSBqYSBuYW5tdScnKS4gVGhlIHNlbGJyaSBsb2dpY2FsIGNv bm5lY3RpdmVzIGNhbiBhbHNvIGJlIGF0dGFjaGVkIHRvICcnLmknJyBpbiBvcmRlciB0byBjb25u ZWN0IHR3byBzZW50ZW5jZXMgdG9nZXRoZXI6ICcnbGEgLmtpbS4gY21lbmUgbWkgLmkganUgbWkg bmFubXUnJyDigJxJ4oCZbSBjYWxsZWQgS2ltLCB3aGV0aGVyIG9yIG5vdCBJ4oCZbSBhIG1hbuKA nS4gVGhlIGNvbWJpbmF0aW9uICcnLmkgamUnJyBzdGF0ZXMgdGhhdCBib3RoIHNlbnRlbmNlcyBh cmUgdHJ1ZSwgbXVjaCBsaWtlIHdlIHdvdWxkIGFzc3VtZSBoYWQgbm8gbG9naWNhbCBjb25uZWN0 aXZlIGJlZW4gcHJlc2VudC4KCgoKVW5mYWlybHkgaGFyZCBxdWVzdGlvbjogVXNpbmcgbG9naWNh bCBjb25uZWN0aXZlcywgaG93IHdvdWxkIHlvdSB0cmFuc2xhdGUg4oCcSWYgeW914oCZcmUgY2Fs bGVkIEJvYiwgeW914oCZcmUgYSBtYW4u4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGEg LmJhYi4gY21lbmUgZG8gLmkgbmEgamEgZG8gbmFubXUnJyBvciDigJxFaXRoZXIgeW914oCZcmUg bm90IG5hbWVkIEJvYiBhbmQgYSBtYW4sIG9yIHlvdeKAmXJlIG5vdCBuYW1lZCBCb2IgYW5kIG5v dCBhIG1hbiwgb3IgeW914oCZcmUgbmFtZWQgQm9iIGFuZCBhIG1hbi4gQnV0IHlvdSBjYW7igJl0 IGJlIG5hbWVkIEJvYiBhbmQgbm90IGJlIGEgbWFuLuKAnSBUaGUgb25seSBjb21iaW5hdGlvbiBu b3QgcGVybWl0dGVkIGlzOiDigJxZb3XigJlyZSBjYWxsZWQgQm9iLCBidXQgbm90IGEgbWFuLuKA nSBUaGlzIG11c3QgbWVhbiB0aGF0LCBpZiBpdOKAmXMgdHJ1ZSB0aGF0IHlvdeKAmXJlIGNhbGxl ZCBCb2IsIHlvdSBtdXN0IGJlIGEgbWFuLn5+CgoKCklmIHdlIHRyeSB0byB0cmFuc2xhdGUgdGhl IHNhZCwgc2FkIGV2ZW50IG9mIOKAnEkgY3JpZWQgYW5kIGdhdmUgYXdheSBteSBkb2figJ0sIHdl IHJ1biBpbnRvIGEgcHJvYmxlbS4KCkF0dGVtcHRpbmcgdG8gc2F5IHRoZSBzZW50ZW5jZSB3aXRo IGEgJydqZScnIGJldHdlZW4gdGhlIHNlbGJyaSDigJxnYXZl4oCdIGFuZCDigJxjcmllZOKAnSwg d291bGQgbWVhbiB0aGUgc2FtZSB3b3JkIGZvciB3b3JkLCBidXQgdW5mb3J0dW5hdGVseSBtZWFu IHRoYXQg4oCcSSBjcmllZCB0aGUgZG9nIGFuZCBnYXZlIGF3YXkgdGhlIGRvZ+KAnSwgY2YuIHRo ZSBkZWZpbml0aW9uIG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIE9uZSBjYW4gY3J5IHRlYXJzIG9y IGV2ZW4gYmxvb2QsIGJ1dCBjcnlpbmcgZG9ncyBpcyBqdXN0IHNpbGx5LgoKSG93ZXZlciwgd2Ug Y2FuIGdldCBhcm91bmQgYnkgdXNpbmcgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmVzLiBX aGF0IHRoZXkgZG8gaXMgdGhhdCBhbnkgcHJldmlvdXMgc3VtdGNpdGEgYW5kIHN1bXRpIGF0dGFj aGVzIHRvIGJvdGggc2VsYnJpIGJvdW5kIGJ5IHRoZSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVj dGl2ZSwgYnV0IGFueSBmb2xsb3dpbmcgc3VtdGkgb3Igc3VtdGNpdGEgb25seSBhcHBsaWVzIHRv IHRoZSBsYXN0IG1lbnRpb25lZDogVGhlIGJyaWRpIHNwbGl0cyB1cCBmcm9tIG9uZSBoZWFkIHRv IHR3byB0YWlscywgdG8gc3BlYWsgbWV0YXBob3JpY2FsbHkuCgpUaGUgZm9ybSBvZiBhIGJyaWRp LXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIGlzIGdp4oCZViwgd2l0aCB0aGUgViBmb3IgdGhlIHZv d2VsIG9mIHRoZSB0cnV0aCBmdW5jdGlvbi4KCkhvdyBjb3VsZCB5b3UgY29ycmVjdGx5IHRyYW5z bGF0ZSB0aGUgRW5nbGlzaCBzZW50ZW5jZSB0byBMb2piYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBwdSBrbGFrdSBnaeKAmWUgZHVuZGEgbGUgbWkgZ2Vya3UnJ35+CgoKCldoYXQgZG9l cyAnJ3JvIHJlbW5hIGN1IHBhbGNpIGdp4oCZbyB6dWt0ZSBsbyBwYWxjaScnIG1lYW4/CgpfXycn cGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxQZW9wbGUgYXJlIGV2aWwgaWYgYW5kIG9ubHkgaWYgdGhleSBkbyBldmlsIHRoaW5ncy7i gJ1+fgoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBmb3JldGhvdWdodCBhbGwtYnV0IHRhbnJ1 IGludGVybmFsIGdyb3VwIG9mIGNvbm5lY3RlcnMgbWFkZSBieSBwcmVmaXhpbmcg4oCcZ+KAnSBp biBmcm9udCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24gdm93ZWwuIOKAnEZvcmV0aG91Z2h04oCdIGlu IHRoaXMgY29udGV4dCBtZWFucyB0aGF0IHRoZXkgbmVlZCB0byBnbyBpbiBmcm9udCBvZiB0aGUg dGhpbmdzIHRoZXkgY29ubmVjdCwgYW5kIHRodXMgeW91IG5lZWQgdG8gdGhpbmsgYWJvdXQgdGhl IGdyYW1tYXRpY2FsIHN0cnVjdHVyZSBvZiB0aGUgc2VudGVuY2UgYmVmb3JlIHNheWluZyBpdC4g QWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBtZWFucyB0aGF0IGl0IHNlcnZlcyBib3RoIGFzIGEgY29u bmVjdGl2ZSBiZXR3ZWVuIHN1bXRpLCBicmlkaSwgc2VsYnJpIGFuZCBicmlkaS10YWlscywgYnV0 IG5vdCBiZXR3ZWVuIHR3byBzZWxicmkgb2Ygb25lIHRhbnJ1LiBMZXQgbWUgc2hvdyB5b3UgaG93 IGl0IHdvcmtzLCByZXdyaXRpbmcgdGhlIExvamJhbiBzZW50ZW5jZSBhYm92ZToKCicnZ28gbG8g cmVtbmEgY3UgcGFsY2kgZ2kgbG8gcmVtbmEgY3UgenVrdGUgbG8gcGFsY2knJwoKVGhlIGZpcnN0 IGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGVzZSBraW5kcyBvZiBjb25zdHJ1Y3RzIGFyZSB3aGF0 IGNhcnJpZXMgdGhlIHZvd2VsIHdoaWNoIHNpZ25hbCB3aGF0IHRydXRoIGZ1bmN0aW9uIGlzIGJl aW5nIHVzZWQuIFRoZSBzZWNvbmQgbG9naWNhbCBjb25uZWN0aXZlIGlzIGFsd2F5cyAnJ2dpJycs IGFuZCBsaWtlICcnLmknJywgaXQgaGFzIG5vIHRydXRoIGZ1bmN0aW9uLiBJdCBzaW1wbHkgc2Vy dmVzIHRvIHNlcGFyYXRlIHRoZSB0d28gdGVybXMgYmVpbmcgY29ubmVjdGVkLiBJZiB5b3Ugd2Fu dCB0byBuZWdhdGUgdGhlIGZpcnN0IG9yIHNlY29uZCBzZW50ZW5jZSwgYSAnJ25haScnIGlzIHN1 ZmZpeGVkIHRvIGVpdGhlciB0aGUgZmlyc3QgKGZvciB0aGUgZmlyc3Qgc2VudGVuY2UpIG9yIHNl Y29uZCAoZm9yIHRoZSBzZWNvbmQgc2VudGVuY2UpIGxvZ2ljYWwgY29ubmVjdGl2ZS4KClByb3Zp ZGVkIHRoYXQgdGhlIGNvbnN0cnVjdHMgYXJlIHRlcm1pbmF0ZWQgcHJvcGVybHksIGl0IGhhcyBy ZW1hcmthYmxlIGZsZXhpYmlsaXR5LCBhcyB0aGUgZm9sbG93aW5nIGZldyBleGFtcGxlcyBkZW1v bnN0cmF0ZToKCicnbWkgZ28ga2xhbWEgZ2kgY2FkenUgdmF1IGxlIG1pIHpkYW5pJycg4oCcSSBn bywgaWYgYW5kIG9ubHkgaWYgd2FsaywgdG8gbXkgaG9tZeKAnSBvciDigJxJIGNhbiBvbmx5IGdv IHRvIG15IGhvbWUgYnkgd2Fsa2luZy7igJ0gTm90aWNlIHRoYXQgdGhlICcndmF1JycgaXMgbmVl ZGVkIHRvIG1ha2UgbGUgbWkgemRhbmkgYXBwbHkgdG8gYm90aCAnJ2NhZHp1JycgYW5kICcna2xh bWEnJy4KCicnc2UgZ3UgZG8gZ2kgbmFpIG1pIGJhanJhIGxlIGRvIGNrdWxlJycg4oCcV2hldGhl ciBvciBub3QgeW91LCB0aGVuIG5vdCBJLCBydW4gdG8geW91ciBzY2hvb2zigJ0gb3Ig4oCcSSB3 b27igJl0IHJ1biB0byB5b3VyIHNjaG9vbCBubyBtYXR0ZXIgaWYgeW91IGRvIG9yIG5vdOKAnQoK CgpUaGUgdGFucnUtaW50ZXJuYWwgZXF1aXZhbGVudCBvZiBnViBpcyBndeKAmVYuIFRoZXNlIGFy ZSBleGFjdGx5IHRoZSBzYW1lLCBleGNlcHQgdGhhdCB0aGV5IGFyZSBleGNsdXNpdmVseSB0YW5y dS1pbnRlcm5hbCwgYW5kIHRoYXQgdGhleSBiaW5kIGEgc2VsYnJpIHRvIHRoZSAnJ2dpJycgdGln aHRlciB0aGFuIG5vcm1hbCB0YW5ydS1ncm91cGluZywgYnV0IHdlYWtlciB0aGFuIGV4cGxpY2l0 IGJpbmRpbmctc3VtdGk6CgonJ2xhIHhhbnoua3J0LiBndeKAmWUgbWVya28gZ2kgZG90Y28gbmFu bXUnJyBpcyBlcXVpdmFsZW50IHRvCgonJ2xhIHhhbnoua3J0LiBtZXJrbyBqZSBkb3RjbyBuYW5t dScnCgoKCkFuZCBzbyB5b3XigJl2ZSByZWFkIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBqdXN0IHRv IGdldCB0aGUgbmVjZXNzYXJ5IGtub3dsZWRnZSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGxlYXJu IGhvdyB0byBhc2sg4oCcV291bGQgeW91IGxpa2UgbWlsayBvciBzdWdhciBpbiB5b3VyIGNvZmZl ZT/igJ0gaW4gTG9qYmFuLiBTaW1wbHkgcGxhY2UgYSBxdWVzdGlvbiBsb2dpY2FsIGNvbm5lY3Rp dmUgaW5zdGVhZCBvZiBhbm90aGVyIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5kIGxpa2UgJydtYScn LCBpdCBhc2tzIHRoZSBsaXN0ZW5lciB0byBmaWxsIGluIGEgY29ycmVjdCByZXNwb25zZS4gVW5m b3J0dW5hdGVseSwgdGhlc2UgcXVlc3Rpb24tbG9naWNhbCBjb25uZWN0aXZlcyBkb27igJl0IGFs d2F5cyBtYXRjaCB0aGUgbW9ycGhvbG9naWNhbCBwYXR0ZXJuIG9mIHRoZSBsb2dpY2FsIGNvbm5l Y3RpdmVzIHRoZXkgYXNrIGZvcjoKCl9fJydqaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0 aW9uOiBBc2tzIGZvciBhIHN1bXRpIGxvZ2ljYWwgY29ubmVjdGl2ZSAoQSkKCl9fJydqZeKAmWkn J19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSB0YW5ydS1pbnRlcm5h bCBzZWxicmkgbG9naWNhbCBjb25uZWN0aXZlIChKQSkKCl9fJydnaeKAmWknJ19fIExvZ2ljYWwg Y29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVj dGl2ZSAoR0loQSkKCl9fJydnZeKAmWknJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjog QXNrcyBmb3IgYSBmb3JldGhvdWdodCBhbGwtYnV0IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29u bmVjdGl2ZSAoR0EpCgpfXycnZ3XigJlpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246 IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgb25seSB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNvbm5l Y3RpdmUgKEdVaEEpCgoKClNvLi4uIGhvdyB3b3VsZCB5b3UgYXNrIGlmIHRoZSBwZXJzb25zIHdh bnRzIG1pbGsgb3Igc3VnYXIgaW4gaGVyIGNvZmZlZT8KCl9fJydsYWRydScnX18geDEgaXMvY29u dGFpbnMgbWlsayBmcm9tIHNvdXJjZSB4MgoKX18nJ3Nha3RhJydfXyB4MSBpcy9jb250YWlucyBz dWdhciBmcm9tIHNvdXJjZSB4MiBvZiBjb21wb3NpdGlvbiB4MwoKCgpQb3NzaWJsZSBhbnN3ZXI6 IH5+Z3JleSxncmV5Oicnc2FrdGEgamXigJlpIGxhZHJ1IGxlIGRvIGNrYWZpJycgdGhvdWdoIEkg Z3Vlc3Mgc29tZXRoaW5nIG1vcmUgRW5nbGlzaCBhbmQgbGVzcyBlbGVnYW50IGNvdWxkIGFsc28g c3VmZmljZSBsaWtlICcnZG8gZGppY2EgbGVudSBsbyBzYWt0YSBqaSBsbyBsYWRydSBjdSBuZW5y aSBsZSBkbyBja2FmaScnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktc2l4 IChub24tbG9naWNhbCBjb25uZWN0aXZlcykKClRoZSB3b3JkICJsb2dpY2FsIiBpbiAibG9naWNh bCBjb25uZWN0aXZlIiByZWZlcnMgdG8gdGhlIGFzc29jaWF0aW9uIGEgbG9naWNhbCBjb25uZWN0 aXZlIGhhcyB3aXRoIGEgdHJ1dGggZnVuY3Rpb24uIE5vdCBhbGwgdXNlZnVsIGNvbm5lY3RpdmVz IGNhbiBiZSBkZWZpbmVkIHRocm91Z2ggYSB0cnV0aCBmdW5jdGlvbiwgaG93ZXZlciwgYW5kIHNv IHRoZXJlIGFyZSBvdGhlciBjb25uZWN0aXZlcyBiZXNpZGUgdGhlIGxvZ2ljYWwgb25lcy4KClRo ZSBtZWFuaW5nIG9mIGEgbG9naWNhbCBjb25uZWN0aXZlIGlzIGRlZmluZWQgdGhlIHNhbWUgYXMg dHdvIGRpZmZlcmVudCBicmlkaSBjb25uZWN0ZWQgd2l0aCB0aGF0IGxvZ2ljYWwgY29ubmVjdGl2 ZS4gRm9yIGluc3RhbmNlLCAnJ21pIG5pdGN1IGRvIC5hIGxhIC5kamFuLicnIGlzIGRlZmluZWQg dG8gYmUgZXF1aXZhbGVudCB0byAnJ21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIC5kamFu LicnLiBUaGlzIGRlZmluaXRpb24gaXMgdXNlZnVsIHRvIGJlYXIgaW4gbWluZCwgYmVjYXVzZSBp dCBpbXBsaWVzIHRoYXQgc29tZXRpbWVzLCBzdW10aSBjYW5ub3QgYmUgY29ubmVjdGVkIHdpdGgg bG9naWNhbCBjb25uZWN0aXZlcyB3aXRob3V0IGNoYW5pbmcgdGhlIG1lYW5pbmcuIENvbnNpZGVy IHRoZSBzZW50ZW5jZTogIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkuIiBPbmUgYXR0ZW1w dCBhdCBhIHRyYW5zbGF0aW9uIHdvdWxkIGJlOiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBlIGxh IC5kam91cy4nJwoKX18nJ2RyYWNpJydfXyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkg d3JpdGVyL2RyYW1hdGlzdCB4MyBmb3IgYXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhl IHByb2JsZW0gd2l0aCB0aGlzIHRyYW5zbGF0aW9uIGlzIHRoYXQgaXQgbWVhbnMgJyd0aSBkcmFj aSBsYSAuZGphay4gaWplIHRpIGRyYWNpIGxhIC5kam91cy4nJywgd2hpY2ggaXMgbm90IHJlYWxs eSB0cnVlLiBOZWl0aGVyIEphY2sgbm9yIEpvZSB3cm90ZSBpdCwgdGhleSBkaWQgc28gdG9nZXRo ZXIuIFdoYXQgd2Ugd2FudCBoZXJlIGlzIG9mIGNvdXJzZSBhIG1hc3MsIGFuZCBzb21lIHdheSB0 byBqb2luIEphY2sgYW5kIEpvZSBpbiBvbmUgbWFzcy4gVGhpcyBoYXMgbGl0dGxlIHRvIGRvIHdp dGggYSB0cnV0aCBmdW5jdGlvbiBzbyB3ZSBtdXN0IHVzZSBhIG5vbi1sb2dpY2FsIGNvbm5lY3Rp dmUsIHdoaWNoIGFyZSBvZiBzZWxtYSdvIEpPSS4gV2UnbGwgcmV0dXJuIHRvIHRoaXMgSmFjayBh bmQgSm9lLXByb2JsZW0gaW4gYSBsaXR0bGUgLSBmaXJzdDogRm91ciBvZiB0aGUga25vd24gSk9J OgoKCgp8fFRoZSBMb2piYW4gY29ubmVjdGl2ZTp8JydjZScnfCcnY2UnbycnfCcnam9pJyd8Jydq byd1JycKCkpvaW5zIHN1bXRpIGFuZCBmb3JtcyBhOnxzZXR8c2VxdWVuY2V8bWFzc3xncm91cCBv ZiBpbmRpdmlkdWFsc3x8CgpUaGUgZnVuY3Rpb25zIG9mIHRoZXNlIHdvcmRzIGFyZSBzaW1wbGU6 ICcnbG8naSByZW1uYSBqbyd1IGxvJ2kgZ2Vya3UnJyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9m IGh1bWFucyBhbmQgdGhlIHNldCBvZiBkb2dzIGRpc3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFs cykuIFJlbWVtYmVyIGZyb20gbGVzc29uIHR3ZW50eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJk aXN0cmlidXRpdml0eSIgbWVhbnMgdGhhdCB3aGF0IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBh bHNvIHRydWUgZm9yIGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJyds b2kgcm8gZ2lzbXUgY2UnbyBsb2kgcm8gbHVqdm8gY2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEg c2VxdWVuY2UgY29uc2lzdGluZyBvZiB0aGUgbWFzcyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5 IHRoZSBtYXNzIG9mIGFsbCBsdWp2bywgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2 bGEuCgpBcyB3aXRoIGFsbCBvZiB0aGUgSk9JIHdoaWNoIGhhcyBhbiBpbmhlcmVudCBvcmRlciwg JydzZScnIG1heSBiZSBwdXQgYmVmb3JlICcnY2UnbycnIHRvIGludmVyc2UgdGhlIG9yZGVyOiAi QSAnJ2NlJ28nJyBCIiBpcyB0aGUgc2FtZSBhcyAiQiBzZSAnJ2NlJ28nJyBBIi4KCgoKSG93IGNh biB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxheSI/ CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBqb2kgbGEgLmRq b3VzLicnfn4gCgoKClRoZSBjbWF2byBvZiBKT0kgYXJlIHZlcnkgZmxleGlibGU6IFRoZXkgY2Fu IGFjdCBib3RoIGFzIHN1bXRpIGNvbm5lY3RpdmVzIGFuZCB0YW5ydS1pbnRlcm5hbCBjb25uZWN0 aXZlcywgc28gdGhleSBjYW4gYmUgdXNlZCB0byBjb25uZWN0IHN1bXRpLCBzZWxicmkgYW5kIGJy aWRpLiBUaGlzIGZsZXhpYmlsaXR5IG1lYW5zIHRoYXQgb25lIG11c3QgYmUgY2FyZWZ1bCB0byB1 c2UgZmEnb3JtYSdvIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgSk9JLiAKCldoYXQgaXMgd3Jvbmcg d2l0aCB0aGUgYnJpZGkgJydsbyBkb3RjbyBqbyd1IG1pIGN1IGtsYW1hIGxhIGRvdGNvIGd1Z2Rl Jyc/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2pvJ3UnJyBpcyBwdXQgYWZ0ZXIgYSBzZWxicmks IHNvIGl0IGV4cGVjdHMgYSBzZWxicmkgYWZ0ZXIgaXQgdG8gY29ubmVjdCB0bywgYnV0IG5vbmUg aXMgZm91bmQuIEhhZCAgYSAnJ2t1JycgYmVlbiBwcmVzZW50IGJlZm9yZSB0aGUgY29ubmVjdGl2 ZSwgaXQgd291bGQgaGF2ZSBiZWVuIGdyYW1tYXRpY2Fsfn4KCgoKSWYgc2V2ZXJhbCBKT0kgYXJl IHVzZWQsICcnYm8nJyBhbmQvb3IgJydrZScnIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSB1 c3VhbCBsZWZ0LWdyb3VwaW5nOiAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgYm8gbGEg LmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91LCBh bmQgdGhlbiBKYWNrIGFuZCBKb2UgYXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMi LiBDb250cmFzdCB3aXRoICcnbWkgam9pIGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMu IGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlvdSwg dGhlbiBKYWNrIHdpbGwgdG9nZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4g CgpDb25uZWN0aW5nIGJyaWRpIHdpdGggSk9JIGNhbiBtYWtlIHNvbWUgaW50ZXJlc3RpbmcgaW1w bGljYXRpb25zIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgYnJpZGk6ICcnbGEgLmRq YWsuIG1vcnNpIHJpJ2EgbG8gbnUgcmkgZHp1c29pIC5pIGpvaSBsZSBqZW1qYSdhIHBvIHJpIGN1 IGJlYm5hJycgLSAiSmFjayBpcyBkZWFkIGJlY2F1c2UgaGUgd2FzIGEgaW5mYW50cnkgc29sZGll ciBhbmQgaGlzIGdlbmVyYWwgd2FzIGFuIGlkaW90IiwgaW1wbHlpbmcgdGhhdCB0aGVzZSB0d28g YnJpZGkgbWFzc2VkIHRvZ2V0aGVyIHdhcyB0aGUgcGh5c2ljYWwgY2F1c2Ugb2YgaGlzIGRlYXRo OiBIYWQgaGUgb25seSBiZWVuIGluIGFuIGFybW9yZWQgdmVoaWNsZSBvciB3aXRoIGEgY29tcGV0 ZW50IGNvbW1hbmRlciwgaGUgbWlnaHQgaGFkIHN1cnZpdmVkLgoKX18nJ2R6dXNvaScnX18geDEg aXMgYW4gaW5mYW50cnkgc29sZGllciBvZiBhcm15IHgyCgpfXycnamVtamEnYScnX18geDEgaXMg YSBnZW5lcmFsIG9mIGFybXkgeDIgaW4gZnVuY3Rpb24geDMKCl9fJydiZWJuYScnX18geDEgaXMg Zm9vbGlzaC9pZGlvdGljIGluIHByb3BlcnR5IHgyCgoKCk5vbi1sb2dpY2FsIGNvbm5lY3RpdmVz IG1heSBhbHNvIGJlIG5lZ2F0ZWQgd2l0aCAnJ25haScnLCBpbmRpY2F0aW5nIHRoYXQgc29tZSBv dGhlciBjb25uZWN0aXZlIGlzIGFwcHJvcHJpYXRlOiAnJ2xvIGRqYWN1IGNlJ28gbmFpIC5lJ28g bG8gbGFkcnUgY3UgY2F2eWZsZSBmaSBsZSBtaSB0Y2F0aScnIC0gIlBsZWFzZSBkb24ndCBwb3Vy IGZpcnN0IHdhdGVyIHRoZW4gbWlsayBpbiBteSB0ZWEiLiBUaGlzLCBvZiBjb3Vyc2UsIHNheXMg bm90aGluZyBhYm91dCB3aGljaCBjb25uZWN0aXZlIGlzIGFwcHJvcHJpYXRlIC0gb25lIG1pZ2h0 IGd1ZXNzICcnc2UgY2UnbycnIChmaXJzdCBtaWxrLCB0aGVuIHdhdGVyKSwgb25seSB0byBmaW5k IG91dCB0aGF0ICcnLmUgbmFpJycgKG9ubHkgd2F0ZXIsIG5vIG1pbGsgYXQgYWxsKSB3YXMgdGhl IGNvcnJlY3Qgb25lLgoKX18nJ2NhdnlmbGUnJ19fIHgxLCBjb25zaXN0aW5nIG9mIHgyLCBmbG93 cyBpbnRvIHgzIGZyb20geDQKCkp1c3QgbGlrZSBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBhIHBs YXVzaWJsZSBuZWdhdGlvbiBvZiBhIG5vbi1sb2dpY2FsIGNvbm5lY3RpdmUsIGFuc3dlcnMgdG8g cXVlc3Rpb25zIG9mIHRoZSB0eXBlICcnamknJyBvciAnJ2plJ2knJyBjYW4gYmUgYm90aCBsb2dp Y2FsIGFuZCBub24tbG9naWNhbDogQTogJydsYWRydSBqZSdpIHNha3RhIGxlIGRvIGNrYWZpJycg QjogJydzZSBjZSdvJycgKCJNaWxrIG9yIHN1Z2FyIGluIHlvdSBjb2ZmZWU/IiAiRmlyc3QgdGhl IGxhdHRlciwgdGhlbiB0aGUgZm9ybWVyIikuIEluIHRoaXMgY2FzZSAnJ2NlJycgd291bGQgbWFr ZSBubyBzZW5zZSBhdCBhbGwsIHNpbmNlIHNldHMgY2FuJ3QgYmUgY29udGFpbmVkIGluIGNvZmZl ZSwgYW5kICcnam9pJycgKGJvdGggbWl4ZWQgdG9nZXRoZXIpIHdvdWxkIG1lYW4gdGhlIHNhbWUg YXMgJydqbyd1JycgKGJvdGggb2YgdGhlbSksIHVubGVzcyB0aGUgcmVzcG9uZGFudCBwcmVmZXJy ZWQgdW5taXhlZCBzdWdhciBpbiBoaXMgY29mZmVlLgoKCgpUaGUgZmlmdGggSk9JIEkgcHJlc2Vu dCBoZXJlIGlzIGEgYml0IG9mIGFuIG9kZGJhbGw6CgpfXycnZmEndScnX18gTm9uLWxvZ2ljYWwg Y29ubmVjdGl2ZTogVW5taXhlZCBvcmRlcmVkIGRpc3RyaWJ1dGlvbiAoQSBhbmQgQiwgcmVzcGVj dGl2ZWx5KQoKV2hlbiBvbmx5IG9uZSAnJ2ZhJ3UnJyBpcyBwbGFjZWQgd2l0aGluIGEgYnJpZGkg KG9yIHNldmVyYWwgYnJpZGkgY29ubmVjdGVkIHRvZ2V0aGVyIHdpdGggY29ubmVjdG9ycyksICcn ZmEndScnIG1heSBiZSBhc3N1bWVkIHRvIGJlIGlkZW50aWNhbCB0byAnJ2pvJ3UnJy4gV2hlbiBz ZXZlcmFsICcnZmEndScnIGlzIHVzZWQgd2l0aGluIG9uZSBicmlkaSwgaG93ZXZlciwgdGhlIGNv bnN0cnVjdHMgYmVmb3JlICcnZmEndScnIGVhY2ggYXBwbHkgdG8gZWFjaCBvdGhlciwgYW5kIHRo ZSBjb25zdHJ1Y3RzIGFmdGVyICcnZmEndScnIGVhY2ggYXBwbHkgdG8gZWFjaCBvdGhlci4gTGV0 J3MgaGF2ZSBhbiBleGFtcGxlOgoKJydtaSBmYSd1IGRvIHJ1c2tvIGZhJ3Uga2Fkbm8nJyAtICJZ b3UgYW5kIEkgYXJlIFJ1c3NpYW4gYW5kIENhbmFkaWFuIiwgaW1wbHlpbmcgdGhhdCAnJ21pJycg Z29lcyB3aXRoICcncnVza28nJyBhbmQgJydkbycnIGdvZXMgd2l0aCAnJ2thZG5vJycsIGFuZCBp bXBseWluZyBub3RoaW5nIGFib3V0IGFueSBvdGhlciBjb21iaW5hdGlvbi4gT2YgY291cnNlLCBp biB0aGlzIGV4YW1wbGUsIGl0IHdvdWxkIGJlIG11Y2ggZWFzaWVyIHRvIHNheSAnJ21pIHJ1c2tv IC5pIGRvIGthZG5vJycuCgoKClRoZXNlIGxhc3QgdGhyZWUgSk9JIGNvbm5lY3RzIHR3byBzZXRz IHRvIG1ha2UgbmV3IHNldHM6CgpfXycnam8nZScnX18JQSB1bmlvbiBCCgpfXycna3UnYScnX18J QSBpbnRlcnNlY3Rpb24gQgoKX18nJ3BpJ3UgJydfXwlDcm9zcyBwcm9kdWN0IG9mIEEgYW5kIEIK CgoKVGhlc2UgYXJlIHByb2JhYmx5IG5vdCB2ZXJ5IHVzZWZ1bCBmb3IgdGhlIGF2ZXJhZ2UgTG9q YmFuaXN0LCBidXQgSSBtaWdodCBhcyB3ZWxsIGluY2x1ZGUgdGhlbSBoZXJlLgoKVGhlIGZpcnN0 IG9uZSwgJydqbydlJycsIG1ha2VzIGEgbmV3IHNldCBmcm9tIHR3byBzZXRzLiBUaGlzIG5ldyBz ZXQgY29udGFpbnMgb25seSB0aG9zZSBtZW1iZXJzIHdoaWNoIGFyZSBpbiBib3RoIHNldHMuCgpB IHNldCBtYWRlIHdpdGggJydrdSdhJycgY29udGFpbnMgYWxsIHRoZSBtZW1iZXJzIG9mIHNldCBB IGFuZCB0aG9zZSBvZiBzZXQgQi4gSWYgYW55dGhpbmcgaXMgYSBtZW1iZXIgb2YgYm90aCBzZXRz LCB0aGV5IGFyZSBub3QgY291bnRlZCB0d2ljZS4KCicncGkndScnIGlzIGEgbGl0dGxlIG1vcmUg Y29tcGxpY2F0ZWQuIEEgc2V0ICJBICcncGkndScnIEIiIGNvbnRhaW5zIGFsbCB0aGUgcG9zc2li bGUgY29tYmluYXRpb25zIG9mICJhICcnY2UnbycnIGIiLCB3aGVyZSBhIGlzIGEgbWVtYmVyIG9m IEEgYW5kIGIgaXMgYSBtZW1iZXIgb2YgQi4gSXQgaXMgdGh1cyBhIHNldCBvZiBzZXF1ZW5jZXMg b2YgbWVtYmVycy4gSWYsIGZvciBpbnN0YW5jZSwgc2V0IEEgY29udGFpbmVkIHRoZSBtZW1iZXJz IHAgYW5kIHEsIGFuZCBzZXQgQiBjb250YWluZWQgbWVtYmVycyBmIGFuZCBnLCB0aGVuIEEgJydw aSd1JycgQiB3b3VsZCBiZSBhIHNldCBjb25zaXN0aW5nIG9mIHRoZSBmb3VyIG1lbWJlcnMgcCAn J2NlJ28nJyBmLCBwICcnY2UnbycnIGcsIHEgJydjZSdvJycgZiBhbmQgcSAnJ2NlJ28nJyBnLgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1zZXZlbiAobG9qYmFuIGxvZ2ljOiBk YSwgYnXigJlhLCB6b+KAmXUgYW5kIHRlcm1zKQoKVGhlIHN0YXRlZCB0b3BpYyBvZiB0aGlzIGxl c3NvbiBuZWVkcyBzb21lIGp1c3RpZmljYXRpb246IFRoaXMgbGVzc29uIGlzIG5vdCByZWFsbHkg YWJvdXQgaG93IGRvIHRvIGxvZ2ljIGluIExvamJhbiwgc2luY2UgZmlyc3RseSwgbG9naWMgaXMg cHJlc3VtYWJseSB0aGUgc2FtZSBpbiBhbGwgbGFuZ3VhZ2VzLCBhbmQgc2Vjb25kbHksIGFjdHVh bGx5IHRlYWNoaW5nIGxvZ2ljIHdvdWxkIGJlIHRvdGFsbHkgaW1wcmFjdGljYWwgaW4gb25lIHNp bmdsZSBsZXNzb24uIFJhdGhlciwgdGhpcyBsZXNzb24gaXMgZXhwbGFpbnMgc29tZSBjb25zdHJ1 Y3RzIHdoaWNoIHJlc2VtYmxlcyB0aG9zZSB3aGljaCBsb2dpY2lhbnMgdXNlLiBJdCB0dXJucyBv dXQgdGhleSBoYXZlIGEgcmVtYXJrYWJsZSB3aWRlIHJhbmdlIG9mIHVzZXMgaW4gTG9qYmFuLgoK CgpHZXR0aW5nIGludm9sdmVkIGluIHRoZSBtb3JlIG9ic2N1cmUgZGV0YWlscyBvZiB0aGVzZSBs b2dpY2FsIGNvbnN0cnVjdHMgY2FuIGJlIG1pbmQtd2FycGluZ2x5IGRpZmZpY3VsdCwgYW5kIHRo ZXJlIHdpbGwgYWx3YXlzIGJlIHNvbWUgZGlzYWdyZWVtZW50IGluIHRoZSBjb3JuZXJzIG9mIHRo aXMgcGFydCBvZiB0aGUgbGFuZ3VhZ2UuCgoKCkxlYXJuaW5nIHRoZXNlIGxvZ2ljYWwgY29uc3Ry dWN0cyByZXF1aXJlcyBvbmUgdG8gbGVhcm4gYSBiaXQgYWJvdXQgY29uc3RydWN0cyB3aGljaCBh cmUgbm90IGxvZ2ljYWwgaW4gbmF0dXJlLiBMZXQncyBiZWdpbiB3aXRoICcnem8ndScnCgoKCl9f Jyd6byd1JydfXyBTZXBhcmF0ZXMgcHJlbmV4IGZyb20gYnJpZGkKCgoKQmVmb3JlIGFueSAnJ3pv J3UnJyBpcyB0aGUgcHJlbmV4LCBhZnRlciAnJ3pvJ3UnJyBpcyB0aGUgYnJpZGkuIEluZm9ybWFs bHksIGEgcHJlbmV4IGlzIGEgcGxhY2UgaW4gZnJvbnQgb2YgdGhlIGJyaWRpLCB3aGVyZSB5b3Ug cHV0IGEgYnVuY2ggb2YgdGVybXMuIEEgdGVybSBpcyBhbiBFbmdsaXNoIHdvcmQgZ2l2ZW4gdG8g c29tZSBraW5kcyBvZiBMb2piYW4gY29uc3RydWN0czogU3VtdGksIHN1bXRjaXRhIHdpdGggb3Ig d2l0aG91dCBzdW10aSBhdHRhY2hlZCwgJyduYSBrdScnIGFuZCBhbiBhYm9taW5hdGlvbiBjYWxs ZWQgX190ZXJtc2V0c19fLCB3aGljaCBJIHJlZnVzZSB0byBpbmNsdWRlIGluIHRoZXNlIGxlc3Nv bnMuIFRoZSBwcmVuZXggaXMgbm90IHBhcnQgb2YgdGhlIGJyaWRpLCBidXQgYW55IHRlcm1zIHB1 dCBpbnNpZGUgaXQgZ2l2ZXMgdXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJyaWRpLiBPbmUgY2Fu LCBmb3IgZXhhbXBsZSwgdXNlIGl0IHRvIHN0YXRlIGEgdG9waWMgYXMgc2hvd24gdGh1czoKCgoK JydsbyBwYW1wZSdvIGplIG5haSBzcGVuaSB6byd1IG1pIG5hIHphbnJ1JycgLSAiQ29uY2Vybmlu ZyBsb3ZlcnMgd2hvIGFyZSBub3Qgc3BvdXNlczogSSBkbyBub3QgYXBwcm92ZSIuIFRoZSBiZW5l Zml0cyBvZiBraW5kIG9mIHNlbnRlbmNlIHN0cnVjdHVyaW5nIGlzIHF1ZXN0aW9uYWJsZSwgYnV0 IGl0J3MgYWx3YXlzIGdvb2QgdG8gaGF2ZSBzb21lIHZhcmlhdGlvbiB0byBwbGF5IHdpdGguIEZ1 cnRoZXJtb3JlLCBjb25zdHJ1Y3Rpbmcgc2VudGVuY2VzIHRoaXMgd2F5IHJlc2VtYmxlcyBNYW5k YXJpbiAoYW5kIG90aGVyIGxhbmd1YWdlcykgY2xvc2VseSwgbWVhbmluZyBpdCBtaWdodCBzZWVt IG1vcmUgaW50dWl0aXZlIGZvciBzcGVha2VycyBvZiB0aGF0IGxhbmd1YWdlLgoKX18nJ3BhbXBl J28nJ19fIHgxIGlzIGEgbG92ZXIgb2YgeDIKCl9fJyd6YW5ydScnX18geDEgYXBwcm92ZXMgb2Yg eDIgKHBsYW4sIGV2ZW50IG9yIGFjdGlvbikKCgoKT2YgY291cnNlLCB0aGUgcmVsYXRpb24gYmV0 d2VlbiB0aGUgdGVybXMgaW4gdGhlIHByZW5leCBhbmQgdGhlIGJyaWRpIGlzIHZhZ3VlLiBPbmUg Y2FuIGltYWdpbmUgYW55IHN1bXRpIGluIHRoZSBwcmVuZXggYmVhcmluZyB0aGUgc2FtZSByZWxl dmFuY2UgdG8gdGhlIGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwdXQgaW4gdGhlIGJyaWRpIGFmdGVy IGEgJydkbydlJycgc3VtdGNpdGEsIGFuZCBhbnkgc3VtdGNpdGEgaW4gdGhlIHByZW5leCBkb2lu ZyBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyBpZiB0aGV5IHdlcmUgaW4gdGhlIGJyaWRpLiBJdCBp cyBxdWl0ZSBwb3NzaWJsZSB0byBwdXQgdGVybXMgaW4gcHJlbmV4ZXMgd2l0aG91dCBhbnkgY2xl YXIgaGludHMgYXMgdG8gaG93IHRoZSB0ZXJtIG1heSByZWxhdGUgdG8gdGhlIGJyaWRpOgoKJyds ZSB2aSBnZXJrdSB6byd1IG1pIHRvJ2UgbmVsY2kgbG8gY2lkanJwaXRzYScnIC0gIkNvbmNlcm5p bmcgdGhpcyBkb2cgaGVyZTogSSBkaXNsaWtlIHBpenphLiIgSXQgbGVhdmVzIHlvdSBndWVzc2lu ZyBhYm91dCB0aGUgcmVhc29uIGZvciBtZW50aW9uaW5nIHRoZSBkb2cuCgpfXycnY2lkanJwaXRz YScnX18geDEgaXMgcGl6emEgd2l0aCB0b3BwaW5nL2luZ3JlZGllbnRzIHgyCgoKCklmIHRoZSBw cmVuZXggY29udGFpbnMgJyduYSBrdScnLCBpdCdzIHByZXR0eSBzdHJhaWdodCBmb3J3YXJkOiBU aGUgZW50aXJlIGJyaWRpIGlzIG5lZ2F0ZWQsIGp1c3QgYXMgaWYgdGhlIGJyaWRpIGl0c2VsZiBi ZWdhbiB3aXRoICcnbmEga3UnJy4KCgoKU28gaG93IGxvbmcgZG9lcyBhIHByZW5leCBsYXN0PyBJ dCBsYXN0cyB1bnRpbCB0aGUgZm9sbG93aW5nIGJyaWRpIGlzIHRlcm1pbmF0ZWQuIElmIHRoYXQg aXMgbm90IGRlc2lyZWQsIHRoZXJlIGFyZSB0d28gd2F5cyB0byBtYWtlIGl0IGFwcGx5IHRvIHNl dmVyYWwgYnJpZGk6IE9uZSBpcyB0byBwdXQgc29tZSBraW5kIG9mIGNvbm5lY3RpdmUgYWZ0ZXIg dGhlICcnLmknJyBzZXBhcmF0aW5nIHRoZSBicmlkaSwgYW5kIGFub3RoZXIgbWV0aG9kIGlzIHRv IHNpbXBseSBpbmNsdWRlIGFsbCBvZiB0aGUgdGV4dCBpbiAnJ3R1J2UnJyAuLi4gJyd0dSd1Jyct YnJhY2tldHMuIFRoZXNlIGJyYWNrZXRzIHdvcmsgcHJldHR5IG11Y2ggYnkgZ2x1aW5nIGFsbCB0 aGUgYnJpZGkgdG9nZXRoZXIgYW5kIG1ha2VzIGFsbCBzb3J0cyBvZiBjb25zdHJ1Y3QgYXBwbHkg dG8gc2V2ZXJhbCBicmlkaS4KCgoKTm93IHRoYXQgd2UgY292ZXJlZCAnJ3pvJ3UnJywgdGhlIGZp cnN0ICJsb2dpY2FsIiB3b3JkcyB3ZSBjYW4gdXNlIGl0IHdpdGggYXJlIHRoZXNlOgoKX18nJ2Rh JydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tc3VtdGkgMQoKX18nJ2Rl JydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tc3VtdGkgMgoKX18nJ2Rp JydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tc3VtdGkgMwoKCgpUaGVz ZSB3b3JkcyBhcmUgYWxsIHRoZSBzYW1lLCBsaWtlIHRoZSBtYXRoZW1hdGljYWwgdmFyaWFibGVz IHgsIHkgYW5kIHouIE9uY2UgeW91IGhhdmUgZGVmaW5lZCB0aGVtLCBob3dldmVyLCB0aGV5IGtl ZXAgcmVmZXJpbmcgdG8gdGhlIHNhbWUgdGhpbmcuIFRoZXNlIHdvcmRzIGFyZSBkZWZpbmVkIGlu IHRoZSBwcmVuZXggb2YgYnJpZGksIG1lYW5pbmcgdGhhdCB3aGVuIHRoZSBwcmVuZXggc3RvcCBh cHBseWluZywgdGhlIGRlZmluaXRpb24gb2YgdGhlc2UgdGhyZWUgd29yZHMgYXJlIGNhbmNlbGxl ZC4KCgoKVGhlIHdvcmRzICcnZGEnJywgJydkZScnIGFuZCAnJ2RpJycgY2FuIHJlZmVyIHRvIGxp dGVyYWxseSBhbnkgc3VtdGksIHdoaWNoIG1ha2VzIHRoZW0ga2luZCBvZiB1c2VsZXNzIHVubGVz cyByZXN0cmljdGVkIGluIHNvbWUgd2F5LiBUaGUgZmlyc3QgYW5kIGZvcmVtb3N0IHdheSB0byBy ZXN0cmljdCB0aGVtIGlzIHRvIHF1YW50aWZ5IHRoZW06IFRoZXkgYXJlIG5vdCBjYWxsZWQgImxv Z2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSIgZm9yIG5vdGhpbmcuIFRo ZXkgYXJlIHByby1zdW10aSwgdGhleSBhcmUgbW9zdCB1c2VmdWwgd2hlbiBxdWFudGlmaWVkLCBh bmQgdGhleSBhcmUgZXhpc3RlbnRpYWwuIFdoYXQgZG9lcyBpdCBtZWFuLCBiZWluZyAiZXhpc3Rl bnRpYWwiPyBJdCBtZWFucyB0aGF0IGlmIHRoZXkgYXJlIHVzZWQsIHRoYXQgaW1wbGllcyB0aGF0 IHRoZXkgYWN0dWFsbHkgcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGV4aXN0cy4gQW4gZXhhbXBs ZToKCgoKVGhlIHN0YXRlbWVudCAnJ3BhIGRhIHpvJ3UgZGEgZ2Vya3UnJyBoYXMgJydwYSBkYScn IGluIHRoZSBwcmVuZXgsIHdoaWNoIG1lYW5zICJDb25jZXJuaW5nIG9uZSBleGlzdGluZyB0aGlu ZzoiLCBhbmQgdGhlbiAnJ2RhJycsIG5vdyBkZWZpbmVkLCBpcyB1c2VkIGluIHRoZSBicmlkaSAn J2RhIGdlcmt1JycuIFRyYW5zbGF0ZWQgdG8gRW5nbGlzaCwgdGhpcyBtZWFuczogIlRoZXJlIGV4 aXN0cyBvbmUgdGhpbmcgd2hpY2ggaXMgYSBkb2ciLiBUaGlzIGlzIG9idmlvdXNseSBmYWxzZSwg dGhlcmUgYXJlIGFyb3VuZCA0MDAsMDAwLDAwMCBvZiB0aGVtIGluIHRoZSB3b3JsZC4gSWYgJydk YScnIGFuZCBpdHMgc2lzdGVycyBhcmUgbm90IHF1YW50aWZpZWQsIHRoZSBudW1iZXIgJydzdSdv JycgaXMgdGhlIGRlZmF1bHQuIFRodXMgJydkYSB6byd1IGRhIGdlcmt1JycgbWVhbnMgIlRoZXJl IGV4aXN0IGF0IGxlYXN0IG9uZSB0aGluZyB3aGljaCBpcyBhIGRvZyIsIHdoaWNoIGlzIHRydWUu IE5vdGljZSBoZXJlLCB0aGF0IGFueSBxdWFudGlmaWNhdGlvbiBtdXN0IGJlIG1vcmUgb3IgbGVz cyBleGFjdCBpbiBvcmRlciB0byBiZSB0cnVlOiBPZiBjb3Vyc2Ugb25lIGRvZyBleGlzdHMsIGJ1 dCBpbiBMb2piYW4sICcncGEgZGEgem8ndSBkYSBnZXJrdScnIG1lYW5zIG5vdCBvbmx5IHRoYXQg ZG9lcyBvbmUgZG9nIGV4aXN0cywgYnV0IGFsc28gdGhhdCBubyBtb3JlIHRoYW4gb25lIGRvZXMu IAoKCgpUaGVyZSBhcmUgYSBmZXcgc3BlY2lmaWMgcnVsZXMgdG8gdGhlc2UgZXhpc3RlbnRpYWwg cHJvLXN1bXRpOgoKLSBJZiB0aGUgcXVhbnRpZmllciAnJ3JvJycgaXMgdXNlZCBiZWZvcmUgJydk YScnLCBpdCBpbnN0ZWFkIHJlZmVycyB0byAiYWxsIHdoaWNoIGV4aXN0cyIuICAKCi0gSWYgdGhl IHNhbWUgdmFyaWFibGUgaXMgcXVhbnRpZmllZCBzZXZlcmFsIHRpbWVzLCB0aGUgZmlyc3QgcXVh bnRpZmljYXRpb24gaXMgdGhlIG9uZSB3aGljaCBzdGlja3M6IEFueSBsYXRlciBxdWFudGlmaWVk IGluc3RhbmNlIG9mIHRoYXQgdmFyaWFibGUgY2FuIHJlZmVyIG9ubHkgdG8gdGhpbmdzIHdoaWNo IGFyZSBhbHNvIGJlaW5nIHJlZmVycmVkIHRvIGJ5IHRoZSBmaXJzdCBpbnN0YW5jZSBvZiB0aGF0 IHZhcmlhYmxlLCBhbmQgYW55IGxhdGVyIG5vbi1xdWFudGlmaWVkIGluc3RhbmNlIG9mIHRoYXQg dmFyaWFibGUgd2lsbCBnYWluIHRoZSBmaXJzdCBxdWFudGlmaWVyLiBUbyB1c2UgYW4gZXhhbXBs ZTogJydjaSBkYSB6byd1IHJlIGRhIGJhcmRhIC5pamUgZGEgcGVseHUnJyBtZWFucyAiVGhlcmUg ZXhpc3RzIHRocmVlIHRoaW5ncyBzdWNoIHRoYXQgdHdvIG9mIHRoZW0gYXJlIGJpZyBhbmQgYWxs IHRocmVlIGFyZSB5ZWxsb3ciLiAnJ3JlIGRhJycsIGJlaW5nIGFmdGVyICcnY2kgZGEnJywgY2Fu IG9ubHkgcmVmZXIgdG8gdHdvIG9mIHRoZSBhbHJlYWR5IHN0YXRlZCB0aHJlZSB0aGluZ3MuIFdo ZW4gJydkYScnIGFwcGVhcnMgd2l0aG91dCBhIHF1YW50aWZpZXIsICcnY2knJyBpcyBhc3N1bWVk LgoKLSBJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0ZXJtcyBpbiB0aGUgcHJlbmV4LCB0aGUgdGVybXMg YXJlIGFsd2F5cyByZWFkIGxlZnQgdG8gcmlnaHQuIFNvbWV0aW1lcywgdGhpcyBtYXR0ZXJzOiAn J3JvIGRhIGRlIHpvJ3UgZGEgcHJhbWkgZGUnJyBtZWFucyAiQ29uY2VybmluZyBhbGwgdGhlIHRo aW5ncyBYIHRoYXQgZXhpc3RzLCBjb25jZXJuaW5nIGF0IGxlYXN0IG9uZSB0aGluZyBZOiBYIGxv dmVzIFkiLiBUaGlzIGlzIHRoZSBzYW1lIGFzICJBbGwgdGhpbmdzIGxvdmUgYXQgbGVhc3Qgb25l IHRoaW5nLiIsIHdoZXJlIHRoZSAidGhpbmcocykiIGNhbiBiZSBhbnl0aGluZywgaW5jbHVkaW5n IHRoZSB0aGluZyBpdHNlbGYuIE5vdGUgaGVyZSB0aGF0ICcnZGUnJyBjYW4gcmVmZXIgdG8gZGlm ZmVyZW50IHRoaW5ncyBmb3IgZWFjaCAnJ2RhJycgLSB0aGUgdGhpbmcgd2hpY2ggaXMgcmVmZXJy ZWQgdG8gYnkgJydkZScnIGlzIGRlcGVuZGVudCBvbiB0aGUgJydkYScnLCBzaW5jZSBpdCBjYW1l IGJlZm9yZSBpdCBpbiB0aGUgcHJlbmV4LCB0aGVyZWZvcmUgZWFjaCB0aGluZyBtaWdodCBsb3Zl IHNvbWV0aGluZyBkaWZmZXJlbnQuIElmIHdlIHN3aXRjaGVkIHRoZSBwbGFjZXMgb2YgJydkYScn IGFuZCAnJ2RlJycgaW4gdGhlIHByZW5leCwgYSBkaWZmZXJlbnQgcmVzdWx0IHdvdWxkIGFyaXNl OiAnJ2RlIHJvIGRhIHpvJ3UgZGEgcHJhbWkgZGUnJyA9ICJDb25jZXJuaW5nIGF0IGxlYXN0IG9u ZSB0aGluZyBZLCBjb25jZXJuaW5nIGFsbCBYIHdoaWNoIGV4aXN0czogWCBsb3ZlcyBZIiwgbWVh bmluZyAiVGhlcmUgZXhpc3RzIGF0IGxlYXN0IG9uZSB0aGluZyB3aGljaCBldmVyeXRoaW5nIGxv dmVzIi4KCgoKT2YgY291cnNlLCBib3RoIGNsYWltcyBhcmUgY29tcGxldGVseSBmYWxzZS4gVGhl cmUgYXJlIG1hbnkgdGhpbmdzIHdoaWNoIGxvdmVzIG5vdGhpbmcgLSByb2Nrcywgb3IgYWJzdHJh Y3QgY29uY2VwdHMsIGZvciBleGFtcGxlLiBMaWtld2lzZSwgaXQncyBpbXBvc3NpYmxlIHRvIGNv bmNpZXZlIG9mIHNvbWV0aGluZyB3aGljaCBldmVyeXRoaW5nIGxvdmVzLCBzaW5jZSAiZXZlcnl0 aGluZyIgYWxzbyBlbmNvbXBhc3NlcyBub24tc2VudGllbnQgdGhpbmdzLiBXZSBuZWVkIGJldHRl ciB3YXlzIHRvIHJlc3RyaWN0IHdoYXQgdGhlc2UgdmFyaWFibGVzIGNhbiBwb2ludCB0by4gT25l IGdvb2Qgd2F5IG9mIGRvaW5nIGl0IGlzIHRvIG1ha2UgdGhlbSB0aGUgc3ViamVjdCBvZiBhIHJl bGF0aXZlIGNsYXVzZToKCicncm8gZGkgcG9pIHJlbW5hIHpvJ3UgYmlya2EgZGknJyA9ICJDb25j ZXJuaW5nIGFsbCBYIHRoYXQgZXhpc3RzLCB3aGljaCBpcyBodW1hbjogWCBoYXMgb25lIG9yIG1v cmUgYXJtcy4iIG9yICJBbGwgaHVtYW5zIGhhdmUgYXJtcyIsIHdoaWNoIGlzIHRydWUsIGF0IGxl YXN0IHdoZW4gc3BlYWtpbmcgaW4gYSBwb3RlbnRpYWwsIHRpbWVsZXNzIHNlbnNlLgoKX18nJ2Jp cmthJydfXyB4MSBpcyBhbiBhcm0gb2YgeDIKCldoZW4gcmVzdHJpY3RpbmcgY2xhaW1zIHVzaW5n IHRoaXMga2luZCBvZiBsb2dpY2FsICJleGlzdGVudGlhbCIgdmFyaWFibGUsIGl0J3MgdmVyeSBp bXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCB1bmxlc3MgdGhlcmUgaXMgYW4gZXhwbGljaXQgJydu bycnIGFzIGEgcXVhbnRpZmllciwgdGhlc2Uga2luZCBvZiBzdGF0ZW1lbnRzIGFsd2F5cyBpbXBs eSB0aGF0IHRoZXJlIF9fYWN0dWFsbHkgZXhpc3RzX18gc29tZXRoaW5nIHdoaWNoIGNhbiBiZSBy ZWZlcnJlZCB0byBieSAnJ2RhJycuIFRoZXJlZm9yZSwgYW55IGtpbmQgb2Ygbm9uLW5lZ2F0ZWQg c3RhdGVtZW50IHdoZXJlICcnZGEnJyBwb2ludHMgdG8gc29tZXRoaW5nIHdoaWNoIGRvZXMgbm90 IGV4aXN0IGlzIGZhbHNlLCBhcyBpbiB0aGlzIGV4YW1wbGU6ICcncm8gZGEgcG9pIHBhdnlzZWxq aXJuYSB6byd1IGRhIHNlIGppcm5hJycgLSAiQWxsIHVuaWNvcm5zIGhhdmUgaG9ybnMiLiBUaGlz IGlzIHdyb25nIGJlY2F1c2UsIHNpbmNlICcnZGEnJyBpcyBleGlzdGVuc2lhbCwgaXQgYWxzbyBt ZWFucyB0aGF0IHRoZXJlIG11c3QgZXhpc3QgYXQgbGVhc3Qgb25lIHVuaWNvcm4uCgpJbnRlcmVz dGluZ2x5LCB3aGVuIHVzaW5nIGEgcmVsYXRpdmUgY2xhdXNlLCB0aGUgdmFyaWFibGUgaXMgYmVp bmcgcmVzdHJpY3RlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgeW91IHVzZSAnJ3BvaScnIG9yICcn bm9pJycuIFRoaXMgaXMgYmVjYXVzZSAnJ3JlIGRhIG5vaSBnZXJrdScnIHN0aWxsIG9ubHkgY2Fu IHJlZmVyIHRvIHR3byB0aGluZ3Mgd2hpY2ggYXJlIGh1bWFucy4gVGhlcmVmb3JlLCAnJ25vaScn IG1ha2VzIGxpdHRsZSBzZW5zZSB3aXRoICcnZGEnJy8nJ2RlJycvJydkaScnLiBBbnkgY2xhdXNl IGlzIGFsd2F5cyByZXN0cmljdGl2ZSwgdW5sZXNzIGl0J3MgcmVhbGx5IHN0dXBpZCBhbmQgb2J2 aW91cyBsaWtlICcnZGUgbm9pIGdlcmt1IGN1IGdlcmt1JycuCgoKCkluIGZhY3QsIHlvdSBkb24n dCByZWFsbHkgbmVlZCB0aGUgcHJlbmV4IHRvIGRlZmluZSB0aGUgdmFyaWFibGVzLiBZb3UgY2Fu IHVzZSB0aGVtIGRpcmVjdGx5IGFzIHN1bXRpIGluIHRoZSBicmlkaSwgYW5kIHF1YW50aWZ5IHRo ZW0gdGhlcmUuIFlvdSBvbmx5IG5lZWQgdG8gcXVhbnRpZnkgdGhlbSB0aGUgZmlyc3QgdGltZSB0 aGV5IGFwcGVhciwgdGhvdWdoLiBUaHVzLCB0aGUgc2VudGVuY2UgYWJvdXQgaHVtYW5zIGhhdmlu ZyBhcm1zIGNvdWxkIGJlIHR1cm5lZCBpbnRvICcnYmlya2Egcm8gZGkgcG9pIHJlbW5hJycuIFRo ZSBvcmRlciBvZiB0aGUgdmFyaWFibGVzIHN0aWxsIG1hdHRlcnMgdGhvdWdoLCBhbmQgc28gdGhl IHByZW5leCBjYW4gYmUgdXNlZCB0byBhdm9pZCBoYXZpbmcgdG8gbWVzcyB1cCB5b3VyIGJyaWRp IHRvIHBsYWNlIHRoZSB2YXJpYWJsZXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuIFdoZW4gaGF2aW5n IG1vcmUgdmFyaWFibGVzLCBhIHByZW5leCBpcyB1c3VhbGx5IGEgZ29vZCBpZGVhLgoKCgpUaGUg c2Vjb25kIGtpbmQgb2YgbG9naWNhbCB3b3JkcyBhcmUgYmFzaWNhbGx5IHRoZSBzYW1lIGFzIHRo ZSB0aHJlZSB3ZSBoYXZlIGFscmVhZHkgYmVlbiB0aG91Z2gsIGJ1dCB0aGVzZSBhcmUgcHJvLWJy aWRpIGluc3RlYWQgb2YgcHJvLXN1bXRpOgoKCgpfXycnYnUnYScnX18gbG9naWNhbGx5IHF1YW50 aWZpZWQgZXhpc3RlbnRpYWwgcHJvLWJyaWRpIDEKCl9fJydidSdlJydfXyBsb2dpY2FsbHkgcXVh bnRpZmllZCBleGlzdGVudGlhbCBwcm8tYnJpZGkgMgoKX18nJ2J1J2knJ19fIGxvZ2ljYWxseSBx dWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1icmlkaSAzCgoKClRoZXNlIHdvcmsgcHJldHR5IG11 Y2ggdGhlIHNhbWUgd2F5IGFzIHRoZSBvdGhlciB0aHJlZSwgYnV0IHRoZXJlIGFyZSBhIGZldyBw b2ludHMgd2hpY2ggYXJlIGltcG9ydGFudCB0byBtZW50aW9uOgoKU2luY2Ugb25seSB0ZXJtcyBj YW4gZ28gaW4gdGhlIHByZW5leCwgdGhlc2UgcHJvLWJyaWRpIG5lZWQgdG8gaGF2ZSBhIHF1YW50 aWZpZXIgaW4gb3JkZXIgdG8gbWFrZSB0aGVtIGludG8gc3VtdGkuIFdoZW4gcXVhbnRpZmllZCBp biB0aGUgcHJlbmV4LCBob3dldmVyLCB0aGUgcXVhbnRpZmllciB3b3JrcyB2ZXJ5IGRpZmZlcmVu dCBmcm9tIHF1YW50aWZpZXJzIHdpdGggbm9ybWFsIHNlbGJyaTogSW5zdGVhZCBvZiBxdWFudGlm eWluZyB0aGUgYW1vdW50IG9mIHRoaW5ncyB3aGljaCBmaXRzIHRoZSB4MSBvZiB0aGUgc2VsYnJp IHZhcmlhYmxlLCBpdCBkaXJlY3RseSBxdWFudGlmaWVzIHRoZSBhbW91bnQgb2Ygc2VsYnJpIHdo aWNoIGFwcGxpZXMuIEFnYWluLCB0aGUgZGVmYXVsdCBxdWFudGlmaWVyIGlzICcnc28ndScnLiBU aHVzLCBpbnN0ZWFkIG9mICcncmUgYnUnYSB6byd1JycgbWVhbmluZyAiQ29uY2VybmluZyB0d28g dGhpbmdzIHdoaWNoIGlzIGluIHJlbGF0aW9uc2hpcCBYOiIsIGl0IG1lYW5zICJDb25jZXJuaW5n IHR3byByZWxhdGlvbnNoaXBzIFg6IgoKCgpJdCdzIHByb2JhYmx5IGdvb2QgdG8gc2VlIGFuIGV4 YW1wbGUgcGYgJydidSdhJycgcHV0IHRvIHByYWN0aWNlOgoKJydybyBkYSBidSdhIGxhIC5iYWIu JycgPSAiQ29uc2lkZXJpbmcgYWxsIFggd2hpY2ggZXhpc3RzOiBYIGlzIGluIGF0IGxlYXN0IG9u ZSByZWxhdGlvbnNoaXAgd2l0aCBCb2IiID0gIkV2ZXJ5dGhpbmcgaXMgcmVsYXRlZCB0byBCb2Ig aW4gYXQgbGVhc3Qgb25lIHdheS4iLiBOb3RpY2UgYWdhaW4gdGhlIG9yZGVyIG1hdHRlcnM6ICcn YnUnYSBybyBkYSB6byd1IGRhIGJ1J2EgQm9iJycgbWVhbnM6ICJUaGVyZSBpcyBhdCBsZWFzdCBv bmUgcmVsYXRpb25zaGlwIHN1Y2ggdGhhdCBldmVyeXRoaW5nIHRoYXQgZXhpc3RzIGlzIGluIHRo YXQgcmVsYXRpb25zaGlwIHdpdGggQm9iIi4gVGhlIGZpcnN0IHN0YXRlbWVudCBpcyB0cnVlIC0g Zm9yIGFueSBvbmUgdGhpbmcsIG9uZSBjYW4gaW5kZWVkIG1ha2UgdXAgc29tZSBzZWxicmkgd2hp Y2ggcmVsYXRlcyBhbnkgZ3V5IGNhbGxlZCBCb2IgYW5kIGl0LiBCdXQgSSdtIG5vdCBzdXJlIHRo ZSBsYXR0ZXIgaXMgdHJ1ZSAtIHRoYXQgb25lIGNhbiBtYWtlIGEgc2VsYnJpIHdoaWNoIGNhbiBy ZWxhdGUgYW55dGhpbmcsIG5vIG1hdHRlciB3aGF0IGl0IGlzLCBhbmQgQm9iLgoKCgpMZXQncyBo YXZlIGFuIGV4YW1wbGUgd2hpY2ggcXVhbnRpZmllcyBzZWxicmk6CgonJ2NpJ2kgYnUnZSB6byd1 IG1pIGJ1J2UgZG8nJyAtICJDb25jZXJuaW5nIGFuIGluZmluaXRlIGFtb3VudCBvZiByZWxhdGlv bnNoaXBzOiBJIGFtIGluIGFsbCB0aG9zZSByZWxhdGlvbnNoaXAgd2l0aCB5b3UuIiBvciAiVGhl cmUgZXhpc3RzIGFuIGluZmluaXRlIGFtb3VudCBvZiByZWxhdGlvbnNoaXBzIGJldHdlZW4gdXMi CgpZb3UgY2FuJ3QgcXVhbnRpZnkgdGhlIHNlbGJyaSB2YXJpYWJsZXMgaW4gdGhlIGJyaWRpIGl0 c2VsZiwgdGhvdWdoLiBUaGVuIGl0IHdpbGwgYWN0IGFzIGEgc3VtdGk6ICcnbWkgY2knaSBidSdh IGRvJycgaXMgbm90IGEgYnJpZGkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5 LWVpZ2h0IChub3RlcyBvbiBhYnN0cmFjdG9ycykKClRoZSBub3Rpb24gb2YgYWJzdHJhY3Rpb25z IGFuZCBhYnN0cmFjdG9ycyBpcyBxdWl0ZSBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGFuZCB5b3Ug aGF2ZSBhbHJlYWR5IGxlYXJuZWQgdGhlIG1lY2hhbmlzbSB0d2VudHktdHdvIGxlc3NvbnMgYWdv LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIG1hbnkgYWJzdHJhY3RvcnMgd2l0aCBzbGlnaHRseSBkaWZm ZXJlbnQgc2VtYW50aWMgbWVhbmluZyB0byBleHBsb3JlLCBhcyB3ZWxsIGFzIGEgc2luZ2xlIGlt cG9ydGFudCBtZWNoYW5pc20gd2hpY2ggaGFzIG5vdCBiZWVuIGNvdmVyZWQgeWV0LiBJbiB0aGlz IGxlc3NvbiwgYWxsIHR3ZWx2ZSBhYnN0cmFjdG9ycyB3aWxsIGJlIGVsYWJvcmF0ZWQgb24uIFRo ZSBmYSdvcm1hJ28gZm9yIGFsbCBvZiB0aGVzZSBpcyAnJ2tlaScnLgoKCgpUaGUgZmlyc3QgYW5k IG1vc3QgYmFzaWMgYWJzdHJhY3RvciBpcyAnJ3N14oCZdScnLCB3aGljaCB5b3UgYWxyZWFkeSBr bm93LgoKWW91IG1pZ2h0IHJlbWVtYmVyIGZyb20gbGVzc29uIHNpeCB0aGF0ICcnc3UndScnIGhh ZCBhIHBsYWNlIHN0cnVjdHVyZSB3aXRoIHR3byBzdW10aSBwbGFjZXMuIFRoZSBzZWNvbmQgc3Vt dGkgcGxhY2Ugb2YgJydzdSd1JycgbWFrZXMgdGhlIHdvcmQgdmVyc2F0aWxlLCBhcyB0aGUgeDIg Y2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBob3cgdGhlIGFic3RyYWN0aW9uIHNob3VsZCBiZSBjb25z aWRlcmVkLgoKVGhlIEVuZ2xpc2ggcGhyYXNlIOKAnHRoYXQgSSBsb3ZlIHlvdeKAnSBpcyBkZWZp bml0ZWx5IGEgc3VtdGksIHNpbmNlIGl04oCZcyBtZWFudCB0byBmdW5jdGlvbiBhcyBhIHN1Ympl Y3Qgb3Igb2JqZWN0IGluIGEgc2VudGVuY2UuIEl04oCZcyBhbHNvIGNsZWFybHkgbWFkZSBmcm9t IGFuIGFic3RyYWN0aW9uLiBJdCBjYW4gdGhlcmVmb3JlIGJlIHRyYW5zbGF0ZWQgKCcnbG8nJy8n J2xlJycpICcnc3XigJl1IG1pIGRvIHByYW1pJycuIFdpdGhvdXQgdGhlIGNvbnRleHQgb2YgdGhl IEVuZ2xpc2ggc2VudGVuY2UsIHRob3VnaCwgaXTigJlzIGhhcmQgdG8gZ3Vlc3Mgd2hhdCBraW5k IG9mIGFic3RyYWN0aW9uIHdhcyBtZWFudC4g4oCcSSB3aWxsIGRpZSBoYXBweSBieSB0aGUgdGlt ZSB0aGF0IEkgbG92ZSB5b3Uu4oCdIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gbGlrZSBhbiBldmVu dCBoYXBwZW5pbmcgaW4gdGltZS4g4oCcVGhlIHRydXRoIGlzIHRoYXQgSSBsb3ZlIHlvdS7igJ0g dHJlYXRzIHRoZSBhYnN0cmFjdGlvbiBsaWtlIGEgYnJpZGksIHdoaWNoIGNhbiBiZSBjb25zaWRl cmVkIHRydWUgb3IgZmFsc2UuIEluIHRoZSBzZW50ZW5jZSDigJxUaGUgbW9zdCBiZWF1dGlmdWwg dGhpbmcgaW4gdGhlIHdvcmxkIGlzIHRoZSBpZGVhIHRoYXQgSSBsb3ZlIHlvdeKAnSwgdGhlIGFi c3RyYWN0aW9uIGlzIGNvbnNpZGVyZWQgYW4gYWJzdHJhY3QgY29uY2VwdC4gVXNpbmcgdGhlIHNl Y29uZCBzdW10aSBwbGFjZSBvZiAnJ3N14oCZdScnLCB0aGVzZSBjYW4gYmUgZXhwbGljaXRseSBk aXN0aW5ndWlzaGVkIGJldHdlZW46CgonJ2xlIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8g ZmFzbnUnJyBpcyBhbiBldmVudC4KCicnbGUgc3XigJl1IG1pIGRvIHByYW1pIGtlaSBiZSBsbyBi cmlkaScnIGlzIGEgYnJpZGkuCgonJ2xlIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gc2lk Ym8nJyBpcyBhIGNvbmNlcHQuCgoKClVzaW5nICcnc3XigJl1JycgdGhpcyB3YXksIHRoZSBzZW1h bnRpYywgdGhvdWdoIG5vdCBncmFtbWF0aWNhbCwgcmFuZ2Ugb2YgYWxsIGFic3RyYWN0b3JzIGNh biBiZSBjb3ZlcmVkLiBNb3JlIHVzdWFsbHksIHRob3VnaCwgb3RoZXIgYWJzdHJhY3RvcnMgYXJl IHVzZWQuICcnbnUnJywgd2hpY2ggeW91IGFsc28ga25vdywgdHJlYXRzIHRoZSBhYnN0cmFjdGlv biBhcyBhbiBldmVudC4KCl9fJydudScnX18geDEgaXMgYW4gZXZlbnQgb2YgQlJJREkKCgoKVGhl cmUgYXJlIG1hbnkgd2F5cyB0byB2aWV3IGFuIGV2ZW50LCBhbmQgc28gdGhlcmUgYXJlIGZvdXIg b3RoZXIgYWJzdHJhY3RvcnMgd2hvc2Ugc2VtYW50aWMgYXJlIGFsbCBjb3ZlcmVkIGJ5IG51LCBi dXQgbW9yZSBzcGVjaWZpYy4KCl9fJydtdeKAmWUnJ19fIHgxIGlzIGEgcG9pbnQtbGlrZSBldmVu dCBvZiBCUklESSBoYXBwZW5pbmcKCl9fJyd6YeKAmWknJ19fIHgxIGlzIGEgc3RhdGUgb2YgQlJJ REkgYmVpbmcgdHJ1ZQoKX18nJ3B14oCZdScnX18geDEgaXMgYSBwcm9jZXNzIG9mIEJSSURJIHVu Zm9sZGluZyB0aHJvdWdoIHN0YWdlcyB4MgoKX18nJ3p14oCZbycnX18geDEgaXMgYW4gYWN0aXZp dHkgb2YgQlJJREkgY29uc2lzdGluZyBvZiB0aGUgcmVwZWF0ZWQgZXZlbnQgb2YgeDIKCgoKVGhl IHVuZGVyc3RhbmRpbmcgb2YgdGhlc2UgYWJzdHJhY3RvcnMgaXMgdGllZCB0byB0aGUgdW5kZXJz dGFuZGluZyBvZiBldmVudCBjb250b3Vycy4gJydtdeKAmWUnJyBpcyBha2luIHRvIHRoZSBldmVu dCBjb250b3VyICcnY2/igJlpJycgaW4gdGhlIHNlbnNlIHRoYXQgYm90aCB0cmVhdCB0aGUgYnJp ZGkgYXMgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZToKCicnbGUgbXXigJllIG1pIGthbnJv IGJpbnhvIGN1IHNlIGRqaWNhIG1pJycg4oCTIOKAnU1lIGJlY29taW5nIGhlYWx0aHkgaXMgZGVz aXJlZCBieSBtZeKAnSBoYXMgdGhlIHNlbWFudGljIG1lYW5pbmcgdGhhdCB0aGUgcHJvY2VzcyBv ZiBiZWNvbWluZyBoZWFsdGh5IGlzIG5vdCBiZWluZyBjb25zaWRlcmVkLiBJZiBpdCBjb25zaXN0 cyBvZiBjaGVtb3RoZXJhcHksIGl0IGlzIHBsYXVzaWJsZSB0aGF0IHRoaXMgcHJvY2VzcyBpcyBu b3QgZGVzaXJlZCBhdCBhbGwuIOKAnEJlY29taW5nIGhlYWx0aHnigJ0sIGluIGEgcG9pbnQtbGlr ZSBzZW5zZSBpcyBkZXNpcmVkLCBob3dldmVyLgoKCgonJ3ph4oCZaScnIGlzIGxpa2UgdGhlIGV2 ZW50IGNvbnRvdXIgJydjYeKAmW8nJyBpbiB0aGUgc2Vuc2UgdGhhdCAnJ2xlIHph4oCZaSBCUklE SScnIGJlZ2lucyB0byBhcHBseSB3aGVuIHRoZSBicmlkaSBiZWdpbnMgYW5kIHNoYXJwbHkgZW5k cyB3aGVuIHRoZSBicmlkaSBjZWFzZXMgdG8gYmUgdHJ1ZSwgbXVjaCBsaWtlICcnY2HigJlvJycu CgonJ3ph4oCZbyB6YeKAmWkgbWkga2Fucm8gYmlueG8nJyBtZWFucyB0aGF0IHRoZSBzdGF0ZSBv ZiBtZSBiZWNvbWluZyBoZWFsdGh5IHRvb2sgdG9vIGxvbmcgdGltZTsgdGhhdCB0aGUgdGltZSBi ZXR3ZWVuIG15IGhlYWx0aCBiZWdpbm5pbmcgdG8gaW1wcm92ZSBhbmQgYmUgYWN0dWFsbHkgYmVp bmcgaGVhbHRoeSB3YXMgbG9uZy13aW5kZWQuCgoKClRoZSBhY3R1YWwgdHJlYXRtZW50IGlzIHBl cmhhcHMgYmV0dGVyIGNhdWdodCBieSAnJ3B14oCZdScnLCB3aGljaCwgbGlrZSBldmVudCBjb250 b3VycyBpbiBnZW5lcmFsLCBwdXRzIGVtcGhhc2lzIG9uIHRoZSBlbnRpcmUgZXZlbnQgYXMgdW5m b2xkaW5nIHRocm91Z2ggdGltZS4gJycuaWkgYmEgemkgY2/igJlhIHB14oCZdSBtaSBrYW5ybyBi aW54byB2YXUgLm9pJycgZXhwcmVzc2VzIGZlYXIgdGhhdCB0aGUgcGFpbmZ1bCBwcm9jZXNzIG9m IGJlY29taW5nIGhlYWx0aHkgaXMgYWJvdXQgdG8gYmVnaW4uVGhlIHgyIGlzIGZpbGxlZCBieSBh IHNlcXVlbmNlIG9mIHN0YWdlcywgd2hpY2ggY2FuIGJlIG1hZGUgYnkgaW50ZXJzcGFjaW5nIHRo ZSBzdGFnZXMgd2l0aCB0aGUgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSAnJ2Nl4oCZbycnOiAnJ3pl 4oCZdSBwdeKAmXUgbWkga2Fucm8gYmlueG8ga2VpIGxlIG51IG1pIGZhY2tpIGNl4oCZbyBsZSBu dSBtaSBqYWkgdG9sc3RpIGNl4oCZbyBtaSByZW52aScnIG1lYW5zIOKAnHNvbWV0aGluZyBpcyBh IGxvbmcgcHJvY2VzcyBvZiBtZSBiZWNvbWluZyBoZWFsdGh5IGNvbnNpc3Rpbmcgb2YgdGhlIHN0 YWdlcyBBICkgSSBmaW5kIG91dCBCICkgc29tZXRoaW5nIGFib3V0IG1lIGJlZ2lucyBDICkgSSBl bmR1cmUu4oCdCgoKCkZpbmFsbHksIHRoZSBzZW1hbnRpY3Mgb2YgJyd6deKAmW8nJyB0cmVhdHMg dGhlIGFic3RyYWN0aW9uIGFzIGNvbnNpc3Rpbmcgb2YgcmVwZWF0ZWQgYWN0aW9uczogJydqaWJy aSBtaSBmYSBsbyB6deKAmW8gbWkgemJhc3UgbG8ga2FyY2UnJyDigJMg4oCcVGhlIGFjdGl2aXR5 IG9mIG1lIG1ha2luZyBjYXJzIGlzIG15IGpvYuKAnSBpcyBhY2N1cmF0ZSBpZiwgZm9yIGluc3Rh bmNlLCB0aGUgc3BlYWtlciB3b3JrcyBhdCBhIGNhci1wcm9kdWNpbmcgZmFjdG9yeS4gSGVyZSwg aGVyIGFjdGl2aXR5IG9mIHByb2R1Y2luZyBjYXJzIGNvbnNpc3RzIG9mIHRoZSByZXBlYXRlZCBh Y3Rpb25zIEEgKSBzaGUgbG93ZXJzIGZyYW1lIDEgb250byBjYXIgMSBCICkgc2hlIHdlbGRzIGZy YW1lIDEgdG8gY2FyIDEsIEMgKSByZXBlYXQgd2l0aCBjYXIgMi4gVGhlIHgyIGhlcmUgaXMgYWxz byBhIHNlcXVlbmNlLgoKCgpOb3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gJydtdeKAmWUgYmFq cmEnJywgJyd6YeKAmWkgYmFqcmEnJywgJydwdeKAmXUgYmFqcmEnJywgJyd6deKAmW8gYmFqcmEn JyBhbmQgJydudSBiYWpyYScnLiBUaGUgcG9pbnQtbGlrZSBldmVudCBvZiBydW5uaW5nIHB1dHMg ZW1waGFzaXMgb24gdGhlIGV2ZW50IGhhcHBlbmluZywgYnV0IG5vdGhpbmcgZWxzZS4gVGhlIHN0 YXRlIG9mIHJ1bm5pbmcgYmVnaW5zIHdoZW4gdGhlIHJ1bm5lciBiZWdpbnMgYW5kIHN0b3BzIHdo ZW4gdGhlIHJ1bm5lciBzdG9wcy4gVGhlIHByb2Nlc3Mgb2YgcnVubmluZyBjb25zaXN0cyBvZiBh IHdhcm0tdXAsIGtlZXBpbmcgYSBzdGVhZHkgc3BlZWQsIGFuZCB0aGUgZmluYWwgc3ByaW50LiBU aGUgYWN0aXZpdHkgb2YgcnVubmluZyBjb25zaXN0cyB0aGUgY3ljbGVzIG9mIGxpZnRpbmcgb25l IGZvb3QsIG1vdmluZyBpdCBmb3J3YXJkLCBkcm9wcGluZyBpdCBkb3duLCByZXBlYXQgd2l0aCB0 aGUgb3RoZXIgZm9vdC4gQWxsIG9mIHRoZXNlIGFyZSBjb3ZlcmVkIGJ5IHRoZSBldmVudCBvZiBy dW5uaW5nLgoKCgpUaGUgYWJzdHJhY3RvciAnJ2R14oCZdScnIGhhcyBub3RoaW5nIHRvIGRvIHdp dGggZXZlbnRzIGFuZCBvbmx5IGNvbnNpZGVycyB0aGUgYnJpZGkgaW5zaWRlIHRoZSBhYnN0cmFj dGlvbiBhcyBhIGJyaWRpOgoKJycudWkgc2FpIHppIGZhY2tpIGxlIGR14oCZdSB6aSBjaXRrYSBs byBjaWRqcnBpdHNhJycg4oCTIOKAnFllcyEgSSBqdXN0IGZvdW5kIG91dCB0aGF0IHBpenphIHdp bGwgYmUgZWF0ZW4gc29vbiHigJ0uIFdoYXQgaXMgYmVpbmcgZGlzY292ZXJlZCBpcyB0aGUgdHJ1 dGggb2YgYW4gYWJzdHJhY3QgYnJpZGksIG5vdCBhbiBldmVudC4gSW4gZ2VuZXJhbCwgYWJzdHJh Y3Rpb25zIGxpa2UgdHJ1dGhzLCBsaWVzLCB0aGluZ3MgYmVpbmcgZGlzY292ZXJlZCBvciBiZWxp ZXZlZCBhcmUgYWxsIHB1cmUgYnJpZGksIHNvICcnZHXigJl1JycgaXMgYXBwcm9wcmlhdGUuIAoK X18nJ2R14oCZdScnX18geDEgaXMgdGhlIGJyaWRpIG9mIEJSSURJIGV4cHJlc3NlZCBpbiBzZW50 ZW5jZSB4MgoKRm9yIGJyaWRpIHRvIGV4aXN0IChvciBhdCBsZWFzdCB0byBoYXZlIGFueSByZWxl dmFuY2UpLCB0aGV5IG11c3QgYmUgZXhwcmVzc2VkIGluIHNvbWUgbWVkaXVtLCB3aGV0aGVyIHRo aXMgaXMgc3BlZWNoLCB0aG91Z2h0IG9yIHdyaXRpbmcuIFRoZSB0ZXJtIOKAnGV4cHJlc3NlZOKA nSBpcyBtaXNsZWFkaW5nIGlmIGl0IGlzIGV4cHJlc3NlZCBvbmx5IGluIHRoZSBtaW5kIG9mIHNv bWVvbmUgYnV0IHRoZSB0ZXJtIG5vbmV0aGVsZXNzIGFwcGxpZXMuIFNwZWNpZnlpbmcgd2hpY2gg bWVkaXVtIHRoZSBicmlkaSBpcyBleHByZXNzZWQgaW4gaXMgd2hhdCB0aGUgeDIgb2YgJydkdeKA mXUnJyBpcyB1c2VkIGZvcjogICcnLnVpIGZhY2tpIGxlIGR14oCZdSBqYWkgY2lkanJwaXRzYSBr ZWkgem/igJllIHBlIGxlIG1pIG1hbXRhJycg4oCTIOKAnFlheSwgZGlzY292ZXJlZCB0aGF0IHNv bWV0aGluZyBhYm91dCBwaXp6YSwgZXhwcmVzc2VkIGluIHNvbWV0aGluZyB0aGF0IGhhZCB0byBk byB3aXRoIG15IG1vdGhlciHigJ0uIFRoZSB0cmFuc2xhdGlvbiBpcyBjbHVtc3ksIGJ1dCBwcm9i YWJseSBtZWFucyB0aGF0IHRoZSBzcGVha2Vy4oCZcyBtb3RoZXIgdG9sZCBoaW0gdGhhdCBwaXp6 YSB3YXMgY29taW5nLgoKCgpUaGUgbmV4dCBhYnN0cmFjdG9yLCAnJ3Np4oCZbycnLCBpcyBkZXJp dmVkIGZyb20gdGhlIGdpc211ICcnc2lkYm8nJyBtZWFuaW5nIOKAnGlkZWHigJ0uIEl04oCZcyBy ZWxhdGl2ZWx5IGVhc3kgdG8gdW5kZXJzdGFuZDogJydsZSBzaeKAmW8gbWkgbWFtdGEnJyBpcyB0 aGUgdmVyeSBpZGVhIHRoYXQgSSBhbSBhIG1vdGhlci4gU2ltaWxhcmx5LCAnJ2xlIHNp4oCZbyBw cmFtaScnIGlzIOKAnFRoZSBjb25jZXB0IHRoYXQgc29tZW9uZSBsb3ZlcyBzb21lb25l4oCdLCB3 aGljaCBjYW4gYmUgdHJhbnNsYXRlZCBhcyBtZXJlbHkg4oCcTG92ZSBpdHNlbGYu4oCdIEFsbCBp ZGVhcyBuZWVkIHNvbWVvbmUgdG8gcmVmbGVjdCBvbiB0aGVtLCBhbmQgdGhlIHNlY29uZCBzdW10 aSBwbGFjZSBvZiAnJ3Np4oCZbycnIG1pcnJvcnMgdGhpczoKCl9fJydzaeKAmW8nJ19fIHgxIGlz IGFuIGlkZWEgb2YgQlJJREkgYXMgaW1hZ2luZWQgYnkgeDIKCicnbGUgc2nigJlvIG5hbm11IGtl aSBiZSBkbyBjdSB4bGFsaSB2YXUgcGXigJlpJycg4oCTIOKAnFlvdXIgaWRlYSBvZiBtYW5saW5l c3MgaXMgaGFybWZ1bCwgSSB0aGluayzigJ0KCgoKVGhlIGFic3RyYWN0b3IgJydqZWknJyBpcyB2 ZXJ5IGRpZmZlcmVudCBmcm9tIHRob3NlIGNvdmVyZWQgc28gZmFyLCBiZWNhdXNlIG9mIGl0cyBw bGFjZSBzdHJ1Y3R1cmU6CgpfXycnamVpJydfXyB4MSBpcyB0aGUgdHJ1dGggdmFsdWUgb2YgQlJJ REkgdW5kZXIgZXBpc3RlbW9sb2d5IHgyCgpUaGUgZmlyc3Qgc3VtdGkgcGxhY2UgaXMgbm90IGFu IGFic3RyYWN0ZWQgYnJpZGksIGJ1dCBhIHZlcmRpY3Qgb2YgdHJ1dGgsIHdoaWNoIGxpZXMgYmV0 d2VlbiAwIChmYWxzZSkgYW5kIDEgKHRydXRoKSBpbmNsdXNpdmUuIFRoZXNlIHR3byBudW1iZXJz IGFyZSB1c2VkIHRvIHJlcHJlc2VudCBmYWxzZWhvb2Qgb3IgdHJ1dGgsIGFuZCB3aGlsZSB0aGUg eDEgb2YgdGhlIGFic3RyYWN0aW9uIGlzIHRlY2huaWNhbGx5IGEgbnVtYmVyICgnJ2xpJycpLCBp dCdzIG5vdCB2ZXJ5IHVzZWZ1bCB0byBkbyBtYXRoZW1hdGljcyBvbiBzdGF0ZW1lbnRzIHN1Y2gg YXMgInRydWUiIG9yICJmYWxzZSIsIHNvIHRoZXkgc2hvdWxkIHByb2JhYmx5IG5vdCBiZSBjb25z aWRlcmVkIG1hdGhlbWF0aWNhbCBxdWFudGl0aWVzLgoKVGhlIHgyIGlzIG9mdGVuIGxlZnQgdmFn dWUuCgonJy55IGxpIHBpIHNv4oCZdSBqZWkgZ2/igJlpIGtlaSB0deKAmWEgbWknJyDigJMg4oCc VXVoLCB0aGF04oCZcyBub3QgdmVyeSB0cnVlLCBhY2NvcmRpbmcgdG8gbWUu4oCdCgoKCicna2En JyBpcyBnbG9zc2VkICJwcm9wZXJ0eSIsIHdoaWNoIGlzIG5vdCBjbGVhciBhdCBhbGwuIEl0IHJl ZmVycyB0byB0aGUgZXNzZW5jZSBvZiBmaXR0aW5nIHRvIGEgY2VydGFpbiBzZWxicmksIHRodXMg JydsbyBrYSBjbGFuaScnIGlzICJ0YWxsbmVzcyIsIGFuZCAnJ2xvIGthIGRqaWNhJycgaXMgImRl c2lyZSIuIEluIGZhY3QsIGZvciBhbnkgc2VsYnJpLCAiWCBzYXRpc2ZpZXMgdGhlIHNlbGJyaSIg aXMgdGhlIHNhbWUgYXMgIlggaXMgY2hhcmFjdGVyaXplZCBieSB0aGUgcHJvcGVydHkgb2YgdGhl IHNlbGJyaSIuCgpUaGlzIHNlbGJyaSBtYXkgaGF2ZSBzb21lIHN1bXRpIHBsYWNlcyBmaWxsZWQg b3V0LCBhbGxvd2luZyB2ZXJ5IHNwZWNpZmljIHByb3BlcnRpZXMgdG8gYmUgZXhwcmVzc2VkOiAn J2xlIGthIHBlbmRvIGxhIHhhbnoua3J0IGdpJ2UgYmFkcmknJywgIlRoZSBwcm9wZXJ0eSBvZiBi ZWluZyBhIGZyaWVuZCBvZiBIYW5zIEt1cnQgYW5kIGJlaW5nIGRlcHJlc3NlZCIuIFRoaXMgZ2l2 ZXMgcmlzZSB0byBzdHJvbmcgYW1iaWd1aXR5OiBTaW5jZSAnJ2thJycgaXMgYWJvdXQgZml0dGlu ZyB0byBhIHNlbGJyaSAob3IgZXZlbiBhbiBlbnRpcmUgYnJpZGkpLCBvbmUgbXVzdCBiZSBhYmxl IHRvIHNwZWNpZnkgd2hpY2ggc3VtdGkgcGxhY2Ugd2UgYXJlIHRhbGtpbmcgYWJvdXQ6ICJUaGUg cHJvcGVydHkgb2Ygc3dpbW1pbmcgaW4gc29tZXRoaW5nIiBpcyB2ZXJ5IGRpZmZlcmVudCBmcm9t ICJUaGUgcHJvcGVydHkgb2Ygc29tZXRoaW5nIHN3aW1taW5nIGluIHlvdSIuIAoKT2YgY291cnNl LCB0aGlzIGNhbm5vdCBhbHdheXMgYmUgdXAgdG8gY29udGV4dCwgYW5kIHNvIHdlIGhhdmUgYSB3 b3JkLCAnJ2NlJ3UnJywgd2hpY2ggaWRlbnRpZmllcyB3aGljaCBzdW10aSBwbGFjZSBpcyBiZWlu ZyBmb2N1c2VkIG9uOgoKX18nJ2NlJ3UnJ19fIFNldHMgZm9jdXMgb24gc3VtdGkgcGxhY2UgaW4g YWJzdHJhY3Rpb24uCgoKCicna2EnJy1jb25zdHJ1Y3RzIGFyZSB1c2VkIGluIGFsbCBraW5kcyBv ZiBzZWxicmksICcnem1hZHUnJyBhbmQgJydtbGVjYScnIGludHJvZHVjZWQgaW4gbGVzc29uIG5p bmV0ZWVuIGlzIGV4YW1wbGVzIG9mIHN1Y2ggc2VsYnJpLiBTbzogd2hhdCBpcyB0aGUgZGlmZmVy ZW5jZSBiZXR3ZWVuICcnbWkgZG8gem1hZHUgbG8ga2EgbGEgbGl6IHByYW1pIGNlJ3UnJyBhbmQg JydtaSBkbyB6bWFkdSBsbyBrYSBjZSd1IHByYW1pIGxhIGxpeicnPwoKQW5zd2VyOiB+fmdyZXks Z3JleTogVGhlIGZpcnN0IG9uZSBtZWFucyAiTGl6IGxvdmVzIG1lIG1vcmUgdGhhbiB5b3UiLCB0 aGUgc2Vjb25kICJJIGxvdmUgTGl6IG1vcmUgdGhhbiB5b3UgZG8ifn4KClRoZSAnJ2NlJ3UnJyBj YW4gYmUgZWxpZGVkLCBpbiB3aGljaCBjYXNlIGl0IGlzIHVuZGVyc3Rvb2QgdG8gZmlsbCB0aGUg Zmlyc3QgdW5maWxsZWQgc3VtdGkgcGxhY2Ugb2YgdGhlIGFic3RyYWN0aW9uLgoKCgpMYXN0bHks IHdlIGhhdmUgdGhlIHdvcmQgJyduaScnLCB0aGUgZGVmaW5pdGlvbiBvZiB3aGljaCBpcyBtdWNo IGNvbnRlc3RlZCBhbmQgZGlzY3Vzc2VkIGFtb25nIExvamJhbmlzdHMuIEF0IGxlYXN0IHR3byBz bGlnaHRseSBkaWZmZXJlbnQgbWVhbmluZ3MgY2FuIGJlIGNvbnZleWVkIHdpdGggJyduaScnLCBw b3NzaWJseSBtb3JlLCBhbmQgaXQgaGFzIG5vdCBiZWVuIHNldHRsZWQgd2hpY2ggb25lIGlzIHRo ZSBjb3JyZWN0IHVzZSBvZiAnJ25pJycuIExldCdzIGZpcnN0IHNlZSBob3cgdGhlIHdvcmQgaXMg Z2xvc3NlZDoKCl9fJyduaScnX18geDEgaXMgdGhlIHF1YW50aXR5IG9mIEJSSURJIGFzIG1lYXN1 cmVkIGF0IHNjYWxlIHgyCgpVbmxpa2UgdGhlIHgxIG9mICcnamVpJycsIHRoZSB4MSBvZiAnJ25p JycgX19pc19fIHVzZWZ1bCB0byB0cmVhdCBhcyBhIG51bWJlci4gVGhlIGRpc2N1c3Npb24gYXJp c2VzIGJlY2F1c2UgaXQncyBwb3NzaWJsZSB0byBxdWFudGlmeSBicmlkaSBpbiBzZXZlcmFsIHdh eXMuIFRoZSBmb2xsb3dpbmcgZm91ciBleGFtcGxlcyBzaG93IHR3byBkaWZmZXJlbnQgd2F5czoK Cl9fJyd4YW1zaScnX18geDEgaXMgdGhlL2Egc2VhL29jZWFuIG9mIHBsYW5ldCB4MiBtYWRlIG9m IGZsdWlkIHgzCgpfXycnY2VuYmEnJ19fIHgxIHZhcmllcyBpbiBwcm9wZXJ0eS9hbW91bnQgeDIg YnkgYW1vdW50L2RlZ3JlZSB4MyB1bmRlciBjb25kaXRpb25zIHg0CgonJ2xlIHhhbXNpIGN1IGNl bmJhIGxlIG5pIGNlJ3UgYmxhbnUnJyAtICJUaGUgb2NlYW4gdmFyaWVzIGluIGJsdWVuZXNzIiAo bWVhbmluZyB0aGF0IGl0IG1pZ2h0IGJlIGxlc3Mgb3IgbW9yZSBibHVlLCBjb250cmFzdCB3aXRo ICcnbGUgeGFtc2kgY3UgY2VuYmEgbGUga2EgY2UndSBibGFudScnLCB3aGljaCBtZWFucyB0aGF0 IGl0IHZhcmllcyBpbiB3aGV0aGVyIGl0J3MgYmx1ZSBvciBub3QpCgonJ21pIHptYWR1IGRvIGxv IG5pIHBlbmRvIGNlJ3UnJy0gIkkgaGF2ZSBtb3JlIGZyaWVuZHMgdGhhbiB5b3UiCgpXaGVyZSB0 aGUgZmlyc3QgZXhhbXBsZSB1c2VzICcnbmknJyB0byBxdWFudGlmeSBob3cgbXVjaCBhbiBvYmpl Y3QgaXMgY2hhcmFjdGVyaXplZCBieSBhIHNlbGJyaSwgYW5kIHRoZSBzZWNvbmQgZXhhbXBsZSB0 byBxdWFudGlmeSBob3cgbWFueSB4IGFyZSBjaGFyYWN0ZXJpemVkIGJ5IGEgc2VsYnJpLgoKVGhp cyBpcywgb2YgY291cnNlLCBhIHByb2JsZW0gdG8gYSBsYW5ndWFnZSBsaWtlIExvamJhbiwgd2hp Y2ggcHJpZGVzIGl0c2VsZiB3aXRoIHVuYW1iaWdpdXR5LiBUaGlzIHByb2JsZW0gaGF2ZSBub3Qg YmVlbiBzb2x2ZWQgeWV0LCBhbmQgc28gYXMgb2Ygbm93LCB3ZSBhcmUgc3R1Y2sgd2l0aCAnJ25p JycgaGF2aW5nIGR1YWwgbWVhbmluZ3MuICAKClRoZXJlIGlzIGFsc28gc2xpZ2h0IGRpc2FncmVl bWVudCBhYm91dCB3aGF0IGl0IG1ha2VzIHNlbnNlIHRvIHF1YW50aWZ5LCB0aG91Z2ggdGhpcyBp cyBhIHBoaWxvc29waGljYWwgcmF0aGVyIHRoYW4gbGluZ3Vpc3RpYyBkZWJhdGUuIFNvbWUgdGV4 dHMgc3RyZXNzIHRoYXQgdGhvc2UgdGhpbmdzIHdoaWNoIGFyZSBub3QgZWFzaWx5IHF1YW50aWZp YWJsZSBsaWtlICcnbGUgbmkgbWkgdHVuYmEgZG8nJywgdGhlIGFtb3VudCBvZiBtZSBiZWluZyB5 b3VyIHNpYmxpbmcsIG1ha2VzIG5vIHNlbnNlIGkgYSAnJ25pJyctY29uc3RydWN0LiBGb3Igb3Ro ZXJzIHRoaXMgaXMgYSBwZXJmZWN0bHkgcmVhc29uYWJsZSB0aGluZyB0byBzYXksIGV2ZW4gdGhv dWdoIGFjdHVhbGx5IG1lYXN1cmluZyBpdCBpcyBub3QgcHJhY3RpY2FsLCBzaW1pbGFybHkgdG8g dGhlIEVuZ2xpc2ggcXVhbnRpZmljYXRpb24gb2YgbG92ZSBpbiB0aGUgc2VudGVuY2UgIkkgZGlk bid0IGtub3cgaG93IG11Y2ggSSBsb3ZlZCB5b3UgdW50aWwgbm93Ii4KCkJvdGggJydrYScnIGFu ZCAnJ25pJycgYWx3YXlzIGhhcyBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJ2NlJ3UnJy4KCgoK ISEhRW5kIG9mIGxlc3NvbnMKClNvcnJ5LCBidXQgYXMgb2Ygbm93LCB0aGVyZSBhcmUgbm8gbW9y ZSBsZXNzb25zIGluIHRoaXMgc2VyaWVzLiBQZXJoYXBzIG1vcmUgd2lsbCBiZSBhZGRlZCBsYXRl ci4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtp bmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWls LmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK