Received: from localhost ([::1]:49134 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UYFq2-0006Z4-I7; Fri, 03 May 2013 06:15:50 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:60820 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UYFpt-0006Yt-4v for wikineurotic@lojban.org; Fri, 03 May 2013 06:15:48 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 3 May 2013 06:15:40 -0700 From: "Apache" Date: Fri, 3 May 2013 06:15:40 -0700 To: wikineurotic@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 gleki at 13:15 UTC Comment: replacing weird example with {do su'u mrobi'o .... You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.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: [Wikineurotic] Wiki page wavelessonscontinued changed by gleki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org Content-Length: 152141 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMTM6 MTUgVVRDCkNvbW1lbnQ6IHJlcGxhY2luZyB3ZWlyZCBleGFtcGxlIHdpdGgge2RvIHN1J3UgbXJv YmknbyAuLi4uCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoK IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNh biB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0 aGlzIGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBo cD9wYWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9NjQmbmV3dmVyPTY1 CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQg YWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA0 NTctNDY2IGNoYW5nZWQgdG8gK0xpbmVzOiA0NTctNDcwIEBACistKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCl9fJydnbGVraScnX18g4oCc eDEgaXMgaGFwcHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQpPbmUgc2VlcyB0aGF0IHRoZSB4 MiBuZWVkcyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1 c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFi b3V0IHNvbWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2Fu IGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhl IHgyIG9mICcnZ2xla2knJyEKLSBBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBh IHNvbHV0aW9uLiBUaGUgd29yZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyBjb252 ZXJ0IGJyaWRpIHRvIHNlbGJyaSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAnJ2xvJycn J2t1JycuIEV4YW1wbGU6PGJyIC8+X18nJ21yb2JpJ28nJ19fIHgxIGRpZXMgdW5kZXIgY29uZGl0 aW9uIHgyCisgQXMgeW91IG1pZ2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4g VGhlIHdvcmRzICcnc3UndScnLi4uJydrZWknJyBpcyBhIGdlbmVyaWMgY29udmVydCBicmlkaSB0 byBzZWxicmkgZnVuY3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycnJydrdScnLgpfXycn c3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCl9fJydr ZWknJ19fIGVuZCBhYnN0cmFjdGlvbgotICcnbWkgc3UndSBkbyBtcm9iaSdvIGtlaScnICBJIGFt IHlvdXIgZGVhdGguPGJyIC8+SXQncyBoYXJkIHRvIGZpbmQgZ29vZCB1c2VzIG9mIGEgYnJpZGkg YXMgYSBzZWxicmksIGFuZCB0aGUgYWJvdmUgZXhhbXBsZSBzZWVtcyBhIGxpdHRsZSB1bmNvbnZp bmNpbmcuIEhvd2V2ZXIsIHNpbmNlICcnc3UndSBCUklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25l IGNhbiBjb252ZXJ0IGl0IHRvIGEgc3VtdGkgdXNpbmcgJydsbycnLi4uJydrdScnLgorIDxiciAv PkV4YW1wbGU6PGJyIC8+X18nJ21lbGJpJydfXyB4MSBpcyBiZWF1dGlmdWwgdG8geDIuPGJyIC8+ X18nJ2RhbnN1JydfXyB4MSBkYW5jZXMgdG8gYWNjb21wYW5pbWVudC9tdXNpYy9yaHl0aG0geDIu PGJyIC8+JydtZWxiaSBzdSd1IGRhbnN1IGtlaScnIC0gQmVhdXRpZmlsIGRhbmNpbmcvQmVhdXRp ZmlsIGRhbmNlPGJyIC8+PGJyIC8+SXQncyB1c3VhbGx5IGhhcmQgdG8gZmluZCBnb29kIHVzZXMg b2YgYSBicmlkaSBhcyBhIHNlbGJyaS4gSG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScn IGlzIGEgc2VsYnJpLCBvbmUgY2FuIGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycu Li4nJ2t1JycuCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhh cHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCl9fJydwZW5kbycnX18g 4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZv bGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCgohTG9qYmFuIFdhdmUgTGVzc29ucyBDb250aW51ZWQ6CgohISFNYWRl IGJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24g dGhlIHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoKCgohIUxvamJhbiBMZXNzb25z IOKAkyBsZXNzb24gemVybzogRm9yZXdvcmQKClRoZXNlIGxlc3NvbnMgYXJlIGFuIGF0dGVtcHQg dG8gZXhwYW5kIG9uIHRoZSBHb29nbGUgV2F2ZSBMZXNzb25zLCBhbiBleGNlbGxlbnQgTG9qYmFu IHR1dG9yaWFsIGJ5IGtyaWJhY3IsIHhhbGJvLCBhbmQgb3RoZXJzLCB3aGljaCBzYWRseSBvbmx5 IGNvdmVyZWQgdGhlIGZpcnN0IGZvdXIgY2hhcHRlcnMgaW4gdGhpcyB0dXRvcmlhbC4gSXQgaW1w bGVtZW50cyB0aGUgbmV3ZXN0IHJ1bGVzIG9mIExvamJhbiBub3QgY292ZXJlZCBieSBvbGRlciBt YXRlcmlhbHMgc3VjaCBhcyBXaGF0IGlzIExvamJhbj8gYW5kIExvamJhbiBmb3IgQmVnaW5uZXJz LgoKCgpJZiB5b3UgYXJlIG5ldyB0byBMb2piYW4sIEkgcmVjb21tZW5kIGxpc3RlbmluZyB0byBh bnkgcmVjb3JkaW5ncyB5b3UgY2FuIGZpbmQgb2Ygc3Bva2VuIExvamJhbiBib3RoIGJlZm9yZSBh bmQgd2hpbGUgeW91IGFyZSB0YWtpbmcgdGhpcyB0dXRvcmlhbCwgaW4gb3JkZXIgdG8gbWFrZSB5 b3Vyc2VsZiBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgYW5kIHdvcmRzIG9mIHRoZSBsYW5ndWFn ZX50Y34sIHdoaWNoIHdpbGwgbm90IGJlIGV4cGxhaW5lZCBoZXJlfi90Y34uIEZ1cnRoZXJtb3Jl LCB0cnkgdG8gc2F5IHRoZSB0aGluZ3MgeW91IHJlYWQgaW4gTG9qYmFuIGFjY2VudCBpZiBpdCdz IHJlYXNvbmFibHkgcHJhY3RpY2FsLiBUaGlzIGNhbiBoZWxwIHlvdXIgcHJvbnVuY2lhdGlvbiBh IGxvdC4KCgoKV2hlbiB0YWtpbmcgdGhpcyB0dXRvcmlhbCwgaXQncyBiZXN0IHRvIHBhdXNlIGJl dHdlZW4gbGVzc29ucyBpbiBvcmRlciB0byBpbnRlcm5hbGl6ZSB3aGF0IHlvdSBoYXZlIGxlYXJu dC4gSSBoYXZlIGF0dGVtcHRlZCB0byBidWlsZCB0aGVzZSBsZXNzb25zIGZyb20gdGhlIGJvdHRv bSB1cCBhbmQgZXhjbHVkZSBhbnkgd29yZHMgb3IgY29uY2VwdHMgdGhhdCBoYXZlIG5vdCBiZWVu IGV4cGxhaW5lZCBpbiBwcmV2aW91cyBsZXNzb25zLiBPbmNlIGV4cGxhaW5lZCwgdGhleSBhcmUg dXNlZCBmcmVlbHkgdGhyb3VnaG91dCB0aGUgcmVtYWluZGVyIG9mIHRoZSB0dXRvcmlhbC4gSSB1 cmdlIHJlYWRlcnMgbm90IHRvIHBhc3MgYW55IG1pc3VuZGVyc3Rvb2QgY29udGVudDsgaWYgeW91 IGhhdmUgcXVlc3Rpb25zIG9yIGFyZSB1bmNlcnRhaW4gYWJvdXQgc29tZXRoaW5nLCBmZWVsIGZy ZWUgdG8gYXNrIHRoZSBMb2piYW4gY29tbXVuaXR5LCB3aGljaCBjYW4gYmUgZm91bmQgaW4gI2xv amJhbiBvbiB0aGUgRnJlZW5vZGUgSVJDIG5ldHdvcmsuIFRoZXkgd2lsbCBiZSBoYXBweSB0byBo ZWxwLgoKCgpJbiB0aGlzIHR1dG9yaWFsLCBMb2piYW4gdGV4dCBpcyB3cml0dGVuIGluICcnaXRh bGljcycnLiBMYXRlciwgd2hlbiB1c2VkIGFzIExvamJhbiBsb2Fud29yZHMgaW4gRW5nbGlzaCBz ZW50ZW5jZXMsIHRoZXkgYXJlIG5vdCBtYXJrZWQuIEFuc3dlcnMgdG8gZXhlcmNpc2VzIGFyZSBk aXNwbGF5ZWQgYXMgYSBncmV5IGJhci4gSGlnaGxpZ2h0IHRoZSB0ZXh0IGluIG9yZGVyIHRvIHNl ZSBpdC4KCgoKTGFzdGx5LCBJIGhhdmUgYXMgZmFyIGFzIHBvc3NpYmxlIGF0dGVtcHRlZCB0byB1 c2UgdGhlIExvamJhbiB3b3JkcyBmb3IgZ3JhbW1hdGljYWwgY29uc3RydWN0czogJydzdW1rYSdp JycgaW5zdGVhZCBvZiBwcm8tc3VtdGksICcnc3VtdGNpdGEnJyBpbnN0ZWFkIG9mIG1vZGFsIGFu ZCAnJ2p1ZnJhJycgaW5zdGVhZCBvZiB1dHRlcmFuY2UuIFRoaXMgaXMgYmVjYXVzZSBJIGZlZWwg dGhlIEVuZ2xpc2ggd29yZHMgYXJlIG9mdGVuIGVpdGhlciBhcmJpdHJhcnksIGluIHdoaWNoIGNh c2UgdGhleSBhcmUganVzdCBtb3JlIHdvcmRzIHRvIGxlYXJuLCBvciBtaXNsZWFkaW5nLCBpbiB3 aGljaCBjYXNlIHRoZXkgYXJlIHdvcnNlIHRoYW4gdXNlbGVzcy4gSW4gZWl0aGVyIGNhc2UsIGFz IGxvbmcgYXMgdGhlIHdvcmRzIGFyZSBzcGVjaWZpYyB0byB0aG9zZSB3aG8gYXJlIGxlYXJuaW5n IExvamJhbiBhbnl3YXksIHRoZXJlIGlzIG5vIHJlYXNvbiBmb3IgdGhlbSB0byBleGlzdCBhcyBz ZXBhcmF0ZSBFbmdsaXNoIHdvcmRzLgoKCgohISFQcmVmYWNlLiBTb3VuZHMKClRoZSBmaXJzdCB0 aGluZyB5b3UgbmVlZCB0byBkbyB3aGVuIHlvdSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMg dG8gYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhv dyB0aGV5IGFyZSB3cml0dGVuLCBhbmQgdGhlIHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5h dGVseSwgTG9qYmFuIHNvdW5kcyAoX19waG9uZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9y d2FyZC4KCiEhISFWb3dlbHMKClRoZXJlIGFyZSBzaXggdm93ZWxzIGluIExvamJhbi4KCgoKfHwn J2EnJyB8YXMgaW4gImZfX2FfX3RoZXIiIChub3QgYXMgaW4gImhfX2FfX3QiKQoKJydlJycgfGFz IGluICJnX19lX190IgoKJydpJycgfGFzIGluICJtYWNoX19pX19uZSIgb3IgKEl0YWxpYW4pICJ2 X19pX19ubyIgKG5vdCBhcyBpbiAiaF9faV9fdCIpCgonJ28nJyB8YXMgaW4gImJfX29fX2xkIiBv ciAibV9fb19fcmUiIOKAlCBub3QgYXMgaW4gInNfX29fXyIgKHRoaXMgc2hvdWxkIGJlIGEgJ3B1 cmUnIHNvdW5kLikKCicndScnIHxhcyBpbiAiY19fb29fX2wiIChub3QgYXMgaW4gImJfX3VfX3Qi KSB8fAoKVGhlc2UgYXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lIGFzIHZvd2VscyBpbiBJdGFsaWFu IG9yIFNwYW5pc2guIFRoZSBzaXh0aCB2b3dlbCwgJyd5JycsIGlzIGNhbGxlZCBhIF9fc2Nod2Ff XyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0 IGFuZCBsYXN0ICJBIidzIGluICJBbWVyaWNhIiAodGhhdCdzIEVuZ2xpc2ggIkFtZXJpY2EiLCBu b3QgU3BhbmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRo IGlzIGNvbXBsZXRlbHkgcmVsYXhlZC4KClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5j ZWQgYXMgb25lIHNvdW5kIChfX2RpcGh0aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CgoKCnx8 JydhaScnIHxhcyBpbiAiaF9faWdoX18iCgonJ2F1JycgfGFzIGluICJoX19vd19fIgoKJydlaScn IHxhcyBpbiAiaF9fZXlfXyIKCicnb2knJyB8YXMgaW4gImJfX295X18iCgonJ2lhJycgfGxpa2Ug R2VybWFuIF9fIkphX18iCgonJ2llJycgfGxpa2UgX18ieWVhaF9fIgoKJydpdScnIHxsaWtlIF9f InlvdV9fIgoKJyd1YScnIHxhcyBpbiBfXyJ3YWFoIV9fIiwgb3IgRnJlbmNoICJxX191b2lfXyIK CicndWUnJyB8YXMgaW4gInFfX3VlX19zdGlvbiIKCicndW8nJyB8YXMgaW4gInFfX3VvX190ZSIK CicndWknJyB8bGlrZSBfXyJ3ZV9fIiwgb3IgRnJlbmNoIF9fIm91aV9fIiB8fAoKRG91YmxlIHZv d2VscyBhcmUgcmFyZS4gVGhlIG9ubHkgZXhhbXBsZXMgYXJlICcnaWknJywgd2hpY2ggaXMgcHJv bm91bmNlZCBsaWtlIEVuZ2xpc2ggInllIiAoYXMgaW4g4oCcT2ggY29tZSBhbGwgeWUgZmFpdGhm dWzigJ0pIG9yIENoaW5lc2UgInlpIiwgYW5kICcndXUnJywgcHJvbm91bmNlZCBsaWtlICJ3b28i LgoKISEhIUNvbnNvbmFudHMKCk1vc3QgTG9qYmFuIGNvbnNvbmFudHMgYXJlIHRoZSBzYW1lIGFz IEVuZ2xpc2gsIGJ1dCB0aGVyZSBhcmUgc29tZSBleGNlcHRpb25zOgoKCgp8fGcgfGFsd2F5cyAn J2cnJyBhcyBpbiAnJ19fZ19fdW0nJywgbmV2ZXIgJydnJycgYXMgaW4gJydfX2dfX2VtJycKCmMg fCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcnCgpqIHxhcyBpbiAnJ21lYV9fc19fdXJlJycgb3Ig RnJlbmNoICcnYm9uX19qX19vdXInJwoKeCB8YXMgaW4gR2VybWFuICcnQmFfX2NoJydfXywgU3Bh bmlzaCAnJ19fSl9fb3NlJycgb3IgQXJhYmljICcnX19LaF9fYWxlZCcnIHx8CgpUaGUgRW5nbGlz aCBzb3VuZHMgJydjaCcnIGFuZCAnJ2onJyBhcmUgd3JpdHRlbiBhcyB0YyBhbmQgZGouCgpMb2pi YW4gZG9lc24ndCB1c2UgdGhlIGxldHRlcnMgJydIJycsICcnUScnIG9yICcnVycnLgoKISEhIVNw ZWNpYWwgQ2hhcmFjdGVycwoKTG9qYmFuIGRvZXMgbm90IHJlcXVpcmUgYW55IHB1bmN0dWF0aW9u LCBidXQgc29tZSBzcGVjaWFsIGNoYXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQgaW4gcHVuY3R1YXRp b24gaW4gb3RoZXIgbGFuZ3VhZ2VzKSBhZmZlY3QgdGhlIHdheSBMb2piYW4gaXMgcHJvbm91bmNl ZC4KClRoZSBvbmx5IG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIHdoaWNoIGlzIG9ibGlnYXRvcnkg aW4gTG9qYmFuIGlzIHRoZSBhcG9zdHJvcGhlOyBpbiBmYWN0IHRoZSBhcG9zdHJvcGhlIGlzIHJl Z2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBvZiBMb2piYW4uIEFuIGFwb3N0cm9waGUgc2VwYXJh dGVzIHR3byB2b3dlbHMsIHByZXZlbnRpbmcgdGhlbSBmcm9tIGJlaW5nIHByb25vdW5jZWQgdG9n ZXRoZXIgKGFzIGEgX19kaXBodGhvbmdfXyk7IGl0IGlzIGl0c2VsZiBwcm9ub3VuY2VkIGxpa2Ug YW4gImgiLiBGb3IgZXhhbXBsZSwgJyd1aScnIGlzIG5vcm1hbGx5IHByb25vdW5jZWQgIndlIiwg YnV0ICcndSdpJycgaXMgIm9vaGVlIicuCgpBIGZ1bGwgc3RvcCAocGVyaW9kKSBpcyBhIHNob3J0 IHBhdXNlIHRvIHN0b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2ggb3RoZXIuIFRoZSBydWxlcyBv ZiBMb2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRvIHJ1biBpbnRvIGFub3RoZXIg d2hlbiB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dlbDsgc28gYW55IHdvcmQgc3Rh cnRpbmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBhIGZ1bGwgc3RvcCBwbGFjZWQg aW4gZnJvbnQgb2YgaXQuCgpDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBidXQgY2FuIGJlIHVz ZWQgdG8gc3RvcCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4geW91IGRvbid0IHdh bnQgdG8gdXNlIGFuIGFwb3N0cm9waGUgKHdoaWNoIHdvdWxkIHB1dCBhICcnaCcnIGJldHdlZW4g dGhlbSkuIE5vIExvamJhbiB3b3JkcyBoYXZlIGNvbW1hcywgYnV0IHRoZXkncmUgc29tZXRpbWVz IHVzZWQgaW4gd3JpdGluZyBub24tTG9qYmFuIG5hbWVzLCBmb3IgZXhhbXBsZSAnJy5waSxFUi4n JyAoIlBpZXJyZSIpLCBhcyBvcHBvc2VkIHRvICcnLnBpZXIuJycgKCJQLXllcnIiKSwgJycucGku RVIuJycgKCJQZWU7IEVociIpLCBvciAnJy5waSdFUi4nJyAoIlBpaGVyciIpLgoKQ2FwaXRhbCBs ZXR0ZXJzIGFyZSBub3Qgbm9ybWFsbHkgdXNlZCBpbiBMb2piYW4uIFdlIHVzZSB0aGVtIGluIG5v bi1Mb2piYW4gd29yZHMgKGxpa2UgIlBpZXJyZSIpIHdoZW4gdGhlIHN0cmVzcyBvZiBhIHdvcmQg aXMgZGlmZmVyZW50IGZyb20gdGhlIExvamJhbiBub3JtLiBUaGUgbm9ybSBpcyB0byBwdXQgdGhl IHN0cmVzcyBvbiB0aGUgbGFzdC1idXQtb25lIHN5bGxhYmxlOyBzbywgZm9yIGV4YW1wbGUsICcn a3VqbWlrY2UnJyAibnVyc2UiIGlzICcna3VqX19NSUtfX2NlJycsIG5vdCAnJ19fS1VKX19taWtj ZScnLiBUaGUgbmFtZSAiSnVsaWV0dGUiIHdvdWxkIGJlIHdyaXR0ZW4gJycuREpVbGksZXQuJycg aWYgcHJvbm91bmNlZCBpbiBhbiBFbmdsaXNoIHdheSwgYnV0ICcnLmp1TElFVC4nJyBpZiBwcm9u b3VuY2VkIGFzIGluIEZyZW5jaC4KCiEhISFBbHBoYWJldAoKSW4gbW9zdCBsYW5ndWFnZSB0ZXh0 Ym9va3MsIHlvdSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFnZSB0b2dldGhlciB3aXRo IGl0cyBzb3VuZHMuIExldHRlcnMgKCcnbGVyZnUnJykgdHVybiBvdXQgdG8gYmUgZXZlbiBtb3Jl IGltcG9ydGFudCB0aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2UgbWlnaHQgYXMgd2VsbCBnbyB0 aHJvdWdoIHRoZWlyIG5hbWVzIHF1aWNrbHkuCgpDb25zb25hbnRzIGFyZSBzdHJhaWdodGZvcndh cmQ6IHRoZSBuYW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGF0IGxldHRlciwgcGx1cyB5 LiBTbyB0aGUgY29uc29uYW50IGxldHRlcnMgb2YgTG9qYmFuLCAiYiwgYywgZCwgZiwgZyAuLi4i LCBhcmUgY2FsbGVkICcnYnkuLCBjeS4sIGR5LiwgZnkuLCBneS4nJyAuLi4gaW4gTG9qYmFuICh1 c2luZyB0aGUgZnVsbCBzdG9wIGFzIHdlJ3ZlIGp1c3QgZGVzY3JpYmVkLikKClZvd2VscyBfX3dv dWxkX18gYmUgY2FsbGVkICcnLmF5LCAuZXksIC5peScnLCBidXQgdGhhdCB3b3VsZCBiZSByYXRo ZXIgZGlmZmljdWx0IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUgaGFuZGxlZCBieSBm b2xsb3dpbmcgdGhlIHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgJydidScnLCB3aGljaCBiYXNp Y2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFyZTogJycuYWJ1 LCAuZWJ1LCAuaWJ1LCAub2J1LCAudWJ1LCB5YnUuJycKClRoZSBhcG9zdHJvcGhlIGlzIHJlZ2Fy ZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBjYWxsZWQgJycueSd5Licn IC4gVG8gc29tZSBwZW9wbGUsIHRoaXMgc291bmRzIGxpa2UgYSBjb3VnaDsgdG8gb3RoZXIsIGxp a2UgInVoLWh1aCIgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVyIHRoYW4gJ05vJy4pCgpMb2pi YW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBsZXR0ZXJzIHlvdSBjYW4gdGhpbmsgb2Yu IElmIHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91dCB5b3VyIG5hbWUgaW4gTG9qYmFuIGFu ZCBoYXZlIGFuICJIIiwgIlEiLCBvciAiVyIgdG8gZGVhbCB3aXRoLCB5b3UgY2FuIHVzZSAnJy55 J3kuYnUsIGt5LmJ1JycgYW5kICcndnkuYnUnJy4gU28gIlNjaHdhcnplbmVnZ2VyIiBpcyBzcGVs dCBpbiBMb2piYW4gYXM6CgonJ3N5LiBjeS4gLnkneWJ1IHZ5YnUuIC5hYnUgcnkuIHp5LiAuZWJ1 IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4nJwoKQW5kIHNwZWxsaW5nICJ0aGF0IiBpcyBhIHRh c2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5hdG9yIGV2ZXIgZGlkIQoKCgpOb3cg c3BlbGwgeW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVhc3Qgc29tZXRoaW5nIGNsb3NlIGVu b3VnaCB0byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0dGVycyBvZiBFbmdsaXNoIHdlIGhh dmUgbGVhcm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlKS4KCgoKISEhISAnQ29ycmVjdCcgcHJvbnVu Y2lhdGlvbgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNlIGFib3V0IExvamJhbiBw cm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhh dCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90aGVyLiBUaGlzIG1lYW5z IHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0aW9uLCB0aGVyZSBpcyBh IHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKAlHRoZSBnZW5lcmFsIHByaW5jaXBs ZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9lc24ndCBzb3VuZCB0b28g bXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9qYmFuIHIgY2FuIGJlIHBy b25vdW5jZWQgbGlrZSB0aGUgInIiIGluIEVuZ2xpc2gsIFNjb3R0aXNoIG9yIEZyZW5jaC4KClR3 byB0aGluZ3MgdG8gYmUgY2FyZWZ1bCBvZiwgdGhvdWdoLCBhcmUgcHJvbm91bmNpbmcgTG9qYmFu ICcnaScnIGFuZCAnJ3UnJyBsaWtlIFN0YW5kYXJkIEJyaXRpc2ggRW5nbGlzaCAiaGl0IiBhbmQg ImJ1dCIgKE5vcnRoZXJuIEVuZ2xpc2ggImJ1dCIgaXMgZmluZSEpLiBUaGlzIGlzIGJlY2F1c2Ug bm9uLUxvamJhbiB2b3dlbHMsIHBhcnRpY3VsYXJseSB0aGVzZSB0d28sIGFyZSB1c2VkIHRvIHNl cGFyYXRlIGNvbnNvbmFudHMgYnkgcGVvcGxlIHdobyBmaW5kIHRoZW0gaGFyZCB0byBzYXkuIEZv ciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyBzcGl0dGluZyBvdXQgdGhlICcnemQnJyBp biAnJ3pkYW5pJycgKGhvdXNlKSwgeW91IGNhbiBzYXkgesmqZGFuaeKAlHdoZXJlIHRoZSAiyaoi IGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgImkiIGhhcyB0byBiZSBsb25nLgoKISEhIUxv amJhbiBOYW1lcyAoY21ldmxhKQoKV2F0Y2ggYW55IGZpbG0gd2hlcmUgcGVvcGxlIGRvbid0IGtu b3cgZWFjaCBvdGhlcidzIGxhbmd1YWdlLiBUaGV5IHN0YXJ0IG9mZiBzYXlpbmcgdGhpbmdzIGxp a2Ug4oCcTWUgVGFyemFuLOKAnSB3aGljaCBpcyBhcyBnb29kIGEgcGxhY2UgdG8gc3RhcnQgbGVh cm5pbmcgTG9qYmFuIGFzIGFueS4gU28gaGVyZSB3ZSBnby4KCl9fJydtaSdlIC5yb2Jpbi4nJ19f CgoiSS1hbS1uYW1lZCBSb2JpbiIKCiJJJ20gUm9iaW4iCgonJ21pJ2UnJyBpcyByZWxhdGVkIHRv ICcnbWknJywgd2hpY2ggaXMgJ0knLCAnbWUnIGFuZCBzbyBvbi4gSXQncyBhIGdvb2QgZXhhbXBs ZSBvZiB0aGUgYXBvc3Ryb3BoZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMsIGFuZCBzb3VuZHMgYSBi aXQgbGlrZSAibWUgaGVoIi4KClRoaXMgZ3V5IFJvYmluIGlzIGx1Y2t5IGJlY2F1c2UgaGlzIG5h bWUgZ29lcyBkaXJlY3RseSBpbnRvIExvamJhbiB3aXRob3V0IGFueSBjaGFuZ2VzLiBIb3dldmVy LCB0aGVyZSBhcmUgc29tZSBydWxlcyBmb3IgTG9qYmFuIG5hbWVzIHdoaWNoIG1lYW4gdGhhdCBz b21lIG5hbWVzIGhhdmUgdG8gYmUgJ0xvamJhbmlzZWQnLiBUaGlzIG1heSBzb3VuZCBzdHJhbmdl 4oCUYWZ0ZXIgYWxsLCBhIG5hbWUgaXMgYSBuYW1l4oCUYnV0IGluIGZhY3QgYWxsIGxhbmd1YWdl cyBkbyB0aGlzIHRvIHNvbWUgZXh0ZW50LiBGb3IgZXhhbXBsZSwgRW5nbGlzaCBzcGVha2VycyB0 ZW5kIHRvIHByb25vdW5jZSAiSm9zZSIgc29tZXRoaW5nIGxpa2UgIkhvemF5IiwgYW5kICJNYXJn YXJldCIgaW4gQ2hpbmVzZSBpcyAiTWFnZWxpdGEiLiBTb21lIHNvdW5kcyBqdXN0IGRvbid0IGV4 aXN0IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8g aXMgcmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0IGl0IG9ubHkgY29udGFpbnMgTG9qYmFuIHNvdW5k cywgYW5kIGlzIHNwZWx0IGluIGEgTG9qYmFuIHdheS4KCl9fTm90ZTogX19UaGUgY2F0Y2ggaGVy ZSBpcywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBzb3VuZHMgd2lsbCB5b3UgYmUgdXNpbmc/IEZvciBF bmdsaXNoIGluIHBhcnRpY3VsYXIsIEJyaXRpc2ggYW5kIEFtZXJpY2FuIHZvd2VscyBjYW4gYmUg cXVpdGUgZGlmZmVyZW50LiBUaGUgQnJpdGlzaCB2ZXJzaW9uIG9mICJSb2JpbiIgaXMgcmVhc29u YWJseSBhcHByb3hpbWF0ZWQgYnkgJycucm9iaW4uJyc7IGJ1dCB0aGUgQW1lcmljYW4gdmVyc2lv biBpcyBjbG9zZXIgdG8gJycucmFieW4uJycgb3IgJycucmFiLG4uJycuIEFuZCB3aXRoaW4gQW1l cmljYSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxzbyBhIGdvb2QgZGVhbCBvZiB2YXJpYXRpb24u IFNvIHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNsaXRlcmF0aW9ucyBnaXZlbiBiZWxvdyB3aXRo IGEgZ3JhaW4gb2Ygc2FsdC4KCkxldCdzIHRha2UgdGhlIEVuZ2xpc2ggbmFtZSAiU3VzYW4iLiBU aGUgdHdvICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHnigJR0aGUgc2Vjb25kIG9u ZSBpcyBhY3R1YWxseSBhICJ6IuKAlGFuZCB0aGUgImEiIGlzIG5vdCByZWFsbHkgYW4gImEiIHNv dW5kLCBpdCdzIHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAiU3VzYW4iIGNvbWVz IG91dCBpbiBMb2piYW4gYXMgJycuc3V6eW4uJycuCgpZb3UgbWF5IGhhdmUgbm90aWNlZCB0d28g ZXh0cmEgZnVsbCBzdG9wcyAocGVyaW9kcykgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1 c2UgaWYgeW91IGRpZG4ndCBwYXVzZSwgeW91IG1pZ2h0IG5vdCBrbm93IHdoZXJlIHRoZSBwcmV2 aW91cyB3b3JkIGVuZGVkIGFuZCB0aGUgbmV4dCB3b3JkIGJlZ2FuLgoKCgpZb3Ugc2hvdWxkIGFs c28gcHV0IGEgZnVsbCBzdG9wIGluIGJldHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBu YW1lcyAodGhvdWdoIGl0J3Mgbm90IGNvbXB1bHNvcnkpLCBzbyAiSmltIEpvbmVzIiBiZWNvbWVz ICcnLmRqaW0uZGpvbnouJycuCgpBbiBpbXBvcnRhbnQgcnVsZSBmb3IgTG9qYmFuaXNpbmcgbmFt ZXMgaXMgdGhhdCB0aGUgbGFzdCBsZXR0ZXIgb2YgYSBjbWV2bGEgKExvamJhbiBuYW1lKSBtdXN0 IGJlIGEgY29uc29uYW50LiBBZ2FpbiwgdGhpcyBpcyB0byBwcmV2ZW50IGNvbmZ1c2lvbiBhcyB0 byB3aGVyZSBhIG5hbWUgZW5kcywgYW5kIHdoYXQgaXMgYW5kIGlzIG5vdCBhIG5hbWUgKGFsbCBv dGhlciBMb2piYW4gd29yZHMgZW5kIGluIGEgdm93ZWwpLiBXZSB1c3VhbGx5IHVzZSAnJ3MnZm9y IHRoaXM7IHNvIGluIExvamJhbiwgIk1hcnkiIGJlY29tZXMgJycubWVyaXMuJycgLCAiSm9lIiBi ZWNvbWVzICcnLmRqb3MuJycgYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0byBsZWF2ZSBv dXQgdGhlIGxhc3Qgdm93ZWwsIHNvICJNYXJ5IiB3b3VsZCBiZWNvbWUgJycubWVyLicnIG9yICcn Lm1laXIuJycuCgoKClRoZSBmaW5hbCBwb2ludCBpcyBzdHJlc3MuIEFzIHdlJ3ZlIHNlZW4sIExv amJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBhbmQg aWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJzLiBU aGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZyZW5jaCBuYW1lcyAiUm9iZXJ0IiBjb21l IG91dCBkaWZmZXJlbnRseSBpbiBMb2piYW46IHRoZSBFbmdsaXNoIG5hbWUgaXMgJycucm9ieXQu JycgaW4gVUsgRW5nbGlzaCwgb3IgJycucmFiLHJ0LicnIGluIHNvbWUgQW1lcmljYW4gZGlhbGVj dHMsIGJ1dCB0aGUgRnJlbmNoIGlzICcnLnJvQkVSLicnLgoKVG8gZ2l2ZSBhbiBpZGVhIG9mIGhv dyBhbGwgdGhpcyB3b3JrcywgaGVyZSBhcmUgc29tZSBuYW1lcyBvZiBmYW1vdXMgcGVvcGxlIGlu IHRoZWlyIG93biBsYW5ndWFnZSBhbmQgaW4gTG9qYmFuLgoKCgp8fF9fRW5nbGlzaF9fCgpNYXJn YXJldCBUaGF0Y2hlciB8JycubWFncnl0LnRhdGN5ci4nJyAobm8gInRoIiBpbiBMb2piYW4gYmVj YXVzZSBtb3N0IHBlb3BsZSBhcm91bmQgdGhlIHdvcmxkIGNhbid0IHNheSBpdCEpCgpNaWNrIEph Z2dlciB8JycubWlrLmRqYWd5cy4nJyB8fAoKfHxfX0ZyZW5jaF9fCgpOYXBvbGVvbiBCb25hcGFy dGUgfCcnLm5hcG9sZSxPTi5ib25hUEFSVC4nJwoKSnVsaWV0dGUgQmlub2NoZSB8JycuanVMSUVU LmJpbk9DLicnIHx8Cgp8fF9fQ2hpbmVzZV9fCgpMYW96aSB8JycubGF1ZHouJycKCk1hbyBaZWRv bmcgfCcnLm1hdWR6eURZTi4nJyAoRmluYWwgJyduZycnIGlzIGluIExvamJhbiBjb252ZW50aW9u YWxseSB0dXJuZWQgaW50byBuLikgfHwKCnx8X19UdXJraXNoX18KCk11c3RhZmEgS2VtYWwgfCcn Lk1VU3RhZmFzLmtlTUFMLicnCgpFcmtpbiBLb3JheSB8JycuZXJraW4ua29yYWlzLicnIHx8Cgp8 fF9fR2VybWFuX18KCkZyaWVkcmljaCBOaWV0enNjaGUgfCcnLmZyaWRyaXgubml0Y3lzLicnCgpD bGFyYSBTY2h1bWFubiB8Jycua2xhcmFzLmN1bWFuLicnIHx8Cgp8fF9fU3BhbmlzaF9fCgpJc2Fi ZWwgQWxsZW5kZSB8JycuaXphQkVMLmFpZW5kZXMuJycKCkNoZSBHdWV2YXJhIHwnJy50Y2VnZXZh cmFzLicnIHx8CgpfX0V4ZXJjaXNlX18uCgpXaGVyZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5udSxJ T1JLLgoKIy5yb21hcy4KCiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmth cmFzLgoKIy5BTGJla2Vya2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMu CgojLmJvbi4KCiMuZGVsaXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5r aXMuCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiBVU0F+ fgoKI35+Z3JheSxncmF5OlJvbWU6IEl0YWx5fn4KCiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+ fgoKI35+Z3JheSxncmF5OkNhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICJDYXJkaWZmIiBp cyAiQ2FlcmR5ZGQiLCB3aGljaCB3b3VsZCBMb2piYW5pc2UgdG8gc29tZXRoaW5nIGxpa2Uga2Fp cmR5ZC4uKX5+Cgojfn5ncmF5LGdyYXk6QmVpamluZzogQ2hpbmF+fgoKI35+Z3JheSxncmF5OkFu a2FyYTogVHVya2V5fn4KCiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTogTmV3IE1leGljbywgVVNB fn4KCiN+fmdyYXksZ3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2FwZSBU b3duOiBTb3V0aCBBZnJpY2F+fgoKI35+Z3JheSxncmF5OlRhaXBlaTogVGFpd2FuIChub3RlIGIs IG5vdCBwLiBBbHRob3VnaCBhY3R1YWxseSwgdGhlIGIgaW4gUGlueWluIGlzIHByb25vdW5jZWQg YXMgYSBwLi4uIEJ1dCB0aGlzIGlzbid0IG1lYW50IHRvIGJlIGEgY291cnNlIG9uIE1hbmRhcmlu ISl+fgoKI35+Z3JheSxncmF5OkJvbm46IEdlcm1hbnl+fgoKI35+Z3JheSxncmF5OkRlbGhpOiBJ bmRpYSAoVGhlIEhpbmRpIGZvciAiRGVsaGkiIGlzICJEaWxsw64iLCB3aGljaCB3b3VsZCBnaXZl IGRpbGl5cy4gb3IgZGlsaSdpcy4uKX5+Cgojfn5ncmF5LGdyYXk6TmljZTogRnJhbmNlfn4KCiN+ fmdyYXksZ3JheTpBdGhlbnM6IEdyZWVjZSAoIkF0aGluYSIgaW4gR3JlZWspfn4KCiN+fmdyYXks Z3JheTpMZWVkczogRW5nbGFuZH5+Cgojfn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmR+fgoK X19FeGVyY2lzZV9fLgoKTG9qYmFuaXNlIHRoZSBmb2xsb3dpbmcgbmFtZXMKCiNKb2huCgojTWVs aXNzYQoKI0FtYW5kYQoKI01hdHRoZXcKCiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5lIEF1 c3RlbgoKI1dpbGxpYW0gU2hha2VzcGVhcmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFyZCBO aXhvbgoKI0lzdGFuYnVsCgojTWFkcmlkCgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCkFuc3dlcjoK Cn5+Z3JheSxncmF5OlRoZXJlIGFyZSB1c3VhbGx5IGFsdGVybmF0aXZlIHNwZWxsaW5ncyBmb3Ig bmFtZXMsIGVpdGhlciBiZWNhdXNlIHBlb3BsZSBwcm9ub3VuY2UgdGhlIG9yaWdpbmFscyBkaWZm ZXJlbnRseSwgb3IgYmVjYXVzZSB0aGUgZXhhY3Qgc291bmQgZG9lc24ndCBleGlzdCBpbiBMb2pi YW4sIHNvIHlvdSBuZWVkIHRvIGNob29zZSBiZXR3ZWVuIHR3byBMb2piYW4gbGV0dGVycy4gVGhp cyBkb2Vzbid0IG1hdHRlciwgc28gbG9uZyBhcyBldmVyeW9uZSBrbm93cyB3aG8gb3Igd2hlcmUg eW91J3JlIHRhbGtpbmcgYWJvdXQufn4KCiN+fmdyYXksZ3JheTouZGpvbi4gKG9yIC5kamFuLiB3 aXRoIHNvbWUgYWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5tZWxpc3lzLn5+Cgojfn5ncmF5LGdy YXk6LmFtYW5keXMuIChhZ2FpbiwgZGVwZW5kaW5nIG9uIHlvdXIgYWNjZW50LCB0aGUgZmluYWwg eSBtYXkgYmUgYSwgdGhlIGluaXRpYWwgYSBtYXkgYmUgeSwgYW5kIHRoZSBtaWRkbGUgYSBtYXkg YmUgZS4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5LGdyYXk6Lm1haWt5bC4g b3IgLm1haWssbC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQufn4KCiN+fmdyYXksZ3Jh eTouZGVpdnlkLmJhdSxpcy4gb3IgLmJvLGlzLiAoYnV0IG5vdCAuYnUsaXMuIOKAlCB0aGF0J3Mg dGhlIGtuaWZlKX5+Cgojfn5ncmF5LGdyYXk6LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdyYXk6 LnVpbGlhbS5jZWtzcGlyLn5+Cgojfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvciAuc3ln b3JuaXMudWl2eXIufn4KCiN+fmdyYXksZ3JheToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdyYXks Z3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0aCBBbWVy aWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5IHByZWZl ciB0byBiYXNlIGNtZXZsYSBvbiBsb2NhbCBwcm9udW5jaWF0aW9uLCBidXQgdGhpcyBpcyBub3Qg YW4gYWJzb2x1dGUgcnVsZS5+fgoKI35+Z3JheSxncmF5Oi5tYURSSUQufn4KCiN+fmdyYXksZ3Jh eToudG9raW9zLn5+Cgojfn5ncmF5LGdyYXk6LnNhbi5zYWx2YURPUi4gKHdpdGggU3BhbmlzaCBz dHJlc3MpIDwvc3Bhbj48L2h0bWw+fn4KCiEhISFMb2piYW4gd29yZHMgYXMgbmFtZXMKCkJ5IG5v dyB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gTG9qYmFuaXNlIHlvdXIgb3duIG5hbWUuIEhvd2V2ZXIs IGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gdHJhbnNsYXRlIHlvdXIgbmFtZSBpbnRvIExvamJhbiAo aWYgeW91IGtub3cgd2hhdCBpdCBtZWFucywgb2YgY291cnNlKSBvciBhZG9wdCBhIGNvbXBsZXRl bHkgbmV3IExvamJhbiBpZGVudGl0eS4gTmF0aXZlIEFtZXJpY2FucyBnZW5lcmFsbHkgdHJhbnNs YXRlIHRoZWlyIG5hbWUgd2hlbiBzcGVha2luZyBFbmdsaXNoLCBwYXJ0bHkgYmVjYXVzZSB0aGV5 IGhhdmUgbWVhbmluZ2Z1bCBuYW1lcywgYW5kIHBhcnRseSBiZWNhdXNlIHRoZXkgZG9uJ3QgZXhw ZWN0IHRoZSAid2FzaWNodSIgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFrb3Rh LCBDaGVyb2tlZSBvciB3aGF0ZXZlciEKCkxvamJhbiB3b3JkcyAoZXhjZXB0IGNtZXZsYSkgZW5k IGluIGEgdm93ZWwuIFlvdSBjYW4gdXNlIGxvamJhbiB3b3JkcyBhcyBuYW1lcyB0b28uIEJ1dCBp ZiB5b3UgcHJlZmVyIHRoYXQgeW91ciBuYW1lIGlzIGEgY21ldmxhIGFuZCBpdCBlbmRzIGluIGEg dm93ZWwgdGhlbiB5b3UgY2FuIGVpdGhlciBhZGQgYSBjb25zb25hbnQgdG8gdGhlIGVuZCBvZiBp dCBvciBqdXN0IGNob3AgdGhlIGVuZCB2b3dlbCBvZmYuCgpIZXJlIGFyZSBhIGZldyBleGFtcGxl cyAob3JpZ2luYWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBhcyBjbWV2bGEpOgoKKkZp c2gg4oCTIGZpbnBlIOKAkyAnJy5maW5wLicnCgoqQmrDtnJuIChTY2FuZGluYXZpYW4gPSBiZWFy KSDigJMgY3JpYmUg4oCTICcnLmNyaWIuJycKCipHcmVlbiDigJMgY3Jpbm8g4oCTICcnLmNyaW4u JycKCipNZWkgTGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgJycubWVsYi4n JwoKKkF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSDigJMgbHVucmEgbm9ibGkgKD0gbHVybm9i bGkpIOKAkyAnJy5sdXJub2JsaXMuJycKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9u ZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1v c3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5 IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkg aXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2gg b3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBp biBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5j ZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBk aWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9l cyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1 cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNh biBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gs IHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBh bGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRy dXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3Bl cnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250 cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90 IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJv dGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0 aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKA nQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg 4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDi gJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHll cy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250 YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWlt IG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0 cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJy aSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10 aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxv YmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2lu Y2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1 dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2Fy ZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCc c3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2 ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9w dGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3Nv biBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIg d2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBs YWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2 YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVn aHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBp Y2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxt eSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgc2l4dGVlbiBuZXcgc2hpcnRzIGZyb20gTGVhJkxl dnkncyBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnHNp eHRlZW4gbmV3IHNoaXJ0c+KAnSwg4oCcTGVhJkxld2lz4oCdIGFuZCDigJx0d28gaHVuZHJlZCBl dXJvc+KAnX5+CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBM b2piYW4sIGxldCdzIGhhdmUgYSB0aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFz IGRvbmUgbm90aGluZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6 IOKAnFRoZSBFUEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1 ciBkaW94aWRl4oCdfn4KCgoKTm93IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3Ig dGhpcyB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNl bGJyaToKCicnX19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkK CicnX19wZWx4dV9fJycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBv ZiB4MgoKCgpOb3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHll bGxvd+KAnSBhbmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRq ZWN0aXZlIGFuZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3Vj aCBjYXRlZ29yaWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRy YW5zbGF0ZWQg4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCc aXMgZ2l2aW5n4oCdIChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRo ZXkgYWxsIGFjdCBhcyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFz IHdlbGwgYXMgYSBmZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycn IOKAnEnigJ0gb3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2lu Zy4KCicnX190aV9fJycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFy Ynkgd2hpY2ggY2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKA nHlvdeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoK U2VlIHRoZSBzdHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNp YWxseSB0aGUgeDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRo ZXkgYXJlIHBsYWNlcyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5n IGEgc3VtdGkgaW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBs YWNlLiBUaGUgc2Vjb25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0 aGUgdGhpbmcgYmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2Vp dmVzIHRoZSB0aGluZy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5k YScnIGhhcyB0aGUgd29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0 aGlzIHdvcmQgaXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRo ZSByZWNlaXZlciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3 aGVuIHlvdSBmaWxsIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10 aSB5b3UgZmlsbCBpbiBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQg YW4gZXF1aXZhbGVudCB0byB0aGUgd29yZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlv dSBzaW1wbHkgc2F5IHRoZSB4MSBzdW10aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFu eSBvdGhlciBzdW10aS4KClVzdWFsIGJyaWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIg c3VtdGl9IHt4MyBzdW10aX0ge3g0IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUg b3JkZXIgY2FuIGJlIHBsYXllZCBhcm91bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdp dGggdGhlIHVzdWFsIGZvcm0uIFRvIHNheSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1 c3Qgc2F5ICcnbWkgZHVuZGEgdGkgZG8nJywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJp Z2h0IHBsYWNlcy4KCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9m IG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBh IGZldyBtb3JlIGluIG9yZGVyIHRvIGdldCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBz aW5rIGluLgoKCgrigJxZb3UgZ2l2ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnZG8gZHVuZGEgdGkgbWknJ35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFz eSBvbmNlIHlvdSBnZXQgdGhlIGhhbmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBh ZnRlciBlYWNoIG90aGVyIGFyZSBzZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJh biBlcXVpdmFsZW50IG9mIGZ1bGwgc3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJp ZGkgaW5zdGVhZCBvZiBhZnRlciB0aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUg Zmlyc3QgYnJpZGksIHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18n JyBTZW50ZW5jZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVm b3JlIGFsc28gYnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMg aXMgYSBob21lIHRvIG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9u IHRvIHRoZSBuZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZv ciBhdCBsZWFzdCBzZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4K CgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qg c2VsYnJpIGhhdmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUg bW9yZS4gSGVyZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251 X18nJyB4MSBzZWxscyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDi gJxJIHNlbGwgdGhpc+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRo ZSBzdW10aSBwbGFjZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRo aW5nIHRvLCBhbmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3Vt dGkgcGxhY2VzIGNhbiBiZSBmaWxsZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVz IHRvIHVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBi ZWNhdXNlIGl0J3MgdW5pbXBvcnRhbnQgb3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0 LgoKJydfX3pvJ2VfXycnIOKAnHNvbWV0aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGgg c29tZXRoaW5nLCBidXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2Vs bCB0byB5b3XigJ0sIEkgY291bGQgc2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkg c2VsbCBzb21ldGhpbmcgdG8geW91IGZvciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6 IOKAnFRoYXQncyBhIGhvbWUgKGZvciBzb21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6ICcndGkgemRhbmkgem8nZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0 aGlzIHRvIChzb21lb25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEg dGkgem8nZScnfn4KCgoKU3RpbGwsIGZpbGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkg dGhhdCBhIHRoaW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24n dCBuZWVkIHRvIHdyaXRlIGFsbCB0aGUgJyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2lt cGx5IGlzIHRoYXQgaWYgeW91IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25z aWRlcmVkIGFzIGlmIHRoZXkgY29udGFpbmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5z IHdpdGggYSBzZWxicmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBi ZWNvbWVzICcnem8nZScnLgoKVHJ5IGl0IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs 4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRv ZXMgJyd6ZGFuaSBtaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5n IGlzIGEgaG9tZSBvZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMg bWVudGlvbmVkIGVhcmxpZXIsIHRoZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9 IHtzZWxicml9IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBw bGFjZSB0aGUgc2VsYnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5u aW5nIG9mIHRoZSBicmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxl ZnQgb3V0IGFuZCBmaWxsZWQgd2l0aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5n IHRocmVlIGp1ZnJhIGFyZSBhbGwgdGhlIGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEg dGkgZG8nJwoKJydtaSB0aSBkdW5kYSBkbycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRp bWVzIHRoaXMgaXMgdXNlZCBmb3IgcG9ldGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbi gJ0gY291bGQgYmUgJydkbyBkbyB2ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydk byB2ZWNudSBkbycnLiBPciBpdCBjYW4gYmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJp IGlzIHZlcnkgbG9uZyBhbmQgdGhlcmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2Yg dGhlIGJyaWRpLgoKCgpUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQg d2l0aCB0aGUgb3JkZXIgb2YgdGhlIHN1bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0 IG9uZSBpcyBieSB1c2luZyB0aGUgd29yZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycn IGFuZCAnJ2Z1JycuIE5vdGljZSB0aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBp biB0aGUgTG9qYmFuIGFscGhhYmV0IGluIG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMg bWFya3MgdGhhdCB0aGUgbmV4dCBzdW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFu ZCB4NSByZXNwZWN0aXZlbHkuIFRoZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVz dW1lZCB0byBmaWxsIGEgc2xvdCBvbmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNl IGFuIGV4YW1wbGU6CgonJ2R1bmRhIGZhIGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5 b3Ugb2YgdGhpcyB0aGluZyB0byB5b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZl ciwgd2hpY2ggaXMgeW91LiAnJ2ZlJycgbWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUg eDIuIFN1bXRpIGNvdW50aW5nIHRoZW4gY29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRo YXQgdGhlIGxhc3Qgc3VtdGkgZmlsbHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRl bXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2 ZWNudSBmbyB0aSBmZSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3Ig dGhlIHByaWNlIG9mIHRoaXMsIHlvdeKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNl IG9mIHRoaXPigJ0gKHByb2JhYmx5IHBvaW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoK Jyd6ZGFuaSBmZSB0aScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l 4oCdLiBIZXJlLCB0aGUgZmUgaXMgcmVkdW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBm YSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1l IGZvciB0aGlzIHByaWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhy ZWUgKHRhbnJ1IGFuZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxp YXIgd2l0aCB0aGUgY29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hl biBhIHNlbGJyaSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBp dHMgbWVhbmluZy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3 aXRoIG90aGVyIHNlbGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1 cyAnJ3pkYW5pIHZlY251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2 ZWNudScnLCB3aGljaCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQg dGhlIHNpbmdsZSBicml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNl cHQgb2YgdGFucnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVt b24gdHJlZeKAnS4gSWYgeW91IGRpZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0 IGhhZCBoZWFyZCBhYm91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUg YWJsZSB0byBkZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29s b3JlZCB0cmVlLCBvciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3Nl IGJhcmsgdGFzdGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBm b3Igc3VyZSB3b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJl IGxlbW9uLWxpa2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRv IHRoaXMuIEl0IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBp cywgYnV0IGl0IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQg dGhhdCBpdCdzIHpkYW5pLWxpa2UgaW4gc29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1s aWtlIGluIGFueSB3YXkuIEluIHRoZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQg dGhlIGNvbm5lY3Rpb24gdG8gemRhbmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcn emRhbmkgdmVjbnUnJy4gSG93ZXZlciwgaXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRo ZSBvcmRpbmFyeSBzZW5zZSBpbiBvcmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291 bGQgZ2xvc3MgJyd6ZGFuaSB2ZWNudScnIGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJl dHRlciBidXQgd29yc2Ugc291bmRpbmcg4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUg cGxhY2Ugc3RydWN0dXJlIG9mIGEgdGFucnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9z dCBzZWxicmkuIEl0J3MgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRo ZSByaWdodCBzZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCc SXQgZG9lc24ndCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdv cmQgaW4gYSB0YW5ydSBpcywgaXQncyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNl bGxlcnMgZm9yICcnemRhbmkgdmVjbnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhj dXNlIHdoeSBJIHRoaW5rIGl0J3MgemRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5 b3UnZCBiZSBhIGRpY2suIE9yIGF0IGxlYXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVh ZGluZy4gSW4gZ2VuZXJhbCwgeW91IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91 cyBob3cgdGhlIGxlZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0 cmFuc2xhdGUgdGhlIGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdl IGRvbid0IGtub3cgaW4gd2hpY2ggd2F5IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50 ZWQgeWVsbG93LCBidXQgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1 bmRhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0 IGNhbiB0aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5 b3Ugc29sZCBzb21ldGhpbmcsIHNpbmNlLCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhl cmUgY2FuIGJlIG5vIHBheW1lbnQgaW52b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBi dXQgYmUgc2VsbC1saWtlIGluIHNvbWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGlu ZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4gV2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRv IGEgR2VybWFuPwoKJydfX2RvdGNvX18nJyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1 bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3Rjbycn IGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlz IG5vdCBwZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3 b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXku IExpa2V3aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJp Y2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQg b2YgeDIKCicnX19tZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGlu IGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVu ZG8gbWVya28nJywgYnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0g ZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3 YW50IHRvIGlzIHRvIHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBp bnRvIGEgc3VtdGkgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRo aXMgaXMgZG9uZSBieSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydf XyDigJMgZ2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0 cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZl cnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkg YmV0d2VlbiB0aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBm aWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28g Zm9yIGluc3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBv bmx5IHRoaW5ncyB3aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3Un JyBtZWFucyDigJxhIGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJs eSwgaWYgSSBzYXkgdGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93 LiBTbyAnJ2xvIHBlbHh1IGt1JycgcmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5 b3UgaGF2ZSB0aGUgbmVjZXNzYXJ5IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBm cmllbmRzIHdpdGggYW4gQW1lcmljYW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J21pIHBlbmRvIGxvIG1lcmtvIGt1Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0 aGUgJydrdScnIGlzIG5lY2Vzc2FyeS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxs cyB0aGlzIHRvIG1l4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNu dSB0aSBtaScnIElmIHlvdSBsZWF2ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRp LCBidXQgc2ltcGx5IHRocmVlIHN1bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJy aWRpLCB0aGUgdGkgaXMgZm9yY2VkIG91dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0 IGlzIGZvcmNlZCB0byBjbG9zZSBhbmQgaXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRp IG9mICcnbG8gZG90Y28gdmVjbnUge2t1fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3Ug YWx3YXlzIGhhdmUgdG8gYmUgY2FyZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBw ZWx4dScnLiBJZiB0aGUgJydrdScnIGlzIGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3Mg ZG9lcyBub3QgZW5kLCBhbmQgaXQgc2ltcGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20g dGhlIHRhbnJ1ICcnemRhbmkgcGVseHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycu CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFu b3RoZXIgY29uY2VwdCB3aGljaCBjYW4gYmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJz IGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhw cmVzcyBlbW90aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0 ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5 IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxl IGVtb3Rpb25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5n dWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJl ZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBs YW5ndWFnZS4KCkluIExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVk aW5hbHMgbW9zdCBwcm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2Ug YmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2Vm dWwuIFRoZXkgYWxsIGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0 aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQg ZGlzcnVwdGluZyB0aGUgYnJpZGkncyBncmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1 Y3RzLgoKSW4gTG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHBy ZXZpb3VzIHdvcmQuIElmIHRoYXQgcHJldmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5z IGEgY29uc3RydWN0IChsaWtlICcnLmknJyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBl bnRpcmUgY29uc3RydWN0LiBMaWtld2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3 b3JkIHdoaWNoIGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhl IGVuZGVkIGNvbnN0cnVjdC4KCgoKTGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ug c29tZSBleGFtcGxlczoKCl9fJycudWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1v dGlvbjogaGFwcGluZXNzIC0gdW5oYXBwaW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6 IGV2aWRlbnRpYWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmlu aXRpb24gb2YgJycudWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVz cyBhbmQgdW5oYXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMg aGFwcGluZXNzLCB3aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDi gJxOZWdhdGlvbuKAnSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwg dGhlIG90aGVyIGRlZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycu dWkgbmFpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRp dHVkaW5hbHMgLSB0aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhl IG5lZ2F0aW9uIG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11 Y2guCgpfXycnbmFpJydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFs cywgaXQgY2hhbmdlcyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlv biIKCgoKQW5kIHNvbWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18n J2NpdGthJydfXyDigJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBw bGUgb2Ygc3RyYWluL3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Ug a3UgLnVpJycsIG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkg ZXhwcmVzc2luZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBo YXBweSBhYm91dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4p IEluIHRoZSBzZW50ZW5jZSAnJ2RvIHphJ2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFr ZXIgZGlyZWN0bHkgb2JzZXJ2ZXMgdGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18s IHdobyBlYXRzIGFuIGFwcGxlIGFzIG9wcG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBh dHRpdHVkaW5hbCBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlz IHVuZGVyc3Rvb2QgdG8gYXBwbHkgdG8gYW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0 aHVzIGFwcGx5aW5nIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxv IHBsaXNlIGt1IG1pJycg4oCTIOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29t ZSBhcHBsZSB0byBtZSHigJ0KCgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCc SSBzZWxsICh3aGljaCBzdWNrcyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3 IGV4YW1wbGVzLiBGaXJzdCwgdGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxz OgoKX18nJy51J3UnJ19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAt IHJlbW9yc2VsZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBj b21wbGV4IHB1cmUgZW1vdGlvbjogY29tcGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBh dHRpdHVkaW5hbDogbWlzY2VsbGFuZW91cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpM b29rIGF0IHRoYXQsIHR3byB3b3JkcyB3aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0 aW9uISBUaGUgbWlkZGxlIG9uZSBpcyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdp JycuIEl0J3MgY29uc2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3Un aScnX18gYXR0aXR1ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwg dG8gY2hhbmdlIHRoZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoK CgpUcnkgc2F5aW5nIOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXi gJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScn IG9yICcnem8nZScnIGluc3RlYWQgb2YgJydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5 ZWxsb3cgYXBwbGXigJ0KCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxv IHBlbHh1IHBsaXNlIGt1Jyd+fgoKCgpMZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2Yg YSBkaWZmZXJlbnQga2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVp JycgQXR0aXR1ZGluYWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9u IC0gZnJlZWRvbS4KCgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBs ZSBhd2F54oCdIGlzICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywg YWN0dWFsbHkhIFdoZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBp dCB0aGF0IGFsbCB0aGUgb3RoZXIgYXR0aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhw cmVzc2VzIHRoZSBzcGVha2VyJ3MgZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9u ZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWlu ZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJv dXQgd2hldGhlciB0aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBo YWQgdXNlZCAnJy51aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRo YXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4g V2hhdCdzIHRoYXQgYWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVk aW5hbHMgY2hhbmdlIHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMg YSBzdWJqZWN0IG9mIGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCd IHJ1bGUsIHdoaWNoIHByb2JhYmx5IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMg YSBkaXN0aW5jdGlvbiBiZXR3ZWVuIOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0 aW9uYWwgZW1vdGlvbnPigJ0uIE9ubHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2Ug dGhlIHRydXRoIGNvbmRpdGlvbnMsIHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRl ciB0byBleHByZXNzIGEgcHJvcG9zaXRpb25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91 dCBjaGFuZ2luZyB0aGUgdHJ1dGggdmFsdWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2Vw YXJhdGUgaXQgZnJvbSB0aGUgYnJpZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3Jk IGZvciBleHBsaWNpdGx5IGNvbnNlcnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlv bnMgb2YgYSBicmlkaToKCgoKX18nJ2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBz dXBwb3NpbmcgLSBpbiBmYWN0CgpTYXlpbmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRo ZSB0cnV0aCBjb25kaXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQg dXNpbmcgcHJvcG9zaXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hh bmdlcyB0aGUgdHJ1dGggY29uZGl0aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQg dXNpbmcgcHVyZSBhdHRpdHVkaW5hbHMuCgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5n IOKAnEkgZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQg aXQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAg YW5kICcnbWkgZHVuZGEgZGEnaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBv ZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcg JydkYWknJy4gVXN1YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBz dWJzY3JpYmVkIHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4g QWxzbywgYmVjYXVzZSB0aGUgd29yZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcg b3RoZXJzIGVtb3Rpb25zKSwgc29tZSBMb2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0 aGUgc3BlYWtlciBtdXN0IHNoYXJlIHRoZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3Ro ZXJzLgoKX18nJ2RhaScnX18gYXR0aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmli ZXMgYXR0aXR1ZGluYWwgdG8gc29tZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcn dSdpIC5vaSBkYWkgY2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBt dXN0IGhhdmUgaHVydCHigJ0KCgoKV2hhdCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1 J2kgZGFpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55 LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8g dHJhbnNsYXRlIOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcs IHRoYXQgdGVuc2UgaXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDi gJxoZeKAnSBjb3VsZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ3UndSBkYWkgdmVjbnUgbG8gemRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVu c2l0eSBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29y ZHMuIFRoZXNlIGNhbiBiZSB1c2VkIGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVk aW5hbCB3aXRoICcnbmFpJycgb3IgJydjdSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3 aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2Vs YnJpLCBtdXN0IGl0J3MgbW9zdGx5IHVuZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtl bmluZyB0aGUgc2VsYnJpIGluIHNvbWUgdW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdv cmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9u ZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1v dGlvbiBpcyBleHByZXNzZWQgdXNpbmcgJycudSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186 IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTpTdHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3Vs ZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBhcmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnLnUndSBjdSdpIHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCT IGxlc3NvbiBmaXZlIChTRSkKCkJlZm9yZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBv ZiBtb3JlIGNvbXBsZXggY29uc3RydWN0cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hh bmlzbSBmb3IgcmVvcmRlcmluZyB0aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdp bGwgc2hvdywgaXMgdmVyeSB1c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRp ICh0aGUga2luZCBvZiBzdW10aSB3aXRoICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug 4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGljaCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdp ZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwg dG8gbG9vayB1cCBhIHNlbGJyaSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcu IEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBjYXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydk dW5kYScnLCB4MSBnaXZlcyB4MiB0byB4Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcn ZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRo YXQgc2VudGVuY2UsIHdlIGNhbid0IHNheSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1 c2UgJydsbyBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlz IGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBz YXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlzIGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2Vs YnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBsZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3 b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycgZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0 aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhhdCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3Ry dWN0IG9mICcnc2UnJyArIHNlbGJyaSBpcyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJy aS4gTGV0J3MgdHJ5IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g 4oCceDEgdHJhbnNsYXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGgg cmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZh bnZhIHRpJycKClRoaXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4g T2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0 cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUg eDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3du IGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRo IHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxz d2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBh bmQgeCBhcmUgY29uc2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoK CgpTbzogVXNpbmcgdGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScn IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9m IHRoaXPigJ0gKG9yICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1p bHkgY2FuIG9mIGNvdXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4g VGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBt YWtlIGl0IHNvOgoKX18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9t IHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8g emRhbmkga3UgdGUga2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkg bG8gemRhbmkga3UnJyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0 aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20g bWUgdmlhIGEgaG9tZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2Vu dGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIg dW5kZXJzdGFuZGluZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUg dG8gdGhlIHBvaW50IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5 IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0 byBiZSB4MSwgdGhlbiBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBT bywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUg bWFueSB1c2VzIGZvciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29u cyDigJMgbGVzc29uIHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHBy ZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29t cGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNl cy4gTHVja2lseSwgdGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25l IHdvdWxkIGV4cGVjdC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJh dGUgdGhpczog4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0 aGUgbWFpbiBicmlkaSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJy aWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9u IGZvciDigJxoYXBweeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4 MSBpcyBoYXBweSBhYm91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4 MiBuZWVkcyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1 c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFi b3V0IHNvbWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2Fu IGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhl IHgyIG9mICcnZ2xla2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEg c29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNv bnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcn bG8nJ+KApicna3UnJy4KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJp ZGl9IG9mIHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoK X18nJ21lbGJpJydfXyB4MSBpcyBiZWF1dGlmdWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRh bmNlcyB0byBhY2NvbXBhbmltZW50L211c2ljL3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5z dSBrZWknJyAtIOKAnEJlYXV0aWZpbCBkYW5jaW5n4oCdL+KAnEJlYXV0aWZpbCBkYW5jZeKAnQoK CgpJdCdzIHVzdWFsbHkgaGFyZCB0byBmaW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2Vs YnJpLiBIb3dldmVyLCBzaW5jZSAnJ3N1J3UgQlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBj YW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBo YXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBt eSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5k IG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBl bmRvIG1pIGtlaSBrdScnfn4KCgoKSG93ZXZlciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90 IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHByZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29y ZHMgJydudScn4oCmJydrZWknJyBhbmQgJydkdSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhl IHNhbWUgd2F5LCBidXQgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJl YXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd1 4oCma2VpJycgdHJlYXRzIGl0IGFzIGFuIGFic3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0 aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdodHMgb3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4 Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVkIGFic3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0 aGVtLCBhbmQgb25seSBmZXcgYXJlIHVzZWQgbXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5l cmFsIGFic3RyYWN0b3IsIGFuZCB3aWxsIHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScn IHRvIHNheSDigJxJJ20gaGFwcHkgYWJvdXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEn J19fIHgxIHRhbGtzIHRvIHgyIGFib3V0IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90 aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlz IGRvaW5nIHRoZSB0YWxraW5nKS5+fgoKCgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5j bHVkZTogJydrYS4uLmtlaScnIChwcm9wZXJ0eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28u Li5rZWknJyAoY29uY2VwdC9pZGVhIGFic3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0 eSBhYnN0cmFjdGlvbikgYW1vbmcgb3RoZXJzLiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBj b21wbGljYXRlZCBtYXR0ZXIsIGFuZCB3aWxsIGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBs ZXNzb24gdHdlbnR5LW5pbmUuIEZvciBub3csIHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhl bS4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2 ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4gQXMgYW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1l bnRpb25lZC4gJydkdSd1JycgaXMgZGVmaW5lZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4g eDEgaXMgdGhlIHByZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5j ZSB4MuKAnS4KClRoZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNl ZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFz IGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2 ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1 bmRhIGxvIGdlcmt1IGt1IGtlaSBrdScnLCBpZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4 YW1wbGUuCgpfXycnY3Vza3UnJ19fIHgxIGV4cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1 bSB4NAoKX18nJ2dlcmt1JydfXyB4MSBpcyBhIGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNz b25zIOKAkyBsZXNzb24gc2V2ZW4gKE5PSSkKCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFu b3RoZXIgdHlwZSBvZiBzdWJvcmRpbmF0ZSBicmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2 ZSBjbGF1c2VzLiBUaGV5IGFyZSBzZW50ZW5jZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24g dG8gYSBzdW10aS4gSW5kZWVkLCB0aGUg4oCcd2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRl bmNlIG1hcmtlZCB0aGUgYmVnaW5uaW5nIG9mIGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2gg ZGVzY3JpYmluZyByZWxhdGl2ZSBjbGF1c2VzLiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28g Zmxhdm9ycywgYW5kIGl0IG1pZ2h0IGJlIHdvcnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2lu ZHMgYmVmb3JlIGxlYXJuaW5nIGhvdyB0byBleHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFy ZSBjYWxsZWQgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwp IHJlbGF0aXZlIGNsYXVzZXMuIEFuIGV4YW1wbGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkg YnJvdGhlciwgd2hvIGlzIHR3byBtZXRlcnMgdGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlz IGNhbiBiZSB1bmRlcnN0b29kIGluIHR3byB3YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90 aGVycywgaW4gd2hpY2ggY2FzZSBzYXlpbmcgaGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0 IHlvdSBrbm93IHdoaWNoIGJyb3RoZXIgSSBhbSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhh dmUgb25seSBvbmUgYnJvdGhlciwgaW4gd2hpY2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91 IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCgoKCkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4g d2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRl cnByZXRhdGlvbiBpcyByZXN0cmljdGl2ZSAoc2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBv c3NpYmxlIGJyb3RoZXJzIEkgbWlnaHQgYmUgdGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9u LXJlc3RyaWN0aXZlLiBXaGVuIHNwZWFraW5nIEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Yg dm9pY2UgKG9yIGluIHdyaXR0ZW4gRW5nbGlzaCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rp bmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvLCBidXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVz ZXMgdGhlIGNvbnN0cnVjdHMgJydwb2nigKZrdSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciBy ZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3Rp dmVseS4KCkxldCdzIGhhdmUgYSBMb2piYW5pYyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBs YWluIG91ciBzdHJhbmdlIGdpZnQtZWF0aW5nIGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBs ZXNzb24gZml2ZToKCl9fJydub2knJ19fIGJlZ2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBj bGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3Ry aWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1 J28nJ19fIGVuZCByZWxhdGl2ZSBjbGF1c2UKCgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBw b2kgcGxpc2Uga3UnbycnID0g4oCcSSBlYXQgYSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlz KSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRoZSAnJ3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBh ZnRlciAnJ2xvIHNlIGR1bmRhIGt1JycsIHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJl IHN0cmljdCwgdGhlIHJlbGF0aXZlIGNsYXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMs IHdoaWNoIGlzIGFuIGFwcGxlLCBidXQgc2luY2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVz IHRvIHRoZSBnaWZ0LCB3ZSBjYW4gc2FmZWx5IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhl IGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZp dmUsIHRoaXMgc2VlbXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1 cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2Ug dGhlIHdvcmQgJydrZSdhJycsIHdoaWNoIGlzIGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25v dW4sIG1vcmUgb24gdGhlbSBsYXRlcikgcmVwcmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUg cmVsYXRpdmUgY2xhdXNlIGlzIGF0dGFjaGVkIHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJl ZmVycyB0byB0aGUgc3VtdGksIHRvIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNo ZWQuCgoKCicnLnVpIG1pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28n JyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0IHdoaWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJs aW5lIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2 ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJlJ3MgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8n J19fIOKAnHgxIHJlZmxlY3RzIExvamJhbmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4 MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoKCicnbWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8g bG9qYm8ga3UnJyA9IOKAnEksIHdobyBhbSBhIExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21l IExvamJhbmljIGxhbmd1YWdlLuKAnSBIZXJlLCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdz IHdoaWNoICcnbWknJyBjb3VsZCByZWZlciB0bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2pi YW5pYyBpcyBtZXJlbHkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50 aWZ5IG1lLiBUaGVyZWZvcmUgJydub2nigKZrdSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYg eW91IGNhbiB0cmFuc2xhdGUgdGhpczog4oCcSSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1 dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycnbmFubXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycn bWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0aWZ1bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBz dGFuZGFyZCB4NOKAnQoKX18nJ2Npbmppa2NhJydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBl eGhpYml0aW5nIHNleHVhbGl0eSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgY2luamlrY2EgbG8gbmFubXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+ fgoKCgpPbiBhIG1vcmUgdGVjaG5pY2FsIHNpZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRv IGtub3cgdGhhdCAnJ2xvIHtzZWxicml9IGt1JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcn em8nZSBub2kga2UnYSB7c2VsYnJpfSBrdSdvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMg TGVzc29uIGVpZ2h0ICh0ZXJtaW5hdG9yIGVsaXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxv IG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBt aSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZh dSBrZWkga3UgdmF1X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBz aWJsaW5nLCB3b3VsZCB1bmRlcnN0YW5kIHRoYXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBt ZS7igJ0KClJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcg dW5kZXJzdG9vZCwgKGl0IHNob3VsZG4ndCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBu b3QgY292ZXJlZCBpbiB0aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFz IG1vcmUgY29tcGxleCBMb2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9y ZSBvZiB0aGUgc2VudGVuY2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3Un bycnIGFuZCBvdGhlciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5v IG1lYW5pbmcuCgoKClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFs IHRoZSBlbmQgb2YgYSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5z dGFuY2Ug4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScn LiBUaGUgRW5nbGlzaCB3b3JkIGZvciB0aGlzIGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y 4oCdLCB0aGUgTG9qYmFuIHdvcmQgaXMgJydmYSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBp biBib2xkIGluIHRoZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFi b3ZlIGV4YW1wbGUgYXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUg aXMgYSBnb29kIHJlYXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpf XycndmF1JydfXyBmYSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2Vu IGFuZCB3cml0dGVuIExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCku IFRoaXMgZ3JlYXRseSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0 aW5nLCBob3dldmVyLCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEn b3JtYSdvLiBJbiB0aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1v dmluZyB0aGUgZmEnb3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycs IHdoaWNoIGlzIGEgc2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFt YScnLiBUaHVzLCBpdCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9m IOKAnGFuIEFtZXJpY2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRv IHZlcnkgd3JvbmcgcmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91 IGhhdmVuJ3QgbGVhcm5lZCBhYm91dCBpdCB1bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVu IGZhJ29ybWEnbyBjYW4gYmUgZWxpZGVkIGlzIHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVv cnk6IOKAnFlvdSBjYW4gZWxpZGUgYSBmYSdvcm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2lu ZyBzbyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNl bnRlbmNlLuKAnQoKTW9zdCBmYSdvcm1hJ28gY2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVu ZCBvZiB0aGUgYnJpZGkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxl bmQgcXVvdGXigJ0tZmEnb3JtYSdvIGFuZCDigJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3Jt YSdvLiBUaGlzIGlzIHdoeSAnJ3ZhdScnIGlzIGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkg YmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpdGggJycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJt aW5hdGUgdGhlIHByZWNlZGluZyBicmlkaSBhbnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNl LCBob3dldmVyLiBTaW5jZSBhdHRpdHVkaW5hbHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRp bmcgd29yZCwgYXBwbHlpbmcgaXQgdG8gYSBmYSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50 aXJlIGNvbnN0cnVjdCB3aGljaCBpcyB0ZXJtaW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2Fu IHRoZW4gdXNlIGF0dGl0dWRpbmFscyBhZnRlcnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhl IGVudGlyZSBicmlkaToKCicnemEnYSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtr dX0uLi4gdmF1IGknZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJz b24uLi4gSSBhcHByb3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFz IGEgcGVyc29uYWxpdHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28g ZWxpc2lvbiwgd2UgY2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQg YmVnaW4gcmVtb3ZpbmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxl IG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBu ZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkg a3UgdmF1X18nJwoKCgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1h dGljYWxseSB1bm5lY2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQg aXMgJydqaW1wZScnLCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUg b25lIHNlbGJyaSBwZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1w ZScnIGFzIGEgc2VsYnJpIGNhbm5vdCBiZSBpbiB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAo b25seSBvbmUgYnJpZGkgaW4gYSBjbGF1c2UsIG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRp KSwgd2UgY2FuIGVsaWRlICcna3UnbycnLiBMaWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBh IHNlY29uZCBzZWxicmkgaW5zaWRlIHRoZSBjb25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScn LCBzbyB0aGUgJydrdScnIGlzIG5vdCBuZWVkZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRo ZSBmYSdvcm1hJ28gYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVk IHRvbywgc2luY2UgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0 aGVzZSBjb25zdHJ1Y3RzIGFueXdheS4KCldlIHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdp IG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5h IG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxs IQoKCgpXaGVuIGVsaWRpbmcgZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1 YWludGVkIHdpdGggJydjdScnLiAnJ2N1JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNh biBtYWtlIHlvdXIgKExvamJhbmljKSBsaWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlz IHRvIHNlcGFyYXRlIGFueSBwcmV2aW91cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3Vs ZCBzYXkgdGhhdCBpdCBkZWZpbmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0 ZXJtaW5hdGVzIGV4YWN0bHkgYXMgbXVjaCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0 aGF0LgoKX18nJ2N1JydfXyBlbGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBw cmVjZWRpbmcgc3VtdGksIGFsbG93cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9f JydwcmFtaScnX18gPSDigJx4MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8g c2UgZHUndSBkbyBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1p JycgPQoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNl IGRqaWNhIG1pJycKCuKAnFRoYXQgeW91IHNheSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQg YnkgYmXigJ0gb3Ig4oCcSSB3aXNoIHlvdSBzYWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydj dScnIGlzIG5vdCBhIGZhJ29ybWEnbywgYmVjYXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3Bl Y2lmaWMgY29uc3RydWN0LiBCdXQgaXQgY2FuIGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3Jt YSdvLgoKCgpPbmUgb2YgdGhlIGdyZWF0ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBp dCBxdWlja2x5IGJlY29tZXMgZWFzeSB0byBpbnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNl bGYgaXQgbWVhbnMgbm90aGluZywgYnV0IGl0IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2pi YW4gZXhwcmVzc2lvbnMgYnkgaWRlbnRpZnlpbmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3Jp Z2luYWwgZXhhbXBsZSB3aXRoIHRoZSB2aW9sZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcn Y3UnJyBiZWZvcmUgJydqaW1wZScnIGRvZXMgbm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUg c2VudGVuY2UgaW4gYW55IHdheSwgYnV0IG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoK CkluIHRoZSBmb2xsb3dpbmcgY291cGxlIG9mIGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQg d2hlbiBuZWNlc3NhcnksIGFuZCBhbGwgZmEnb3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhl IGVsaWRlZCBmYSdvcm1hJ28gd2lsbCBiZSBlbmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBz aG93biBiZWxvdy4gVHJ5IHRvIHRyYW5zbGF0ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMg aW1wb3J0YW50IHRvIHgyIGZvciByZWFzb24geDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5k ZXJzdGFuZHMgdGhhdCB4MiAoZHUndS1hYnN0cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoK X18nJ2EnbycnX18gLSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjog SG9wZSAtIGRlc3BhaXIKCgoKJydhJ28gZG8gbm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1 fSBjdSBqaW1wZSBsbyBkdSd1IGxvIGZhJ29ybWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9 IHtrdX0ge3ZhdX0nJwoKV2hhdCBkbyBJIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nEkgaG9wZSB0aGF0IHlvdSwgYSBwcm91ZCBMb2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEn b3JtYSdvIGFyZSBpbXBvcnRhbnTigJ1+fgoKCgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3 ZWxsLXZlcnNlZCBpbiBmYSdvcm1hJ28tZWxpc2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRo YXQgdGhleSBvZnRlbiBtdXN0IGJlIHJlbWluZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGlu ZyBmYSdvcm1hJ28gYXJlIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3Jl LCBlYWNoIFR1ZXNkYXkgaGF2ZSBiZWVuIGRlc2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0g b3IgJydmYSdvcm1hJ28gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5n IFRlcm1pbmF0b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1l bWJlciB3cml0aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29u dmVyc2F0aW9ucyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5p bmUgKHN1bXRjaXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRo IHRoZSBzZWxicmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5p dGUgYW1vdW50IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMg dGhlIHN1bXRpIHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4g V2hhdCBpZiwgc2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBh IGNvbXB1dGVyPyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEn JyB0byBzcGVjaWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0 aGUgdGltZSwgdGhhdCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29u IGlzIG9uIGhvdyB0byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4K CgoKVGhlIG1vc3QgYmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdv IFNFTEJSSSBmZSd1JycgKHllcywgYW5vdGhlciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2Zl J3UnJy4gSXQncyBhbG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBs YXN0IHRpbWUgeW91IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdv ZXMgYSBzZWxicmksIGFuZCBsaWtlICcnbG8gU0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUn dScnIGV4dHJhY3RzIHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3 aXRoICcnZmknbyBTRUxCUkkgZmUndScnLCB0aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwg bm90IHRvIGEgc3VtdGksIGJ1dCB0byBhICcnc3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1s YWJlbOKAnSwgd2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJp IGl0IGNvbnZlcnRlZC4gVGhpcyAnJ3N1bXRjaXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1 bXRpLiBPbmUgY291bGQgc2F5IHRoYXQgdXNpbmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQg YSBzdW10aSBwbGFjZSBmcm9tIGFub3RoZXIgc2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlk aSBiZWluZyBzYWlkLgoKTm90ZTogU29tZXRpbWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRz LCB0aGUgdGVybSDigJx0YWfigJ0gb3Ig4oCcbW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0 YScnLiBJZ25vcmUgdGhvc2UgcHVueSBFbmdsaXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9w ZXIgTG9qYmFuIGhlcmUuCgoKCldoaWxlIGl0IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3Mg ZnJvbSByZWFkaW5nIGFib3V0IGl0LCBhbiBleGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFj dHVhbCBzaW1wbGljaXR5OgoKX18nJ3NrYW1pJydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBw dXJwb3NlIHgy4oCdCgpfXycncGlsbm8nJ19fIOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBk b2luZyB4M+KAnQoKCgonJ21pIGZhbnZhIHRpIGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1p IHtrdX17dmF1fScnIC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhl IHgyIG9mICcncGlsbm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBs YWNlIHN0cnVjdHVyZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFj ZSBzdHJ1Y3R1cmUgaXMgY2FwdHVyZWQgYnkgJydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRv IHRoZSBtYWluIHNlbGJyaSwgYW5kIHRoZW4gZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlk ZWEgb2YgJydzdW10Y2l0YScnIGlzIHNvbWV0aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2lu ZyB0aGUgZm9sbG93aW5nIHRyYW5zbGF0aW9uOgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRv b2w6IEEgY29tcHV0ZXLigJ0KCgoKQSAnJ3N1bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBz dW10aSwgd2hpY2ggaXMgYWx3YXlzIHRoZSBmb2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0 aGUgJydzdW10Y2l0YScnIGNvbnN0cnVjdCBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywg aW4gd2hpY2ggY2FzZSBhICcnem8nZScnIGlzIGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0 YScnLiBPciwgb25lIGNvdWxkIGltYWdpbmUgYW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0 ZWQgd2l0aCB0aGUgJydrdScnLgoKX18nJ3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwg ZW50aXR5IGNhcnJ5aW5nIG91dCBhY3Rpb24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaSdv IHp1a3RlIHtmZSd1fSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1 fScnIC0g4oCcV2l0aCB2b2xpdGlvbiwgYSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5p Y+KAnSAocGVyaGFwcyBpbXBseWluZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50 aWVudD8gVG91Z2ggaXQgZG9lcyBub3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3Vs ZCBqdXN0IGJlIHRoZSBwcm9ncmFtbWVyIHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhv dyBib3JpbmcuKQoKCgpXaGF0IGRvZXMgJydtaSBqaW1wZSBmaSBsYSBsb2piYW4ge2t1fSBmaSdv IHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkg dW5kZXJzdGFuZCBzb21ldGhpbmcgYWJvdXQgTG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQ dXR0aW5nIHRoZSAnJ3N1bXRjaXRhJycgcmlnaHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNv IG1ha2VzIGl0IHNlbGYtdGVybWluYXRlLCBzaW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIg c3VtdGksIGFuZCBub3Qgc2VsYnJpLiBUaGlzIGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGlu IG5leHQgbGVzc29uLCBhcyB5b3Ugd2lsbCBzZWUuCgoKClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3Qg dXNlZCB2ZXJ5IG9mdGVuIGRlc3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVy eSBvZnRlbiwgdGhvdWdoLCBhcmUgQkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMs IHdoaWNoIGluIHRoZW1zZWx2ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0 aGlzIGlzICcnenUnZScnLCB0aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6 dSdlJycgaXMgdGhlIHNhbWUgYXMgJydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3Zl IGV4YW1wbGUgY291bGQgYmUgcmVkdWNlZCB0bzoKCicnenUnZSBrdSBsbyBza2FtaSB7a3V9IGN1 IHBpbG5vIGxvIGxvamJvIHtrdX0ge3ZhdX0nJy4gVGhlcmUgZXhpc3Qgc29tZXRoaW5nIGxpa2Ug NjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhlc2UgYXJlIHZlcnkgdXNlZnVsIGluZGVlZC4gRnVydGVy bW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNvbnZlcnRlZCB3aXRoICcnc2UnJyBhbmQgZnJpZW5kcywg bWVhbmluZyB0aGF0ICcnc2UgenUnZScnIGlzIGVxdWFsIHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1 JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBncmVhdCBkZWFsIG1vcmUgQkFJLgoKCgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIHRlbiAoUFUsIEZBaEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1 bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNoLXNwZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hl biBvbmUgY2FuIHJlYWQgdGhyb3VnaCBuaW5lIGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0 aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25jZS4gVGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBu YXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJbmRvLUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSks IGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFyZSBvcHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8g Y2lybGEge2t1fScnIGNhbiBtZWFuIOKAnEkgZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUg Y2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlzIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQs IGkgd2lsbCBoYXZlIGp1c3QgZmluaXNoZWQgZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNv bHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFuZCBpbiBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFy ZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93ZXZlciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRl ZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0LiBGdXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUg dW51c3VhbCBiZWNhdXNlIHRoZXkgdHJlYXQgdGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0 aGUgc2FtZSAtIHNheWluZyB0aGF0IEkgd29ya2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3Jh bW1hdGljYWxseSBkaWZmZXJlbnQgdGhhbiBzYXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBu b3J0aC4KCkxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVt IGlzIHBlcmhhcHMgdGhlIG1vc3QgZGlmZmljdWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxp a2UgbWFueSBvdGhlciBsYW5ndWFnZXMgdGhvdWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFu ZCBtYWtlcyBzZW5zZS4gU28gZmVhciBub3QsIGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0 aW5nIHRvIGxlYXJuIGhvdyB0byBtb2RpZnkgdGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBs aWtlIHRoYXQuCgoKCk5vLCBpbiB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBh cmUgc3VtdGNpdGEsIHdoaWNoIHdlIGhhdmUgY29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2 ZXMgZmFtaWxpYXIgd2l0aC4gT2theSBva2F5LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGln aHRseSBkaWZmZXJlbnQgZnJvbSBvdGhlciBzdW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBp cyBhbG1vc3QgaW5zaWduaWZpY2FudCwgYW5kIHdpbGwgYmUgd29uJ3QgYmUgZXhwbGFpbmVkIHVu dGlsIGxhdGVyLiBJbiBtb3N0IGFzcGVjdHMgdGhleSBhcmUgbGlrZSBhbGwgb3RoZXIgc3VtdGNp dGE7IHRoZXkgYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBtYWtpbmcgaXQgZXhwbGljaXQgdGhh dCBQVSBpcyB0ZXJtaW5hdGVkIGJ5ICcna3UnJy4KClRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBr aW5kcyBvZiB0ZW5zZS1zdW10Y2l0YSwgc28gbGV0J3Mgc3RhcnQgYXQgdGhlIG9uZXMgbW9zdCBm YW1pbGlhciB0byBFbmdsaXNoLXNwZWFrZXJzLgoKX18nJ3B1JydfXyAtIHN1bXRjaXRhOiBiZWZv cmUge3N1bXRpfQoKX18nJ2NhJydfXyAtIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1lIGFzIHtz dW10aX0KCl9fJydiYScnX18gLSBzdW10Y2l0YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVzZSBhcmUg bGlrZSB0aGUgRW5nbGlzaCBjb25jZXB0cyDigJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBhbmQg4oCc YWZ0ZXLigJ0uIEluIGFjdHVhbGl0eSB0aG91Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0IHR3byBw b2ludC1saWtlIGV2ZW50cyBjYW4gbmV2ZXIgb2NjdXIgZXhhY3RseSBzaW11bHRhbmVvdXNseSwg cmVuZGVyaW5nICcnY2EnJyB1c2VsZXNzLiBCdXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0bHkgaW50 byB0aGUgcGFzdCBhbmQgdGhlIGZ1dHVyZSwgbWVhbmluZyBqdXN0IOKAnGFib3V0IG5vd+KAnS4g VGhpcyBpcyBiZWNhdXNlIGh1bWFuIGJlaW5ncyBkb24ndCBwZXJjZWl2ZSB0aW1lIGluIGEgcGVy ZmVjdGx5IGxvZ2ljYWwgd2F5LCBhbmQgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVmbGVjdHMg dGhhdC4KCgoKU2lkZSBub3RlOiBJdCB3YXMgYWN0dWFsbHkgc3VnZ2VzdGVkIG1ha2luZyB0aGUg TG9qYmFuIHRlbnNlIHN5c3RlbSByZWxhdGl2aXN0aWMuIFRoYXQgaWRlYSwgaG93ZXZlciwgd2Fz IGRyb3BwZWQsIGJlY2F1c2UgaXQgaXMgY291bnRlci1pbnR1aXRpdmUsIGFuZCB3b3VsZCBtZWFu IHRoYXQgdG8gbGVhcm4gTG9qYmFuLCBvbmUgd291bGQgaGF2ZSB0byBsZWFybiB0aGUgdGhlb3J5 IG9mIHJlbGF0aXZpdHkgZmlyc3QuICAKCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnEkgZXhw cmVzcyB0aGlzIGFmdGVyIEkgY2FtZSBoZXJlP+KAnSAocG9pbnRpbmcgdG8gYSBwYXBlcikKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1hIHRpIHt2 YXV9IHtrZWkge2t1fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBkbyBu b3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50IHRoaXMgYWN0aW9uIGlzIGluIHRoZSBwYXN0 IHJlbGF0aXZlIHRvLiBJbjog4oCcSSBnYXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2FuIGFz c3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBhbmQg dGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBpdCdz IG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoKJydt aSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25seQoK JydtaSBwdSB7a3V9IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdoaWNo IGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBhbiBpbXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBhbG1v c3QgYWx3YXlzIHVuZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFu ZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0 IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBw ZW5lZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFz c3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlz IGJlaW5nIHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMg YXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQg JyduYXUnJyBjYW4gYmUgdXNlZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFy a3MgYSB0ZW5zZSB3aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhh dCB3aWxsIGJlIHRhdWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFs IGFuZCBzcGFjaWFsIGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQg aGVyZSBhbmQgbm93LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2Yg cGVvcGxlIHgyIHdpdGggbGFuZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydt aSBwdSB7a3V9IGtsYW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRv IEFtZXJpY2HigJ0sIGRvZXMgbm90IGltcGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxpbmcg dG8gVVNBLCBvbmx5IHRoYXQgaXQgd2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBhc3Qs IGZvciBpbnN0YW5jZSBmaXZlIG1pbnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNpYWwg YW5kIHRlbXBvcmFsIHRpbWUgdGVuc2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0IHRo ZSBwcmV2aW91cyB0aHJlZSB0aW1lIHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0ZW5z ZXM6CgpfXycnenUnYScnX18gc3VtdGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3UnJ19f IHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6IHJp Z2h0IG9mIHtzdW10aX0KCl9fJydidSd1JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2Ug YXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186 IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2Ug LSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUge2t1 fSBjdSBkYXJ4aSBsbyBnZXJrdSBwdSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBtZWFu PyAobm90aWNlIHRoZSBmaXJzdCBlbGlkZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0cy9o aXRzIHgyIHdpdGggaW5zdHJ1bWVudCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnHthbmdlciF9IFRvIHRoZSByaWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBtZSkg YW5kIGluIHRoZSBwYXN0IChvZiBzb21lIGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50IG9m IGEgcGVyc29uIGJlYXRpbmcgYSBkb2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBteSBy aWdodCHigJ1+fgoKCgpJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBvbmUg YnJpZGksIHRoZSBydWxlIGlzIHRoYXQgeW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmlnaHQs IHRoaW5raW5nIGl0IGFzIGEgc28gY2FsbGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBXaGVy ZSB5b3UgYmVnaW4gYXQgYW4gaW1wbGllZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVmYXVs dDogdGhlIHNwZWFrZXIncyBub3cgYW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRj aXRhIG9uZSBhdCBhIHRpbWUgZnJvbSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7 a3V9IGJhIHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9IOKA nEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJvdXQg ZmEnb3JtYSdvcy7igJ0KCicnbWkgYmEge2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZh J29ybWEnbyB7a3V9IHt2YXV9Jycg4oCcQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJIHdp bGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBub3Qg c3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUgdW5k ZXJzdGFuZGluZyBjb3VsZCBpbiBib3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9yIHRo ZSBwYXN0IG9mIHRoZSBwb2ludCBvZiByZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwgYW5k IHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQgdGVt cG9yYWwgYmVmb3JlIHNwYWNpYWwuIElmIHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2FuIHNv bWV0aW1lcyByZXN1bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4gZG9l cyBub3QgdG9sZXJhdGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhlIGEg bWFuIGhpdCBhIGRvZyBqdXN0IGEgbWludXRlIGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6YScn IGFuZCAnJ3p1Jycgc3BlY2lmaWVzIGEgc2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5IG1l ZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRlciAn J2knJywgJydhJycgYW5kICcndScnLiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFnYWlu IGluIExvamJhbiwgYW5kIG1pZ2h0IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKAnSBh bmQg4oCcbG9uZ+KAnSBpbiBhcmUgYWx3YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2ZSBh bmQgc3ViamVjdGl2ZS4gVHdvIGh1bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBhIHNw ZWNpZXMgdG8gZXZvbHZlLCBidXQgYSBsb25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4KCl9f Jyd6aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9 IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRhOiBP Y3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRp bWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3Vycmlu ZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBvZiBy ZWZlcmVuY2UgCgoKClNpbWlsYXJseSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkgJyd2 aScnLCAnJ3ZhJycgYW5kICcndnUnJyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0pIGFu ZCBsb25nIGRpc3RhbmNlIGluIHNwYWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJpbmcg dGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZl cmVuY2UgCgpfXycndmEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVk aXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNl IAoKX18nJ3Z1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3Vt dGl9IGluIHNwYWNlIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScnX18g 4oCceDEgd29ya3MgYXQgeDIgd2l0aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAnJ2Jh IHtrdX0gemEga3UgbWkgdnUge2t1fSBndW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcU29tZSB0aW1lIGluIHRoZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9uZyBh d2F54oCdfn4KCk5vdGU6IFBlb3BsZSByYXJlbHkgdXNlICcnemknJywgJyd6YScnIG9yICcnenUn JyB3aXRob3V0IGEgJydwdScnIG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNh dXNlIG1vc3QgcGVvcGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4g dGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2Fs bHksIG1vc3Qgb2YgdGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0 aGUgJydwdScnIG9yICcnYmEnJyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRp cmVjdGlvbi1zdW10Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBk aWZmZXJlbmNlLiBSZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNlIHdv cmRzIHBsYWNlZCB0b2dldGhlciBhcmUgcGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkg cmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9uZyB0 aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2lu dCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBw YXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0IHdl IGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJh Y2t3YXJkcy4gSW4gdGhlIHNlY29uZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdp biBhdCBzb21lIHBvaW50IGZhciBhd2F5IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVuLCB0 aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZyb20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1JycgaXMg YWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhl IGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRlbnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9uZSBv ZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNp dGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhlciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhl IHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZs eSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBi cmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0 dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFj ZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cgdG8g c3BlY2lmeSBpbnRlcnZhbHMgb2YgdGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBzdW10 Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUnYScn X18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRpbWUg b2Yge3N1bXRpfQoKX18nJ3plJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25n IHRpbWUgb2Yge3N1bXRpfQoKCgpfXycndmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIg dGhlIHNob3J0IHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5p bmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3Zl J3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0K CgoKU2l4IHdvcmRzIGF0IGEgdGltZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2Vs IHNlcXVlbmNlIGFuZCB0aGUgc2ltaWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3Ig dGVtcG9yYWwgdGVuc2VzIGFuZCB2IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBt ZW1vcml6aW5nLgoKX18nJy5vaScnX18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoK ClRyYW5zbGF0ZTogJycub2kgZGFpIGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7 a3V9IHplJ3Uge2t1fSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgeW91 IHNwZW5kIGEgbG9uZyB0aW1lIHRyYXZlbGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKAnSB+ fgoKCgpUaG91Z2ggbW9zdCBwZW9wbGUgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwgdGVu c2VzLCB0aGVzZSBuZXcgd29yZHMgY2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0IHVz ZXMuIE9uZSBjb3VsZCwgZm9yIGluc3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmlnIGRv Z+KAnSBhcyAnJ3RpIHZlJ3Uge2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhp bmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBF bmdsaXNoLCBidXQgd2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRzIGJy b3RoZXJzIGFsc28gY29tYmluZSB3aXRoIG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5kIHRl bnNlcy4gVGhlIHJ1bGUgZm9yICcnemUndScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0 ZW5zZXMgcHJlY2VkaW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxh dGl2ZSB0byB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0 ZXIgaXQgbWFya3MgdGhlIG90aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhp cyBzaG91bGQgYmUgZGVtb25zdHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5v J29jdSdpIGRvIGNpdGthIHB1IHtrdX0gemUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScn IC0g4oCce3RvbGVyYW5jZX0geW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBh IGxvbmcgdGltZSBlbmRpbmcgYXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdo ZW4geW91IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0u IE9uZSBjYW4gYWxzbyBjb250cmFzdCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0ga2xh bWEge3ZhdX0nJyB3aXRoICcnZG8gcHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7dmF1 fScnLiBUaGUgZmlyc3QgZXZlbnQgb2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhl IHByZXNlbnQgYW5kIGV4dGVuZHMgYSBsaXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUgdGhl IHNlY29uZCBldmVudCBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRzIG9u bHkgdG8gdGhlIHByZXNlbnQgKHRoYXQgaXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBmdXR1 cmUpIG9mIHRoYXQgZW5kcG9pbnQuCgpfXycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5IHN0 YW5kYXJkIHgy4oCdCgoKCldoYXQgZG9lcyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUndSB7 a3V9IGptaXZlIHt2YXV9JycgZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7aGFw cGluZXNzIX0gSSBsaXZlIGZyb20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25nIHdh eSB0b3dhcmRzIHRoZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGluIHRo aXMgY2FzZSkgb2YgdGhhdCBldmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBtb3N0 IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0aGUg c2ltaWxhcml0eSB3aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhhbXBs ZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lhbCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1ZGlu YWw6IHdvbmRlciAtIGNvbW1vbnBsYWNlCgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9IHZl J3Uge2t1fSBjYSd1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEg bG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3cs IHRoaXMgaG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29u dGludWUgd2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNw ZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vzbid0 IG9jY3VweSB5b3VyIGJyYWluIGluIG9yZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBp bi4gU2luZyBhIHNvbmcgb3IgZWF0IGEgY29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIsIGFz IGxvbmcgYXMgeW91IGxldCB5b3VyIG1pbmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExl c3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9qYmFu IHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVu c2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKA nGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9m IHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0IHRv IGl0OgoKCgpVc2luZyB0aGUgdGVuc2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNhbiBp bWFnaW5lIGFuIGluZGVmaW5pdGUgdGltZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVudHMg b24gdGhhdCBsaW5lIHJlbGF0aXZlIHRvIHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29udG91 cnMsIGhvd2V2ZXIsIHdlIHZpZXcgZWFjaCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhhcyBj ZXJ0YWluIHN0YWdlczogQSB0aW1lIGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBpdCBi ZWdpbnMsIGEgdGltZSB3aGVuIGl0IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVuZHMs IGFuZCBhIHRpbWUgYWZ0ZXIgaXQgaGFzIGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRlbGxz IHVzIHdoaWNoIHBhcnQgb2YgdGhlIGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmlu ZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgdGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBs ZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9fJydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2NhJ28n J19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVyaW5n IHtzdW10aX0KCl9fJydiYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJv Y2VzcyBvZiBicmlkaSBoYXMgZW5kZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBi ZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBleGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28ge2t1 fSBzZSB6ZGFuaSB7dmF1fScnIG1lYW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2luIHRv IGhhdmUgYSBob21l4oCdLgoKCgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcn LnVpIG1pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/ IEJlY2F1c2UsIHJlbWVtYmVyLCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0 aGUgZnV0dXJlIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cu IFVzaW5nICcncHUnbycnLCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUg cGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhh dCB5b3UgZG9uJ3QgaGF2ZSBvbmUgbm93LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21pIGJh IHtrdX0gc2UgemRhbmkge3ZhdX0nJyBpcyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNlIHpk YW5pIHt2YXV9JycsIGFuZCBsaWtld2lzZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdoeSBk byB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJl c2VudCBhcyBzZWVuIGZyb20gdGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVhcyB0 aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0 ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9mIHRl bnNlcy4gRXZlbiBtb3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwg dGVuc2VzOiAnJy5hJ28gbWkgYmF7a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9Jycg LSDigJxJIGhvcGUgSSd2ZSBzb29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwg d2UgYWxzbyBvcGVyYXRlIHdpdGggYW4gZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBh bmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hs eSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRv IHRoZSBwb2ludCBpbiB0aGUgcHJvY2VzcyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNh eSBhYm91dCBhIGxhdGUgdHJhaW4sIGZvciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiBy ZWFjaGluZyB5b3UgaXMgbm93IGV4dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1 bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBtZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJl Zm9yZSB0aGF0IHByb2Nlc3MnIG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91cnMg dXNlZCBpbiB0aGVzZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19fIC0g c3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0cyBu YXR1cmFsIGVuZCBkdXJpbmcge3N1bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IEJyaWRpIGlzIGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoK CgpfXycnY2lkamEnJ19fOiDigJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCd CgoKClRyYW5zbGF0ZTogJycub2kgZG8gY2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0gdSdl IGNpdGthIHpvJ2Ugbm9pIGNpZGphIGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9JycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91IGhh dmUgZmluaXNoZWQsIGluY3JlZGlibHksIGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+CgoK CntpbWcgZmlsZUlkPSIyIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6IFpB aE8gdGVuc2VzIChldmVudCBjb250b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUgb2Yg dGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBBbGwg dGVuc2VzIGJlbG93IHRoZSBldmVudCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBwb2lu dC1saWtlLgoKCgpBbGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0YWdl cyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUgZ3Jh cGggYWJvdmU7IHRob3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55IG9m IHRoZSBldmVudCBjb250b3VycyBkZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhlIHBy b2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcnYnUn dScnLCB0aGV5IGFjdHVhbGx5IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1 cmUgb2YgdGhhdCBwb2ludCwgYW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28g bW9zdCBpbXBvcnRhbnQgcG9pbnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY28nYScn X18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmluZyBk dXJpbmcge3N1bXRpfQoKX18nJ2NvJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJy aWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRoZXJl IGlzIGEgcG9pbnQgd2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBidXQg bm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3Vt dGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQg dGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFp bnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1z ZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUg aW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBv d24gZXZlbnQgY29udG91ciBhbHNvOgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNv bnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcgZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAtIHN1 bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoK CgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRpJycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8g eDLigJ0sICcnZGUnYSBqdW5kaScnIGFuZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExvamJh biB3YXlzIG9mIHNheWluZyDigJxCUkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBj b3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUg dGhlIHBvaW50IGdldHMgYWNyb3NzLgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGly ZSBldmVudCwgZnJvbSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2lu dCB1c2luZyAnJ2NvJ2knJzoKCl9fJydwZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRp b24geDPigJ0KCicnbWkgcHUge2t1fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3RjbyBw cmVudSB7a3V9IHt2YXV9JycgLSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRoZSBw b2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9qYmFu IExlc3NvbnMgLSBMZXNzb24gdHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcsIHRo b3NlIHR3byBsb25nIGxlc3NvbnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRoZSBi cmFpbiBzb21ldGhpbmcgdG8gcG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQncyBz byBkaWZmZXJlbnQgZnJvbSBFbmdsaXNoLiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBhIGxp dHRsZSBsaWdodGVyOiBPcmRlcnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQg dXAgYW5kIGZvY3VzIV9fCgoKClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5n bGlzaCBpcyB0byBsZWF2ZSBvdXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5 b3UgYXNzdW1lIHRoYXQgaXQgd2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRl cmluZyBteXNlbGYsIG9yIGV4cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhh cz8gQmVjYXVzZSB0aGUgRW5nbGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywg YnkgdGhlaXIgdmVyeSBuYXR1cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlz dGVuZXIgLSB0aGUg4oCceW914oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2Fy eS4KCkluIExvamJhbiwgZWxpZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNvIHRo YXQgcG9zc2liaWxpdHkgaXMgc2FkbHkgbm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVzZSB0 aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycnLiBH cmFtbWF0aWNhbGx5IGFuZCBicmlkaS13aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBi dXQgaXQgYWRkcyBhIGxheWVyIG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3Rh dGVtZW50IHdpdGggJydrbycnIGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0 aGlzIHNlbnRlbmNlIGlzIHRydWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFz b24gd2UgZG9uJ3QgbmVlZCB0aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9u J3QgbmVlZCBvcmRlci13b3JkcyBkZXJpdmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4gJydk bycnLgoKCgpIb3cgY291bGQgeW91IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBsb25n IHRpbWUgKHVzaW5nICcna2xhbWEnJyBhcyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OmtvIHZlJ3UgemUndSBrbGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkgY2Eg Y28ndSBjaXNrYSBsbyBmYSdvcm1hJ28gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxvb2sgdXAg Y2lza2EgYW5kIHdvcmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5IGVh c3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBibGFu aywgYW5kIHRydWUvZmFsc2UgcXVlc3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVlLWZh bHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF0J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQg b25seSBpbnZvbHZlcyBvbmUgd29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0 aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBw bGllcyB0byB0aGUgcHJlY2VkaW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNm b3JtcyB0aGUgc2VudGVuY2UgaW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0 cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJp ZGk6CgonJ3h1IHZlJ3UgemRhbmkgZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91IGp1 c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwgdGhl IHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVuIGVh c2llciB3YXkgdG8gYWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZv ciBhbm90aGVyIHRpbWUuIFRvIGFuc3dlciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91IHNp bXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVm dCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkg dGhlbi4KCgoKVGhlIG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlvdSBh c2sgZm9yIHRoZSBxdWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVjdCwg d2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRoZXNl IHdvcmRzLCBkZXBlbmRpbmcgb24gd2hhdCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydtYScn X18gLSBzdW10aSBxdWVzdGlvbgoKX18nJ21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18nJ3hv JydfXyAtIG51bWJlciBxdWVzdGlvbgoKX18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoK QXMgd2VsbCBhcyBtYW55IG90aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1 c3QgcGxhY2UgdGhlIHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcn ZG8gZHVuZGEgbWEgbWknJyAtIGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNv cnJlY3Qgc3VtdGkuIOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24g b2YgJydzdW10Y2l0YScnICsgJydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdSdp JydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10aX0K CgoKJycub2kgZG8gZGFyeGkgbWkgbXUnaSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0IG1l PyHigJ0KCgoKTGV0J3MgdHJ5IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6 CgonJy51aSBkYWkgZG8gY2EgemUndSBwdSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc WW91J3JlIGhhcHB5LCB3aGF0IGhhdmUgeW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1l IHVudGlsIG5vdz/igJ0gVGVjaG5pY2FsbHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhh dmUgeW91IGJlZW4/4oCdLCBidXQgYW5zd2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVtbmEn JyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5veWlu ZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3RydWN0 dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBvciBu b3QsIG9uZSBiZXR0ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwgc2lu Y2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5nIG9y IGF0IHRoZSBlbmQgb2Ygc2VudGVuY2VzLCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRv IHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQg dGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRp dHVkaW5hbCBtYXJraW5nIHRoYXQgdGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5 LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0 b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQncyBh bHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRpb24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBt YXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3QgcXVl c3Rpb24sIHRoZW4/IFdlbGwsIHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBkanVu byBsbyBkdSd1IG1hIGthdSB6ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21l LuKAnQoKX18nJ2RqdW5vJydfXyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0 IHgzIGJ5IGVwaXN0ZW1vbG9neSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2Vy IHRvIHRoZSBxdWVzdGlvbiAnJ21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1h cmsgYSBub24tcXVlc3Rpb24gd29yZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0 aWxsIGNhbiBpbWFnaW5lIGl0IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1w ZSBsbyBkdSd1IGR1bmRhIHRpIGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVl biBnaXZlbiwgaXQgaXMgdGhpcy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRo aXJ0ZWVuIChtb3JwaG9sb2d5IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkg KGFuZCBpbnRlcmVzdGluZykgc3R1ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0cm9u Z2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhlIExvamJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0b3J5 IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExvamJh biBvbiBNdW1ibGUsIGFuZCB0aGVuIHByYWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2aW5n IGFuIGludGVybmFsIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9ubHkg Z29vZCBpZiBpdCBpc24ndCB3aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcg cHJvbnVuY2lhdGlvbiBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMg bGVzc29uIHdpbGwgbm90IGJlIG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFu dCB0aGV5IG1pZ2h0IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBt b3JwaG9sb2d5LgoKCgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJv bSBHcmVlayBtZWFuaW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNv bnRleHQsIHdlIHRhbGsgYWJvdXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBz b3VuZHMsIGFzIGNvbnRyYXN0ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMg d2l0aCB3b3Jkcy4gTG9qYmFuIG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwg d29yZCBjbGFzc2VzLCB3aGljaCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4g VG8gbWFrZSBpdCBhbGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2Vy dGFpbiBmdW5jdGlvbnMgdGVuZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3Nl cywgYnV0IGV4Y2VwdGlvbnMgbWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQg Qnl8VHlwaWNhbCBGdW5jdGlvbgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAg YnJpZGktd29yZHwgICBBbW9uZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKA nCkgaXMgYSBjb25zb25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBh IHNlbGJyaSBieSBkZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1H aXNtdXwgICBSb290LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAg IHwgICBPbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAg IC0tTHVqdm98ICBDb21wb3VuZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0s IG1lYW5pbmcg4oCcY29tcGxleCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBz dHJpbmdpbmcgcmFmc2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5 LnwgICBDb3ZlcnMgbW9yZSBjb21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2 bGF8ICBDb3B5LXdvcmQgfCBBcyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0 ZXJpYSBvZiBnaXNtdSBvciBsdWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVl IGNvbmNlcHRzIGxpa2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwg IE5hbWUtd29yZCB8ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9w KS4gTGFzdCBzb3VuZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEg bmFtZSBvciBhcyB0aGUgY29udGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13 b3JkLiBGcm9tIOKAnGNtYXZsYeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29u c29uYW50IG9yIHplcm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwu ICB8ICAgR3JhbW1hdGljYWwgZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwg ICB8ICAgfAoKICAgUmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NW Q1YsIENWQ0N5LSBvciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJp bmdlZCB0b2dldGhlciB0byBmb3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZl cnkgZWFzeSB0byBpZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1 c2UsIHNpZ25hbGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0 ZXIgaXMgYSBjb25zb25hbnQuIGNtZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBi ZXNpZGVzIGFjdGluZyBhcyBhIG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBh cmUgbm90IHNlbGJyaSBjYW5ub3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcg Y21ldmxhLCBvciBlbmNhc2VkIGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBz dHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUg c3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBp cyBjYXBpdGFsIGFwb3N0cm9waGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4n JyAoTHVpLUNoaSBNaW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2 ZSB0byBoYXZlIG9uZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRl ciBpbiB0aGlzIGNhc2UpIHJlbW92ZWQ6ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBj YWxsZWQg4oCcYnJpZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJy aSwgYW5kIHRoZXJlZm9yZSBhbG1vc3QgYWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3Ry dWN0dXJlIGFyZSBicml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBu aWNrbmFtZSDigJxjb250ZW50LXdvcmRz4oCdLiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNh eSBhbnl0aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZv ciBjb25jZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3 b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4g QXMgc2hvd24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6Cgpf XycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJv dXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292 ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKA nSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScn LCAnJ3BlbHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21i aW5pbmcgcmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNv bWJpbmluZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4g bHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlk IGx1anZvIG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25z IGxpa2UgJydzZWxwYSdpJycsIGZyb20gJydzZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBoYXZl IG9uZSBkZWZpbml0aW9uLiBJbnN0ZWFkLCBsdWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxhY2Ug c3RydWN0dXJlIGRlZmluZWQsIGFuZCB0aGVuIHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9mZmlj aWFsIGJ5IHRoZSBkaWN0aW9uYXJ5LiBFeGFtcGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGktd29y ZCksICcnY2luamlrY2EnJyAoc2V4dWFsLXNvY2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAnJ2Nh a2NpbmtpJycgKHNoZWxsLWluc2VjdCA9IGJlZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJlIG1h ZGUgYnkgbWFraW5nIHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxh LCBidXQgbm90IGZvciBsdWp2byBvciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRz IHdoaWNoIGl0J3MgaGFyZCB0byBjb3ZlciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9m IHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhh bXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBp enphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdv cmRzIHdpdGggb25lIG9yIHplcm8gY29uc29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5 IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0 aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhvdyBt dWNoIGF0dGl0dWRpbmFscyBleGlzdHMgZm9yIHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBB bm90aGVyIHdlaXJkIGV4YW1wbGUgYXJlIHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwgd2hp Y2ggYWN0IGFzIGJyaXZsYS4gSXQgaXMgdmFsaWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGluIGEg cm93IGFzIG9uZSB3b3JkLCBidXQgaW4gdGhlc2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBkb25l LiBCeSBncm91cGluZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwg aXQgaXMgc29tZXRpbWVzIGVhc2llciB0byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0 a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6 dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtlIG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAo YnV0IG5lZWQgbm90IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBi ZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBvciBW J1ZWIGFyZSBleHBlcmltZW50YWwsIGFuZCBhcmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUg Zm9ybWFsIGdyYW1tYXIsIGJ1dCB3aGljaCBoYXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVzZXJz IHRvIHJlc3BvbmQgdG8gYSBjZXJ0YWluIG5lZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5vdCBM b2piYW4gd29yZHMsIGFuZCBjYW4gbmV2ZXIgYXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZlcmFs IChtb3JlIHRoYW4gb25lKSByYWZzaSBjb21iaW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11c3Qg c3RpbGwgbGl2ZSB1cCB0byB0aGUgYnJpdmxhLWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAnJ2xv amJhbicnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBlbmRzIGluIGEgY29uc29uYW50ICh3aGljaCBt YWtlcyBpdCBhIGNtZXZsYSksIGFuZCAnJ2NpJ2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQg ZG9lcyBub3QgY29udGFpbiBhIGNvbnNvbmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFkIGFz IHR3byBjbWF2byB3cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0cmlu ZyBpcyBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlzIGJv dGggdGhlIEJBSSBhbmQgdGhlIHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBp cyBub3doZXJlIHRoYXQgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRp Y2FsLCBzbyB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNh biBkb3VibGUgYXMgcmFmc2ksIGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZz aS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIg Y2FuIGFsc28gYWN0IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhl ciByYWZzaS4gVGhlIHZvd2VsICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxh LiBWYWxpZCByYWZzaSBsZXR0ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1YsIENW Q0N5LSBDQ1ZDeS0sIC1DVkNDViBhbmQgLUNDVkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93IG5v dywgeW91IHNob3VsZCBiZSBhYmxlIHRvIGFuc3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2VudDoK CkNhdGVnb3JpemUgZWFjaCBvZiB0aGUgZm9sbG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyksIGdp c211IChnKSwgbHVqdm8gKGwpLCAnJ2Z1J2l2bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSApIGph aSAgICAgICAgRyApIG11bWJsCgpCICkgLmlyY2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9zdHUg ICAgICAgIEkgKSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2UgICAg ICAgIEsgKSBkYW5zZWtlCgpGICkgZGppc2t1ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6YS1jLCBiLWYsIGMtZywgZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGktYywg ai1sLCBrLWYsIGwtZi4gSSBsZWZ0IG91dCB0aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFmdGVy IG5hbWVzIHNvIGl0IHdvdWxkbid0IGJlIHRvbyBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVzZSB3 b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8gbm90IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBidXQg dGhpcyBpcyBpcnJlbGV2YW50LiBUaGUgbW9ycGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdpc211 LCBzbyBpdCdzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRz YScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFu IHN1bXRpIDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhl IGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBh IGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBtYXR0 ZXIgaW4gd2hpY2ggb3JkZXIgeW91IGxlYXJuIHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhlIG9y ZGVyIG9mIHRoZSBuZXh0IGxlc3NvbnMgd2lsbCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5IGlu Y3JlYXNpbmcgZGlmZmljdWx0eSBhbmQgc29ydGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5hcnkg TG9qYmFuIGNvbnZlcnNhdGlvbi4KCgoKT25lIG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMgb24g eW91ciBzcGVhayBub3cgaXMgeW91ciBsaW1pdGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFrZSBz dW10aS4gU28gZmFyLCB5b3Ugb25seSBrbm93ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywgd2hp Y2ggZG9lc24ndCB0YWtlIHlvdSBmYXIgY29uc2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10aSBh cmUgaW4gTG9qYmFuLiBUaGlzIGxlc3NvbiBhcyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdp bGwgYmUgYWJvdXQgdGhlIExvamJhbiBzdW10aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhlIGRl c2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRoZSBvbmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcn bG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxvamJhbiBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxsIHRo ZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlzIGxlc3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1Jycs IGV4Y2VwdCB0aGUgY29tYmluYXRpb25zICcnbGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScnIGFu ZCAnJ2xhJ2kgQ01FVkxBJycuIFdlIHdpbGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1w bGUga2luZHMgb2YgZGVzY3JpcHRpdmUgc3VtdGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQg dGhhdCB0aGV5IGFyZSBub3Qgc28gc2ltcGxlIGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBnYWRy aTogR2VuZXJpYyB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3Vs dCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJyds ZScnX18gLSBnYWRyaTogR2VuZXJpYyBkZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBz dW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFz cy1uZXNzLgoKX18nJ2xhJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFs LCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBh cyBpbmRpdmlkdWFsKHMpLgoKCgpZb3UgYXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xvJycg YW5kIHdoYXQgaXQgZG9lcy4gQnV0IHdoYXQgZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzigJ0g YW5kIOKAnHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCdPyBU aGUgbGF0dGVyIGFib3V0IGluZGl2aWR1YWxzIGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNrIHRv IGxhdGVyLiBGb3Igbm93LCDigJx2ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRo YXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xv IGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCBn YWRyaSBtYWtlcyBhIGNsYWltIHdoaWNoIG1heSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUg b2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFyZSBhY3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBh ZnRlciAnJ2xvJycuIAoKCgpUaGlzIG1heSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGlj aCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRodXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vy a3UnJyBzYXlzIHRoYXQgeW91IGhhdmUgb25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBt aW5kLCBhbmQgeW91IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28g dGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlkZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuIFRo aXMgbWVhbnMgdGhhdCAnJ2xlJycgaGF2ZXMgdHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBmcm9t ICcnbG8nJzogRmlyc3RseSwgaXQgY2Fubm90IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwg YnV0IGFsd2F5cyByZWZlcnMgdG8gc3BlY2lmaWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxlICcn bG8gZ2Vya3UnJyBkZWZpbml0ZWx5IGlzIG9uZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3UnJywg YmVjYXVzZSBpdCdzIG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBhcyB0 aGUgc3BlYWtlciB0aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWluZyB0 aGUgY29ycmVjdCBvYmplY3RzLiBQZXJoYXBzIHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0byBh IGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRvZ+KA nSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJveGltYXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhpcyBu b24tdmVyaWRpY2FsaXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFueSB0 ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVzY3Jp YmUgaXQgYXMgYmVpbmcgYSBkb2csIGFuZCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBu b3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNvbWV0 aGluZyB3aGljaCBpcyBhbHNvICcnbG8gZ2Vya3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xvIGdl cmt1JycgaXMgdXN1YWxseSDigJxhIGRvZ+KAnSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxlICcn bGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n4oCdIG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJldHRl ciBmb3IgJydsZSBnZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoKCkxh c3Qgb2YgdGhlIHRocmVlIGJhc2ljICcnZ2FkcmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUgbmFt aW5nICcnZ2FkcmknJywgd2hpY2ggSSBoYXZlIHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKAnGNv bnZlbnRpb25hbOKAnS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhlciBk ZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFt ZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBo ZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRv IEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRo YXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0 aGF0ICcnbGEnJyBhbmQgdGhlIGdhZHJpIGRlcml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBjbWV2 bGEgdG8gc3VtdGkgdW5saWtlIGFueSBvdGhlciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRpb3Vz OiBPdGhlciB0ZXh0cyBkbyBub3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJv bSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0 aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQg bWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMgJyds YWknJyBhbmQgJydsYSdpJycgYXJlIGEgYml0IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fsd2F5 c19fIG1hcmtzIHRoZSBiZWdpbm5pbmcgb2YgYSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdhZHJp LCBhbnl0aGluZyB0aGF0IGNhbiBiZSBncmFtbWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xhJycg YW5kIGl0cyBzaXN0ZXJzIGFyZSBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBleGFt cGxlLCAnJ2xlIG1pIGdlcmt1JycgaXMgIm15IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1JycgaXMg c29tZW9uZSBjYWxsZWQgIk15IERvZyIuCgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBj YW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUg cHJldmlvdXM6CgoKCl9fJydsb2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18g LSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0 IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGlj bGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCd LiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwg YXNwZWN0cyBleGNlcHQgZm9yIG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBh cyBtYXNzZXMuIElmIHRoZXJlIGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5k aXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVu dC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNo IHNlbGJyaSBjYW4gYmUgYXNjcmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMg YSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRh aW4gc2VsYnJpIGlmLCBhbmQgb25seSBpZiwgYWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVhY2gg Zml0IHRoZSBzZWxicmkuIEl0IGlzIGNvcnJlY3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcnbG8g Z2Vya3UnJywgY29uc2lkZXJlZCBpbmRpdmlkdWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBmb3Ig ZWFjaCBvZiB0aGUgZG9ncyBpdCdzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBv biB0aGUgb3RoZXIgaGFuZCwgZml0cyBvbmx5IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29tcG9u ZW50cyBmaXQgYXMgYSB3aG9sZSwgYXMgYSB0ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwgYWxs IHRoZSBtZW1iZXJzIG9mIGEgbWFzcyAnJ2xvaSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBvcmRl ciBmb3IgJydsb2knJyB0byBiZSBhcHBsaWNhYmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMiIGFy ZSBzb3BoaXN0aWNhdGVkLCBhbmQgcmVxdWlyZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0cmF0 ZSB3aGljaCBwcm9wZXJ0aWVzIGl0IGNhbiBoYXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEgZmxh bmtzL2VuY2lyY2xlcy9lbmNsb3NlcyB4MiBpbiBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPigJ0K CicnbGVpIHByZW51IGN1IHNydXJpIGxvIHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJvdW5k ZWQgdGhlIGhvbWUu4oCdIGlzIHBsYXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9rZXMg bm90IGNvbnNpZGVyZWQsIGl0J3MgY29tcGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNvdWxk IGJlIHRydWUgZm9yIGFueSBvbmUgb2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2ggYW5h bG9neSBjb3VsZCBiZTog4oCcSHVtYW5zIGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRoIGNl bnR1cnnigJ0uIFN1cmVseSBubyBodW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1hbnMg ZGlkLCBhbmQgdGhhdCBtYWtlcyB0aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3ZWxs IGFzIGluIExvamJhbiBpZiDigJxodW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRoZSBM b2piYW4gbWFzcywgdGhlIEVuZ2xpc2ggbWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVmZXIg dG8gaW5kaXZpZHVhbHMgZWFjaCBvZiB3aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBsZToK Cl9fJydtaXZ5c2xlJydfXzogIngxIGlzIGEgYmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNtIHgy IgoKX18nJ3JlbW5hJydfXzogIngxIGlzIGEgaHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJlbW5h JycgLSAiU29tZSBtYXNzZXMgb2YgY2VsbHMgYXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2YgdGhl IGNlbGxzIGFyZSBodW1hbi4gSW5kZWVkLCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1hbiB0 cmFpdHMsIGJ1dCB0aGUgY2VsbHMgY29uc2lkZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEgaHVt YW4uCgoKCkEgbWFzcyBtYWRlIHdpdGggJydsZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScnLCBy ZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxz LCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpN YXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlm IHRoZSBncm91cCBhcyBhIHdob2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkg b2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkg aXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGltcG9y dGFudCB0byByZW1lbWJlciB0aGF0ICcnbG8nJyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRvIGRl c2NyaWJlIGJvdGggaW5kaXZpZHVhbHMgYW5kIG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBvZiBk b2dzLCBjb25zaWRlcmVkIGFzIGEgbWFzcyBuZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBkZXNj cmliZSBpdCBhcyBlaXRoZXIgJydsb2kgZ2Vya3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkgdXNl ICcnbG8nJywgdGhpcyBhbGxvd3MgbWUgdG8gY29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3aGlj aCBsb29rcyBsaWtlIGEgY29udHJhZGljdGlvbiwgYnV0IHJlYWxseSBpc24ndDogJydsbyBnZXJr dSBuYSBnZXJrdScnIC0gIlNvbWUgZG9ncyBhcmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJlaW5n IGNvbnNpZGVyZWQgYSBtYXNzIG9mIGRvZ3MsIHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBhcyBh IHdob2xlIGlzIG5vdCBhIGRvZywgYnV0IHJhdGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBtaWdo dCBoYXZlIG5vdGljZWQgdGhhdCB0aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkg Y29udmVydHMgc2VsYnJpIHRvIGluZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0 IGFib3V0IGluZGl2aWR1YWxuZXNzLCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScn IHdpdGggYW4gb3V0ZXIgcXVhbnRpZmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2ls bCBiZSBjb25zaWRlcmVkIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUg cmVhc29uIHRoYXQgJydsbycnIGFuZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBp bmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8g YmUgdXNlZCBpbiBhbnkgY29udGV4dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhp bmsgYWJvdXQgd2hldGhlciBpcyBiZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2 aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3Jt aW5nICcnZ2FkcmknJzoKCgoKX18nJ2xvJ2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xlJ2kn J19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBU cmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGlj bGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCd LiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgoKClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVhbHMg b3IsIHNvbWV0aW1lcywgbWFzc2VzLCBzZXRzIGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBwcm9w ZXJ0aWVzIGZyb20gdGhlIG9iamVjdHMgZnJvbSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4gQSBz ZXQgaXMgYSBwdXJlbHkgbWF0aGVtYXRpY2FsIG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQgaGFz IHByb3BlcnRpZXMgbGlrZSBjYXJkaW5hbGl0eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1c2lv bi4gQWdhaW4sIG5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3MsIGFu ZCB0aGUgdGhpbmdzIG9mIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1JydfXyDi gJx4MSBpcyBhIHRpZ2VyL2xlb3BhcmQvamFndWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0aCBj b2F0IG1hcmtpbmdzIHgz4oCdCgonJ2xvJ2kgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcg YWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBv YnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRz IGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRo ZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xvJ2Un J19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3Vt dGkgcmVmZXJzIHRvIHRoZSBhcmNoZXR5cGUgb2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xlJ2Un J19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBT dW10aSByZWZlcnMgdG8gdGhlIGRlc2NyaWJlZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcnbGUg e3NlbGJyaX0nJy4KCk9mIHdoaWNoIHRoZXJlIGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoKCgpT bywgd2hhdCBpcyBhY3R1YWxseSBtZWFudCBieSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydlIHRp cnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRo ZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJl IHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNp bmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBv ZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUg amFndWFycy4gTGlrZXdpc2UsIHRoZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNp YSBldmVuIHRob3VnaCBhIGxvdCBvZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRs eSBtYW55IGh1bWFucyBoYXZlIGEgdHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNw ZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2tha25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2lu Zy9iZWluZyB4MiB1bmRlciBjaXJjdW1zdGFuY2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBrYWtu ZSBsbyBudSB0YXZsYScnIC0g4oCcVGhlIHR5cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr4oCd LgoKCgonJ2xlJ2UnJyB0aGVuLCBpcyB0aGUgaWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBvciBk ZXNjcmliZWQgYnkgdGhlIHNwZWFrZXIuIFRoaXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNvcnJl Y3QsIGFuZCBpcyBvZnRlbiB0cmFuc2xhdGVkIGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBldmVu IHRob3VnaCB0aGUgRW5nbGlzaCBwaHJhc2UgaGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRpdmUg Y29ubm90YXRpb25zLCB3aGljaCB0aGUgTG9qYmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVyeW9u ZSBoYXMgYSBzdGVyZW90eXBpY2FsIGFyY2hldHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVnb3J5 LiBJbiBvdGhlciB3b3JkcywgJydsbydlIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBi ZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJyds ZSdlIHJlbW5hJycgYmVzdCBleGVtcGxpZmllcyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUgZWxl dmVuIGdhZHJpIGNhbiBiZSBzZWVuIGluIHRoZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVyaWN8 TWFzc2VzfFNldHN8R2VuZXJhbGl6aW5nCgp2ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoKRGVz Y3JpcHRpdmV8bGV8bGVpfGxlJ2l8bGUnZQoKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlz dHx8CgoKCk5vdGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBn ZW5lcmljIGdhZHJpLiBIb3dldmVyLCB0aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRy aSB3ZXJlIGNoYW5nZWQgaW4gbGF0ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVz IG9uIHRoaXMgdG9waWMsIG5pY2tlZCDigJx4b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3 YXkuIE5vdywgJydsbycnIGlzIGdlbmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxs aXB0aWNhbCBkaWdpdCAobGVzc29uIG5pbmV0ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0g TGVzc29uIGZpZnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hB NikKClNlZSB3aGF0IGhhcHBlbnMgaWYgSSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog 4oCcU3RlcmVvdHlwaWNhbCBwZW9wbGUgd2hvIGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFj aCBvdGhlciBhYm91dCB0aGUgbGFuZ3VhZ2VzIHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1 JydfXyDigJx4MSBpcyBhIGxhbmd1YWdlIHVzZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJh Y3Rpb24p4oCdCgonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEg LmxvamJhbi4gY3UgdGF2bGEgbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBm byBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEg LmxvamJhbi4gY3Ugc2UgYmFuZ3Uga2UnYScnCgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExv amJhbiB2ZXJzaW9uIGlzIG11Y2ggbG9uZ2VyIHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJp bWFyaWx5IGJlY2F1c2UgdGhlIGZpcnN0LCByaWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWlu ZyByZXBlYXRlZCB0d28gbW9yZSB0aW1lcyBpbiB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBF bmdsaXNoIGNhbiByZWZlciB0byBpdCBieSDigJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCd IC0gbXVjaCBtb3JlIGVmZmljaWVudGx5LiBXb3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFu IHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBv dXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMg Y2FsbGVkICcnc3Vta2EnaScnIG1lYW5pbmcg4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJ biBFbmdsaXNoLCB3ZSByZWZlciB0byB0aGVtIGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFy ZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGgg c3VtdGkgaW5zdGVhZCBvZiBub3Vucy4gSW4gZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycs ICcnZG8nJyBhbmQgJydtaScnLCBidXQgdGhlcmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0 IGxlYXJuaW5nLiBGaXJzdCwgd2Ugd2FudCB0byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBi ZWdpbiB3aXRoIHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91 J3ZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0 ZSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLi gJ0KCl9fJyd0YScnX18gLSBzdW1rYSdpOiDigJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEg c3VtdGkgc29tZSBwaHlzaWNhbCBkaXN0YW5jZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRv IHRoZSBsaXN0ZW5lcuKAnQoKX18nJ3R1JydfXyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQn OiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQg dGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwg deKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1p Z2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBj YW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNp Y2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVu dHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0 ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUg cG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHks IG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBm b3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3Rh bnQgZnJvbSBib3RoIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJl IHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBj YW5ub3Qgc2VlIHRoZSBzcGVha2VyIHRhbGtpbmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5n IGNsb3NlIHRvIHRoZSBsaXN0ZW5lci4gVGhpcmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNv bnRleHQgZGVwZW5kZW50LiBUaGVzZSB0aHJlZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGlu IHdyaXR0ZW4gdGV4dCwgZm9yIGluc3RhbmNlLCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUg c3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgdW5rbm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdl cyBhcyB0aW1lIGdvZXMgYnkuIEZ1cnRoZXJtb3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5u b3QgcG9pbnQgdG8gYW4gb2JqZWN0IGFuZCBleHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9v ay4KCgoKVGhlbiB0aGVyZSBpcyBhIHNlcmllcyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWkn JyBhbmQgJydkbycnIChhbmQgJydrbycnLCBidXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJl bG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vta2EnaTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycn X18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVy KHMpIC4KCl9fJydtaSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMp IGFuZCBvdGhlcnMuCgpfXycnbWEnYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3Bl YWtlcihzKSwgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2En aTogVGhlIGxpc3RlbmVyKHMpLgoKX18nJ2RvJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2Yg dGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3Jl IGVhc2lseSBncmFzcGVkIGluIHRoZSBiZWxvdyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlk PSIzIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tv JycgZXhjbHVkZWQpLiAnJ2xlIGRyYXRhJycgaXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0 aGUgb3RoZXIocynigJ0KCgoKSXQgaXMgcG9zc2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJl IOKAnHRoZSBzcGVha2Vyc+KAnSwgaWYgb25lIHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhh bGYgb2YgYWxsIG9mIHRoZW0uIFRoZXJlZm9yZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5z bGF0ZWQgYXMgZWl0aGVyICcnbWknJywgJydtaSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3 aGF0IG9uZSBxdWl0ZSBvZnRlbiBtZWFucyBpcyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0 aGVzZSBzaXgsIGlmIHRoZXkgcmVmZXIgdG8gbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXBy ZXNlbnQgbWFzc2VzLiBXaXRoaW4gYnJpZGktbG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycg c2FpZCBieSBzcGVha2VyIEEgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBz YWlkIGJ5IHNwZWFrZXIgQiB0byBzcGVha2VyIEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2Ft ZSBicmlkaS4gV2Ugd2lsbCBjb21lIGJhY2sgdG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2En aScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2 ZXJ5IGNvbnRlbnQtc3BlY2lmaWMsIGFuZCBjYW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0 byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGgu IFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0 byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0gc3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9u ZWTigJ0KCl9fJydyYScnX18gLSBzdW1rYSdpOiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFz dCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydydScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1l bnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJt aW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRo YXQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJyBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ug c3VtdGksIGlzIHRoYXQgdGhleSBhcmUgc28gZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2Vs dmVzLiBUaGUgZXhjZXB0aW9uIHRvIHRoZSBydWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0 dScnLCBiZWNhdXNlIHlvdSBjb3VsZCBoYXZlIGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFu ZCB0aHVzIGNhbm5vdCBqdXN0IHJlcGVhdCB0aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIg dG8gdGVybWluYXRlZCBzdW10aSwgYW5kIHRodXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVz ZWQgdG8gcmVmZXIgdG8gYW4gYWJzdHJhY3Rpb24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0 cmFjdGlvbjogJydsZSBwZW5kbyBub2kga2UnYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBz ZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBz aW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwgbm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2lu Y2UgdGhleSBhcmUgc3Vta2EnaSwgc28gaXQgcmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEn JyBhbmQgJydydScnIGFyZSBjb250ZXh0LWRlcGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8s IGJ1dCB0aGV5IGZvbGxvdyB0aGUgcnVsZXMgbWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFs d2F5cyByZWZlciB0byBhIG1vcmUgZGlzdGFudCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMg YWx3YXlzIG1vcmUgZGlzdGFudCB0aGFuICcncmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3Ro ZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwg c2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2kn JyEKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8g bnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNl IGJhbmd1IGtlJ2EnJy4gJydyaScnIGlzIG5vdCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0 byAnJ2xhIC5sb2piYW4uJycuICcncmEnJyBjb3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlz dGFrZW5seSBiZSB0aG91Z2h0IHRvIHJlZmVyIHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJh bi4nJywgYnV0ICcncnUnJyBpcyBhc3N1bWVkIHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQg c3VtdGkgLSB0aGUgbW9zdCBvdXRlciBvbmUufn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRh IHdoaWNoIHJlcHJlc2VudCB1dHRlcmFuY2VzOiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxl cy4gVGhleSBuZWVkIG5vdCBiZSByZXN0cmljdGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBi dXQgY2FuIGJlIHNldmVyYWwgc2VudGVuY2VzLCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6Cgpf XycnZGEndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18n J2RlJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScn X18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBQcmV2aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0 ZXJhbmNlIHZhcmlhYmxlOiBUaGlzIHNlbnRlbmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZh cmlhYmxlOiBOZXh0IHNlbnRlbmNlCgpfXycnZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBO ZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RhJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVt b3RlIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RvJ2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxs aXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGU6IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJl cHJlc2VudHMgc2VudGVuY2VzIGFzIHN1bXRpLCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2Vu IHdvcmRzIG9yIHRoZSBsZXR0ZXJzLCBub3QgdG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoK ClRoZXJlIGFyZSBtb3JlIExvamJhbiAnJ3N1bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2Jh Ymx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRl cml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10 aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1p IHNlIGJhbmd1IGtlJ2EnJyBpcyBhIGxlc3MgdGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKA nG15IGxhbmd1YWdl4oCdLiBUaGlzIGlzIGJlY2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3Vu ZC4gQSBsYW5ndWFnZSB3aGljaCBJIHNwZWFrIGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUg eDEgb2YgdGhlIGJyaWRpICcnYmFuZ3UgbWknJy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEg c3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBi ZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2Fu IHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBzdSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMg dGhlIGJyaWRpIGEgbmV3IHgxLCB0aGUgYWJzdHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4g ZXh0cmFjdHMgdGhhdC4gVGhhdCBtYWtlcyBhbiBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNv bWV0aGluZyBsaWtlIOKAnHRoYXQgc29tZXRoaW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIg JydiZScnLiAnJ2JlJycgaXMgYSB3b3JkIHdoaWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBz dW10Y2l0YSBhbmQgb3RoZXJzKSB0byBhIHNlbGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2Vs YnJpIGhhcyBubyBlZmZlY3Q6IGluICcnbWkgbmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2Vz IG5vdGhpbmcuIEhvd2V2ZXIsIHdoZW4gYSBzdW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlz IHdheSwgeW91IGNhbiB1c2UgYSBnYWRyaSBvbiB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRp IHNwbGl0dGluZyBvZmY6ICcnbGUgYmFuZ3UgYmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24g dG8gdGhlIHByb2JsZW0gYWJvdmUuIExpa2V3aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRh OiAnJ2xlIG51IGRhcnhpIGtlaSBiZSBnYXUgZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcs IHdoaWNoIGlzIGNhdXNlZCBieSB5b3XigJ0uIE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJz ZW5jZSBvZiAnJ2tlaScnIG1ha2VzIGl0IHBhcnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdv cm1hJ28gcHJlc2VudCwgJydiZScnIGF0dGFjaGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEn b3JtYSdvLCBpdCBhdHRhY2hlcyB0byAnJ2RhcnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBi ZWluZyBlbXBoYXNpc2VkOiBJcyB0aGUgaGl0dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcg Y2F1c2VkIGJ5IHlvdT8gSW4gdGhpcyBzcGVjaWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0 IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJh bCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBh cHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8g Tm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcn bGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwg d2hpY2ggbWFrZXMgbm8gc2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRv IGEgc2VsYnJpLCB0aGUgYWxsIHRoZSBvbmVzIGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBi b3VuZCB3aXRoICcnYmVpJycuIFRoZSDigJxiaW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdp dGggJydiZSdvJycgLSBvbmUgaW5zdGFuY2Ugb2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdo aWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19f IGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBz ZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkK Cl9fJydiZSdvJydfXyBlbmRzIGJpbmRpbmcgdG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5 cyB0byBsb29zZWx5IGFzc29jaWF0ZSBhIHN1bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAn J25lJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFj dHVhbGx5LCAnJ2xlIGJhbmd1IHBlIG1pJycgaXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCc bXkgbGFuZ3VhZ2XigJ0sIHNpbmNlIHRoaXMgcGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2 YWd1ZSBhcyB0byBob3cgdGhlIHR3byBhcmUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgon J3BlJycgYW5kICcnbmUnJyBhcmUgdXNlZCBhcyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtl IHNheWluZyDigJxteSBjaGFpcuKAnSBhYm91dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0 J3Mgbm90IHJlYWxseSB5b3VycywgYnV0IGhhcyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEg bW9yZSBpbnRpbWF0ZSBjb25uZWN0aW9uIGNhbiBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywg d2hpY2ggbWFrZXMgdGhlIGFzc29jaWF0aW9uIHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNv biwgYXMgaW4g4oCcbXkgY2Fy4oCdIGZvciBhIGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRo ZSBsYXN0IGtpbmQgb2YgYXNzb2NpYXRvciBpcyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1j YWxsZWQgImluYWxpZW5hYmxlIiBib25kIGJldHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUg Ym9uZCBpcyBpbm5hdGUgYmV0d2VlbiB0aGUgdHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxk IGJlICJteSBtb3RoZXIiLCAibXkgYXJtIiBvciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0 aGVzZSAicG9zc2VzaW9ucyIgY2FuIGJlIGxvc3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBh cm0sIGl0J3Mgc3RpbGwgX195b3VyX18gYXJtKSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFi bGUuIEFsbW9zdCBhbGwgb2YgdGhlIHRpbWVzIGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRo b3VnaCwgdGhlIHgyIG9mIHRoZSBzZWxicmkgY29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUg eDEgaXMgY29ubmVjdGVkLCBzbyAnJ2JlJycgaXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVz dHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoK X18nJ3BlJydfXyByZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lh dGVkIHdpdGguLi4iCgpfXycncG8nJ19fIHBvc3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGlj aCBpcyBzcGVjaWZpYyB0by4uLiIKCl9fJydwbydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBw aHJhc2UuICJ3aGljaCBiZWxvbmdzIHRvLi4uIgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0 byBrbm93IGlzICcne2dhZHJpfSB7c3VtdGl9IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVu dCB0byAnJ3tnYWRyaX0ge3NlbGJyaX0gcGUgIHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUg bWkgZ2Vya3UnJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxk IGhhdmUgZGVzY3JpcHRpb24gc3VtdGkgaW5zaWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcg JydsZSBsZSBzZSBjaW5qaWtjYSBiZSBtaSBrdSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUg c2UgY2luamlrY2EgYmUgbWknJyA94oCcdGhlIGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3 aXRo4oCdLCBidXQgdGhhdCdzIG5vdCB2ZXJ5IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFu ZCB3aGVuIHNwb2tlbiksIGFuZCBpcyBvZnRlbiBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBh bHNvIHRvIGxlYXJuICcndHUnYScnLCBzaW5jZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVu Y2VzIG11Y2ggZWFzaWVyLiBJdCB0YWtlcyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90 aGVyIHN1bXRpIC0gYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5n IHRvIGRvIHdpdGggdGhlIGZpcnN0IHN1bXRpLiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydt aSBkamljYSBsbyBudSBtaSBjaXRrYSBsbyBwbGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1 cCB0byBjb250ZXh0IHdoYXQgYWJzdHJhY3Rpb24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFu ZCBqdXN0IHNheSAnJ21pIGRqaWNhIHR1J2EgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8g Z3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUgc3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEkn Jywgc28gaXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0 byBndWVzcy4gQW5vdGhlciBleGFtcGxlOgoKX18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5n cyBhYm91dCB4MiAodm9saXRpb24gbm90IGltcGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUn YSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29t ZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R1J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcn bGUgc3UndSBTVU1USSBjbydlJycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0 aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVzZSAnJ3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQg c2VlbSBzdWl0YWJsZS4gVGhlc2Ugc2l0dWF0aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhl IHJlc3VsdGluZyBzdW10aSB0byBiZSBhbiBhYnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3Vt dGkuIEluIHRoaXMgY2FzZSwgb25lIGNhbiB1c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18g Y29udmVydCBzdW10aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBF cXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9u ZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBv ZiB0aGUgY2xhc3MgTEFoRS4KCl9fJydsdSdhJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9t YXNzL3NlcXVlbmNlL3NldCB0byBpbmRpdmlkdWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQg aW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAt IENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1 J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVl bmNlOyB0aGUgb3JkZXIgaXMgbm90IHN0YXRlZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMg c3RyYWlnaHQtZm9yd2FyZGx5OiBQbGFjaW5nIHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0 YWluIHR5cGUgbWFrZXMgYSBuZXcgc3VtdGkgb2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gs IHRoYXQgYXMgYSBmb3VydGgga2luZCBvZiBzdW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRy b2R1Y2VkLiBUaGlzIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMg b3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21w bGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3 ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkg Ynkgb25seSBtZW50aW9uaW5nIHNvbWV0aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYg b25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3Vt dGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGlj aCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2Ug U1VNVEkgQScnIHJlZmVycyB0byBzdW10aSBCLiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBs YSdlIGRpJ3UnJyBmb3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkg bmVsY2kgZGkndScnIHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRl bmNlIikgb3Ig4oCYJ2xhJ2UgbGUgY21hbHUgbm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBM aXR0bGUgUHJpbmNl4oCdLCBhbmQgbm90IHNvbWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUg Y21hdm8g4oCYJ2x1J2UnJyBkb2VzIHRoZSBleGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1U SScnIHJlZmVycyB0byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycn bGEnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1 bXRpIEEgZnJvbSBhIHN1bXRpIEIgd2hpY2ggcmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g 4oCcdGhlIHRoaW5nIHJlZmVycmluZyB0b+KAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEg c3VtdGkgQSwgd2hlbiBCIHJlZmVycyB0byBBLgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVl IHRvIHRoZSBpbXByYWN0aWNhbGx5IGxhcmdlIHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNl Y29uZCBhbmQgdGhpcmQgaW5zdGFsbG1lbnQgY2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRl ZCB0byAoKHdhdmVsZXNzb25zY29udGludWVkcDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNz b25zY29udGludWVkcDN8dGhlIGxhdHRlcikpLiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5n IG9uICJ0aGUgZm9ybWVyIiBvciAidGhlIGxhdHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlu bGVzc2x5LgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cldpa2luZXVyb3RpYyBtYWlsaW5nIGxpc3QKV2lraW5ldXJvdGljQGxvamJhbi5vcmcKaHR0cDov L21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2luZXVyb3RpYwo=