Received: from localhost ([::1]:46622 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1TsLGf-0002ni-41; Mon, 07 Jan 2013 14:34:05 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:48720 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1TsLGW-0002nY-6x for wikichanges@lojban.org; Mon, 07 Jan 2013 14:34:02 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 7 Jan 2013 14:33:56 -0800 From: "Apache" Date: Mon, 7 Jan 2013 14:33:56 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by snanu at 22:33 UTC Comment: Separated "is that of attitudinals which are..." into two sentences, and changed "which" to "that" in the second sentence. Changed "expressing especially" to "especially expressing". Changed "rules" to "rule" to agree with the later "is that there". I could have instead changed "is that there" to "are that there" [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by snanu X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 138062 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgc25hbnUgYXQgMjI6 MzMgVVRDCkNvbW1lbnQ6IFNlcGFyYXRlZCAiaXMgdGhhdCBvZiBhdHRpdHVkaW5hbHMgd2hpY2gg YXJlLi4uIiBpbnRvIHR3byBzZW50ZW5jZXMsIGFuZCBjaGFuZ2VkICJ3aGljaCIgdG8gInRoYXQi IGluIHRoZSBzZWNvbmQgc2VudGVuY2UuIENoYW5nZWQgImV4cHJlc3NpbmcgZXNwZWNpYWxseSIg dG8gImVzcGVjaWFsbHkgZXhwcmVzc2luZyIuICBDaGFuZ2VkICJydWxlcyIgdG8gInJ1bGUiIHRv IGFncmVlIHdpdGggdGhlIGxhdGVyICJpcyB0aGF0IHRoZXJlIi4gSSBjb3VsZCBoYXZlIGluc3Rl YWQgY2hhbmdlZCAiaXMgdGhhdCB0aGVyZSIgdG8gImFyZSB0aGF0IHRoZXJlIgoKWW91IGNhbiB2 aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4u b3JnL3Rpa2kvd2F2ZWxlc3NvbnNjb250aW51ZWQKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0 byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3 dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT13YXZlbGVzc29uc2Nv bnRpbnVlZCZjb21wYXJlPTEmb2xkdmVyPTMzJm5ld3Zlcj0zNAoKCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGlu IHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50 IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMTc5LTE4MyBjaGFuZ2VkIHRvICtM aW5lczogMTc5LTE4MyBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKwoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0 dGl0dWRpbmFscykKLSBBbm90aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIgdG8g RW5nbGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFscywgd2hpY2ggIGFyZSB3b3Jk cyB3aGljaCBleHByZXNzIGVtb3Rpb25zIGRpcmVjdGx5LiBUaGUgaWRlYSBvZiBhdHRpdHVkaW5h bHMgb3JpZ2luYXRlZCBpbiB0aGUgZmVtaW5pc3QgY29uc3RydWN0ZWQgbGFuZ3VhZ2UgTGFkYW4s IHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUgZmVtYWxlIGVtb3Rpb25zLiBUaGUgaWRlYSB3YXMg dGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJlc3Npb24gd2FzIGhpbmRlcmVkIGJ5IG1hbGUgZG9t aW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYgb25seSB0aGV5IHdlcmUgYWJsZSB0byBiZSBleHByZXNz ZWQgbW9yZSBmcmVlbHksIHRoaXMgd291bGQgZW1wb3dlciB3b21lbiB0aHJvdWdoIGxpYmVyYXRp b24gb2YgdGhlIGxhbmd1YWdlLgorIEFub3RoZXIgY29uY2VwdCB3aGljaCBjYW4gYmUgdW5mYW1p bGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVk aW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEg b2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0cnVjdGVkIGxh bmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4g VGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJl ZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUg dG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhy b3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4KSW4gTG9qYmFuLCB0aGVyZSBpcyBubyBz dWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHByb2JhYmx5IGhhdmUgYmVlbiBkZXNp Z25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVybmVkIG91dCB0byBiZSBpbmNy ZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2ZSBhIHNvLWNhbGxlZCBmcmVl IGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4gYXBwZWFyIGFsbW9zdCBhbnl3aGVy ZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBicmlkaeKAmXMgZ3JhbW1hciBv ciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4KSW4gTG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0 dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQuIElmIHRoYXQgcHJldmlvdXMgd29y ZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29uc3RydWN0IChsaWtlICcnLmknJyBvciAnJ2xv JycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgY29uc3RydWN0LiBMaWtld2lzZSwgaWYgdGhl IGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdoaWNoIGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAn J2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVkIGNvbnN0cnVjdC4KCistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczog MTk0LTE5OCBjaGFuZ2VkIHRvICtMaW5lczogMTk0LTE5OCBAQAorLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpfXycncGxpc2UnJ19fIOKA kyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlwZSB4MgoKLSBUaGUgc2VudGVuY2UgJydkbyBj aXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMgWW91IGVhdCBhbiBhcHBsZSwgeWF5ISAoZXhw cmVzc2luZyBlc3BlY2lhbGx5IHRoYXQgaXQgaXMgdGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVh a2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhlIGVhdGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3 YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcnZG8gemFhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRo ZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX3lvdV9f LCB3aG8gZWF0cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KKyBUaGUgc2Vu dGVuY2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMgWW91IGVhdCBhbiBhcHBs ZSwgeWF5ISAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRoYXQgaXQgaXMgdGhlIF9fYXBwbGVfXyB0 aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhlIGVhdGluZywgb3IgdGhlIGZh Y3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcnZG8gemFhIGNpdGthIGxvIHBs aXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVk IHRoZSBfX3lvdV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxz ZS4KCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBi cmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBseSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNp dCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhlIGVudGlyZSBicmlkaToKCistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5l czogMjIyLTIyNiBjaGFuZ2VkIHRvICtMaW5lczogMjIyLTIyNiBAQAorLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpTbywgcXVpdGUgZWFz eTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0gaXMgJydtaSBkdW5kYSAuZWkg bG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEgV2hlbiB5b3UgdGhpbmsgYWJv dXQgaXQsIHRoYXTigJlzIHdlaXJkLiBXaHkgaXMgaXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0dGl0 dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3NlcyB0aGUgc3BlYWtlcnMgZmVlbGlu ZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQgdGhl IGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBw bGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0aGUgYXBwbGUgYWN0dWFs bHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAnJy51aScnLCBob3dldmVyLCBJ IHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5LCBh bmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdOKAmXMgdGhhdCBhbGwgYWJvdXQ/Cgot IFRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlv bnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5vciBkZWJh dGUuIFRoZSBvZmZpY2lhbCwgdGV4dGJvb2sgcnVsZXMsIHdoaWNoIHByb2JhYmx5IHdvbnQgYmUg Y2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4gcHVyZSBlbW90 aW9ucyBhbmQgcHJvcG9zaXRpb25hbCBlbW90aW9ucy4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlv bnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBj YW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBwcm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRp dHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlv dSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRoZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUg aXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkgY29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUg dHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgorIFRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0 dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVl LCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5vciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwgdGV4dGJvb2sg cnVsZSwgd2hpY2ggcHJvYmFibHkgd29udCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEg ZGlzdGluY3Rpb24gYmV0d2VlbiBwdXJlIGVtb3Rpb25zIGFuZCBwcm9wb3NpdGlvbmFsIGVtb3Rp b25zLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0cnV0aCBjb25k aXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8gZXhwcmVzcyBh IHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hhbmdpbmcgdGhl IHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRlIGl0IGZyb20g dGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3IgZXhwbGljaXRs eSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9mIGEgYnJpZGk6 CgpfXycnZGHigJlpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4g ZmFjdAoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiFMb2pi YW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZDoKCiEhIWJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9t IGxhIC5rcmliYWNyLiwgbGEgeGFsYm8gYW5kIG90aGVycywgYXV0dW1uIDIwMTEuCgoKCiEhbGVz c29uIHplcm86IEZvcmV3b3JkCgpUaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFu ZCBvbiB0aGUgR29vZ2xlIFdhdmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlh bCBieSBrcmliYWNyLCB4YWxibywgYW5kIG90aGVycywgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVk IHRoZSBmaXJzdCBmb3VyIGNoYXB0ZXJzIGluIHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMg dGhlIG5ld2VzdCBydWxlcyBvZiBMb2piYW4gbm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxz IHN1Y2ggYXMgV2hhdCBpcyBMb2piYW4/IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KCgoKSWYg eW91IGFyZSBuZXcgdG8gTG9qYmFuLCBJIHJlY29tbWVuZCBsaXN0ZW5pbmcgdG8gYW55IHJlY29y ZGluZ3MgeW91IGNhbiBmaW5kIG9mIHNwb2tlbiBMb2piYW4gYm90aCBiZWZvcmUgYW5kIHdoaWxl IHlvdSBhcmUgdGFraW5nIHRoaXMgdHV0b3JpYWwsIGluIG9yZGVyIHRvIG1ha2UgeW91cnNlbGYg ZmFtaWxpYXIgd2l0aCB0aGUgc291bmRzIGFuZCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UsIHdoaWNo IHdpbGwgbm90IGJlIGV4cGxhaW5lZCBoZXJlLiBGdXJ0aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUg dGhpbmdzIHlvdSByZWFkIGluIExvamJhbiBhY2NlbnQgaWYgaXTigJlzIHJlYXNvbmFibHkgcHJh Y3RpY2FsLiBUaGlzIGNhbiBoZWxwIHlvdXIgcHJvbnVuY2lhdGlvbiBhIGxvdC4KCgoKV2hlbiB0 YWtpbmcgdGhpcyB0dXRvcmlhbCwgaXTigJlzIGJlc3QgdG8gcGF1c2UgYmV0d2VlbiBsZXNzb25z IGluIG9yZGVyIHRvIGludGVybmFsaXplIHdoYXQgeW91IGhhdmUgbGVhcm50LiBJIGhhdmUgYXR0 ZW1wdGVkIHRvIGJ1aWxkIHRoZXNlIGxlc3NvbnMgZnJvbSB0aGUgYm90dG9tIHVwIGFuZCBleGNs dWRlIGFueSB3b3JkcyBvciBjb25jZXB0cyB0aGF0IGhhdmUgbm90IGJlZW4gZXhwbGFpbmVkIGlu IHByZXZpb3VzIGxlc3NvbnMuIE9uY2UgZXhwbGFpbmVkLCB0aGV5IGFyZSB1c2VkIGZyZWVseSB0 aHJvdWdob3V0IHRoZSByZW1haW5kZXIgb2YgdGhlIHR1dG9yaWFsLiBJIHVyZ2UgcmVhZGVycyBu b3QgdG8gcGFzcyBhbnkgbWlzdW5kZXJzdG9vZCBjb250ZW50OyBpZiB5b3UgaGF2ZSBxdWVzdGlv bnMgb3IgYXJlIHVuY2VydGFpbiBhYm91dCBzb21ldGhpbmcsIGZlZWwgZnJlZSB0byBhc2sgdGhl IExvamJhbiBjb21tdW5pdHksIHdoaWNoIGNhbiBiZSBmb3VuZCBpbiAjbG9qYmFuIG9uIHRoZSBG cmVlbm9kZSBJUkMgbmV0d29yay4gVGhleSB3aWxsIGJlIGhhcHB5IHRvIGhlbHAuCgoKCkluIHRo aXMgdHV0b3JpYWwsIExvamJhbiB0ZXh0IGlzIHdyaXR0ZW4gaW4gJydpdGFsaWNzJycuIExhdGVy LCB3aGVuIHVzZWQgYXMgTG9qYmFuIGxvYW53b3JkcyBpbiBFbmdsaXNoIHNlbnRlbmNlcywgdGhl eSBhcmUgbm90IG1hcmtlZC4gQW5zd2VycyB0byBleGVyY2lzZXMgYXJlIGRpc3BsYXllZCBhcyBh IGdyZXkgYmFyLiBIaWdobGlnaHQgdGhlIHRleHQgaW4gb3JkZXIgdG8gc2VlIGl0LgoKCgpMYXN0 bHksIEkgaGF2ZSBhcyBmYXIgYXMgcG9zc2libGUgYXR0ZW1wdGVkIHRvIHVzZSB0aGUgTG9qYmFu IHdvcmRzIGZvciBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzOiAnJ3N1bWth4oCZaScnIGluc3RlYWQg b2YgcHJvLXN1bXRpLCAnJ3N1bXRjaXRhJycgaW5zdGVhZCBvZiBtb2RhbCBhbmQganVmcmEgaW5z dGVhZCBvZiB1dHRlcmFuY2UuIFRoaXMgaXMgYmVjYXVzZSBJIGZlZWwgdGhlIEVuZ2xpc2ggd29y ZHMgYXJlIG9mdGVuIGVpdGhlciBhcmJpdHJhcnksIGluIHdoaWNoIGNhc2UgdGhleSBhcmUganVz dCBtb3JlIHdvcmRzIHRvIGxlYXJuLCBvciBtaXNsZWFkaW5nLCBpbiB3aGljaCBjYXNlIHRoZXkg YXJlIHdvcnNlIHRoYW4gdXNlbGVzcy4gSW4gZWl0aGVyIGNhc2UsIGFzIGxvbmcgYXMgdGhlIHdv cmRzIGFyZSBzcGVjaWZpYyB0byB0aG9zZSB3aG8gYXJlIGxlYXJuaW5nIExvamJhbiBhbnl3YXks IHRoZXJlIGlzIG5vIHJlYXNvbiBmb3IgdGhlbSB0byBleGlzdCBhcyBzZXBhcmF0ZSBFbmdsaXNo IHdvcmRzLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBvbmUgKGJyaWRpLCBqdWZy YSwgc3VtdGkgYW5kIHNlbGJyaSkKCkEgJydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRyYWwgdW5p dCBvZiBMb2piYW4gdXR0ZXJhbmNlcy4gVGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0byB3aGF0 IHdlIGNhbGwgYSBwcm9wb3NpdGlvbiBpbiBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xhaW0gdGhh dCBzb21lIG9iamVjdHMgc3RhbmQgaW4gYSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBvciB0aGF0 IGFuIG9iamVjdCBoYXMgc29tZSBwcm9wZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8g JydqdWZyYScnLCB3aGljaCBhcmUgbWVyZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGljaCBjYW4g YmUgYnJpZGkgb3IgYW55dGhpbmcgZWxzZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5jZSBiZXR3 ZWVuIGEgYnJpZGkgYW5kIGEganVmcmEgaXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5lY2Vzc2Fy aWx5IHN0YXRlIGFueXRoaW5nLCB3aGlsZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJpZGkgbWln aHQgYmUgdHJ1ZSBvciBmYWxzZSwgd2hpbGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2FpZCB0byBi ZSBzdWNoLgoKVG8gaGF2ZSBzb21lIGV4YW1wbGVzIChpbiBFbmdsaXNoLCB0byBiZWdpbiB3aXRo KSwg4oCcTW96YXJ0IHdhcyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWXigJ0gaXMg YSBicmlkaSwgYmVjYXVzZSBpdCBtYWtlcyBhIGNsYWltIHdpdGggYSB0cnV0aCB2YWx1ZSwgYW5k IGl0IGludm9sdmVzIGFuIG9iamVjdCwgTW96YXJ0LCBhbmQgYSBwcm9wZXJ0eSwgYmVpbmcgdGhl IGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1lLiBPbiB0aGUgY29udHJhcnksIOKAnE93ISBN eSB0b2Uh4oCdIGlzIG5vdCBhIGJyaWRpLCBzaW5jZSBpdCBkb2VzIG5vdCBpbnZvbHZlIGEgcmVs YXRpb24sIGFuZCB0aHVzIGRvZXMgbm90IHN0YXRlIGFueXRoaW5nLiBCb3RoLCB0aG91Z2gsIGFy ZSBqdWZyYS4KClRyeSB0byBpZGVudGlmeSB0aGUgYnJpZGkgYW1vbmcgdGhlc2UgRW5nbGlzaCBq dWZyYToKCgoKIyDigJxJIGhhdGUgaXQgd2hlbiB5b3UgZG8gdGhhdC7igJ0KCiMg4oCcUnVucy7i gJ0KCiMg4oCcV29haCwgdGhhdCBsb29rcyBkZWxpY2lvdXMh4oCdCgojIOKAnEdlZXosIG5vdCBh Z2Fpbi7igJ0KCiMg4oCcTm8sIEkgb3duIHRocmVlIGNhcnPigJ0KCiMg4oCcTmluZXRlZW4gbWlu dXRlcyBwYXN0IGVpZ2h0LuKAnQoKIyDigJxUaGlzIFNhdHVyZGF5LCB5ZXMu4oCdCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6MSwgMyBhbmQgNSBhcmUgYnJpZGkuIDIgY29udGFpbnMgbm8gb2JqZWN0 cyBhbmQgdGhlIHJlc3QgY29udGFpbiBubyByZWxhdGlvbiBvciBjbGFpbSBvZiBhIHByb3BlcnR5 Ln5+CgoKClB1dCBpbiBMb2piYW4gdGVybXMsIGEgYnJpZGkgY29uc2lzdHMgb2Ygb25lICcnc2Vs YnJpJycsIGFuZCBvbmUgb3IgbW9yZSAnJ3N1bXRpJycuIFRoZSBzZWxicmkgaXMgdGhlIHJlbGF0 aW9uIG9yIGNsYWltIGFib3V0IHRoZSBvYmplY3QsIGFuZCB0aGUgc3VtdGkgYXJlIHRoZSBvYmpl Y3RzIHdoaWNoIGFyZSBpbiBhIHJlbGF0aW9uLiBOb3RlIHRoYXQg4oCcb2JqZWN04oCdIGlzIG5v dCBhIHBlcmZlY3QgdHJhbnNsYXRpb24gb2Yg4oCcc3VtdGnigJ0sIHNpbmNlIOKAnHN1bXRp4oCd IGNhbiByZWZlciB0byBub3QganVzdCBwaHlzaWNhbCBvYmplY3RzLCBidXQgY2FuIGFsc28gcHVy ZWx5IGFic3RyYWN0IHRoaW5ncyBsaWtlIOKAnFRoZSBpZGVhIG9mIHdhcmZhcmXigJ0uIEEgYmV0 dGVyIHRyYW5zbGF0aW9uIHdvdWxkIGJlIHNvbWV0aGluZyBsaWtlIOKAnHN1YmplY3QsIGRpcmVj dCBvciBpbmRpcmVjdCBvYmplY3TigJ0gZm9yIHN1bXRpLCBhbmQg4oCcdmVyYuKAnSBmb3Igc2Vs YnJpLCB0aG91Z2gsIGFzIHdlIHdpbGwgc2VlLCB0aGlzIGlzIG5vdCBvcHRpbWFsIGVpdGhlci4K CldlIGNhbiBub3cgd3JpdGUgdGhlIGZpcnN0IGltcG9ydGFudCBsZXNzb24gZG93bjoKCmJyaWRp ID0gc2VsYnJpICsgb25lIG9yIG1vcmUgc3VtdGkKClB1dCBhbm90aGVyIHdheSwgYSBicmlkaSBz dGF0ZXMgdGhhdCBzb21lIHN1bXRpIGRvL2FyZSBzb21ldGhpbmcgZXhwbGFpbmVkIGJ5IGEgc2Vs YnJpLgoKCgpJZGVudGlmeSB0aGUgc3VtdGkgYW5kIHNlbGJyaSBlcXVpdmFsZW50cyBpbiB0aGVz ZSBFbmdsaXNoIGp1ZnJhOgoK4oCcSSB3aWxsIHBpY2sgdXAgbXkgZGF1Z2h0ZXJzIHdpdGggbXkg Y2Fy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxwaWNrIHVwICh3aXRoKeKA nS4gc3VtdGk6IOKAnEnigJ0sIOKAnG15IGRhdWdodGVyc+KAnSwg4oCcbXkgY2Fy4oCdfn4KCgoK 4oCcSGUgYm91Z2h0IHNpeHRlZW4gbmV3IHNoaXJ0cyBmcm9tIExlYSZMZXZ54oCZcyBmb3IganVz dCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCc Ym91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnHNpeHRlZW4gbmV3IHNo aXJ0c+KAnSwg4oCcTGVhJkxld2lz4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoK ClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldOKA mXMgaGF2ZSBhIHRoaXJkIGV4YW1wbGU6IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3Ro aW5nIGFib3V0IHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRlIGluIHRoZSBhaXIu4oCdCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRp OiDigJxUaGUgRVBB4oCdLCDigJxub3RoaW5n4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBo dXIgZGlveGlkZSBpbiB0aGUgYWly4oCdfn4KCgoKTm93IHRyeSBtYWtpbmcgTG9qYmFuIGJyaWRp LiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0 IGFzIHNlbGJyaToKCicnX19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5 bWVudCkKCicnX19wZWx4dV9fJycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEg aG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0s IOKAnHllbGxvd+KAnSBhbmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwg YW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUg bm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2Fu IGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3Vu KSwg4oCcaXMgZ2l2aW5n4oCdIChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZv cm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXku CgoKCkFzIHdlbGwgYXMgYSBmZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19f bWlfXycnIOKAnEnigJ0gb3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBz cGVha2luZy4KCicnX190aV9fJycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVu dCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9f XycnIOKAnHlvdeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0 by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0g ZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFj ZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBG aWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0 aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgy LCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNo IHJlY2VpdmVzIHRoZSB0aGluZy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2Yg JydkdW5kYScnIGhhcyB0aGUgd29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3 aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2 ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScn LiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRo ZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbuKA mXQgbmVlZCBhbiBlcXVpdmFsZW50IHRvIHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBi cmlkaSwgeW91IHNpbXBseSBzYXkgdGhlIHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmks IHRoZW4gYW55IG90aGVyIHN1bXRpLgoKVXN1YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJp fV9fIHt4MiBzdW10aX0ge3gzIHN1bXRpfSB7eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBv bn0KClRoZSBvcmRlciBjYW4gYmUgcGxheWVkIGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ug c3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9ybS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKA nSB5b3UganVzdCBzYXkgJydtaSBkdW5kYSB0aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBh dCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBh IGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4K CgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3JkZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3Ry dWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlvdSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBl bHh1JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpR dWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxl IGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIgYXJlIHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0 aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2YgZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJl Zm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFmdGVyIHRoZW0uIEl04oCZcyBvZnRlbiBsZWZ0IG91dCBi ZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoK CicnX18uaV9fJycgU2VudGVuY2Ugc2VwYXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAo YW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRpKS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUn JyDigJ1UaGlzIGlzIGEgaG9tZSB0byBtZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5 b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBsZXNzb24sIEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2Ug YSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2ZW4gbWludXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9u IHNpbmsgaW4uCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpv 4oCZZSkKCk1vc3Qgc2VsYnJpIGhhdmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1 dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2Vz OgoKJydfX3ZlY251X18nJyB4MSBzZWxscyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3 YW50IHRvIHNheSDigJxJIHNlbGwgdGhpc+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2 ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFjZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJ IHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9u4oCZ dCBuZWVkIHRvLiBzdW10aSBwbGFjZXMgY2FuIGJlIGZpbGxlZCB3aXRoICcnem/igJllJycuICcn em/igJllJycgaW5kaWNhdGVzIHRvIHVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFj ZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNlIGl04oCZcyB1bmltcG9ydGFudCBvciBjYW4gYmUgZGV0 ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem/igJllX18nJyDigJxzb21ldGhpbmfigJ0gRmls bHMgYSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0aGluZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQu CgoKClNvIHRvIHNheSDigJxJIHNlbGwgdG8geW914oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251 IHpv4oCZZSBkbyB6b+KAmWUnJyDigJMgSSBzZWxsIHNvbWV0aGluZyB0byB5b3UgZm9yIHNvbWUg cHJpY2UuCgpIb3cgd291bGQgeW91IHNheTog4oCcVGhhdOKAmXMgYSBob21lIChmb3Igc29tZWJv ZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIHpkYW5pIHpv4oCZZScnfn4KCgoK SG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ3pv4oCZZSBkdW5kYSB0aSB6b+KAmWUnJ35+CgoKClN0aWxsLCBm aWxsaW5nIG91dCB0aHJlZSB6b+KAmWUganVzdCB0byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5n IHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb27igJl0IG5lZWQgdG8gd3JpdGUgYWxs IHRoZSAnJ3pv4oCZZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlv dSBsZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5 IGNvbnRhaW5lZCAnJ3pv4oCZZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBzZWxicmks IHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcnem/igJll JycuCgpUcnkgaXQgb3V0LiBXaGF04oCZcyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRhbmkg bWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUg b2YgbWXigJ0gb3IganVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25lZCBl YXJsaWVyLCB0aGUgZm9ybSBkb2VzbuKAmXQgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9 IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAoZXRjLikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUg c2VsYnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRo ZSBicmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFu ZCBmaWxsZWQgd2l0aCAnJ3pv4oCZZScnIGluc3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUg anVmcmEgYXJlIGFsbCB0aGUgZXhhY3RseSBzYW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycn CgonJ21pIHRpIGR1bmRhIGRvJycKCicnbWkgdGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhp cyBpcyB1c2VkIGZvciBwb2V0aWMgZWZmZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3Vs ZCBiZSAnJ2RvIGRvIHZlY251JycsIHdoaWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251 IGRvJycuIE9yIGl0IGNhbiBiZSB1c2VkIGZvciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVy eSBsb25nIGFuZCB0aGVyZWZvcmUgYmV0dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJp ZGkuCgoKClRoZXJlIGFyZSBhbHNvIHNldmVyYWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRo ZSBvcmRlciBvZiB0aGUgc3VtdGkgaW5zaWRlIHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlz IGJ5IHVzaW5nIHRoZSB3b3JkcyAnJ2ZhJycsICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcn ZnUnJy4gTm90aWNlIHRoYXQgdGhlIHZvd2VscyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBM b2piYW4gYWxwaGFiZXQgaW4gb3JkZXIuIFVzaW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0 aGF0IHRoZSBuZXh0IHN1bXRpIHdpbGwgZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJl c3BlY3RpdmVseS4gVGhlIG5leHQgc3VtdGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRv IGZpbGwgYSBzbG90IG9uZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhh bXBsZToKCicnZHVuZGEgZmEgZG8gZmUgdGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0 aGlzIHRoaW5nIHRvIHlvdeKAnS4gJydmYScnIG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGlj aCBpcyB5b3UuICcnZmUnJyBtYXJrcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3Vt dGkgY291bnRpbmcgdGhlbiBjb250aW51ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUg bGFzdCBzdW10aSBmaWxscyB4MywgdGhlIG9iamVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8g dHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcgdGhyZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZv IHRpIGZlIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJp Y2Ugb2YgdGhpcywgeW914oCdLiBvciDigJxJIHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhp c+KAnSAocHJvYmFibHkgcG9pbnRpbmcgdG8gYSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5p IGZlIHRpJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhl cmUsIHRoZSBmZSBpcyByZWR1bmRhbnQufn4KCgoKJyd2ZWNudSB6b+KAmWUgbWkgdGkgZmEgZG8n JwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3Ig dGhpcyBwcmljZeKAnX5+CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0 YW5ydSBhbmQgbG8pCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdp dGggdGhlIGNvbmNlcHQgb2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBz ZWxicmkgaXMgcHV0IGluIGZyb250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1l YW5pbmcuIEEgdGFucnUgaXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBv dGhlciBzZWxicmkgb3IgdGFucnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6 ZGFuaSB2ZWNudScnIGlzIGEgdGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUn Jywgd2hpY2ggaXMgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBz aW5nbGUgYnJpdmxhIHdvcmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9m IHRhbnJ1LCBjb25zaWRlciB0aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRy ZWXigJ0uIElmIHlvdSBkaWRu4oCZdCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhh ZCBoZWFyZCBhYm91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJs ZSB0byBkZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3Jl ZCB0cmVlLCBvciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJh cmsgdGFzdGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Ig c3VyZSB3b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxl bW9uLWxpa2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRo aXMuIEl0IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywg YnV0IGl0IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhh dCBpdOKAmXMgemRhbmktbGlrZSBpbiBzb21lIHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxp a2UgaW4gYW55IHdheS4gSW4gdGhlb3J5LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0 aGUgY29ubmVjdGlvbiB0byB6ZGFuaSB3YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6 ZGFuaSB2ZWNudScnLiBIb3dldmVyLCBpdCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhl IG9yZGluYXJ5IHNlbnNlIGluIG9yZGVyIGZvciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBjb3Vs ZCBnbG9zcyAnJ3pkYW5pIHZlY251JycgYXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0 dGVyIGJ1dCB3b3JzZSBzb3VuZGluZyDigJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBw bGFjZSBzdHJ1Y3R1cmUgb2YgYSB0YW5ydSBpcyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0 IHNlbGJyaS4gSXTigJlzIGFsc28gc2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0 aGUgcmlnaHQgc2VsYnJpLgoK4oCcUmVhbGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKA nEl0IGRvZXNu4oCZdCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0 IHdvcmQgaW4gYSB0YW5ydSBpcywgaXTigJlzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2FsbCBh bGwgc2VsbGVycyBmb3IgJyd6ZGFuaSB2ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxs eSBleGN1c2Ugd2h5IEkgdGhpbmsgaXTigJlzIHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0 IHRoZW4geW914oCZZCBiZSBhIGRpY2suIE9yIGF0IGxlYXN0IHlvdeKAmWQgYmUgaW50ZW50aW9u YWxseSBtaXNsZWFkaW5nLiBJbiBnZW5lcmFsLCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4g aXTigJlzIG9idmlvdXMgaG93IHRoZSBsZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmlnaHQuCgoK CkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRhbmkgZG8n JwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW91 4oCdIEFnYWluLCB3ZSBkb27igJl0IGtub3cgaW4gd2hpY2ggd2F5IGl04oCZcyB5ZWxsb3cuIFBy b2JhYmx5IGl04oCZcyBwYWludGVkIHllbGxvdywgYnV0IHdlIGRvbuKAmXQga25vdyBmb3Igc3Vy ZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNl bGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5s eSBkb2VzbuKAmXQgbWVhbiB0aGF0IHlvdSBzb2xkIHNvbWV0aGluZywgc2luY2UsIGJ5IGRlZmlu aXRpb24gb2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUgbm8gcGF5bWVudCBpbnZvbHZlZC4gSXQg aGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxsLWxpa2UgaW4gc29tZSBhc3BlY3Qufn4K CgoKQW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LiBXaGF0IGlmIEkg d2FudGVkIHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/CgonJ19fZG90Y29fXycnIHgxIGlzIEdl cm1hbi9yZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKSSBjYW7igJl0IHNh eSAnJ21pIHZlY251IHpv4oCZZSBkb3RjbycnIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28g c2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcn bWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkg Y291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKA nEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNheT8KCicn X19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIKCicnX19tZXJrb19fJycgeDEgaXMgQW1l cmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlv dXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVya28nJywgYnV0IHRoYXQgd291bGQgZm9y bSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0sIHdoaWNo IGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRvIGlzIHRvIHRha2UgdGhlIHNlbGJyaSAn J21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEgc3VtdGkgc28gaXQgY2FuIGJlIHVzZWQg aW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMgZG9uZSBieSB0aGUgdHdvIHdvcmRzICcn bG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMgZ2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNl bGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRp LgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoK CllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2VlbiB0aGVzZSB0d28gd29yZHMsIGFuZCBp dCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQg dHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGluc3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQg Y2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUgaG9tZXMgb2Yg c29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFucyDigJxhIGhvbWUgb3Igc29tZSBob21l cyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYgSSBzYXkgdGhhdCBzb21ldGhpbmcgaXMg cGVseHUsIGl0IG1lYW5zIGl04oCZcyB5ZWxsb3cuIFNvICcnbG8gcGVseHUga3UnJyByZWZlcnMg dG8gc29tZXRoaW5nIHllbGxvdy4KCgoKTm93IHlvdSBnb3QgdGhlIG5lY2Vzc2FyeSBncmFtbWFy IHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuLuKAnSBI b3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBrdScnfn4KCgoK VGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhlICcna3UnJyBpcyBuZWNlc3NhcnkuIFRyeSB0 byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhpcyB0byBtZeKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUgdGkgbWknJyBJZiB5b3UgbGVhdmUgb3V0IHRo ZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0IHNpbXBseSB0aHJlZSBzdW10aS4gU2lu Y2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlkaSwgdGhlIHRpIGlzIGZvcmNlZCBvdXRzaWRl IHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2UgYW5kIGl0IHNp bXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBvZiAnJ2xvIGRvdGNvIHZlY251IHtrdX0nJywg Jyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFsd2F5cyBoYXZlIHRvIGJlIGNhcmVmdWwgd2l0 aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVseHUnJy4gSWYgdGhlICcna3UnJyBpcyBsZWZ0 IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0IHNpbXBseSBi ZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBlbHh1JycgYW5k IHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxl c3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVu ZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFscy4gQXR0 aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0bHkuIFRoZSBp ZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVkIGluIHRoZSBmZW1pbmlzdCBjb25zdHJ1Y3Rl ZCBsYW5ndWFnZSBMw6FhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBlbW90 aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdhcyBo aW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3ZXJl IGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIgd29t ZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwgdGhlcmUg aXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBoYXZlIGJl ZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQgdG8g YmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBzby1jYWxs ZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1vc3Qg YW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGnigJlzIGdy YW1tYXIgb3IgYW55IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBMb2piYW4gZ3JhbW1hciwg YW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29yZC4gSWYgdGhhdCBwcmV2 aW91cyB3b3JkIGlzIGEgd29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxpa2UgJycuaScn IG9yICcnbG8nJyksIGl0IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3QuIExpa2V3aXNl LCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2ggZW5kcyBhIGNvbnN0cnVj dCBsaWtlICcna3UnJywgaXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29uc3RydWN0LgoKCgpMZXTi gJlzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycnLnVp JydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVuaGFw cGluZXNzCgpfXycnemHigJlhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0 bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24gb2YgJycudWknJywgdGhl cmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRo aXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg 4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBi ZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24g b2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhl IHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBz dWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJl IGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNj LiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVh bmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBz ZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0 cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIK CgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlv dSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlz IHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBl YXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2Rv IHph4oCZYSBjaXRrYSBsbyBwbGlzZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBvYnNlcnZl cyB0aGF0IGl0IGlzIGluZGVlZCB0aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBwbGUg YXMgb3Bwb3NlZCB0byBzb21lb25lIGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNl ZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBs eSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhl IGVudGlyZSBicmlkaToKCicnLnVpIHph4oCZYSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKA kyDigJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCd CgoKCicnbWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vj a3MhKSBhIGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3Qs IHRob3VnaCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9fJycudeKAmXUnJ19f IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNzbmVz cyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1v dGlvbjogcGFpbiAtIGNvbXBsYWNlbmN5IC0gY29tZm9ydC4KCl9fJycuaXUnJ19fIGF0dGl0dWRp bmFsOiBtaXNjZWxsYW5lb3VzIHB1cmUgZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQg dGhhdCwgdHdvIHdvcmRzIHdpdGggdGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRo ZSBtaWRkbGUgb25lIGlzIGFjY2Vzc2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N14oCZaScnLiBJ dOKAmXMgY29uc2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScn X18gYXR0aXR1ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8g Y2hhbmdlIHRoZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpU cnkgc2F5aW5nIOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9y ICcnem/igJllJycgaW5zdGVhZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHll bGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBs byBwZWx4dSBwbGlzZSBrdScnfn4KCgoKTGV04oCZcyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwg b2YgYSBkaWZmZXJlbnQga2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicn LmVpJycgQXR0aXR1ZGluYWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0 aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBh cHBsZSBhd2F54oCdIGlzICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBp cywgYWN0dWFsbHkhIFdoZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF04oCZcyB3ZWlyZC4gV2h5 IGlzIGl0IHRoYXQgYWxsIHRoZSBvdGhlciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZh ciBleHByZXNzZXMgdGhlIHNwZWFrZXJzIGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhp cyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3aGF0IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBz YXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5n IGFib3V0IHdoZXRoZXIgdGhlIGFwcGxlIGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElm IEkgaGFkIHVzZWQgJycudWknJywgaG93ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRl ZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUgYXdheSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQg aXQuIFdoYXTigJlzIHRoYXQgYWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBh dHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1 ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRi b29r4oCdIHJ1bGUsIHdoaWNoIHByb2JhYmx5IHdvbuKAmXQgYmUgY2hhbmdlZCwgaXMgdGhhdCB0 aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCc cHJvcG9zaXRpb25hbCBlbW90aW9uc+KAnS4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2Fu IGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3Qu IEluIG9yZGVyIHRvIGV4cHJlc3MgYSBwcm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5h bCB3aXRob3V0IGNoYW5naW5nIHRoZSB0cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4g anVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRoZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxz byBhIHdvcmQgZm9yIGV4cGxpY2l0bHkgY29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGgg Y29uZGl0aW9ucyBvZiBhIGJyaWRpOgoKCgpfXycnZGHigJlpJydfXyBhdHRpdHVkaW5hbDogZGlz Y3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4gZmFjdAoKU2F5aW5nICcnZGHigJlpJycgaW4gYSBicmlk aSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMg dGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9zaXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2Rh 4oCZaSBuYWknJyBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb24gdG8gdGhlIG5vcm1hbCwgd2hp Y2ggaXMgZGVmYXVsdCB1c2luZyBwdXJlIGF0dGl0dWRpbmFscy4KCgoKU28sIHdoYXTigJlzIHR3 byB3YXlzIG9mIHNheWluZyDigJxJIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBv YmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8g cGxpc2UgLmkgLmVpJycgIGFuZCAnJ21pIGR1bmRhIGRh4oCZaSBuYWkgLmVpIGxvIHBsaXNlJyd+ fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBz b21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4gVXN1YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRo ZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNu 4oCZdCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNhdXNlIHRoZSB3b3JkIGlzIGdsb3NzZWQg4oCc ZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1vdGlvbnMpLCBzb21lIExvamJhbmlzdHMgbWlz dGFrZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2VyIG11c3Qgc2hhcmUgdGhlIGVtb3Rpb24gYmVp bmcgc3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycnZGFpJydfXyBhdHRpdHVkaW5hbCBtb2RpZnll cjogRW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVkaW5hbCB0byBzb21lb25lIGVsc2UsIHVuc3Bl Y2lmaWVkKQoKRXhhbXBsZTogJyd14oCZaSAub2kgZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwg dGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBoYXZlIGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNl ZCBwaHJhc2UgY291bGQgJycub2kgdeKAmWkgZGFpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0 IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xk IGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVuc2UgaXMgaW1wbGllZCBhbmQgbmVlZCBu b3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBjb3VsZCBiZSBvYnZpb3VzIGZyb20gY29u dGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3XigJl1IGRhaSB2ZWNudSBsbyB6ZGFuaSBr dScnfn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBz cGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2UgY2FuIGJlIHVzZWQgYWZ0ZXIgYW4g YXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGggJyduYWknJyBvciAnJ2N14oCZaScn IHN1ZmZpeGVkLiBJdOKAmXMgbGVzcyBjbGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0YWNo IGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBtdXN0IGl04oCZcyBtb3N0bHkgdW5k ZXJzdG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxicmkgaW4gc29tZSB1 bnNwZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNpdHkgIAoKIGNhaXwg ICBFeHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNpZmllZCAobWVkaXVt KQoKIHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJlc3NlZCB1c2luZyAn Jy51J2kgbmFpIHNhaScnID8KCl9fJycudeKAmWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1 cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291bGQgeW91IGV4cHJlc3MgdGhhdCB5b3Ug YXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy514oCZdSBj deKAmWkgcnXigJllJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gZml2ZSAoU0Up CgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkgb2YgbW9yZSBjb21wbGV4IGNv bnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNoYW5pc20gZm9yIHJlb3JkZXJp bmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3aWxsIHNob3csIGlzIHZlcnkg dXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10aSAodGhlIGtpbmQgb2Ygc3Vt dGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNlIOKAnEkgZWF0IGEgZ2lmdOKA nSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBnaWZ0IGlzIGFuIGFwcGxlLiBU byB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFsIHRvIGxvb2sgdXAgYSBzZWxi cmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5nLiBIb3dldmVyLCBpZiBvbmUg bG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgeDEgZ2l2ZXMg eDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAnJ2R1bmRhJycgaXMgc29tZXRo aW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0aGF0IHNlbnRlbmNlLCB3ZSBj YW7igJl0IHNheSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBr dScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBn aWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9u4oCZdCB3YW50IHRvIHNheSB0aGF0LiBXaGF0 IHdlIHdhbnQgaXMgYSB3YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlz IG9uZSBleGFtcGxlIHdoZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBX aGF0ICcnc2UnJyBkb2VzIGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFu ZCB4MiBvZiB0aGF0IHNlbGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScn ICsgc2VsYnJpIGlzIG9uIGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXTigJlzIHRy eSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKAnHgxIHRyYW5z bGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJlc3VsdCBvZiB0 cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBmYW52YSB0aScnCgpU aGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcykuIE9mdGVuLCBidXQg bm90IGFsd2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUgdHJhbnNsYXRlZCB0 byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgxIGlzIG9mdGVu IHRoZSBvYmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93biBmYW1pbHkgb2Yg d29yZHMuIEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0aGUgeDEuCgp8 fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dhcCB4MSBhbmQg eDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5kIHggYXJlIGNv bnNlY3V0aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4KCgoKU286IFVzaW5n IHRoaXMga25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGknJyBtZWFuPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0aGlz4oCdIChv ciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFtaWx5IGNhbiBvZiBj b3Vyc2UgYmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRoZSByZXN1bHQg Y2FuIGJlIHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFrZSBpdCBzbzoK Cl9fJydrbGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4MyB2aWEgeDQg dXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1IGxvIHpkYW5pIGt1IHRl IGtsYW1hIGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxvIHpkYW5pIGt1 JycgYW5kIHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcndGkga2xhbWEgZG8g bWkgbG8gemRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1lIHZpYSBhIGhv bWUu4oCdIE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRlbmNlIGV4Y2Vw dCB0byBjb25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVuZGVyc3RhbmRp bmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21lIHRvIHRoZSBwb2lu dCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBleGNoYW5nZSB0 aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8gYmUgeDEsIHRo ZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4gU28sIGhvdyB3b3Vs ZCB5b3Ugc2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNp dGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhlIG1hbnkgdXNlcyBm b3IgJydzZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3Nv biBzaXggKGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVzc2VkIHNpbmds ZSBzZW50ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBsZXggdGhpbmdz LCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMuIEx1Y2tpbHks IHRoZXNlIGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9uZSB3b3VsZCBleHBl Y3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIHRoaXM6IOKA nEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwgdGhlIG1haW4gYnJp ZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlkaSBpcyDigJxZ b3UgYXJlIG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlvbiBmb3Ig4oCcaGFw cHnigJ0sIHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCceDEgaXMgaGFwcHkg YWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUgeDIgbmVlZHMgdG8g YmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNlIG9uZSBjYW5u b3QgYmUgaGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBhYm91dCBzb21lIHN0 YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBleHByZXNzIGEg c3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4MiBvZiAnJ2ds ZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNvbHV0aW9uLiBU aGUgd29yZHMgJydzdeKAmXUnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJp ZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicn a3UnJy4gRXhhbXBsZToKCl9fJydtcm9iaeKAmW8nJ19fIOKAnHgxIGRpZXMgdW5kZXIgY29uZGl0 aW9uIHgy4oCdCgpfXycnc3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBv ZiB0eXBlIHgyCgpfXycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCicnbWkgc3XigJl1IGRvIG1y b2Jp4oCZbyBrZWknJyDigJMg4oCcSSBhbSB5b3VyIGRlYXRo4oCdLgoKSXTigJlzIGhhcmQgdG8g ZmluZCBnb29kIHVzZXMgb2YgYSBicmlkaSBhcyBhIHNlbGJyaSwgYW5kIHRoZSBhYm92ZSBleGFt cGxlIHNlZW1zIGEgbGl0dGxlIHVuY29udmluY2luZy4gSG93ZXZlciwgc2luY2UgJydzdeKAmXUg QlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVz aW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVz cyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpf XycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBnbGVraSBsbyBzdeKAmXUgZG8gcGVuZG8gbWkga2VpIGt1Jyd+fgoKCgpIb3dl dmVyLCAnJ3N14oCZdScn4oCmJydrZWknJyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBw cmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2VpJycgYW5k ICcnZHXigJl1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBz b21ldGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3 ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdeKAmXXigKZrZWknJyB0cmVhdHMgaXQg YXMgYW4gYWJzdHJhY3QgYnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlkZWFzLCB0 aG91Z2h0cyBvciB0cnV0aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycpIGFyZSBj YWxsZWQgYWJzdHJhY3RvcnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5IGZldyBh cmUgdXNlZCBtdWNoLiAnJ3N14oCZdeKApmtlaScnIGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBh bmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcnbnUnJyB0byBzYXkg4oCcSeKAmW0g aGFwcHkgYWJvdXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRv IHgyIGFib3V0IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBnbGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVu Z2xpc2ggYW5kIHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxr aW5nKS5+fgoKCgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtl aScnIChwcm9wZXJ0eSBhYnN0cmFjdGlvbiksICcnc2nigJlvLi4ua2VpJycgKGNvbmNlcHQvaWRl YSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFtb25n IG90aGVycy4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3Rv cnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4gQXMgYW4gZXhhbXBsZSwgJydkdeKAmXUnJyBj YW4gYmUgbWVudGlvbmVkLiAnJ2R14oCZdScnIGlzIGRlZmluZWQ6CgonJ2R14oCZdScnID0g4oCc YWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJlc3Nl ZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4MSBp cyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0 aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRo YXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBk deKAmXUgbWkgdGUgZHVuZGEgbG8gZ2Vya3Uga3Uga2VpIGt1JycsIGlmIHlvdSB3aWxsIHBhcmRv biB0aGUgd2VpcmQgZXhhbXBsZS4KCl9fJydjdXNrdScnX18geDEgZXhwcmVzc2VzIHgyIHRvIHgz IHRocm91Z2ggbWVkaXVtIHg0CgpfXycnZ2Vya3UnJ19fIHgxIGlzIGEgZG9nIG9mIHJhY2UgeDIK CgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZeKAmXJl IGF0IGl0LCB0aGVyZeKAmXMgYW5vdGhlciB0eXBlIG9mIHN1Ym9yZGluYXRlIGJyaWRpLiBUaGVz ZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMuIFRoZXkgYXJlIHNlbnRlbmNlcyB3aGljaCBh ZGQgc29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRpLiBJbmRlZWQsIHRoZSDigJx3aGljaOKAnSBp biB0aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2VkIHRoZSBiZWdpbm5pbmcgb2YgYSByZWxhdGl2 ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5nIHJlbGF0aXZlIGNsYXVzZXMuIEluIExvamJh biwgdGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBhbmQgaXQgbWlnaHQgYmUgd29ydGggZGlzdGlu Z3Vpc2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUgbGVhcm5pbmcgaG93IHRvIGV4cHJlc3MgdGhl bS4KClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0 aXZlIChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUgY2xhdXNlcy4gQW4gZXhhbXBsZSB3b3VsZCBi ZSBnb29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3aG8gaXMgdHdvIG1ldGVycyB0YWxsLCBpcyBh IHBvbGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVuZGVyc3Rvb2QgaW4gdHdvIHdheXMuIEkgY291 bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3aGljaCBjYXNlIHNheWluZyBoZSBpcyB0d28g bWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cgd2hpY2ggYnJvdGhlciBJIGFtIHRhbGtpbmcg YWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9uZSBicm90aGVyLCBpbiB3aGljaCBjYXNlIEkg YW0gc2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4KCgoKSW4gRW5nbGlz aCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3byBraW5k cyDigJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9uIGlzIHJlc3RyaWN0aXZlIChzaW5jZSBpdCBo ZWxwcyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJvdGhlcnMgSSBtaWdodCBiZSB0YWxraW5nIGFi b3V0KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3RpdmUuIFdoZW4gc3BlYWtpbmcgRW5nbGlzaCwg Y29udGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3IgaW4gd3JpdHRlbiBFbmdsaXNoLCBwdW5jdHVh dGlvbikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28sIGJ1dCBub3Qgc28g aW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29uc3RydWN0cyAnJ3BvaeKApmt14oCZbycnIGFu ZCAnJ25vaeKApmt14oCZbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJl bGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldOKAmXMgaGF2ZSBhIExvamJhbmljIGV4 YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0cmFuZ2UgZ2lmdC1lYXRpbmcgYmVo YXZpb3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZlOgoKX18nJ25vaScnX18gYmVnaW4g bm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRp KQoKX18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25s eSBhdHRhY2ggdG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5kIHJlbGF0aXZlIGNsYXVzZQoKCgon J21pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBrdeKAmW8nJyA9IOKAnEkgZWF0IGEg Z2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydw b2nigKZrdeKAmW8nJyBpcyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1JycsIHNv IGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNsYXVz ZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXMgYW4gYXBwbGUsIGJ1dCBzaW5jZSB0aGUgcmVsYXRp dmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdpZnQsIHdlIGNhbiBzYWZlbHkgYXNzdW1lIHRoYXQg aXMgbWVhbnMgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRleHQg b2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBiZSBh YnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFw cGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZeKAmWEnJywgd2hpY2ggaXMgYSAnJ3N1bWthJ2knJyAo YSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0aGVtIGxhdGVyKSByZXByZXNlbnRpbmcgdGhlIHN1 bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXMgYXR0YWNoZWQgdG8uCgpfXycna2UnYScn X18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBzdW10aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZlIGNs YXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkgbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIGtl 4oCZYSBwbGlzZSBrdeKAmW8nJyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0LCB3aGljaCBpcyBhbiBh cHBsZeKAnS4KClRvIHVuZGVybGluZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZl IGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgaGVyZeKAmXMgYW5vdGhlciBl eGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExvamJhbmljIGN1bHR1cmUv Y29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoKCicnbWkgbm9pIGxv amJvIGt14oCZbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g4oCcSSwgd2hvIGFtIGEgTG9qYmFu aWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFuZ3VhZ2Uu4oCdIEhlcmUsIHRoZXJl IGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScnIGNvdWxkIHJlZmVyIHRvLCBhbmQg dGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVseSBhZGRpdGlvbmFsIGluZm9ybWF0 aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJlZm9yZSAnJ25vaeKApmt14oCZbycn IGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlmIHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxp cnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVhdXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11Jydf XyDigJx4MSBpcyBhIG1hbuKAnQoKX18nJ21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8g eDIgaW4gYXNwZWN0IChrYSkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g 4oCceDEgZmxpcnRzL2NvdXJ0cyB4MiwgZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRh cmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1 IHBvaSB7a2XigJlhfSBtZWxiaSBrdeKAmW8nJ35+CgoKCk9uIGEgbW9yZSB0ZWNobmljYWwgc2lk ZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcnbG8ge3NlbGJyaX0ga3Un JyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6b+KAmWUgbm9pIGtl4oCZYSB7c2VsYnJpfSBr deKAmW8nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0 b3IgZWxpc2lvbikKCicnLmF1IGRh4oCZaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVu YmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm/i gJlhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoK IC0gIOKAnEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5nLCB3b3VsZCB1bmRl cnN0YW5kIHRoYXQgSSBkb27igJl0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVz cyBvZiB3aGV0aGVyIHRoZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQg c2hvdWxkbuKAmXQsIGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4g dGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXgg TG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRl bmNlcyBnZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAnJ2t14oCZbycnIGFuZCBvdGhl ciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoK ClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMgYXJlIHRvIHNpZ25hbCB0aGUgZW5kIG9m IGEgY2VydGFpbiBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9yIGluc3RhbmNlIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcna3UnJy4gVGhlIEVuZ2xp c2ggd29yZCBmb3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWluYXRvcuKAnSwgdGhlIExv amJhbiB3b3JkIGlzICcnZmHigJlvcm1h4oCZbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQg aW4gdGhlIGV4YW1wbGUgYWJvdmUuCgpOb3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhh bXBsZSBhcmUgdGhlIGZhJ29ybWEnbyBmb3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdv b2QgcmVhc29uIHlvdSBoYXZlIG5vdCB5ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUn J19fIGZhJ29ybWEnbzogVGVybWluYXRlcyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdy aXR0ZW4gTG9qYmFuLCBtb3N0IGZhJ29ybWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBn cmVhdGx5IHNhdmVzIHN5bGxhYmxlcyBpbiBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhv d2V2ZXIsIG9uZSBtdXN0IGFsd2F5cyBiZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28u IEluIHRoZSBzaW1wbGUgZXhhbXBsZSAnJ2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRo ZSBmYSdvcm1hJ28gJydrdScnIHdvdWxkIHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2gg aXMgYSBzaW5nbGUgc3VtdGkgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRo dXMsIGl0IG1lYW5zIOKAnGFuIEFtZXJpY2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4g QW1lcmljYW4gdHJhdmVsc+KAnS4gZmEnb3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3 cm9uZyByZXN1bHRzIGlmIGRvbmUgaW5jb3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW7i gJl0IGxlYXJuZWQgYWJvdXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Igd2hlbiBmYSdv cm1hJ28gY2FuIGJlIGVsaWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4gdGhlb3J5OiDi gJxZb3UgY2FuIGVsaWRlIGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18gZG9pbmcgc28g ZG9lcyBub3QgY2hhbmdlIHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRoZSBzZW50ZW5j ZS7igJ0KCk1vc3QgZmEnb3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRoZSBlbmQgb2Yg dGhlIGJyaWRpLiBFeGNlcHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug4oCcZW5kIHF1 b3Rl4oCdLWZhJ29ybWEnbyBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZhJ29ybWEnby4g VGhpcyBpcyB3aHkgJyd2YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2ltcGx5IGJlZ2lu bmluZyBhIG5ldyBicmlkaSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMgdGVybWluYXRl IHRoZSBwcmVjZWRpbmcgYnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50IHVzZSwgaG93 ZXZlci4gU2luY2UgYXR0aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJlY2VkaW5nIHdv cmQsIGFwcGx5aW5nIGl0IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhlIGVudGlyZSBj b25zdHJ1Y3Qgd2hpY2ggaXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25lIGNhbiB0aGVu IHVzZSBhdHRpdHVkaW5hbHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRvIHRoZSBlbnRp cmUgYnJpZGk6CgonJ3ph4oCZYSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0u Li4gdmF1IGnigJllJycgLSDigJxJIHNlZSB0aGF0IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNv bi4uLiBJIGFwcHJvdmUh4oCdCgpfXycncHJlbnUnJ19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMg YSBwZXJzb25hbGl0eS4KCgoKS25vd2luZyB0aGUgYmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBl bGlzaW9uLCB3ZSBjYW4gdGh1cyByZXR1cm4gdG8gdGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBi ZWdpbiByZW1vdmluZyBmYSdvcm1hJ286CgoKCicnLmF1IGRh4oCZaSBtaSBkamljYSBsbyBudSBs ZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEg bmVsY2kgbG8gbnUgdm/igJlhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBr ZWkga3UgdmF1X18nJwoKCgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3Jh bW1hdGljYWxseSB1bm5lY2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdv cmQgaXMgJydqaW1wZScnLCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkg YmUgb25lIHNlbGJyaSBwZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydq aW1wZScnIGFzIGEgc2VsYnJpIGNhbiBub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRo ZXIgKG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBi cmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3Qg YmUgYSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4u Ln0nJywgc28gdGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFs bCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVs aWRlZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwg b2YgdGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUg ZGHigJlpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1 IG1pIG5hIG5lbGNpIGxvIG51IHZv4oCZYSBkYXJ4aSBtaScnIOKAkyB3aXRoIG5vIGZhJ29ybWEn byBhdCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdvcm1hJ28sIGl0IGlzIGEgZ29vZCBpZGVhIHRv IGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBpcyBvbmUgb2YgdGhvc2Ugd29yZHMg d2hpY2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMpIGxpZmUgYSBsb3QgZWFzaWVyLiBXaGF0IGl0 IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZpb3VzIHN1bXRpIGZyb20gdGhlIHNlbGJyaS4g T25lIGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMgdGhlIG5leHQgd29yZCB0byBiZSBhIHNlbGJy aSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFzIGl0IG5lZWRzIHRvIGluIG9yZGVy IHRvIGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRhYmxlIG1hcmtlcjogc2VwYXJhdGVzIHNlbGJy aSBmcm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dzIHByZWNlZGluZyBmYSdvcm1hJ28gZWxpc2lv bi4KCgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy4oCdCgoKCicnbG8gc3XigJl1IGRv IGN1c2t1IGxvIHNlIGR14oCZdSBkbyBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9f IHNlIGRqaWNhIG1pJycgPQoKJydsbyBzdeKAmXUgZG8gY3Vza3UgbG8gc2UgZHXigJl1IGRvIHBy YW1pIG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92 ZSBtZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQg bWXigJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90 IHRpZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVs aWRlIG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMgb2Yg JydjdScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkgdW5k ZXJzdGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBz dHJ1Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNl bGJyaS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBi cm90aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhl IG1lYW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVh c2llciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1 Jycgd2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQg aWYgcG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJs eSBicmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycndmFq bmknJ19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycnamlt cGUnJ19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR14oCZdS1hYnN0cmFjdGlvbikgaXMg dHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2HigJlvJydfXyAtIEF0dGl0dWRpbmFsOiBTaW1wbGUgcHJv cG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2HigJlvIGRvIG5vaSBrZeKA mWEgbG9qYm8gLmnigJllIHtrdeKAmW99IHtrdX0gY3UgamltcGUgbG8gZHXigJl1IGxvIGZh4oCZ b3JtYeKAmW8ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQgZG8g SSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIHdobyBh cmUgTG9qYmFuaWMgKEkgYXBwcm92ZSBvZiB0aGlzKSwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1h J28gYXJlIGltcG9ydGFudOKAnX5+CgoKCkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwt dmVyc2VkIGluIGZhJ29ybWEnby1lbGlzaW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0 aGV5IG9mdGVuIG11c3QgYmUgcmVtaW5kZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZh J29ybWEnbyBhcmUgdG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVh Y2ggVHVlc2RheSBoYXZlIGJlZW4gZGVzaWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAn J2Zh4oCZb3JtYeKAmW8gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5n IFRlcm1pbmF0b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1l bWJlciB3cml0aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29u dmVyc2F0aW9ucyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5p bmUgKHN1bXRjaXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgZ29vZCB3aXRo IHRoZSBzZWxicmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5p dGUgYW1vdW50IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMg dGhlIHN1bXRpIHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4g V2hhdCBpZiwgc2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBh IGNvbXB1dGVyPyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEn JyB0byBzcGVjaWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSBtb3N0IG9mIHRo ZSB0aW1lLCB0aGF0IGlzIG5vdCBuZWNlc3NhcnkuIE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24g aXMgb24gaG93IHRvIGFkZCBhZGRpdGlvbmFsIHN1bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoK CgpUaGUgbW9zdCBiYXNpYyB3YXkgdG8gYWRkIHN1bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2Zp4oCZ by4uLmZl4oCZdScnICh5ZXMsIGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywgJydmZeKA mXUnJy4gSXTigJlzIGFsbW9zdCBuZXZlciBuZWNlc3NhcnksIHNvIHRoaXMgbWlnaHQgYmUgdGhl IGxhc3QgdGltZSB5b3UgZXZlciBzZWUgaXQuKQoKSW4gYmV0d2VlbiB0aGVzZSB0d28gd29yZHMg Z29lcyBhIHNlbGJyaSwgYW5kIGxpa2UgJydsby4uLmt1JycsICcnZmnigJlvLi4uZmXigJl1Jycg ZXh0cmFjdHMgdGhlIHgxIG9mIHRoZSBzZWxicmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGgg JydmaeKAmW8uLi5mZeKAmXUnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0ZWQsIG5vdCB0 byBhIHN1bXRpLCBidXQgdG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3VtdGktbGFiZWzi gJ0sIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNlbGJyaSBpdCBj b252ZXJ0ZWQuIFRoaXMgJydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4dCBzdW10aS4g T25lIGNvdWxkIHNheSB0aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1wb3J0IGEgc3Vt dGkgcGxhY2UgZnJvbSBhbm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUgYnJpZGkgYmVp bmcgc2FpZC4KCk5vdGU6IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0ZXh0cywgdGhl IHRlcm0g4oCcdGFn4oCdIG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3VtdGNpdGEnJy4g SWdub3JlIHRob3NlIHB1bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2ggcHJvcGVyIExv amJhbiBoZXJlLgoKCgpXaGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9jZXNzIGZyb20g cmVhZGluZyBhYm91dCBpdCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0cyBhY3R1YWwg c2ltcGxpY2l0eToKCl9fJydza2FtaScnX18g4oCceDEgaXMgYSBjb21wdXRlciBmb3IgcHVycG9z ZSB4MuKAnQoKX18nJ3BpbG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBmb3IgZG9pbmcg eDPigJ0KCgoKJydtaSBmYW52YSB0aSBmaeKAmW8gc2UgcGlsbm8ge2Zl4oCZdX0gbG8gc2thbWkg e2t1fXt2YXV9JycgLSDigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUg eDIgb2YgJydwaWxubycnLCB3aGljaCBpcyB0aGUgeDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxh Y2Ugc3RydWN0dXJlIGZvciBhIHRvb2wgYmVpbmcgdXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNl IHN0cnVjdHVyZSBpcyBjYXB0dXJlZCBieSAnJ2Zp4oCZby4uLmZl4oCZdScnLCBhZGRlZCB0byB0 aGUgbWFpbiBzZWxicmksIGFuZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRoZSBpZGVh IG9mICcnc3VtdGNpdGEnJyBpcyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2ggdXNpbmcg dGhlIGZvbGxvd2luZyB0cmFuc2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aC10b29s OiBBIGNvbXB1dGVy4oCdCgoKCkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBvbmUgc3Vt dGksIHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVseSwgdGhl ICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3QgY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2t1JycsIGlu IHdoaWNoIGNhc2UgYSAnJ3pv4oCZZScnIGlzIGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0 YScnLiBPciwgb25lIGNvdWxkIGltYWdpbmUgYW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0 ZWQgd2l0aCB0aGUgJydrdScnLgoKX18nJ3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwg ZW50aXR5IGNhcnJ5aW5nIG91dCBhY3Rpb24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaeKA mW8genVrdGUge2Zl4oCZdX0ga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9 e3ZhdX0nJyAtIOKAnFdpdGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNlZCBzb21ldGhpbmcgTG9q YmFuaWPigJ0gKHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmljIGNvbXB1dGVyIHdlbnQg c2VudGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhhZCB2b2xpdGlvbi4gSXQg Y291bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1lZCB0aGUgY29tcHV0ZXIg LSBob3cgYm9yaW5nLikKCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkgbG8gbG9qYm8ge2t1fSBm aeKAmW8gc2UgdGF2bGEge2Zl4oCZdX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bva2VuIHRvIG1l4oCd fn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRoZSBzZWxi cmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25seSBjYW4g YWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2YgaW1wb3J0 YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRseSwgJydmaeKAmW8n JyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRlc3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElT IHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBhcmUgQkFJLiBCQUkgYXJlIGEgY2xhc3Mgb2YgTG9q YmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4 YW1wbGUgb2YgdGhpcyBpcyAnJ3p14oCZZScnLCB0aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1h dGljYWxseSwgJyd6deKAmWUnJyBpcyB0aGUgc2FtZSBhcyAnJ2Zp4oCZbyB6dWt0ZSBmZeKAmXUn Jy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUgcmVkdWNlZCB0bzoKCicnenXigJll IGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fSB7dmF1fScnLiBUaGVyZSBl eGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1 c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28gYmUgY29udmVydGVkIHdpdGgg JydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6deKAmWUnJyBpcyBlcXVhbCB0 byAnJ2Zp4oCZbyBzZSB6dWt0ZSBmZeKAmXUnJywgd2hpY2ggcmVzdWx0cyBpbiBhIGdyZWF0IGRl YWwgbW9yZSBCQUkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGVuIChQVSwgRkFoQSwg WkksIFZBLCBaRWhBLCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8gdGhlIEVuZ2xpc2gtc3BlYWtl ciBhIGxhbmd1YWdlIExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVhZCB0aHJvdWdoIG5pbmUgbGVz c29ucyBvZiBMb2piYW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcgYSB0ZW5zZSBvbmNlLiBUaGlz IGlzIGJlY2F1c2UsIHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3VhZ2VzIChtb3N0IEluZG8tRXVy b3BlYW4gb25lcywgZm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBpbiBMb2piYW4gYXJlIG9wdGlv bmFsLiBTYXlpbmcgJydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9JycgY2FuIG1lYW4g4oCcSSBlYXQg Y2hlZXNl4oCdIG9yIOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig4oCcSSBhbHdheXMgZWF0IGNo ZWVzZeKAnSBvciDigJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUganVzdCBmaW5pc2hlZCBlYXRp bmcgY2hlZXNl4oCdLiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMgY29ycmVjdCwgYW5kIGluIG1v c3QgY29udmVyc2F0aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQgYXQgYWxsLiBIb3dldmVyLCB3 aGVuIGl04oCZcyBuZWVkZWQgaXTigJlzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0LiBG dXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkgdHJlYXQg dGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0IEkgd29y a2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQgdGhhbiBz YXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhlciBsYW5n dWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3QgZGlmZmlj dWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMgdGhv dWdoLCBpdOKAmXMgcGVyZmVjdGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNlLiBTbyBmZWFyIG5v dCwgZm9yIGl0IHdpbGwgbm90IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4gaG93IHRvIG1vZGlm eSB0aGUgc2VsYnJpIG9yIGFueXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoKTm8sIGluIHRoZSBM b2piYW4gdGVuc2Ugc3lzdGVtLCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwgd2hpY2ggd2UgaGF2 ZSBjb252ZW5pZW50bHkganVzdCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3aXRoLiBPa2F5IG9r YXksIHRlY2huaWNhbGx5LCB0ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIG90aGVy IHN1bXRjaXRhLCBidXQgdGhpcyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNpZ25pZmljYW50LCBh bmQgd2lsbCBiZSB3b24ndCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIAoKVGhlcmUgYXJlIG1h bnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXTigJlzIHN0YXJ0IGF0 IHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScnX18g LSBzdW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQgdGhl IHNhbWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtzdW10 aX0KCgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCdLCDi gJxub3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291bGQg YXJndWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0bHkg c2ltdWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBleHRl bmRzIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVzdCDi gJxhYm91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9u4oCZdCBwZXJj ZWl2ZSB0aW1lIGluIGEgcGVyZmVjdGx5IGxvZ2ljYWwgd2F5LCBhbmQgdGhlIExvamJhbiB0ZW5z ZSBzeXN0ZW0gcmVmbGVjdHMgdGhhdC4KCgoKU2lkZSBub3RlOiBJdCB3YXMgYWN0dWFsbHkgc3Vn Z2VzdGVkIG1ha2luZyB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWxhdGl2aXN0aWMuIFRoYXQg aWRlYSwgaG93ZXZlciwgd2FzIGRyb3BwZWQsIGJlY2F1c2UgaXQgaXMgY291bnRlci1pbnR1aXRp dmUsIGFuZCB3b3VsZCBtZWFuIHRoYXQgdG8gbGVhcm4gTG9qYmFuLCBvbmUgd291bGQgaGF2ZSB0 byBsZWFybiB0aGUgdGhlb3J5IG9mIHJlbGF0aXZpdHkgZmlyc3QuICAKCgoKU28sIGhvdyB3b3Vs ZCB5b3Ugc2F5IOKAnEkgZXhwcmVzcyB0aGlzIGFmdGVyIEkgY2FtZSBoZXJlP+KAnSAocG9pbnRp bmcgdG8gYSBwYXBlcikKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxv IG51IG1pIGtsYW1hIHRpIHt2YXV9IHtrZWkge2t1fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3aGVu IHNwZWFraW5nLCB3ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50IHRoaXMgYWN0 aW9uIGlzIGluIHRoZSBwYXN0IHJlbGF0aXZlIHRvLiBJbjog4oCcSSBnYXZlIGEgY29tcHV0ZXIg YXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRpdmUg dG8g4oCcbm934oCdLCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBzdW10 Y2l0YSwgYmVjYXVzZSBpdOKAmXMgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEgbG8gc2thbWkg e2t1fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7dmF1fScn IG9yLCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1 fScnLiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGltcGxpZWQgJyd6 b+KAmWUnJywgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRv IHRoZSBzcGVha2VycyB0aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFu dCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQg c29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2Vu dCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0 byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xh cmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VycyBjdXJyZW50 IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1lLiBBbm90 aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lkZXJlZCB0 aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9fJyduYXUn J19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNlIHRvIHRo ZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScnX18gPSDigJx4 MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4M+KAnQoK CgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUge2t1fSB7 dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhhdCBJ4oCZ bSBub3Qgc3RpbGwgdHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUg c29tZSB0aW1lIGluIHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoK QXMgbWVudGlvbmVkLCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBt dWNoIGFsaWtlLiBDb250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0 aGVzZSBmb3VyIHNwYWNpYWwgdGVuc2VzOgoKX18nJ3p14oCZYScnX18gc3VtdGNpdGE6IGxlZnQg b2Yge3N1bXRpfQoKX18nJ2Nh4oCZdScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0K Cl9fJydyaeKAmXUnJ19fIHN1bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnXigJl1Jydf XyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFs ZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUg ZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm/i gJlvbmFpIHJp4oCZdSB7a3V9IG51IGxvIHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUg e2t1fSB7a3V9IHt2YXV9IHtrZWl9IHt2YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxp ZGVkIGt1ISkKCl9fJydkYXJ4aScnX18geDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQg eDMgYXQgbG9jdXMgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUg cmlnaHQgKG9mIHNvbWV0aGluZywgcHJvYmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29t ZSBldmVudCksIHNvbWV0aGluZyBpcyBhbiBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9n LuKAnSBvciDigJxBIG1hbiBoaXQgYSBkb2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUg YXJlIHNldmVyYWwgdGVuc2Ugc3VtdGNpdGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0 IHlvdSByZWFkIHRoZW0gZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNh bGxlZCDigJxpbWFnaW5hcnkgam91cm5leeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxp ZWQgcG9pbnQgaW4gdGltZSBhbmQgc3BhY2UgKGRlZmF1bHQ6IHRoZSBzcGVha2Vy4oCZcyBub3cg YW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJv bSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkg bG8gbG9qYm8gZmHigJlvcm1h4oCZbyB7a3V9IHt2YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4g dGhlIHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0byBrbm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgon J21pIGJhIHtrdX0gcHUge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYeKAmW9ybWHigJlvIHtrdX0g e3ZhdX0nJyDigJxBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVy c3Rvb2QgYWJvdXQgZmEnb3JtYSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBh bW91bnQgb2YgdGltZSB3ZSBtb3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNv dWxkIGluIGJvdGggY2FzZXMgaGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhl IHBvaW50IG9mIHJlZmVyZW5jZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVu c2VzIGFyZSBtaXhlZCwgdGhlIHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUg c3BhY2lhbC4gSWYgdGhpcyBydWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3Vs dCBpbiBzeW50YWN0aWNhbCBhbWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0 ZS4KCgoKU3VwcG9zZSB3ZSB3YW50IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9n IGp1c3QgYSBtaW51dGUgYWdvLiBUaGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBz cGVjaWZpZXMgYSBzaG9ydCwgdW5zcGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9u ZyBkaXN0YW5jZSBpbiB0aW1lLiBOb3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBh bmQgJyd1JycuIFRoaXMgb3JkZXIgYXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBh bmQgbWlnaHQgYmUgd29ydGggdG8gbWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCd IGluIGFyZSBhbHdheXMgY29udGV4dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZl LiBUd28gaHVuZHJlZCB5ZWFycyBpcyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9s dmUsIGJ1dCBhIGxvbmcgdGltZSB0byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10 Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9t IHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1 bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50 IG9mIHJlZmVyZW5jZSAKCl9fJyd6dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlz dGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoK U2ltaWxhcmx5LCBzcGFjaWFsIGRpc3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBh bmQgJyd2dScnIGZvciBzaG9ydCwgdW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFu Y2UgaW4gc3BhY2UuCgpfXycndmknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlz dGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2 YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNl IG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19f IHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2Ug ZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBh dCB4MiB3aXRoIG9iamVjdGl2ZSB4M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBt aSB2dSB7a3V9IGd1bmthIHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRp bWUgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90 ZTogUGVvcGxlIHJhcmVseSB1c2VzICcnemknJywgJyd6YScnIG9yICcnenUnJyB3aXRob3V0IGEg JydwdScnIG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVv cGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZl IGxhbmd1YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1vc3Qgb2Yg dGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydwdScnIG9y ICcnYmEnJyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlvbi1zdW10 Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBS ZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5nIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMgYXJlIHBpY3R1 cmVkIGJ5IGFuIGltYWdpbmFyeSBqb3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBU aHVzICcncHUgenUnJyBpcyDigJxhIGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlz IOKAnGluIHRoZSBwYXN0IG9mIHNvbWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGlt ZSB0b3dhcmQgdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBl eGFtcGxlLCAnJ3B1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRo ZW4gdGhhdCBpdCBpcyBhIGxvbmcgdGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBs ZSwgJyd6dScnIHNob3dzIHRoYXQgd2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0 aW1lIGZyb20gbm93LCAnJ3B1JycgdGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRo YXQgcG9pbnQuIFRodXMgJydwdSB6dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScn IGNvdWxkIGJlIGluIHRoZSBmdXR1cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMg Y29tYmluZSBpbiB0aGlzIHdheSBpcyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVu c2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhLiBUaGUgbWVhbmluZyBvZiBvdGhlciBzdW10 Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNp dGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBj b25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlr ZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5cyBvdXQg b3ZlciBhIHNwYW4gb2YgdGltZSBhbmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFn cmFwaHMsIHdlIHdpbGwgbGVhcm4gaG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5k IHNwYWNlLgoKCgpfXycnemXigJlpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hv cnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemXigJlhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3Zl ciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemXigJl1Jydf XyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18n J3Zl4oCZaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtz dW10aX0KCl9fJyd2ZeKAmWEnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNp ZmllZCAobWVkaXVtKSBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmXigJl1JydfXyBzdW10Y2l0YTog c3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFjZSBvZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBh IHRpbWUsIEkga25vdywgYnV0IHJlbWVtYmVyaW5nIHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhl IHNpbWlsYXJpdHkgb2YgdGhlIGluaXRpYWwgbGV0dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBh bmQgdiBmb3Igc3BhY2lhbCB0ZW5zZXMgbWlnaHQgaGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycu b2knJ19fIC0gYXR0aXR1ZGluYWw6IHBhaW4gLSBwbGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9p IGRhaSBkbyB2ZeKAmXUge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHpl4oCZdSB7a3V9 IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25n IHRpbWUgdHJhdmVsaW5nIGEgbG9uZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBt b3N0IHBlb3BsZSBhcmUgbm90IGZhbWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5l dyB3b3JkcyBjYW4gb3BlbiB1cCBmb3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxk LCBmb3IgaW5zdGFuY2UsIHRyYW5zbGF0ZSDigJxUaGF04oCZcyBhIGJpZyBkb2figJ0gYXMgJyd0 aSB2ZeKAmXUge2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBm b3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBi dXQgd2VsbCBzcG9rZW4gaW4gTG9qYmFuIQoKCgonJ3pl4oCZdScnIGFuZCBpdHMgYnJvdGhlcnMg YWxzbyBjb21iaW5lIHdpdGggb3RoZXIgdGVuc2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBU aGUgcnVsZSBmb3IgJyd6ZeKAmXUnJyBhbmQgdGhlIG90aGVycyBhcmUgdGhhdCBhbnkgdGVuc2Vz IHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBvZiB0aGUgcHJvY2VzcyAocmVsYXRpdmUg dG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFueSB0ZW5zZXMgY29taW5nIGFmdGVyIGl0 IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2ZSB0byB0aGUgZmlyc3QuIFRoaXMgc2hv dWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxlIG9mIGV4YW1wbGVzOgoKJycub+KAmW9j deKAmWkgZG8gY2l0a2EgcHUge2t1fSB6ZeKAmXUge2t1fSBiYSB7a3V9IHp1IHtrdX0ge3ZhdX0n JyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGluIHRoZSBwYXN0IGFuZCBmb3Ig YSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGludG8gdGhlIGZ1dHVyZSBvZiB3 aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUgZm9yIGEgbG9uZyB0aW1l4oCd LiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHpl4oCZaSB7a3V9IHB1IHtrdX0g a2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUge2t1fSB6ZeKAmWkge2t1fSBjYSB7a3V9IGtsYW1h IHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2ZWxpbmcgaGFzIG9uZSBlbmRwb2ludCBp biB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRsZSB0b3dhcmRzIHRoZSBwYXN0LCB3aGls ZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHBhc3QgYW5kIGV4dGVu ZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywgc2xpZ2h0eSBpbnRvIHRoZSBwYXN0IG9y IGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydqbWl2ZScnX18g4oCceDEgaXMgYWxpdmUg Ynkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcnLnVpIG1pIHB1IHtrdX0gemkge2t1fSB6 ZeKAmXUge2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhlIHBhc3QgYW5kIGEg bG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNseSB0aGUgZnV0dXJl LCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywgYW5kIGhh dmUgbW9zdCBteSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVzdCB0byB1bmRlcmxpbmUg dGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV04oCZcyBoYXZlIGFub3RoZXIg ZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lhbCB0ZW5zZXM6CgpfXycnLnXigJllJydfXyBh dHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoKJycudeKAmWUgemHigJlhIHtrdX0g YnXigJl1IHtrdX0gdmXigJl1IHtrdX0gY2HigJl1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQg ZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNl cnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBo b21lLuKAnSBvciDigJxXb3csIHRoaXMgaG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+ fgoKCgpCZWZvcmUgd2UgY29udGludWUgd2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0 ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0 aGluZyB3aGljaCBkb2VzbuKAmXQgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8gbGV0IHRo ZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUgdmVyeSBz bG93bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0LgoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbuKA mXQgZ28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUg aXMgb25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQg bm93LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50 IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVu IHNvIGZhci4gU28gbGV04oCZcyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2UgaGF2 ZSBsZWFybmVkIHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxpbmUs IGFuZCB3ZSB0aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhlIOKA nG5vd+KAnS4gV2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2ZW50 IGFzIGEgcHJvY2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3JlIGl0 IHVuZm9sZHMsIGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4gcHJv Y2VzcywgYSB0aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5kZWQu IEV2ZW50IGNvbnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnTigJlz IHByb2Nlc3Mgd2FzIGhhcHBlbmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBv dGhlciB0ZW5zZXMuIFdlIG5lZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHXi gJlvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBw ZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2Nh4oCZbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29u dG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2Jh4oCZbycnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVk IGR1cmluZyB7c3VtdGl9CgoKClRoaXMgbmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUg ZXhhbXBsZXMuIFdoYXTigJlzICcnLnVpIG1pIHB14oCZbyB7a3V9IHNlIHpkYW5pIHt2YXV9Jycg bWVhbj8KCgoKQW5zd2VyOiDigJxZYXksIEnigJlsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4K CgoKQnV0IGhleSwgeW91IGFzaywgd2h5IG5vdCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNl IHpkYW5pIHt2YXV9JycgYW5kIGV2ZW4gc2F2ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJl ciwgc2F5aW5nIHRoYXQgeW91IHdpbGwgaGF2ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5v dGhpbmcgYWJvdXQgd2hldGhlciB5b3UgaGF2ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B14oCZbycn LCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJv Y2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9u4oCZdCBo YXZlIG9uZSBub3cuCgpOb3RlLCBieSB0aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFu aSB7dmF1fScnIGlzIHNpbWlsYXIgdG8gJydtaSBwdeKAmW8ge2t1fSBzZSB6ZGFuaSB7dmF1fScn LCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2Jh4oCZbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNl ZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBz ZWVuIGZyb20gdGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmUgYXMgdGhlIG90aGVy IHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20gdGhlIHByZXNlbnQuCgoKCk9mdGVuLCBldmVu dCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRoYW4gb3RoZXIga2luZHMgb2YgdGVuc2VzLiBF dmVuIG1vcmUgY2xhcml0eSBpcyBhY2hpZXZlZCBieSBjb21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6 ICcnLmHigJlvIG1pIGJhe2t1fSB6aSB7a3V9IGJh4oCZbyB7a3V9IGd1bmthIHt2YXV9JycgLSDi gJxJIGhvcGUgSeKAmXZlIHNvb24gZmluaXNoZWQgd29ya2luZy7igJ0KCgoKSW4gTG9qYmFuLCB3 ZSBhbHNvIG9wZXJhdGUgd2l0aCBhbiBldmVudOKAmXMg4oCcbmF0dXJhbCBiZWdpbm5pbmfigJ0g YW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCcbmF0dXJhbOKAnSBpcyBoaWdo bHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5hdHVyYWwgZW5kIHJlZmVycyB0 byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hvdWxkIGVuZC4gWW91IGNhbiBz YXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRoYXQgaXRzIHByb2Nlc3Mgb2Yg cmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0cyBuYXR1cmFsIGVuZC4gQW4g dW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5LCBpcyBiZWluZyBlYXRlbiBi ZWZvcmUgdGhhdCBwcm9jZXNz4oCZIG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91 cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3ph4oCZbycn X18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBiZXlvbmQg aXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3VtdGl9CgpfXycneGHigJlvJydfXyAtIHN1bXRjaXRh OiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nlc3MgZHVyaW5nIHtz dW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2ggaXMgZWRpYmxlIGZv ciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHph4oCZbyBsbyBudSBkbyBiYeKA mW8ge2t1fSB14oCZZSBjaXRrYSB6b+KAmWUgbm9pIGNpZGphIGRvIHt2YXV9IHtrdeKAmW99IHt2 YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95LCB5b3Uga2VlcCBl YXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0aW5nIHNvbWV0aGlu ZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9 CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4gQWxsIHRlbnNlcyBh Ym92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292ZXJpbmcgYW4gYW1v dW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUgc2lnbmlmeSBzdGFn ZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5zZXMgaGF2ZSBiZWVu IGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0YWtlcyBzb21lIHRpbWUgKGFz IHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2VzIGFib3ZlIHRoZSBldmVudCBs aWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJlcyBwb2ludCBsaWtl IHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5uaW5nLiBBcyBpcyB0cnVlIG9m ICcnY2EnJyBhbmQgJydideKAmXUnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50 byB0aGUgcGFzdCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBw cmVjaXNlLgoKCgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91 cnMgYXJlOgoKX18nJ2Nv4oCZYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkg aXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcge3N1bXRpfQoKX18nJ2Nv4oCZdScnX18gLSBzdW10 Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBkdXJpbmcge3N1bXRp fQoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUgcHJvY2VzcyBpcyBu YXR1cmFsbHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVuZGVkIHlldDoKCl9f Jydtb+KAmXUnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBu YXR1cmFsIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBw cm9jZXNzZXMgYWN0dWFsbHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdo YXQgbWFrZXMgaXQgbmF0dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVv cGxlIHVzdWFsbHkgcmV0cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoK CgpTaW5jZSBhIHByb2Nlc3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBw b2ludHMgaGF2ZSBlYXJuZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZeKA mWEnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcgZHVyaW5n IHtzdW10aX0KCl9fJydkaeKAmWEnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRp IGlzIHJlc3VtaW5nIGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVuZGknJyBt ZWFucyDigJx4MSBwYXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZeKAmWEganVuZGknJyBhbmQg JydkaeKAmWEganVuZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlzIG9mIHNheWluZyDigJxCUkLi gJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50 IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdldHMgYWNyb3NzLgoK CgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVudCwgZnJvbSB0aGUgYmVnaW5u aW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2luZyAnJ2Nv4oCZaScnOgoKX18n J3Blbm1pJydfXyDigJx4MSBtZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9 IHppIHtrdX0gY2/igJlpIHtrdX0gcGVubWkgbG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g 4oCcQSBsaXR0bGUgd2hpbGUgYWdvLCBJIHdhcyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBp IG1ldCBhIEdlcm1hbiBwZXJzb27igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3 ZWx2ZSAob3JkZXJzIGFuZCBxdWVzdGlvbnMpCgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25z IHdpdGggc3ludGF4IGhlYXZ5IExvamJhbiBnaXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBv bmRlciBhYm91dC4gRXNwZWNpYWxseSBiZWNhdXNlIGl04oCZcyBzbyBkaWZmZXJlbnQgZnJvbSBF bmdsaXNoLiBTbyBsZXTigJlzIHR1cm4gdG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9y ZGVycyBhbmQgcXVlc3Rpb25zLgoKCgpXaGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18K CgoKU2luY2UgdGhlIHdheSB0byBleHByZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZl IG91dCB0aGUgc3ViamVjdCBvZiB0aGUgY2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBp dCB3YXMgeW91IEkgd2FzIHNwZWFraW5nIHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3Ig ZXhwcmVzc2luZyB0aGUgb2JsaWdhdGlvbiBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBF bmdsaXNoIGxhbmd1YWdlIHVuZGVyc3RhbmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5h dHVyZSwgYXJlIGFsd2F5cyBkaXJlY3RlZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5 b3XigJ0sIGFuZCBzbyB0aGUgc3ViamVjdCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBl bGlkaW5nIHRoZSBzdWJqZWN0IHlpZWxkcyAnJ3pv4oCZZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5 IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVzLiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIHdvcmQgJydrbycn LCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2ZSBmb3JtIG9mICcnZG8nJy4gR3JhbW1hdGljYWxseSBh bmQgYnJpZGktd2lzZSwgaXTigJlzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQgYWRkcyBh IGxheWVyIG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50IHdpdGgg JydrbycnIGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNl IGlzIHRydWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2UgZG9u4oCZ dCBuZWVkIHRoZSBzdWJqZWN0IGluIEVuZ2xpc2ggc2VudGVuY2VzLCB3ZSBkb27igJl0IG5lZWQg b3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBvdGhlciBzdW10aSB0aGFuICcnZG8nJy4KCgoK SG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28gZmFyIGF3YXkgZm9yIGEgbG9uZyB0aW1lICh1 c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2VsYnJpPykKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTprbyB2ZeKAmXUgemXigJl1IGtsYW1hfn4KCignJy5pIHph4oCZYSBkYWkgYeKAmW8gbWkgY2Eg Y2/igJl1IGNpc2thIGxvIGZh4oCZb3JtYeKAmW8gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxv b2sgdXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2 ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRo ZSBibGFuaywgYW5kIHRydWUvZmFsc2UgcXVlc3Rpb25zLiBMZXTigJlzIGJlZ2luIHdpdGggdGhl IHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRoYXTigJlzIHByZXR0eSBvdmVyY29tZWFibGUs IHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUnJyB3b3JrcyBs aWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBhbnl3aGVyZSwg YW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1Y3QpLiBJdCB0 aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNraW5nIHdoZXRo ZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNpbXBseSByZXBl YXQgdGhlIGJyaWRpOgoKJyd4dSB2ZeKAmXUgemRhbmkgZG8nJyAnJy5pIHZl4oCZdSB6ZGFuaSBt aScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmksIHdoaWNoIGlzIHRoZSBicmlk aSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcnemRhbmknJy4KClRoZXJl IGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNpbmcgcHJvLWJyaWRpcywgYnV0IHRo b3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5zd2VyIOKAnG5v4oCdIG9yIOKA nGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBicmlkaSBuZWdhdGVkLiBUaGF0 IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0dXJuIHRvIHF1ZXN0 aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2luZCBpcyBmaWxsIGluIHRoZSBi bGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8gYmUgcmVwbGFjZWQg Zm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkgY29ycmVjdC4gVGhlcmUgYXJl IHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlvdSBhcmUgYXNraW5n IGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8nJ19fIC0gc2VsYnJp IHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycnY3XigJllJydfXyAt IHRlbnNlIHF1ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBh IHN1bXRpLCB5b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3 YW50IHlvdXIgYW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8g YmUgZmlsbGVkIHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KA nS4gVGhlIGNvbWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1 bCBpbmRlZWQ6CgpfXycnbXXigJlpJydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFi c3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycub2kgZG8gZGFyeGkgbWkgbXXigJlpIG1hJycgLSDi gJxPeSwgd2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXTigJlzIHRyeSBhbm90aGVyIG9uZS4g VGhpcyB0aW1lLCB5b3UgdHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHpl4oCZdSBwdSBtbycn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW914oCZcmUgaGFwcHksIHdoYXQgaGF2ZSB5b3Ug YmVlbiBkb2luZyBhbGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmljYWxseSwg aXQgY291bGQgYWxzbyBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJp bmcgd2l0aCAnJy51YSBuYWkgbGnigJlhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBp cyBqdXN0IGJlaW5nIGluY3JlZGlibHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0 b25lIG9mIHZvaWNlIG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhl ciBhIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRo ZSBxdWVzdGlvbiB3b3JkLiBUaGVyZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1v cmUgb24gd29yZHMgaW4gdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywg aXTigJlzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBz byB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlz IG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJraW5nIHRoYXQgdGhl IHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5 IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUg b24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXTigJlzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVu dGlvbiB0aGUgd29yZCAnJ2thdScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3Qg cXVlc3Rpb27igJ0uIFdoYXTigJlzIGFuIGluZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0 YWtlIGEgbG9vayBhdCB0aGUgc2VudGVuY2U6ICcnbWkgZGp1bm8gbG8gZHXigJl1IG1hIGthdSB6 ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoKX18nJ2RqdW5vJydf XyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9n eSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAn J21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBub24tcXVlc3Rpb24g d29yZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0 IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBkdeKAmXUgZHVuZGEg dGkga2F1IGRvJycgLSDigJxJIGtub3cgd2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0 aGlzLuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xv Z3kgYW5kIHdvcmQgY2xhc3NlcykKCkJhY2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5n KSBzdHVmZi4KCklmIHlvdSBoYXZlbuKAmXQgYWxyZWFkeSwgSSBzdHJvbmdseSBzdWdnZXN0IHlv dSBmaW5kIHRoZSBMb2piYW5pYyByZWNvcmRpbmcgY2FsbGVkICJTdG9yeSBUaW1lIHdpdGggVW5j bGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8gc29tZW9uZSBzcGVhayBMb2piYW4gb24gTXVtYmxlLCBh bmQgdGhlbiBwcmFjdGljZSB5b3VyIHByb251bmNpYXRpb24uIEhhdmluZyBhbiBpbnRlcm5hbCBj b252ZXJzYXRpb24gaW4geW91ciBoZWFkIGluIExvamJhbiBpcyBvbmx5IGdvb2QgaWYgaXQgaXNu 4oCZdCB3aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlv biBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwg bm90IGJlIG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0 IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9sb2d5LgoK CgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVlayBtZWFu aW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRh bGsgYWJvdXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNv bnRyYXN0ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4g TG9qYmFuIG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBjbGFzc2Vz LCB3aGljaCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFrZSBpdCBh bGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBmdW5jdGlv bnMgdGVuZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0IGV4Y2Vw dGlvbnMgbWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlwaWNhbCBG dW5jdGlvbgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGktd29yZHwg ICBBbW9uZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMgYSBjb25z b25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBk ZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwgICBSb290 LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBPbmUgdG8g Zml2ZSBzdW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVqdm98ICBD b21wb3VuZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCc Y29tcGxleCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdpbmcgcmFm c2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMg bW9yZSBjb21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBDb3B5LXdv cmQgfCBBcyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNt dSBvciBsdWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxp a2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUtd29yZCB8 ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3Vu ZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0 aGUgY29udGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBGcm9tIOKA nGNtYXZsYeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50IG9yIHpl cm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAgR3JhbW1h dGljYWwgZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAgfAoKICAg UmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBv ciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhl ciB0byBmb3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBp ZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVk IGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25z b25hbnQuIGNtZXZsYSBjYW7igJl0IGhhdmUgYW55IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0 aW5nIGFzIGEgbmFtZS4gT24gdGhlIG90aGVyIGhhbmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2Vs YnJpIGNhbm5vdCBhcHBlYXIgaW4gTG9qYmFuIHdpdGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9y IGVuY2FzZWQgYnkgY2VydGFpbiBxdW90ZSB3b3Jkcy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0 aGUgbmFtZXMgYnkgY2FwaXRhbGl6aW5nIHRoZSBsZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4g RXhhbXBsZXMgb2YgY21ldmxhIGFyZTogJycuaW9oQU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwg YXBvc3Ryb3BoZSksICcnLm1hdC4nJyAoTWF0dCkgYW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hp IE1pbikuIE5hbWVzIHdoaWNoIGRvZXMgbm90IGVuZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2 ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSksIG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhp cyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpfXycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKA nGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBieSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0 aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29yZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBh cmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg 4oCcY29udGVudC13b3Jkc+KAnS4gSXTigJlzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0 aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25j ZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBm b3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hv d24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lz bXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1 MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhl IG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCc dHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3Bl bHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcg cmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmlu ZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8g YXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZv IG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2Ug JydzZWxwYeKAmWknJywgZnJvbSAnJ3NlIHByYW1pJycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25l IGRlZmluaXRpb24uIEluc3RlYWQsIGx1anZvIGFyZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1 Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4gdGhhdCBkZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwg YnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1wbGVzIGluY2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwg JydjaW5qaWtjYScnIChzZXh1YWwtc29jaWFsaXppbmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lu a2knJyAoc2hlbGwtaW5zZWN0ID0gYmVldGxlKS4KCl9fJydmdeKAmWl2bGEnJ19fIGFyZSBtYWRl IGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRlZmluaXRpb24gZm9yIGJyaXZsYSwg YnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVuZCB0byBjb3ZlciBjb25jZXB0cyB3 aGljaCBpdOKAmXMgaGFyZCB0byBjb3ZlciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9m IHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhh bXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBp enphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdv cmRzIHdpdGggb25lIG9yIHplcm8gY29uc29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5 IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0 aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5kIGl04oCZcyBkZWJhdGFibGUgaG93 IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBmb3IgdGhlaXIgZ3JhbW1hdGljYWwgZnVuY3Rpb24u IEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBHT2hBLCB3 aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxpZCB0byB0eXBlIHNldmVyYWwgY21hdm8gaW4g YSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVzZSBsZXNzb25zLCB0aGF0IHdvbuKAmXQgYmUg ZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlvbmFsIHVuaXRzLCB0aG91 Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywgJycudWlwdXp1dnVrdW1p IGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVyc3Rvb2QgYXMgJycudWkg cHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4gd29yZHMsIG9uZSBzaG91 bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9wIGJlZm9yZSBhbnkgd29y ZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBmb3JtIHhWViwgQ1bigJlW ViBvciBW4oCZVlYgYXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFyZSB3b3JkcyB3aGljaCBhcmUgbm90 IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhhdmUgYmVlbiBhZGRlZCBieSBMb2pi YW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRhaW4gbmVlZC4KCgoKX18nJ3JhZnNpJydfXyBh cmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBuZXZlciBhcHBlYXIgYWxvbmUuIEhvd2V2ZXIs IHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJpbmUgdG8gZm9ybSBsdWp2by4gVGhl c2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBicml2bGEtZGVmaW5pdGlvbiwgZm9yIGluc3Rh bmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGVuZHMgaW4gYSBjb25zb25hbnQg KHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5kICcnY2nigJlla2VpJycgaXMgaW52YWxpZCBi ZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3RlciwgYW5kIGlzIHRo dXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00IGxl dHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcnenXigJllJycs IHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhlIHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUg dGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxk IGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4g QWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGgg YW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQg d2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVk IHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2VsICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVq dm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBD VuKAmVYsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NWQ1YuCgoKClVzaW5nIHdo YXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5zd2VyIHRoZSB0ZXN0IGkg dGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgd29yZHMgYXMg Y21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcnZnXigJlpdmxhJycgKGYpIG9yIGNt YXZvIChjKToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBIICkg LmnigJlpCgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBs YWp2YQoKRSApIHBv4oCZZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBkamlza3UgICAgICAgIEwg KSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwgYy1nLCBkLUMsIGUtYywg Zi1sLCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQgb3V0IHRoZSBmdWxsIHN0 b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRu4oCZdCBiZSB0b28gZWFzeS4K Ck5vdGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBp biB0aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kg c3RpbGwgbWFrZXMgaXQgYSBnaXNtdSwgc28gaXTigJlzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211 LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZl IHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGls IG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFu IHNvIHRoYXQgaXQgZG9lc27igJl0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4gdGhl IHJlc3QuIEFzIGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxsIGJl IGEgbWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0ZWQg YnkgaW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUgb2Yg dGhlIGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0ZWQg a25vd2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cgJyd0 aScnIGFuZCAnJ2xvIFNFTEJSSScnLCB3aGljaCBkb2VzbuKAmXQgdGFrZSB5b3UgZmFyIGNvbnNp ZGVyaW5nIGhvdyBpbXBvcnRhbnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMg d2VsbCBhcyB0aGUgZm9sbG93aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGku IEZvciBub3csIHdlIGZvY3VzIG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25l cyBtYWRlIHdpdGggYXJ0aWNsZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4g Y2FsbGVkICcnZ2FkcmknJywgYW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNz b24gYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnIChleGNlcHQgdGhlIGNvbWJpbmF0aW9uICcnbGEg Q01FVkxBJycpLiBXZSB3aWxsIGJlZ2luIGJ5IGRlc2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtpbmRz LCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBh ZnRlciBhbGw6CgpfXycnbG8nJ19fIC0gIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGlu ZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2Ny aXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0 aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6 IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZs YSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUg YWxyZWFkeSBmYW1pbGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBk b2VzIGl0IG1lYW4sIOKAnFZlcmlkaWNhbOKAnSBhbmQg4oCcVHJlYXQgcmVzdWx0IGFzIGluZGl2 aWR1YWxz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGluZGl2aWR1YWxzLCBJ4oCZbGwgY29tZSBiYWNr IHRvIGxhdGVyIHdoZW4gc3BlYWtpbmcgYWJvdXQgbWFzc2VzLiBGb3Igbm93LCDigJx2ZXJpZGlj YWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8g cXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxs eSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCAnJ2dhZHJpJycgbWFrZXMgYSBjbGFpbSB3aGlj aCBtYXkgYmUgdHJ1ZSBvciBmYWxzZSAtIHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBh cmUgYWN0dWFsbHkgdGhlIHgxIG9mIHRoZSBzZWxicmkgYWZ0ZXIgJydsbycnLgoKCgpUaGlzIG1h eSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRo dXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUg b25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2Vs YnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlk ZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZl cyB0d28gaW1wb3J0YW50IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBkb2Vz IG5vdCByZWZlciB0byBvYmplY3RzIGluIGdlbmVyYWwsIGJ1dCB0byBzcGVjaWZpYyBvYmplY3Rz LiBTZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkgaXMgb25lIG9yIG1vcmUg ZG9ncywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl04oCZcyBub3QgdmVyaWRpY2FsLCBjYW4gYmUg YW55dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3 aWxsIGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3Bl YWtlciBpcyByZWZlcnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0 aGVtIGFuZCB0aGluayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRv IGJlIHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1w aGFzaXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRv ZyBpcyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRo ZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVz dW1lZCB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJ biB0cmFuc2xhdGlvbiwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCc c29tZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0 aGUgZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg 4oCcZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRo ZXJlIGlzICcnbGEnJywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZl bnRpb25hbGx5IGNhbGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMg aXMgdGhhdCBpdOKAmXMgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBp dCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVy c29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBh cyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0 ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQg c2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhlICcnZ2FkcmknJyBkZXJp dmVkIGZyb20gaXQgY2FuIGNvbnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIg JydnYWRyaScnLiBBbHNvOiBCZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG9lcyBub3QgbWVudGlv biB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhl IGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVz IGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZl IHRoZW0uCgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0 aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJyds b2knJ19fIC0gZ2Fkcmk6IFZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4g VHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRp dmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3Mo ZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg 4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMg bWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9y IG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJl IGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNz IGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2Ug YmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNj cmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9m IGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpLCBpZiBhbGwg bWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0 byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBhcyBiZWluZyBibGFjaywgaWYgZm9y IGVhY2ggb2YgdGhlIGRvZ3MgaXTigJlzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNz LCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0cyBhbGwgdGhlIHNlbGJyaSB3aGljaCBhbnkgb2YgaXRz IG1lbWJlcnMgZml0LCBhcyB3ZWxsIGFzIHRoZSBzZWxicmkgd2hpY2ggbm9uZSBvZiB0aGUgbWVt YmVycyBmaXQsIGJ1dCB3aGljaCB0aGUgZ3JvdXAgY29uc2lkZXJlZCBhcyBhIHdob2xlIGRvZXMu IFRodXMsIGEgbWFzcyBvZiBkb2dzIGNhbiBiZSBib3RoIGJsYWNrIGFuZCB3aGl0ZS4gSG93ZXZl ciwgYWxsIHRoZSBtZW1iZXJzIG9mIHRoZSBtYXNzIG9mIGRvZ3MgbXVzdCBiZSBkb2dzIGluIG9y ZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxpY2FibGUuIEFub3RoZXIgZXhhbXBsZSBjYW4gaWxs dXN0cmF0ZSBob3cgYSBtYXNzIGNhbiBoYXZlIHByb3BlcnRpZXMgd2hpY2ggbm9uZSBvZiBpdHMg bWVtYmVycyBoYXM6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xv c2VzIHgyIGluIGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1 cmkgbG8gemRhbmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMg cGxhdXNpYmxlLCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXTi gJlzIGNvbXBsZXRlbHkgaW1wbGF1c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkg b25lIG9mIHRoZSBtZW1iZXJzIGFsb25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKA nEh1bWFucyBkZWZlYXRlZCBzbWFsbHBveCBpbiB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkg bm8gaHVtYW4gZGlkIHNvLCBidXQgdGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFr ZXMgdGhlIHNlbnRlbmNlIHRydWUgaW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg 4oCcaHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBF bmdsaXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVh Y2ggb2Ygd2hpY2ggYXJlIGh1bWFuLgoKJydsZWkgZ2Vya3UnJyByZWZlcnMgdG8gYSBtYXNzIGZv cm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRo ZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2Ny aWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdo b2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJl LiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBh IGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0 aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGlu ZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNz LCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRp Zmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVy LCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFu ZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNh dXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4 dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBi ZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0 aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18n J2xvJ2knJ19fIC0gZ2Fkcmk6IFZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKA nS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xl4oCZaScnX18gLSBnYWRyaTogRGVzY3Jp cHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNl dC4KCl9fJydsYeKAmWknJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWws IOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFz IGEgc2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9mIGluZGl2aWR1YWxzIG9yIG1hc3Nlcywgc2V0cyBk b2VzIG5vdCB0YWtlIGFueSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20g d2hpY2ggdGhlIHNldCBpcyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBv ciBsb2dpY2FsIGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHks IG1lbWJlcnNoaXAgYW5kIHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNl IGJldHdlZW4gYSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0 IGlzIGZvcm1lZDoKCl9fJyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3Vh ciBvZiBzcGVjaWVzL2JyZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsb+KAmWkg dGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUg c21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVh ZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUg YXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5l cmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xv4oCZZScnX18gLSBnYWRyaTogVmVyaWRpY2FsIOKA nGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlw ZSBvZiAnJ2xvIHtzZWxicml9JycuCgpfXycnbGXigJllJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2 ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNj cmliZWQvcGVyY2VpdmVkIGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0 aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVh bnQgYnkgdGhlIGFyY2hldHlwZT8gRm9yICcnbG/igJllIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFs LCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJl c3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRo aXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMg c3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2 ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRo ZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBv ZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEg dHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18n J2tha25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJj dW1zdGFuY2UgeDPigJ0KCicnbG/igJllIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDi gJxUaGUgdHlwaWNhbCBodW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGXigJllJycgdGhl biwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBz cGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4g dHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xp c2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hp Y2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlw aWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMs ICcnbG/igJllIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVz IGFsbCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZeKAmWUgcmVtbmEnJyBi ZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2Fu IGJlIHNlZW4gaW4gdGhlIGRpYWdyYW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xH ZW5lcmFsaXppbmcKClZlcmlkaWNhbHxsb3xsb2l8bG/igJlpfGxv4oCZZQoKRGVzY3JpcHRpdmV8 bGV8bGVpfGxl4oCZaXxsZeKAmWUKCk5hbWV8bGF8bGFpfGxh4oCZaXxkb2VzIG5vdCBleGlzdHx8 CgoKCk5vdGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4b+KAmWUnJyBmb3IgdGhlIGdl bmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBydWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJp IHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQsIGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMg b24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhvcmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdh eS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywgYW5kICcneG/igJllJycgaXMgdXNlZCBhcyBhIGVs bGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVlbikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09o QTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6 IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBjYW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVh Y2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5n dScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1c2VkIGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3Ry YWN0aW9uKeKAnQoKJydsZeKAmWUgcHJlbnUgcG9pIGtl4oCZYSBrYWtuZSBsbyBudSB0YXZsYSBm byBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZeKAmWUgcHJlbnUgcG9pIGtl4oCZYSBrYWtuZSBsbyBu dSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtl4oCZYSB0 YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZeKAmWEnJwoKCgpXaGF0IHdlIHNlZSBp cyB0aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBFbmdsaXNo LiBUaGlzIGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5IGxvbmcg c3VtdGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4gdGhlIExvamJhbiB0ZXh0 LCB3aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBh bmQg4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4gV291bGRu4oCZdCBpdCBiZSBj bGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1l PwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEg cmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2HigJlpJycgbWVhbmluZyDigJxzdW10aS1yZXBy ZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRp LCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHBy b25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxy ZWFkeSBrbm93ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBt b3JlLCBzbyBsZXTigJlzIGdldCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGlu dG8gc3lzdGVtLiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVu Z2xpc2gsIGFuZCB3aGF0IHlvdeKAmXZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAt IHN1bWth4oCZaTog4oCcaW1tZWRpYXRlIOKAmGl04oCZOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5 c2ljYWxseSBuZWFyIHRoZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vta2HigJlpOiDigJxu ZWFyYnkg4oCYaXTigJk6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNl IGZyb20gdGhlIHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19f IC0gc3Vta2HigJlpOiDigJxkaXN0YW50IOKAmGl04oCZOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5 c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3Ug Y2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3Bz IHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1 cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdo aWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0 YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25s eSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAt IHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFy LWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2Ug aXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3Jkczog Jyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdOKAmXMgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFr ZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3Rl bmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIg dGFsa2luZywgJyd0YScnIHJlZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVy LiBUaGlyZGx5LCBpdOKAmXMgYWxsIHJlbGF0aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhl c2UgdGhyZWUgd29yZHMgYXJlIGFsbCBwcm9ibGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBp bnN0YW5jZSwgYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVy IGlzIHVua25vd24gdG8gZWFjaCBvdGhlciwgYW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBG dXJ0aGVybW9yZSwgdGhlIGF1dGhvciBvZiBhIGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVj dCBhbmQgZXhwcmVzcyB0aGUgcG9pbnRpbmcgaW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMg YSBzZXJpZXMgY2FsbGVkIEtPaEEzLCB0byB3aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcn a28nJywgYnV0IEkgd29u4oCZdCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19f IC0gc3Vta2HigJlpOiBUaGUgc3BlYWtlcihzKS4KCl9fJydtaeKAmW8nJ19fIC0gc3Vta2HigJlp OiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydt aeKAmWEnJ19fIC0gc3Vta2HigJlpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgb3Ro ZXJzLgoKX18nJ21h4oCZYScnX18gLSBzdW1rYeKAmWk6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2Vy KHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9fJydkbycnX18gLSBzdW1rYeKAmWk6 IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydkb+KAmW8nJ19fIC0gc3Vta2HigJlpOiBUaGUgbWFzcyBv ZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWth4oCZaSBhcmUg bW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cgVmVubiBkaWFncmFtOgoKCgp7aW1nIGZp bGVJZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAo JydrbycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlzIG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg 4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3NpYmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0 byBiZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBzdGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUg YmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUsIHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0 cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21pJycsICcnbWnigJlvJycsICcnbWnigJlhJycgb3IgJydt YeKAmWEnJywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMgcmVhbGx5IGp1c3QgJydtaScn LiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5kaXZp ZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkgJydt aSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byAnJ2Rv IGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtlciBBLCBhbmQgYXJlIGNvbnNpZGVy ZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGluIHRo ZSAnJ2JyaWth4oCZaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vt a2HigJlpJycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbiBub3QgYmUgdXNlZCwg Zm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVz c29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUg dXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0gc3Vta2HigJlpOiDigJxM YXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWth4oCZaTog4oCcQSByZWNl bnQsIGJ1dCBub3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vt a2HigJlpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3 aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vt a2HigJlpJycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2HigJlpJycgY2Fubm90 IGJlIHJlZmVycmVkIHRvIGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kg dG8ganVzdCByZXBlYXQgYnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBh cmUgJyd0aScnLCAnJ3RhJycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFu Z2VkIHdoYXQgeW91IHBvaW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdv cmQuIFRoZXkgd2lsbCBvbmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNh bm5vdCwgZm9yIGluc3RhbmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlm IHRoZSB3b3JkIGluIGlzIHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtl4oCZYSBw ZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fubm90 IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwgbm9y IHRvICcnbWknJyBvciAnJ2tl4oCZYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYeKAmWksIHNvIGl0 IHJlZmVycyB0byAnJ2xlIHBlbmRvJycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1k ZXBlbmRlbnQgaW4gd2hhdCB0aGV5IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVz IG1lbnRpb25lZCBhYm92ZSwgYW5kICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3Rh bnQgc3VtdGkgdGhhbiAnJ3JhJycsIHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAn J3JpJycuCgoKCicncmknJyBhbmQgaXTigJlzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0 ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQg dXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWth4oCZaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbGXigJllIHByZW51IHBvaSBrZeKAmWEga2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxv amJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtl4oCZYScnLiAn J3JpJycgaXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4n Jy4gJydyYScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3Vn aHQgdG8gcmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScn IGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0 IG91dGVyIG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50 IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90 IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJh bCBzZW50ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93cyBpdDoKCl9fJydkYeKAmXUnJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIHBhc3Qgc2VudGVuY2UKCl9fJydkZeKAmXUnJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGnigJl1JydfXyBVdHRlcmFu Y2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFy aWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydkaeKAmWUnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTog TmV4dCBzZW50ZW5jZQoKX18nJ2Rl4oCZZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1 dHVyZSBzZW50ZW5jZQoKX18nJ2Rh4oCZZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUg ZnV0dXJlIHNlbnRlbmNlCgpfXycnZG/igJlpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVsbGlw dGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDigJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSByZXBy ZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10aSwgYW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tlbiB3 b3JkcyBvciB0aGUgbGV0dGVycywgbm90IHRvIHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoKCgpU aGVyZSBhcmUgbW9yZSBMb2piYW4gJydzdW1rYeKAmWknJywgYnV0IGZvciBub3cgeW91IHByb2Jh Ymx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRl cml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10 aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1p IHNlIGJhbmd1IGtl4oCZYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lvbiBmb3Ig 4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdOKAmXMgcmVhbGx5IGEgd29yayBh cm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBjYW4gYmUgc2FpZCB0byBmaWxsIGludG8g dGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycuIFdlIGNhbuKAmXQgY29udmVydCB0aGF0 IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1 bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRo ZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBzdeKAmXUnJywgYmVjYXVzZSB0aGUgc3Xi gJl1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFic3RyYWN0aW9uLCBhbmQgdGhlICcn bGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4gYWJzdHJhY3Rpb24gc3VtdGkg bWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0aGluZyBpcyBteSBsYW5ndWFnZeKA nS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3aGljaCBiaW5kcyBjb25zdHJ1Y3Rz IChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBzZWxicmkuIFVzaW5nIGl0IGluIG9y ZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5lbGNpIGJlIGRvJycsIHRoZSAn J2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8gYSBz ZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRob3V0 IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJlIG1pJycgaXMgYSBjb3JyZWN0 IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lzZSwgeW91IGNhbiBhdHRhY2gg YSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVudCBv ZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCdLiBOb3RlIHRoYXQgdGhlIHByZXNl bmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBwYXJzZSBkaWZmZXJlbnRseTogV2l0 aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRhY2hlcyB0byAnJ251JycsIHdpdGhv dXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4aScnLiBTbyBpdCBkZWNpZGVz IHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhpdHRpbmcsIG9yIHRoZSBldmVudCBv ZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdoLCB0 aGF04oCZcyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBh dHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdp dmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBk bycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxl LCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWlu IG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgc28gc2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZl cmFsIHN1bXRpIHRvIGEgc2VsYnJpLCBhbGwgb2YgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJz dCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRl cm1pbmF0ZWQgd2l0aCAnJ2Jl4oCZbycnIC0gb25lIGluc3RhbmNlIG9mICcnYmXigJlvJycgZm9y IGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRo ZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2Jl aScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNp dGEgdG8gYSBzZWxicmkKCl9fJydiZeKAmW8nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoK VGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90 aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2 ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0 cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2Ug dGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdp dGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29j aWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hp Y2ggeW91IHNpdCBvbi4gSXTigJlzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5n IGRvIHRvIHdpdGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJs aXNoZWQgd2l0aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5k IGJpbmRpbmcgdG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5 b3UgYWN0dWFsbHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycs IHdoaWNoIG1ha2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRp LCBtZWFuaW5nIHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4g U29tZSBleGFtcGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUg Y291bnRyeSI7IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlm IHlvdSBzYXcgb2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUg dGhlcmVmb3JlIGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScn IGlzIGFwcHJvcHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRo ZSBvbmUgdG8gd2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4K Cl9fJyduZScnX18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFz c29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNl LiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVs YXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5h bGllbmFibGUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5 IHVzZWZ1bCBjb25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScn LiB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9Jycu IEZvciBpbnN0YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1 IHBlIG1pJycuIE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlw dGlvbiBzdW10aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywg PSAnJ2xlIGdlcmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhl IG1hbiBJ4oCZbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdOKAmXMgbm90IHZlcnkgZWFzeSB0 byByZWFkIChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5n IGF2b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0deKAmWEnJywgc2luY2UgaXQg d2lsbCBtYWtlIGEgbG90IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10 aSBhbmQgY29udmVydHMgaXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJh Y3Rpb24gd2hpY2ggaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9y IGV4YW1wbGUsIEkgY291bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2Un Jywgb3IgSSBjb3VsZCBsZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFi b3V0IHRoZSBhcHBsZSBJIGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamljYSB0deKAmWEgbG8g cGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUgc3Bl YWtlciBtZWFucyBieSAnJ3R14oCZYSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2Vk IHdoZW4gY29udGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6Cgpf XycnZ2FzbnUnJ19fIOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1w bGllZCnigJ0KCicnemHigJlhIGRvIGdhc251IHR14oCZYSBsbyBza2FtaScnIC0g4oCcSSBzZWUg dGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAn J3R14oCZYSBTVU1USScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBzdeKAmXUgU1VNVEkgY2/igJll JycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fu bm90IHVzZSAnJ3R14oCZYScnLCBldmVuIHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBU aGVzZSBzaXR1YXRpb25zIGFyZSB3aGVuIEkgZG9u4oCZdCB3YW50IHRoZSByZXN1bHRpbmcgc3Vt dGkgdG8gYmUgYW4gYWJzdHJhY3Rpb24sIGJ1dCBhIGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNh c2UsIG9uZSBjYW4gdXNlICcnem/igJllIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10 aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRv ICcnbGUgc3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1 bXRpIGNhbiBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3Mg TEFoRS4KCl9f4oCZ4oCZbHXigJlh4oCZ4oCZX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFz cy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVhbHMuCgpfX+KAmeKAmWx14oCZaeKAmeKAmV9fIC0g Q29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX1/igJni gJlsdeKAmW/igJnigJlfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3Nl dCB0byBtYXNzLgoKX1/igJnigJl2deKAmWnigJnigJlfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChz KS9tYXNzL3NlcXVlbmNlL3NldCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQu CgpUaGUgdXNlIG9mIHRoZXNlIHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0 aGVtIGJlZm9yZSBhIHN1bXRpIG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9m IGEgbmV3IHR5cGUuIE5vdGljZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3Vt dGksIGEgc2VxdWVuY2UgaGFzIGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5 IG9mdGVuIChpdCBkb2VzbuKAmXQgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBi dXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJl cnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxs b3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGlu ZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3Vt dGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywg b3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5n LCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCY4oCZbGHigJllIFNVTVRJIEHigJnigJkgcmVmZXJzIHRv IHN1bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCY4oCZbWkgbmVsY2kgbGHigJllIGRp4oCZdeKAmeKA mSBmb3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkn dScnIHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig 4oCY4oCZbGHigJllIGxlIGNtYWx1IG5vbHRydeKAmeKAmSBmb3IgdGhlIGJvb2sg4oCcVGhlIExp dHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBj bWF2byDigJjigJlsdeKAmWXigJnigJkgZG9lcyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg4oCY4oCZ bHXigJllIFNVTVRJ4oCZ4oCZIHJlZmVycyB0byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRo ZSBzdW10aS4gCgpfX+KAmeKAmWxh4oCZZeKAmeKAmV9fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVk IHRvIGJ54oCdIC0gZXh0cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVy cyB0byBBLiAKCl9f4oCZ4oCZbHXigJll4oCZ4oCZX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5n IHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJz IHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkg bGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGluc3RhbGxtZW50IGNhbiBi ZSBmb3VuZCBvbiBhICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnxzZXBhcmF0ZSBwYWdlKSkuIE5v IHdvcnJpZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInNlcGFyYXRlIHBhZ2UiIHdpbGwgdGFrZSB5 b3UgdGhlcmUgcGFpbmxlc3NseS4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFu Lm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK