Received: from localhost ([::1]:41141 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UxFNw-0008PQ-Gf; Thu, 11 Jul 2013 04:50:08 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:37374 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UxFNm-0008PD-Mc for wikichanges@lojban.org; Thu, 11 Jul 2013 04:50:06 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Thu, 11 Jul 2013 04:49:58 -0700 From: "Apache" Date: Thu, 11 Jul 2013 04:49:58 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by Volatile at 13:49 CEST Comment: "a elliptical" -> "an elliptical" 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: wikipedia.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by Volatile X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgVm9sYXRpbGUgYXQg MTM6NDkgQ0VTVApDb21tZW50OiAiYSBlbGxpcHRpY2FsIiAtPiAiYW4gZWxsaXB0aWNhbCIKCllv dSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cu bG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkCgpZb3UgY2FuIHZpZXcgYSBkaWZm IGJhY2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0 dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxl c3NvbnNjb250aW51ZWQmY29tcGFyZT0xJm9sZHZlcj03OSZuZXd2ZXI9ODAKCgoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hh bmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUg Y3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDkxMi05MTYgY2hhbmdl ZCB0byArTGluZXM6IDkxMi05MTYgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlz dHx8CgotIE5vdGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBn ZW5lcmljIGdhZHJpLiBIb3dldmVyLCB0aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRy aSB3ZXJlIGNoYW5nZWQgaW4gbGF0ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVz IG9uIHRoaXMgdG9waWMsIG5pY2tlZCB4b3JsbyBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5v dywgJydsbycnIGlzIGdlbmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNh bCBkaWdpdCAobGVzc29uIG5pbmV0ZWVuKS4KKyBOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3 b3JkICcneG8nZScnIGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFu ZCBkZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRo ZSBjdXJyZW50IHNldCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQgeG9ybG8gaGFzIHJl cGxhY2VkIHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydlJycg aXMgdXNlZCBhcyBhbiBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoKCgoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZlIExl c3NvbnMgQ29udGludWVkOgoKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJp b3VzIGxvamJhbmlzdHMuIEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcg MjAxMy4KCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHplcm86IEZvcmV3b3JkCgpUaGVz ZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUgR29vZ2xlIFdhdmUgTGVz c29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmliYWNyLCB4YWxibywgYW5k IG90aGVycywgb3JpZ2luYWxseSB0cmFuc2NyaWJlZCwgY29sbGF0ZWQsIGFuZCByZXNjdWVkIGZy b20gb2JsaXZpb24gYnkgTWFyZW56LCB3aGljaCBzYWRseSBvbmx5IGNvdmVyZWQgdGhlIGZpcnN0 IGZvdXIgY2hhcHRlcnMgaW4gdGhpcyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50cyB0aGUgbmV3ZXN0 IHJ1bGVzIG9mIExvamJhbiBub3QgY292ZXJlZCBieSBvbGRlciBtYXRlcmlhbHMgc3VjaCBhcyBX aGF0IGlzIExvamJhbj8gYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzLgoKCgpJZiB5b3UgYXJlIG5l dyB0byBMb2piYW4sIEkgcmVjb21tZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3JkaW5ncyB5b3Ug Y2FuIGZpbmQgb2Ygc3Bva2VuIExvamJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUgeW91IGFyZSB0 YWtpbmcgdGhpcyB0dXRvcmlhbCwgaW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBmYW1pbGlhciB3 aXRoIHRoZSBzb3VuZHMgYW5kIHdvcmRzIG9mIHRoZSBsYW5ndWFnZX50Y34sIHdoaWNoIHdpbGwg bm90IGJlIGV4cGxhaW5lZCBoZXJlfi90Y34uIEZ1cnRoZXJtb3JlLCB0cnkgdG8gc2F5IHRoZSB0 aGluZ3MgeW91IHJlYWQgaW4gTG9qYmFuIGFjY2VudCBpZiBpdCdzIHJlYXNvbmFibHkgcHJhY3Rp Y2FsLiBUaGlzIGNhbiBoZWxwIHlvdXIgcHJvbnVuY2lhdGlvbiBhIGxvdC4KCgoKV2hlbiB0YWtp bmcgdGhpcyB0dXRvcmlhbCwgaXQncyBiZXN0IHRvIHBhdXNlIGJldHdlZW4gbGVzc29ucyBpbiBv cmRlciB0byBpbnRlcm5hbGl6ZSB3aGF0IHlvdSBoYXZlIGxlYXJudC4gSSBoYXZlIGF0dGVtcHRl ZCB0byBidWlsZCB0aGVzZSBsZXNzb25zIGZyb20gdGhlIGJvdHRvbSB1cCBhbmQgZXhjbHVkZSBh bnkgd29yZHMgb3IgY29uY2VwdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGV4cGxhaW5lZCBpbiBwcmV2 aW91cyBsZXNzb25zLiBPbmNlIGV4cGxhaW5lZCwgdGhleSBhcmUgdXNlZCBmcmVlbHkgdGhyb3Vn aG91dCB0aGUgcmVtYWluZGVyIG9mIHRoZSB0dXRvcmlhbC4gSSB1cmdlIHJlYWRlcnMgbm90IHRv IHBhc3MgYW55IG1pc3VuZGVyc3Rvb2QgY29udGVudDsgaWYgeW91IGhhdmUgcXVlc3Rpb25zIG9y IGFyZSB1bmNlcnRhaW4gYWJvdXQgc29tZXRoaW5nLCBmZWVsIGZyZWUgdG8gYXNrIHRoZSBMb2pi YW4gY29tbXVuaXR5LCB3aGljaCBjYW4gYmUgZm91bmQgaW4gI2xvamJhbiBvbiB0aGUgRnJlZW5v ZGUgSVJDIG5ldHdvcmsuIFRoZXkgd2lsbCBiZSBoYXBweSB0byBoZWxwLgoKCgpJbiB0aGlzIHR1 dG9yaWFsLCBMb2piYW4gdGV4dCBpcyB3cml0dGVuIGluICcnaXRhbGljcycnLiBMYXRlciwgd2hl biB1c2VkIGFzIExvamJhbiBsb2Fud29yZHMgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHRoZXkgYXJl IG5vdCBtYXJrZWQuIEFuc3dlcnMgdG8gZXhlcmNpc2VzIGFyZSBkaXNwbGF5ZWQgYXMgYSBncmV5 IGJhci4gSGlnaGxpZ2h0IHRoZSB0ZXh0IGluIG9yZGVyIHRvIHNlZSBpdC4KCgoKTGFzdGx5LCBJ IGhhdmUgYXMgZmFyIGFzIHBvc3NpYmxlIGF0dGVtcHRlZCB0byB1c2UgdGhlIExvamJhbiB3b3Jk cyBmb3IgZ3JhbW1hdGljYWwgY29uc3RydWN0czogJydzdW1rYSdpJycgaW5zdGVhZCBvZiBwcm8t c3VtdGksICcnc3VtdGNpdGEnJyBpbnN0ZWFkIG9mIG1vZGFsIGFuZCAnJ2p1ZnJhJycgaW5zdGVh ZCBvZiB1dHRlcmFuY2UuIFRoaXMgaXMgYmVjYXVzZSBJIGZlZWwgdGhlIEVuZ2xpc2ggd29yZHMg YXJlIG9mdGVuIGVpdGhlciBhcmJpdHJhcnksIGluIHdoaWNoIGNhc2UgdGhleSBhcmUganVzdCBt b3JlIHdvcmRzIHRvIGxlYXJuLCBvciBtaXNsZWFkaW5nLCBpbiB3aGljaCBjYXNlIHRoZXkgYXJl IHdvcnNlIHRoYW4gdXNlbGVzcy4gSW4gZWl0aGVyIGNhc2UsIGFzIGxvbmcgYXMgdGhlIHdvcmRz IGFyZSBzcGVjaWZpYyB0byB0aG9zZSB3aG8gYXJlIGxlYXJuaW5nIExvamJhbiBhbnl3YXksIHRo ZXJlIGlzIG5vIHJlYXNvbiBmb3IgdGhlbSB0byBleGlzdCBhcyBzZXBhcmF0ZSBFbmdsaXNoIHdv cmRzLgoKCgohISFQcmVmYWNlLiBTb3VuZHMKClRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBk byB3aGVuIHlvdSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMgdG8gYmVjb21lIGZhbWlsaWFy IHdpdGggdGhlIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0aGV5IGFyZSB3cml0dGVu LCBhbmQgdGhlIHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5hdGVseSwgTG9qYmFuIHNvdW5k cyAoX19waG9uZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZC4KCgoKRm9yIG1vcmUg ZGV0YWlscyBvbiB2b3dlbHMgYW5kIGNvbnNvbmFudHMgc291bmRzIHVzZWQgaW4gbG9qYmFuLCB5 b3UgY2FuIGNsaWNrIG9uIHRoZSBsZXR0ZXJzIGRlc2NyaWJlZC4gVGhleSBhcmUgcG9pbnRpbmcg dG8gd2lraXBlZGlhIGFydGljbGVzIHdoaWNoIGRlc2NyaWJlIHRoZSBzb3VuZCAnJ2FuZCB1c3Vh bGx5IGhhdmUgYW4gYXVkaW8gcmVjb3JkIG9mIGl0JycuCgoKCiEhISFWb3dlbHMKClRoZXJlIGFy ZSBzaXggdm93ZWxzIGluIExvamJhbi4KCgoKfHwnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93 aWtpL09wZW5fZnJvbnRfdW5yb3VuZGVkX3Zvd2VsfGFdJycgfGFzIGluICJmX19hX190aGVyIiAo bm90IGFzIGluICJoX19hX190IikKCicnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2xv c2UtbWlkX2Zyb250X3Vucm91bmRlZF92b3dlbHxlXScnIHxhcyBpbiAiZ19fZV9fdCIKCicnW2h0 dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2VfZnJvbnRfdW5yb3VuZGVkX3Zvd2VsfGld JycgfGFzIGluICJtYWNoX19pX19uZSIgb3IgKEl0YWxpYW4pICJ2X19pX19ubyIgKG5vdCBhcyBp biAiaF9faV9fdCIpCgonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlLW1pZF9i YWNrX3JvdW5kZWRfdm93ZWx8b10nJyB8YXMgaW4gImJfX29fX2xkIiBvciAibV9fb19fcmUiIOKA lCBub3QgYXMgaW4gInNfX29fXyIgKHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUnIHNvdW5kLikKCicn W2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2VfYmFja19yb3VuZGVkX3Zvd2VsfHVd JycgfGFzIGluICJjX19vb19fbCIgKG5vdCBhcyBpbiAiYl9fdV9fdCIpIHx8CgpUaGVzZSBhcmUg cHJldHR5IG11Y2ggdGhlIHNhbWUgYXMgdm93ZWxzIGluIEl0YWxpYW4gb3IgU3BhbmlzaC4gVGhl IHNpeHRoIHZvd2VsLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NjaHdhfHldJycs IGlzIGNhbGxlZCBhIF9fc2Nod2FfXyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9u b3VuY2VkIGxpa2UgdGhlIGZpcnN0IGFuZCBsYXN0ICJBIidzIGluICJBbWVyaWNhIiAodGhhdCdz IEVuZ2xpc2ggIkFtZXJpY2EiLCBub3QgU3BhbmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29t ZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBsZXRlbHkgcmVsYXhlZC4KClR3byB2b3dlbHMg dG9nZXRoZXIgYXJlIHByb25vdW5jZWQgYXMgb25lIHNvdW5kIChfX2RpcGh0aG9uZ19fKS4gU29t ZSBleGFtcGxlcyBhcmU6CgoKCnx8JydhaScnIHxhcyBpbiAiaF9faWdoX18iCgonJ2F1JycgfGFz IGluICJoX19vd19fIgoKJydlaScnIHxhcyBpbiAiaF9fZXlfXyIKCicnb2knJyB8YXMgaW4gImJf X295X18iCgonJ2lhJycgfGxpa2UgR2VybWFuIF9fIkphX18iCgonJ2llJycgfGxpa2UgX18ieWVh aF9fIgoKJydpdScnIHxsaWtlIF9fInlvdV9fIgoKJyd1YScnIHxhcyBpbiBfXyJ3YWFoIV9fIiwg b3IgRnJlbmNoICJxX191b2lfXyIKCicndWUnJyB8YXMgaW4gInFfX3VlX19zdGlvbiIKCicndW8n JyB8YXMgaW4gInFfX3VvX190ZSIKCicndWknJyB8bGlrZSBfXyJ3ZV9fIiwgb3IgRnJlbmNoIF9f Im91aV9fIiB8fAoKRG91YmxlIHZvd2VscyBhcmUgcmFyZS4gVGhlIG9ubHkgZXhhbXBsZXMgYXJl ICcnaWknJywgd2hpY2ggaXMgcHJvbm91bmNlZCBsaWtlIEVuZ2xpc2ggInllIiAoYXMgaW4g4oCc T2ggY29tZSBhbGwgeWUgZmFpdGhmdWzigJ0pIG9yIENoaW5lc2UgInlpIiwgYW5kICcndXUnJywg cHJvbm91bmNlZCBsaWtlICJ3b28iLgoKISEhIUNvbnNvbmFudHMKCk1vc3QgTG9qYmFuIGNvbnNv bmFudHMgYXJlIHRoZSBzYW1lIGFzIEVuZ2xpc2gsIGJ1dCB0aGVyZSBhcmUgc29tZSBleGNlcHRp b25zOgoKCgp8fFtodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF92ZWxhcl9wbG9z aXZlfGddIHxhbHdheXMgJydnJycgYXMgaW4gJydfX2dfX3VtJycsIG5ldmVyICcnZycnIGFzIGlu ICcnX19nX19lbScnCgpbaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX3Bh bGF0by1hbHZlb2xhcl9zaWJpbGFudHxjXSB8JydzaCcnLCBhcyBpbiAnJ19fc2hfX2lwJycKClto dHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9wYWxhdG8tYWx2ZW9sYXJfc2liaWxh bnR8al0gfGFzIGluICcnbWVhX19zX191cmUnJyBvciBGcmVuY2ggJydib25fX2pfX291cicnCgpb aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX3ZlbGFyX2ZyaWNhdGl2ZXx4 XSB8YXMgaW4gR2VybWFuICcnQmFfX2NoJydfXywgU3BhbmlzaCAnJ19fSl9fb3NlJycgb3IgQXJh YmljICcnX19LaF9fYWxlZCcnIHx8CgpUaGUgRW5nbGlzaCBzb3VuZHMgJydjaCcnIGFuZCAnJ2on JyBhcmUgd3JpdHRlbiBhcyB0YyBhbmQgZGouCgpMb2piYW4gZG9lc24ndCB1c2UgdGhlIGxldHRl cnMgJydIJycsICcnUScnIG9yICcnVycnLgoKCgpGb3IgY29tcHJlaGVuc2l2ZW5lc3Mgc2FrZSwg aGVyZSBpcyBhIGxpc3Qgb2YgdGhlIHJlbWFpbmluZyAoYW5kIGxlc3MgdHJpY2t5KSBsb2piYW4g Y29uc29uYW50czoKCicnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2JpbGFi aWFsX3Bsb3NpdmV8Yl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRf YWx2ZW9sYXJfcGxvc2l2ZXxkXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Zv aWNlbGVzc19sYWJpb2RlbnRhbF9mcmljYXRpdmV8Zl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9Wb2ljZWxlc3NfdmVsYXJfcGxvc2l2ZXxrXScnLCAnJ1todHRwOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL0FsdmVvbGFyX2xhdGVyYWxfYXBwcm94aW1hbnR8bF0nJywgJydbaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaWxhYmlhbF9uYXNhbHxtXScnLCAnJ1todHRwOi8v ZW4ud2lraXBlZGlhLm9yZy93aWtpL0FsdmVvbGFyX25hc2FsfG5dJycsICcnW2h0dHA6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX2JpbGFiaWFsX3Bsb3NpdmV8cF0nJywgJydbaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BbHZlb2xhcl90YXB8cl0nJywgJydbaHR0cDovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfYWx2ZW9sYXJfc2liaWxhbnQjVm9pY2VsZXNz X2FsdmVvbGFyX3NpYmlsYW50fHNdJycsICcnW2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L1ZvaWNlbGVzc19hbHZlb2xhcl9wbG9zaXZlfHRdJycsICcnW2h0dHBzOi8vZW4ud2lraXBlZGlh Lm9yZy93aWtpL1ZvaWNlZF9sYWJpb2RlbnRhbF9mcmljYXRpdmV8dl0nJywgJydbaHR0cDovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfYWx2ZW9sYXJfc2liaWxhbnQjVm9pY2VkX2FsdmVv bGFyX3NpYmlsYW50fHpdJycKCgoKISEhIVNwZWNpYWwgQ2hhcmFjdGVycwoKTG9qYmFuIGRvZXMg bm90IHJlcXVpcmUgYW55IHB1bmN0dWF0aW9uLCBidXQgc29tZSBzcGVjaWFsIGNoYXJhY3RlcnMg KG5vcm1hbGx5IHVzZWQgaW4gcHVuY3R1YXRpb24gaW4gb3RoZXIgbGFuZ3VhZ2VzKSBhZmZlY3Qg dGhlIHdheSBMb2piYW4gaXMgcHJvbm91bmNlZC4KClRoZSBvbmx5IG9uZSBvZiB0aGVzZSBjaGFy YWN0ZXJzIHdoaWNoIGlzIG9ibGlnYXRvcnkgaW4gTG9qYmFuIGlzIHRoZSBbaHR0cDovL2VuLndp a2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfZ2xvdHRhbF9mcmljYXRpdmV8YXBvc3Ryb3BoZV07 IGluIGZhY3QgdGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIG9m IExvamJhbi4gQW4gYXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZvd2VscywgcHJldmVudGluZyB0 aGVtIGZyb20gYmVpbmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMgYSBfX2RpcGh0aG9uZ19fKTsg aXQgaXMgaXRzZWxmIHByb25vdW5jZWQgbGlrZSBhbiAiaCIuIEZvciBleGFtcGxlLCAnJ3VpJycg aXMgbm9ybWFsbHkgcHJvbm91bmNlZCAid2UiLCBidXQgJyd1J2knJyBpcyAib29oZWUiJy4KCkEg ZnVsbCBzdG9wIChwZXJpb2QpIGlzIGEgc2hvcnQgcGF1c2UgdG8gc3RvcCB3b3JkcyBydW5uaW5n IGludG8gZWFjaCBvdGhlci4gVGhlIHJ1bGVzIG9mIExvamJhbiBtYWtlIGl0IGVhc2llciBmb3Ig b25lIHdvcmQgdG8gcnVuIGludG8gYW5vdGhlciB3aGVuIHRoZSBzZWNvbmQgd29yZCBiZWdpbnMg d2l0aCBhIHZvd2VsOyBzbyBhbnkgd29yZCBzdGFydGluZyB3aXRoIGEgdm93ZWwgY29udmVudGlv bmFsbHkgaGFzIGEgZnVsbCBzdG9wIHBsYWNlZCBpbiBmcm9udCBvZiBpdC4KCkNvbW1hcyBhcmUg cmFyZSBpbiBMb2piYW4sIGJ1dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1cnJp bmcgdG9nZXRoZXIgd2hlbiB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hp Y2ggd291bGQgcHV0IGEgJydoJycgYmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhhdmUg Y29tbWFzLCBidXQgdGhleSdyZSBzb21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2piYW4g bmFtZXMsIGZvciBleGFtcGxlICcnLnBpLEVSLicnICgiUGllcnJlIiksIGFzIG9wcG9zZWQgdG8g JycucGllci4nJyAoIlAteWVyciIpLCAnJy5waS5FUi4nJyAoIlBlZTsgRWhyIiksIG9yICcnLnBp J0VSLicnICgiUGloZXJyIikuCgpDYXBpdGFsIGxldHRlcnMgYXJlIG5vdCBub3JtYWxseSB1c2Vk IGluIExvamJhbi4gV2UgdXNlIHRoZW0gaW4gbm9uLUxvamJhbiB3b3JkcyAobGlrZSAiUGllcnJl Iikgd2hlbiB0aGUgc3RyZXNzIG9mIGEgd29yZCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgTG9qYmFu IG5vcm0uIFRoZSBub3JtIGlzIHRvIHB1dCB0aGUgc3RyZXNzIG9uIHRoZSBsYXN0LWJ1dC1vbmUg c3lsbGFibGU7IHNvLCBmb3IgZXhhbXBsZSwgJydrdWptaWtjZScnICJudXJzZSIgaXMgJydrdWpf X01JS19fY2UnJywgbm90ICcnX19LVUpfX21pa2NlJycuIFRoZSBuYW1lICJKdWxpZXR0ZSIgd291 bGQgYmUgd3JpdHRlbiAnJy5ESlVsaSxldC4nJyBpZiBwcm9ub3VuY2VkIGluIGFuIEVuZ2xpc2gg d2F5LCBidXQgJycuanVMSUVULicnIGlmIHByb25vdW5jZWQgYXMgaW4gRnJlbmNoLgoKISEhIUFs cGhhYmV0CgpJbiBtb3N0IGxhbmd1YWdlIHRleHRib29rcywgeW91IGdldCB0aGUgYWxwaGFiZXQg b2YgdGhlIGxhbmd1YWdlIHRvZ2V0aGVyIHdpdGggaXRzIHNvdW5kcy4gTGV0dGVycyAoJydsZXJm dScnKSB0dXJuIG91dCB0byBiZSBldmVuIG1vcmUgaW1wb3J0YW50IHRoYW4gdXN1YWwgaW4gTG9q YmFuLCBzbyB3ZSBtaWdodCBhcyB3ZWxsIGdvIHRocm91Z2ggdGhlaXIgbmFtZXMgcXVpY2tseS4K CkNvbnNvbmFudHMgYXJlIHN0cmFpZ2h0Zm9yd2FyZDogdGhlIG5hbWUgb2YgYSBjb25zb25hbnQg bGV0dGVyIGlzIHRoYXQgbGV0dGVyLCBwbHVzIHkuIFNvIHRoZSBjb25zb25hbnQgbGV0dGVycyBv ZiBMb2piYW4sICJiLCBjLCBkLCBmLCBnIC4uLiIsIGFyZSBjYWxsZWQgJydieS4sIGN5LiwgZHku LCBmeS4sIGd5LicnIC4uLiBpbiBMb2piYW4gKHVzaW5nIHRoZSBmdWxsIHN0b3AgYXMgd2UndmUg anVzdCBkZXNjcmliZWQuKQoKVm93ZWxzIF9fd291bGRfXyBiZSBjYWxsZWQgJycuYXksIC5leSwg Lml5JycsIGJ1dCB0aGF0IHdvdWxkIGJlIHJhdGhlciBkaWZmaWN1bHQgdG8gcHJvbm91bmNlLiBJ bnN0ZWFkLCB0aGV5IGFyZSBoYW5kbGVkIGJ5IGZvbGxvd2luZyB0aGUgdm93ZWwgc291bmQgd2l0 aCB0aGUgd29yZCAnJ2J1JycsIHdoaWNoIGJhc2ljYWxseSBtZWFucyAnbGV0dGVyJy4gU28gdGhl IHZvd2VscyBvZiBMb2piYW4gYXJlOiAnJy5hYnUsIC5lYnUsIC5pYnUsIC5vYnUsIC51YnUsIHli dS4nJwoKVGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIGluIExv amJhbiwgYW5kIGlzIGNhbGxlZCAnJy55J3kuJycgLiBUbyBzb21lIHBlb3BsZSwgdGhpcyBzb3Vu ZHMgbGlrZSBhIGNvdWdoOyB0byBvdGhlciwgbGlrZSAidWgtaHVoIiAod2hlbiBpdCBtZWFucyAn WWVzJyByYXRoZXIgdGhhbiAnTm8nLikKCkxvamJhbiBoYXMgd2F5cyBvZiByZWZlcmluZyB0byBt b3N0IGxldHRlcnMgeW91IGNhbiB0aGluayBvZi4gSWYgeW91IGhhdmUgdGhlIHVyZ2UgdG8gc3Bl bGwgb3V0IHlvdXIgbmFtZSBpbiBMb2piYW4gYW5kIGhhdmUgYW4gIkgiLCAiUSIsIG9yICJXIiB0 byBkZWFsIHdpdGgsIHlvdSBjYW4gdXNlICcnLnkneS5idSwga3kuYnUnJyBhbmQgJyd2eS5idScn LiBTbyAiU2Nod2FyemVuZWdnZXIiIGlzIHNwZWx0IGluIExvamJhbiBhczoKCicnc3kuIGN5LiAu eSd5YnUgdnlidS4gLmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5Licn CgpBbmQgc3BlbGxpbmcgInRoYXQiIGlzIGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhl IFRlcm1pbmF0b3IgZXZlciBkaWQhCgoKCk5vdyBzcGVsbCB5b3VyIG5hbWUgaW4gTG9qYmFuIChv ciBhdCBsZWFzdCBzb21ldGhpbmcgY2xvc2UgZW5vdWdoIHRvIGl0IHRvIHVzZSB0aGUgdHdlbnR5 LXNpeCBsZXR0ZXJzIG9mIEVuZ2xpc2ggd2UgaGF2ZSBsZWFybmVkLCBhbmQgdGhlIGFwb3N0cm9w aGUpLgoKCgohISEhICdDb3JyZWN0JyBwcm9udW5jaWF0aW9uCgpZb3UgZG9uJ3QgaGF2ZSB0byBi ZSB2ZXJ5IHByZWNpc2UgYWJvdXQgTG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2UgdGhlIHBo b25lbWVzIGFyZSBkaXN0cmlidXRlZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFrZSBvbmUg c291bmQgZm9yIGFub3RoZXIuIFRoaXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUgJ2NvcnJl Y3QnIHByb251bmNpYXRpb24sIHRoZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBwcm9udW5j aWF0aW9u4oCUdGhlIGdlbmVyYWwgcHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMgT0sgc28g bG9uZyBhcyBpdCBkb2Vzbid0IHNvdW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVsc2UuIEZv ciBleGFtcGxlLCBMb2piYW4gciBjYW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAiciIgaW4gRW5n bGlzaCwgU2NvdHRpc2ggb3IgRnJlbmNoLgoKVHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0 aG91Z2gsIGFyZSBwcm9ub3VuY2luZyBMb2piYW4gJydpJycgYW5kICcndScnIGxpa2UgU3RhbmRh cmQgQnJpdGlzaCBFbmdsaXNoICJoaXQiIGFuZCAiYnV0IiAoTm9ydGhlcm4gRW5nbGlzaCAiYnV0 IiBpcyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxh cmx5IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUg d2hvIGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2Js ZW1zIHNwaXR0aW5nIG91dCB0aGUgJyd6ZCcnIGluICcnemRhbmknJyAoaG91c2UpLCB5b3UgY2Fu IHNheSB6yapkYW5p4oCUd2hlcmUgdGhlICLJqiIgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5h bCAiaSIgaGFzIHRvIGJlIGxvbmcuCgohISEhTG9qYmFuIE5hbWVzIChjbWV2bGEpCgpXYXRjaCBh bnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRo ZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSDigJxNZSBUYXJ6YW4s4oCdIHdoaWNoIGlz IGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBTbyBoZXJl IHdlIGdvLgoKX18nJ21pJ2UgLnJvYmluLicnX18KCiJJLWFtLW5hbWVkIFJvYmluIgoKIkknbSBS b2JpbiIKCicnbWknZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScg YW5kIHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRp bmcgdHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICJtZSBoZWgiLgoKVGhpcyBndXkg Um9iaW4gaXMgbHVja3kgYmVjYXVzZSBoaXMgbmFtZSBnb2VzIGRpcmVjdGx5IGludG8gTG9qYmFu IHdpdGhvdXQgYW55IGNoYW5nZXMuIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHJ1bGVzIGZvciBM b2piYW4gbmFtZXMgd2hpY2ggbWVhbiB0aGF0IHNvbWUgbmFtZXMgaGF2ZSB0byBiZSAnTG9qYmFu aXNlZCcuIFRoaXMgbWF5IHNvdW5kIHN0cmFuZ2XigJRhZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5h bWXigJRidXQgaW4gZmFjdCBhbGwgbGFuZ3VhZ2VzIGRvIHRoaXMgdG8gc29tZSBleHRlbnQuIEZv ciBleGFtcGxlLCBFbmdsaXNoIHNwZWFrZXJzIHRlbmQgdG8gcHJvbm91bmNlICJKb3NlIiBzb21l dGhpbmcgbGlrZSAiSG96YXkiLCBhbmQgIk1hcmdhcmV0IiBpbiBDaGluZXNlIGlzICJNYWdlbGl0 YSIuIFNvbWUgc291bmRzIGp1c3QgZG9uJ3QgZXhpc3QgaW4gc29tZSBsYW5ndWFnZXMsIHNvIHRo ZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyBpcyByZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQg aXQgb25seSBjb250YWlucyBMb2piYW4gc291bmRzLCBhbmQgaXMgc3BlbHQgaW4gYSBMb2piYW4g d2F5LgoKX19Ob3RlOiBfX1RoZSBjYXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNpb24gb2YgdGhlIHNv dW5kcyB3aWxsIHlvdSBiZSB1c2luZz8gRm9yIEVuZ2xpc2ggaW4gcGFydGljdWxhciwgQnJpdGlz aCBhbmQgQW1lcmljYW4gdm93ZWxzIGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQuIFRoZSBCcml0aXNo IHZlcnNpb24gb2YgIlJvYmluIiBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAnJy5yb2Jp bi4nJzsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byAnJy5yYWJ5bi4nJyBv ciAnJy5yYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVyZSBpcyBh bHNvIGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRoZSB0cmFu c2xpdGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0J3MgdGFr ZSB0aGUgRW5nbGlzaCBuYW1lICJTdXNhbiIuIFRoZSB0d28gJydzJycncyBhcmUgcHJvbm91bmNl ZCBkaWZmZXJlbnRseeKAlHRoZSBzZWNvbmQgb25lIGlzIGFjdHVhbGx5IGEgInoi4oCUYW5kIHRo ZSAiYSIgaXMgbm90IHJlYWxseSBhbiAiYSIgc291bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVz dCBtZW50aW9uZWQuIFNvICJTdXNhbiIgY29tZXMgb3V0IGluIExvamJhbiBhcyAnJy5zdXp5bi4n Jy4KCllvdSBtYXkgaGF2ZSBub3RpY2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0 aGVyZS4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3Ug bWlnaHQgbm90IGtub3cgd2hlcmUgdGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0 IHdvcmQgYmVnYW4uCgoKCllvdSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2Vl biBhIHBlcnNvbidzIGZpcnN0IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVs c29yeSksIHNvICJKaW0gSm9uZXMiIGJlY29tZXMgJycuZGppbS5kam9uei4nJy4KCkFuIGltcG9y dGFudCBydWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBv ZiBhIGNtZXZsYSAoTG9qYmFuIG5hbWUpIG11c3QgYmUgYSBjb25zb25hbnQuIEFnYWluLCB0aGlz IGlzIHRvIHByZXZlbnQgY29uZnVzaW9uIGFzIHRvIHdoZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hh dCBpcyBhbmQgaXMgbm90IGEgbmFtZSAoYWxsIG90aGVyIExvamJhbiB3b3JkcyBlbmQgaW4gYSB2 b3dlbCkuIFdlIHVzdWFsbHkgdXNlICcncycnIGZvciB0aGlzOyBzbyBpbiBMb2piYW4sICJNYXJ5 IiBiZWNvbWVzICcnLm1lcmlzLicnICwgIkpvZSIgYmVjb21lcyAnJy5kam9zLicnIGFuZCBzbyBv bi4gQW4gYWx0ZXJuYXRpdmUgaXMgdG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBzbyAiTWFy eSIgd291bGQgYmVjb21lICcnLm1lci4nJyBvciAnJy5tZWlyLicnLgoKCgpUaGUgZmluYWwgcG9p bnQgaXMgc3RyZXNzLiBBcyB3ZSd2ZSBzZWVuLCBMb2piYW4gd29yZHMgYXJlIHN0cmVzc2VkIG9u IHRoZSBwZW51bHRpbWF0ZSBzeWxsYWJsZSwgYW5kIGlmIGEgbmFtZSBoYXMgZGlmZmVyZW50IHN0 cmVzcywgd2UgdXNlIGNhcGl0YWwgbGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IHRoZSBFbmdsaXNo IGFuZCBGcmVuY2ggbmFtZXMgIlJvYmVydCIgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4gTG9qYmFu OiB0aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9yICcnLnJh YixydC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBpcyAnJy5y b0JFUi4nJy4KClRvIGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJl IHNvbWUgbmFtZXMgb2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGlu IExvamJhbi4KCgoKfHxfX0VuZ2xpc2hfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfCcnLm1hZ3J5dC50 YXRjeXIuJycgKG5vICJ0aCIgaW4gTG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRo ZSB3b3JsZCBjYW4ndCBzYXkgaXQhKQoKTWljayBKYWdnZXIgfCcnLm1pay5kamFneXMuJycgfHwK Cnx8X19GcmVuY2hfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwnJy5uYXBvbGUsT04uYm9uYVBBUlQu JycKCkp1bGlldHRlIEJpbm9jaGUgfCcnLmp1TElFVC5iaW5PQy4nJyB8fAoKfHxfX0NoaW5lc2Vf XwoKTGFvemkgfCcnLmxhdWR6LicnCgpNYW8gWmVkb25nIHwnJy5tYXVkenlEWU4uJycgKEZpbmFs ICcnbmcnJyBpcyBpbiBMb2piYW4gY29udmVudGlvbmFsbHkgdHVybmVkIGludG8gbi4pIHx8Cgp8 fF9fVHVya2lzaF9fCgpNdXN0YWZhIEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4nJwoKRXJraW4g S29yYXkgfCcnLmVya2luLmtvcmFpcy4nJyB8fAoKfHxfX0dlcm1hbl9fCgpGcmllZHJpY2ggTmll dHpzY2hlIHwnJy5mcmlkcml4Lm5pdGN5cy4nJwoKQ2xhcmEgU2NodW1hbm4gfCcnLmtsYXJhcy5j dW1hbi4nJyB8fAoKfHxfX1NwYW5pc2hfXwoKSXNhYmVsIEFsbGVuZGUgfCcnLml6YUJFTC5haWVu ZGVzLicnCgpDaGUgR3VldmFyYSB8JycudGNlZ2V2YXJhcy4nJyB8fAoKX19FeGVyY2lzZV9fLgoK V2hlcmUgYXJlIHRoZXNlIHBsYWNlcz8KCiMubnUsSU9SSy4KCiMucm9tYXMuCgojLnhhdmFuYXMu CgojLmthcmRpZi4KCiMuYmVpZGppbi4KCiMuQU5rYXJhcy4KCiMuQUxiZWtlcmtpcy4KCiMudmFu a3V2ZXIuCgojLmtlaXB0YXVuLgoKIy50YWliZWlzLgoKIy5ib24uCgojLmRlbGlzLgoKIy5uaXMu CgojLmF0aW5hcy4KCiMubGlkei4KCiMueGVsc2lua2lzLgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6 fn4KCiN+fmdyYXksZ3JheTpOZXcgWW9yazogVVNBfn4KCiN+fmdyYXksZ3JheTpSb21lOiBJdGFs eX5+Cgojfn5ncmF5LGdyYXk6SGF2YW5hOiBDdWJhfn4KCiN+fmdyYXksZ3JheTpDYXJkaWZmOiBX YWxlcyAoVGhlIFdlbHNoIGZvciAiQ2FyZGlmZiIgaXMgIkNhZXJkeWRkIiwgd2hpY2ggd291bGQg TG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQuLil+fgoKI35+Z3JheSxncmF5OkJl aWppbmc6IENoaW5hfn4KCiN+fmdyYXksZ3JheTpBbmthcmE6IFR1cmtleX5+Cgojfn5ncmF5LGdy YXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28sIFVTQX5+Cgojfn5ncmF5LGdyYXk6VmFuY291dmVy OiBDYW5hZGF+fgoKI35+Z3JheSxncmF5OkNhcGUgVG93bjogU291dGggQWZyaWNhfn4KCiN+fmdy YXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHks IHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBt ZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4KCiN+fmdyYXksZ3JheTpCb25uOiBH ZXJtYW55fn4KCiN+fmdyYXksZ3JheTpEZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3IgIkRlbGhp IiBpcyAiRGlsbMOuIiwgd2hpY2ggd291bGQgZ2l2ZSBkaWxpeXMuIG9yIGRpbGknaXMuLil+fgoK I35+Z3JheSxncmF5Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdyYXk6QXRoZW5zOiBHcmVlY2Ug KCJBdGhpbmEiIGluIEdyZWVrKX5+Cgojfn5ncmF5LGdyYXk6TGVlZHM6IEVuZ2xhbmR+fgoKI35+ Z3JheSxncmF5OkhlbHNpbmtpOiBGaW5sYW5kfn4KCl9fRXhlcmNpc2VfXy4KCkxvamJhbmlzZSB0 aGUgZm9sbG93aW5nIG5hbWVzCgojSm9obgoKI01lbGlzc2EKCiNBbWFuZGEKCiNNYXR0aGV3Cgoj TWljaGFlbAoKI0RhdmlkIEJvd2llCgojSmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJl CgojU2lnb3VybmV5IFdlYXZlcgoKI1JpY2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoK I1Rva3lvCgojU2FuIFNhbHZhZG9yCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTpUaGVyZSBhcmUgdXN1 YWxseSBhbHRlcm5hdGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9w bGUgcHJvbm91bmNlIHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4 YWN0IHNvdW5kIGRvZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2Ug YmV0d2VlbiB0d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcg YXMgZXZlcnlvbmUga25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0Ln5+Cgoj fn5ncmF5LGdyYXk6LmRqb24uIChvciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMpfn4KCiN+fmdy YXksZ3JheToubWVsaXN5cy5+fgoKI35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdhaW4sIGRlcGVu ZGluZyBvbiB5b3VyIGFjY2VudCwgdGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBpbml0aWFsIGEg bWF5IGJlIHksIGFuZCB0aGUgbWlkZGxlIGEgbWF5IGJlIGUuKX5+Cgojfn5ncmF5LGdyYXk6Lm1h dGl1cy5+fgoKI35+Z3JheSxncmF5Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVwZW5kaW5nIG9u IGhvdyB5b3Ugc2F5IGl0Ln5+Cgojfn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG9yIC5ibyxp cy4gKGJ1dCBub3QgLmJ1LGlzLiDigJQgdGhhdCdzIHRoZSBrbmlmZSl+fgoKI35+Z3JheSxncmF5 Oi5kamVpbi5vc3Rpbi5+fgoKI35+Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+fgoKI35+Z3Jh eSxncmF5Oi5zaWdvcm5pcy51aXZ5ci4gb3IgLnN5Z29ybmlzLnVpdnlyLn5+Cgojfn5ncmF5LGdy YXk6LnJpdGN5cmQubmlrc3luLn5+Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiB3aXRoIEVuZ2xp c2ggc3RyZXNzLCAuSVN0YW5idWwuIHdpdGggQW1lcmljYW4sIC5pc3RhbmJ1bC4gd2l0aCBUdXJr aXNoLiBMb2piYW5pc3RzIGdlbmVyYWxseSBwcmVmZXIgdG8gYmFzZSBjbWV2bGEgb24gbG9jYWwg cHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUufn4KCiN+fmdy YXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+Z3JheSxncmF5 Oi5zYW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+PC9odG1sPn5+Cgoh ISEhTG9qYmFuIHdvcmRzIGFzIG5hbWVzCgpCeSBub3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExv amJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRy YW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMs IG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5h dGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtp bmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFu ZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4cGVjdCB0aGUgIndhc2ljaHUiIHRvIGJlIGFi bGUgdG8gcHJvbm91bmNlIHdvcmRzIGluIExha290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhCgpM b2piYW4gd29yZHMgKGV4Y2VwdCBjbWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZb3UgY2FuIHVzZSBs b2piYW4gd29yZHMgYXMgbmFtZXMgdG9vLiBCdXQgaWYgeW91IHByZWZlciB0aGF0IHlvdXIgbmFt ZSBpcyBhIGNtZXZsYSBhbmQgaXQgZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91IGNhbiBlaXRoZXIg YWRkIGEgY29uc29uYW50IHRvIHRoZSBlbmQgb2YgaXQgb3IganVzdCBjaG9wIHRoZSBlbmQgdm93 ZWwgb2ZmLgoKSGVyZSBhcmUgYSBmZXcgZXhhbXBsZXMgKG9yaWdpbmFsIG5hbWUsIG1lYW5pbmcs IG5hbWUgYW5kIG5hbWUgYXMgY21ldmxhKToKCipGaXNoIOKAkyBmaW5wZSDigJMgJycuZmlucC4n JwoKKkJqw7ZybiAoU2NhbmRpbmF2aWFuID0gYmVhcikg4oCTIGNyaWJlIOKAkyAnJy5jcmliLicn CgoqR3JlZW4g4oCTIGNyaW5vIOKAkyAnJy5jcmluLicnCgoqTWVpIExpIChDaGluZXNlID0gYmVh dXRpZnVsKSDigJMgbWVsYmkg4oCTICcnLm1lbGIuJycKCipBeWhhbiAoVHVya2lzaCA9IE1vb24g TG9yZCkg4oCTIGx1bnJhIG5vYmxpICg9IGx1cm5vYmxpKSDigJMgJycubHVybm9ibGlzLicnCgoK CiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBvbmUgKGJyaWRpLCBqdWZyYSwgc3VtdGkgYW5k IHNlbGJyaSkKCkEgJydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRyYWwgdW5pdCBvZiBMb2piYW4g dXR0ZXJhbmNlcy4gVGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0byB3aGF0IHdlIGNhbGwgYSBw cm9wb3NpdGlvbiBpbiBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xhaW0gdGhhdCBzb21lIG9iamVj dHMgc3RhbmQgaW4gYSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBvciB0aGF0IGFuIG9iamVjdCBo YXMgc29tZSBwcm9wZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gJydqdWZyYScnLCB3 aGljaCBhcmUgbWVyZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGljaCBjYW4gYmUgYnJpZGkgb3Ig YW55dGhpbmcgZWxzZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYnJpZGkg YW5kIGEganVmcmEgaXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5lY2Vzc2FyaWx5IHN0YXRlIGFu eXRoaW5nLCB3aGlsZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJpZGkgbWlnaHQgYmUgdHJ1ZSBv ciBmYWxzZSwgd2hpbGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2FpZCB0byBiZSBzdWNoLgoKVG8g aGF2ZSBzb21lIGV4YW1wbGVzIChpbiBFbmdsaXNoLCB0byBiZWdpbiB3aXRoKSwg4oCcTW96YXJ0 IHdhcyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWXigJ0gaXMgYSBicmlkaSwgYmVj YXVzZSBpdCBtYWtlcyBhIGNsYWltIHdpdGggYSB0cnV0aCB2YWx1ZSwgYW5kIGl0IGludm9sdmVz IGFuIG9iamVjdCwgTW96YXJ0LCBhbmQgYSBwcm9wZXJ0eSwgYmVpbmcgdGhlIGdyZWF0ZXN0IG11 c2ljaWFuIG9mIGFsbCB0aW1lLiBPbiB0aGUgY29udHJhcnksIOKAnE93ISBNeSB0b2Uh4oCdIGlz IG5vdCBhIGJyaWRpLCBzaW5jZSBpdCBkb2VzIG5vdCBpbnZvbHZlIGEgcmVsYXRpb24sIGFuZCB0 aHVzIGRvZXMgbm90IHN0YXRlIGFueXRoaW5nLiBCb3RoLCB0aG91Z2gsIGFyZSBqdWZyYS4KClRy eSB0byBpZGVudGlmeSB0aGUgYnJpZGkgYW1vbmcgdGhlc2UgRW5nbGlzaCBqdWZyYToKCgoKIyDi gJxJIGhhdGUgaXQgd2hlbiB5b3UgZG8gdGhhdC7igJ0KCiMg4oCcUnVucy7igJ0KCiMg4oCcV29h aCwgdGhhdCBsb29rcyBkZWxpY2lvdXMh4oCdCgojIOKAnEdlZXosIG5vdCBhZ2Fpbi7igJ0KCiMg 4oCcTm8sIEkgb3duIHRocmVlIGNhcnPigJ0KCiMg4oCcTmluZXRlZW4gbWludXRlcyBwYXN0IGVp Z2h0LuKAnQoKIyDigJxUaGlzIFNhdHVyZGF5LCB5ZXMu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6MSwgMyBhbmQgNSBhcmUgYnJpZGkuIDIgY29udGFpbnMgbm8gb2JqZWN0cyBhbmQgdGhlIHJl c3QgY29udGFpbiBubyByZWxhdGlvbiBvciBjbGFpbSBvZiBhIHByb3BlcnR5Ln5+CgoKClB1dCBp biBMb2piYW4gdGVybXMsIGEgYnJpZGkgY29uc2lzdHMgb2Ygb25lICcnc2VsYnJpJycsIGFuZCBv bmUgb3IgbW9yZSAnJ3N1bXRpJycuIFRoZSBzZWxicmkgaXMgdGhlIHJlbGF0aW9uIG9yIGNsYWlt IGFib3V0IHRoZSBvYmplY3QsIGFuZCB0aGUgc3VtdGkgYXJlIHRoZSBvYmplY3RzIHdoaWNoIGFy ZSBpbiBhIHJlbGF0aW9uLiBOb3RlIHRoYXQg4oCcb2JqZWN04oCdIGlzIG5vdCBhIHBlcmZlY3Qg dHJhbnNsYXRpb24gb2Yg4oCcc3VtdGnigJ0sIHNpbmNlIOKAnHN1bXRp4oCdIGNhbiByZWZlciB0 byBub3QganVzdCBwaHlzaWNhbCBvYmplY3RzLCBidXQgY2FuIGFsc28gcHVyZWx5IGFic3RyYWN0 IHRoaW5ncyBsaWtlIOKAnFRoZSBpZGVhIG9mIHdhcmZhcmXigJ0uIEEgYmV0dGVyIHRyYW5zbGF0 aW9uIHdvdWxkIGJlIHNvbWV0aGluZyBsaWtlIOKAnHN1YmplY3QsIGRpcmVjdCBvciBpbmRpcmVj dCBvYmplY3TigJ0gZm9yIHN1bXRpLCBhbmQg4oCcdmVyYuKAnSBmb3Igc2VsYnJpLCB0aG91Z2gs IGFzIHdlIHdpbGwgc2VlLCB0aGlzIGlzIG5vdCBvcHRpbWFsIGVpdGhlci4KCldlIGNhbiBub3cg d3JpdGUgdGhlIGZpcnN0IGltcG9ydGFudCBsZXNzb24gZG93bjoKCmJyaWRpID0gc2VsYnJpICsg b25lIG9yIG1vcmUgc3VtdGkKClB1dCBhbm90aGVyIHdheSwgYSBicmlkaSBzdGF0ZXMgdGhhdCBz b21lIHN1bXRpIGRvL2FyZSBzb21ldGhpbmcgZXhwbGFpbmVkIGJ5IGEgc2VsYnJpLgoKCgpJZGVu dGlmeSB0aGUgc3VtdGkgYW5kIHNlbGJyaSBlcXVpdmFsZW50cyBpbiB0aGVzZSBFbmdsaXNoIGp1 ZnJhOgoK4oCcSSB3aWxsIHBpY2sgdXAgbXkgZGF1Z2h0ZXJzIHdpdGggbXkgY2Fy4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxwaWNrIHVwICh3aXRoKeKAnS4gc3VtdGk6IOKA nEnigJ0sIOKAnG15IGRhdWdodGVyc+KAnSwg4oCcbXkgY2Fy4oCdfn4KCgoK4oCcSGUgYm91Z2h0 IDUgbmV3IHNoaXJ0cyBmcm9tIE1hcmsgZm9yIGp1c3QgdHdvIGh1bmRyZWQgZXVybyHigJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGJvdWdodCAoZnJvbSkgKGZvcinigJ0gc3Vt dGk6IOKAnEhl4oCdLCDigJw1IG5ldyBzaGlydHPigJ0sIOKAnE1hcmvigJ0gYW5kIOKAnHR3byBo dW5kcmVkIGV1cm9z4oCdfn4KCgoKU2luY2UgdGhlc2UgY29uY2VwdHMgYXJlIHNvIGZ1bmRhbWVu dGFsIHRvIExvamJhbiwgbGV0J3MgaGF2ZSBhIHRoaXJkIGV4YW1wbGU6IOKAnFNvIGZhciwgdGhl IEVQQSBoYXMgZG9uZSBub3RoaW5nIGFib3V0IHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRl LuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKA nSBzdW10aTog4oCcVGhlIEVQQeKAnSwg4oCcbm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBv ZiBzdWxwaHVyIGRpb3hpZGXigJ1+fgoKCgpOb3cgdHJ5IGJlZ2luIG1ha2luZyBMb2piYW4gYnJp ZGkuIEZvciB0aGlzIHlvdSB3aWxsIG5lZWQgdG8gdXNlIHNvbWUgd29yZHMsIHdoaWNoIGNhbiBh Y3QgYXMgc2VsYnJpOgoKJydfX2R1bmRhX18nJyB4MSBnaXZlcyB4MiB0byB4MyAod2l0aG91dCBw YXltZW50KQoKJydfX3BlbHh1X18nJyB4MSBpcyB5ZWxsb3cKCicnX196ZGFuaV9fJycgeDEgaXMg YSBob21lIG9mIHgyCgoKCk5vdGljZSB0aGF0IHRoZXNlIHdvcmRzIG1lYW5pbmcg4oCcZ2l2ZeKA nSwg4oCceWVsbG934oCdIGFuZCDigJxob21l4oCdIHdvdWxkIGJlIGNvbnNpZGVyZWQgYSB2ZXJi LCBhbiBhZGplY3RpdmUgYW5kIGEgbm91biBpbiBFbmdsaXNoLiBJbiBMb2piYW4sIHRoZXJlIGFy ZSBubyBzdWNoIGNhdGVnb3JpZXMgYW5kIG5vIHN1Y2ggZGlzdGluY3Rpb24uICcnZHVuZGEnJyBj YW4gYmUgdHJhbnNsYXRlZCDigJxnaXZlc+KAnSAodmVyYiksIOKAnGlzIGEgZ2l2ZXLigJ0gKG5v dW4pLCDigJxpcyBnaXZpbmfigJ0gKGFkamVjdGl2ZSkgYXMgd2VsbCBhcyB0byBhbiBhZHZlcmIg Zm9ybS4gVGhleSBhbGwgYWN0IGFzIHNlbGJyaSwgYW5kIGFyZSB1c2VkIGluIHRoZSBzYW1lIHdh eS4KCgoKQXMgd2VsbCBhcyBhIGZldyB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzdW10aToKCicn X19taV9fJycg4oCcSeKAnSBvciDigJx3ZeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJl IHNwZWFraW5nLgoKJydfX3RpX18nJyDigJx0aGlz4oCdIOKAkyBhIGNsb3NlIHRoaW5nIG9yIGV2 ZW50IG5lYXJieSB3aGljaCBjYW4gYmUgcG9pbnRlZCB0byBieSB0aGUgc3BlYWtlci4KCicnX19k b19fJycg4oCceW914oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgYmVpbmcgc3Bva2Vu IHRvLgoKCgpTZWUgdGhlIHN0cmFuZ2UgdHJhbnNsYXRpb25zIG9mIHRoZSBzZWxicmkgYWJvdmUg LSBlc3BlY2lhbGx5IHRoZSB4MSwgeDIgYW5kIHgzPyBUaG9zZSBhcmUgY2FsbGVkIHN1bXRpIHBs YWNlcy4gVGhleSBhcmUgcGxhY2VzIHdoZXJlIHN1bXRpIGNhbiBnbyB0byBmaWxsIGEgYnJpZGku IEZpbGxpbmcgYSBzdW10aSBpbiBhIHBsYWNlIHN0YXRlcyB0aGF0IHRoZSBzdW10aSBmaXRzIGlu IHRoYXQgcGxhY2UuIFRoZSBzZWNvbmQgcGxhY2Ugb2YgJydkdW5kYScnLCBmb3IgZXhhbXBsZSwg eDIsIGlzIHRoZSB0aGluZyBiZWluZyBnaXZlbi4gVGhlIHRoaXJkIGlzIHRoZSBvYmplY3Qgd2hp Y2ggcmVjZWl2ZXMgdGhlIHRoaW5nLiBOb3RpY2UgYWxzbyB0aGF0IHRoZSB0cmFuc2xhdGlvbiBv ZiAnJ2R1bmRhJycgaGFzIHRoZSB3b3JkIOKAnHRv4oCdIGluIGl0LiBUaGlzIGlzIGJlY2F1c2Us IHdoaWxlIHRoaXMgd29yZCBpcyBuZWVkZWQgaW4gRW5nbGlzaCB0byBzaWduaWZ5IHRoZSByZWNl aXZlciwgdGhlIHJlY2VpdmVyIGlzIGluIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRh JycuIFNvIHdoZW4geW91IGZpbGwgdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJywg dGhlIHN1bXRpIHlvdSBmaWxsIGluIGlzIGFsd2F5cyB0aGUgcmVjZWl2ZXIsIGFuZCB5b3UgZG9u J3QgbmVlZCBhbiBlcXVpdmFsZW50IHRvIHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBi cmlkaSwgeW91IHNpbXBseSBzYXkgdGhlIHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmks IHRoZW4gYW55IG90aGVyIHN1bXRpLgoKVXN1YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJp fV9fIHt4MiBzdW10aX0ge3gzIHN1bXRpfSB7eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBv bn0KClRoZSBvcmRlciBjYW4gYmUgcGxheWVkIGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ug c3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9ybS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKA nSB5b3UganVzdCBzYXkgJydtaSBkdW5kYSB0aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBh dCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBh IGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4K CgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3JkZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3Ry dWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlvdSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBl bHh1JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpR dWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxl IGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIgYXJlIHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0 aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2YgZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJl Zm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFmdGVyIHRoZW0uIEl0J3Mgb2Z0ZW4gbGVmdCBvdXQgYmVm b3JlIHRoZSBmaXJzdCBicmlkaSwgdGhvdWdoLCBhcyBpbiBhbGwgdGhlc2UgZXhhbXBsZXM6Cgon J19fLmlfXycnIFNlbnRlbmNlIHNlcGFyYXRvci4gU2VwYXJhdGVzIGFueSB0d28ganVmcmEgKGFu ZCB0aGVyZWZvcmUgYWxzbyBicmlkaSkuCgoKCicndGkgemRhbmkgbWkgIC5pIHRpIHBlbHh1Jycg 4oCdVGhpcyBpcyBhIGhvbWUgdG8gbWUuIFRoaXMgaXMgeWVsbG93LuKAnQoKCgpCZWZvcmUgeW91 IG1vdmUgb24gdG8gdGhlIG5leHQgbGVzc29uLCBJIHJlY29tbWVuZCB0aGF0IHlvdSB0YWtlIGEg YnJlYWsgZm9yIGF0IGxlYXN0IHNldmVuIG1pbnV0ZXMgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBz aW5rIGluLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0d28gKEZBIGFuZCB6bydl KQoKTW9zdCBzZWxicmkgaGF2ZSBmcm9tIG9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcywgYnV0IHNv bWUgaGF2ZSBtb3JlLiBIZXJlIGlzIGEgc2VsYnJpIHdpdGggZm91ciBzdW10aSBwbGFjZXM6Cgon J19fdmVjbnVfXycnIHgxIHNlbGxzIHgyIHRvIHgzIGZvciBwcmljZSB4NAoKCgpJZiBJIHdhbnQg dG8gc2F5IOKAnEkgc2VsbCB0aGlz4oCdLCBpdCB3b3VsZCBiZSB0b28gbXVjaCB0byBoYXZlIHRv IGZpbGwgdGhlIHN1bXRpIHBsYWNlcyB4MyBhbmQgeDQsIHdoaWNoIHNwZWNpZnkgd2hvIEkgc2Vs bCB0aGUgdGhpbmcgdG8sIGFuZCBmb3Igd2hhdCBwcmljZS4gTHVja2lseSwgSSBkb24ndCBuZWVk IHRvLiBzdW10aSBwbGFjZXMgY2FuIGJlIGZpbGxlZCB3aXRoICcnem8nZScnLiAnJ3pvJ2UnJyBp bmRpY2F0ZXMgdG8gdXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIHN1bXRpIHBsYWNlIGlzIHVuc3Bl Y2lmaWVkIGJlY2F1c2UgaXQncyB1bmltcG9ydGFudCBvciBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9t IGNvbnRleHQuCgonJ19fem8nZV9fJycg4oCcc29tZXRoaW5n4oCdIEZpbGxzIGEgc3VtdGkgcGxh Y2Ugd2l0aCBzb21ldGhpbmcsIGJ1dCBkb2VzIG5vdCBzdGF0ZSB3aGF0LgoKCgpTbyB0byBzYXkg 4oCcSSBzZWxsIHRvIHlvdeKAnSwgSSBjb3VsZCBzYXkgJydtaSB2ZWNudSB6bydlIGRvIHpvJ2Un JyDigJMgSSBzZWxsIHNvbWV0aGluZyB0byB5b3UgZm9yIHNvbWUgcHJpY2UuCgpIb3cgd291bGQg eW91IHNheTog4oCcVGhhdCdzIGEgaG9tZSAoZm9yIHNvbWVib2R5KeKAnT8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTogJyd0aSB6ZGFuaSB6bydlJyd+fgoKCgpIb3cgYWJvdXQg4oCcKHNvbWVvbmUp IGdpdmVzIHRoaXMgdG8gKHNvbWVvbmUp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicnem8n ZSBkdW5kYSB0aSB6bydlJyd+fgoKCgpTdGlsbCwgZmlsbGluZyBvdXQgdGhyZWUgem8nZSBqdXN0 IHRvIHNheSB0aGF0IGEgdGhpbmcgaXMgYmVpbmcgc29sZCB0YWtlcyB0aW1lLiBUaGVyZWZvcmUg eW91IGRvbid0IG5lZWQgdG8gd3JpdGUgYWxsIHRoZSAnJ3pvJ2UnJyBpbiBhIGJyaWRpLiBUaGUg cnVsZSBzaW1wbHkgaXMgdGhhdCBpZiB5b3UgbGVhdmUgb3V0IGFueSBzdW10aSwgdGhleSB3aWxs IGJlIGNvbnNpZGVyZWQgYXMgaWYgdGhleSBjb250YWluZWQgJyd6bydlJycuIElmIHRoZSBicmlk aSBiZWdpbnMgd2l0aCBhIHNlbGJyaSwgdGhlIHgxIGlzIHByZXN1bWVkIHRvIGJlIG9taXR0ZWQg YW5kIGl0IGJlY29tZXMgJyd6bydlJycuCgpUcnkgaXQgb3V0LiBXaGF0J3MgTG9qYmFuIGZvciDi gJxJIHNlbGzigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSB2ZWNudScnfn4KCgoKQW5k IHdoYXQgZG9lcyAnJ3pkYW5pIG1pJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxT b21ldGhpbmcgaXMgYSBob21lIG9mIG1l4oCdIG9yIGp1c3Qg4oCcSSBoYXZlIGEgaG9tZS7igJ1+ fgoKCgpBcyBtZW50aW9uZWQgZWFybGllciwgdGhlIGZvcm0gZG9lc24ndCBoYXZlIHRvIGJlIHt4 MSBzdW10aX0ge3NlbGJyaX0ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IChlY3QuKSBJbiBmYWN0LCB5 b3UgY2FuIHBsYWNlIHRoZSBzZWxicmkgYW55d2hlcmUgeW91IHdhbnQsIGp1c3Qgbm90IGF0IHRo ZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLiBJZiB5b3UgZG8gdGhhdCwgdGhlIHgxIGlzIGNvbnNp ZGVyZWQgbGVmdCBvdXQgYW5kIGZpbGxlZCB3aXRoICcnem8nZScnIGluc3RlYWQuIFNvIHRoZSBm b2xsb3dpbmcgdGhyZWUganVmcmEgYXJlIGFsbCB0aGUgZXhhY3RseSBzYW1lIGJyaWRpOgoKJydt aSBkdW5kYSB0aSBkbycnCgonJ21pIHRpIGR1bmRhIGRvJycKCicnbWkgdGkgZG8gZHVuZGEnJwoK CgpTb21ldGltZXMgdGhpcyBpcyB1c2VkIGZvciBwb2V0aWMgZWZmZWN0LiDigJxZb3Ugc2VsbCB5 b3Vyc2VsZuKAnSBjb3VsZCBiZSAnJ2RvIGRvIHZlY251JycsIHdoaWNoIHNvdW5kcyBiZXR0ZXIg dGhhbiAnJ2RvIHZlY251IGRvJycuIE9yIGl0IGNhbiBiZSB1c2VkIGZvciBjbGFyaXR5IGlmIHRo ZSBzZWxicmkgaXMgdmVyeSBsb25nIGFuZCB0aGVyZWZvcmUgYmV0dGVyIGJlIGxlZnQgYXQgdGhl IGVuZCBvZiB0aGUgYnJpZGkuCgoKClRoZXJlIGFyZSBhbHNvIHNldmVyYWwgd2F5cyB0byBwbGF5 IGFyb3VuZCB3aXRoIHRoZSBvcmRlciBvZiB0aGUgc3VtdGkgaW5zaWRlIHRoZSBicmlkaS4gVGhl IGVhc2llc3Qgb25lIGlzIGJ5IHVzaW5nIHRoZSB3b3JkcyAnJ2ZhJycsICcnZmUnJywgJydmaScn LCAnJ2ZvJycgYW5kICcnZnUnJy4gTm90aWNlIHRoYXQgdGhlIHZvd2VscyBhcmUgdGhlIGZpdmUg dm93ZWxzIGluIHRoZSBMb2piYW4gYWxwaGFiZXQgaW4gb3JkZXIuIFVzaW5nIG9uZSBvZiB0aGVz ZSB3b3JkcyBtYXJrcyB0aGF0IHRoZSBuZXh0IHN1bXRpIHdpbGwgZmlsbCB0aGUgeDEsIHgyLCB4 MywgeDQgYW5kIHg1IHJlc3BlY3RpdmVseS4gVGhlIG5leHQgc3VtdGkgYWZ0ZXIgdGhhdCB3aWxs IGJlIHByZXN1bWVkIHRvIGZpbGwgYSBzbG90IG9uZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3Vz LiBUbyB1c2UgYW4gZXhhbXBsZToKCicnZHVuZGEgZmEgZG8gZmUgdGkgZG8nJyDigJMg4oCcR2l2 aW5nIGJ5IHlvdSBvZiB0aGlzIHRoaW5nIHRvIHlvdeKAnS4gJydmYScnIG1hcmtzIHRoZSB4MSwg dGhlIGdpdmVyLCB3aGljaCBpcyB5b3UuICcnZmUnJyBtYXJrcyB0aGUgdGhpbmcgYmVpbmcgZ2l2 ZW4sIHRoZSB4Mi4gU3VtdGkgY291bnRpbmcgdGhlbiBjb250aW51ZXMgZnJvbSAnJ2ZlJycsIG1l YW5pbmcgdGhhdCB0aGUgbGFzdCBzdW10aSBmaWxscyB4MywgdGhlIG9iamVjdCByZWNlaXZpbmcu CgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcgdGhyZWUgc2VudGVuY2VzOgoK CgonJ21pIHZlY251IGZvIHRpIGZlIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1JIHNl bGwsIGZvciB0aGUgcHJpY2Ugb2YgdGhpcywgeW914oCdLiBvciDigJxJIHNlbGwgeW91IGZvciB0 aGUgcHJpY2Ugb2YgdGhpc+KAnSAocHJvYmFibHkgcG9pbnRpbmcgdG8gYSBidW5jaCBvZiBtb25l eSl+fgoKCgonJ3pkYW5pIGZlIHRpJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGhh cyBhIGhvbWXigJ0uIEhlcmUsIHRoZSBmZSBpcyByZWR1bmRhbnQufn4KCgoKJyd2ZWNudSB6bydl IG1pIHRpIGZhIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3Ugc2VsbCBzb21ldGhp bmcgdG8gbWUgZm9yIHRoaXMgcHJpY2XigJ1+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxl c3NvbiB0aHJlZSAodGFucnUgYW5kIGxvKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGJlY29t ZSBmYW1pbGlhciB3aXRoIHRoZSBjb25jZXB0IG9mIGEgJyd0YW5ydScnLiBBIHRhbnJ1IGlzIGZv cm1lZCB3aGVuIGEgc2VsYnJpIGlzIHB1dCBpbiBmcm9udCBvZiBhbm90aGVyIHNlbGJyaSwgbW9k aWZ5aW5nIGl0cyBtZWFuaW5nLiBBIHRhbnJ1IGlzIGl0c2VsZiBhIHNlbGJyaSwgYW5kIGNhbiBj b21iaW5lIHdpdGggb3RoZXIgc2VsYnJpIG9yIHRhbnJ1IHRvIGZvcm0gbW9yZSBjb21wbGV4IHRh bnJ1LiBUaHVzICcnemRhbmkgdmVjbnUnJyBpcyBhIHRhbnJ1LCBhcyB3ZWxsIGFzICAnJ3BlbHh1 IHpkYW5pIHZlY251JycsIHdoaWNoIGlzIG1hZGUgZnJvbSB0aGUgdGFucnUgJydwZWx4dSB6ZGFu aScnIGFuZCB0aGUgc2luZ2xlIGJyaXZsYSB3b3JkICcndmVjbnUnJy4gVG8gdW5kZXJzdGFuZCB0 aGUgY29uY2VwdCBvZiB0YW5ydSwgY29uc2lkZXIgdGhlIEVuZ2xpc2ggbm91biBjb21iaW5hdGlv biDigJxsZW1vbiB0cmVl4oCdLiBJZiB5b3UgZGlkbid0IGtub3cgd2hhdCBhIGxlbW9uIHRyZWUg d2FzLCBidXQgaGFkIGhlYXJkIGFib3V0IGJvdGggbGVtb25zIGFuZCB0cmVlcywgeW91IHdvdWxk IG5vdCBiZSBhYmxlIHRvIGRlZHVjZSB3aGF0IGEgbGVtb24gdHJlZSB3YXMuIFBlcmhhcHMgYSBs ZW1vbi1jb2xvcmVkIHRyZWUsIG9yIGEgdHJlZSBzaGFwZWQgbGlrZSBhIGxlbW9uLCBvciBhIHRy ZWUgd2hvc2UgYmFyayB0YXN0ZXMgbGlrZSBsZW1vbi4gVGhlIG9ubHkgdGhpbmdzIHlvdSBjb3Vs ZCBrbm93IGZvciBzdXJlIHdvdWxkIGJlIHRoYXQgaXQgd291bGQgYmUgYSB0cmVlLCBhbmQgaXQg d291bGQgYmUgbGVtb24tbGlrZSBpbiBzb21lIHdheS4KCkEgdGFucnUgaXMgY2xvc2VseSBhbmFs b2dvdXMgdG8gdGhpcy4gSXQgY2Fubm90IGJlIHNhaWQgZXhhY3RseSB3aGF0IGEgJyd6ZGFuaSB2 ZWNudScnIGlzLCBidXQgaXQgY2FuIGJlIHNhaWQgdGhhdCBpdCBpcyBkZWZpbml0ZWx5IGEgdmVj bnUsIGFuZCB0aGF0IGl0J3MgemRhbmktbGlrZSBpbiBzb21lIHdheS4gQW5kIGl0IGNvdWxkIGJl IHpkYW5pLWxpa2UgaW4gYW55IHdheS4gSW4gdGhlb3J5LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9y IGFic3VyZCB0aGUgY29ubmVjdGlvbiB0byB6ZGFuaSB3YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5 IGJlIGEgJyd6ZGFuaSB2ZWNudScnLiBIb3dldmVyLCBpdCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVj bnUgaW4gdGhlIG9yZGluYXJ5IHNlbnNlIGluIG9yZGVyIGZvciB0aGUgdGFucnUgdG8gYXBwbHku IFlvdSBjb3VsZCBnbG9zcyAnJ3pkYW5pIHZlY251JycgYXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9y IGV2ZW4gYmV0dGVyIGJ1dCB3b3JzZSBzb3VuZGluZyDigJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLi gJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSB0YW5ydSBpcyBhbHdheXMgdGhhdCBvZiB0aGUg cmlnaHRtb3N0IHNlbGJyaS4gSXQncyBhbHNvIHNhaWQgdGhhdCB0aGUgbGVmdCBzZWxicmkgbW9k aWZpZXMgdGhlIHJpZ2h0IHNlbGJyaS4KCuKAnFJlYWxseT/igJ0sIHlvdSBhc2ssIHNjZXB0aWNh bGx5LCDigJxJdCBkb2Vzbid0IG1hdHRlciBob3cgc2lsbHkgdGhlIGNvbm5lY3Rpb24gdG8gdGhl IGxlZnQgd29yZCBpbiBhIHRhbnJ1IGlzLCBpdCdzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2Fs bCBhbGwgc2VsbGVycyBmb3IgJyd6ZGFuaSB2ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBz aWxseSBleGN1c2Ugd2h5IEkgdGhpbmsgaXQncyB6ZGFuaS1saWtlP+KAnQoKV2VsbCB5ZXMsIGJ1 dCB0aGVuIHlvdSdkIGJlIGEgZGljay4gT3IgYXQgbGVhc3QgeW91J2QgYmUgaW50ZW50aW9uYWxs eSBtaXNsZWFkaW5nLiBJbiBnZW5lcmFsLCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4gaXQn cyBvYnZpb3VzIGhvdyB0aGUgbGVmdCB3b3JkIHJlbGF0ZXMgdG8gdGhlIHJpZ2h0LgoKCgpBdHRl bXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOiAnJ3RpIHBlbHh1IHpkYW5pIGRvJycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGF0IGlzIGEgeWVsbG93IGhvbWUgZm9yIHlvdeKAnSBB Z2Fpbiwgd2UgZG9uJ3Qga25vdyBpbiB3aGljaCB3YXkgaXQncyB5ZWxsb3cuIFByb2JhYmx5IGl0 J3MgcGFpbnRlZCB5ZWxsb3csIGJ1dCB3ZSBkb24ndCBrbm93IGZvciBzdXJlLn5+CgoKCicnbWkg dmVjbnUgZHVuZGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc2VsbC1saWtlIGdpdmXi gJ0uIFdoYXQgY2FuIHRoYXQgbWVhbj8gTm8gaWRlYS4gSXQgY2VydGFpbmx5IGRvZXNuJ3QgbWVh biB0aGF0IHlvdSBzb2xkIHNvbWV0aGluZywgc2luY2UsIGJ5IGRlZmluaXRpb24gb2YgJydkdW5k YScnLCB0aGVyZSBjYW4gYmUgbm8gcGF5bWVudCBpbnZvbHZlZC4gSXQgaGFzIHRvIGJlIGEgZ2l2 ZWF3YXksIGJ1dCBiZSBzZWxsLWxpa2UgaW4gc29tZSBhc3BlY3Qufn4KCgoKQW5kIG5vdyBmb3Ig c29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LiBXaGF0IGlmIEkgd2FudGVkIHRvIHNheSBJ IHNvbGQgdG8gYSBHZXJtYW4/CgonJ19fZG90Y29fXycnIHgxIGlzIEdlcm1hbi9yZWZsZWN0cyBH ZXJtYW4gY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKSSBjYW4ndCBzYXkgJydtaSB2ZWNudSB6bydl IGRvdGNvJycgYmVjYXVzZSB0aGF0IHdvdWxkIGxlYXZlIHR3byBzZWxicmkgaW4gYSBicmlkaSwg d2hpY2ggaXMgbm90IHBlcm1pdHRlZC4gSSBjb3VsZCBzYXkgJydtaSBkb3RjbyB2ZWNudScnIGJ1 dCB0aGF0IHdvdWxkIGJlIHVubmVjZXNzYXJ5IHZhZ3VlIC0gSSBjb3VsZCBzZWxsIGluIGEgR2Vy bWFuIHdheS4gTGlrZXdpc2UsIGlmIEkgd2FudCB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGgg YW4gQW1lcmljYW7igJ0sIHdoYXQgc2hvdWxkIEkgc2F5PwoKJydfX3BlbmRvX18nJyAxeCBpcyBh IGZyaWVuZCBvZiB4MgoKJydfX21lcmtvX18nJyB4MSBpcyBBbWVyaWNhbi9yZWZsZWN0IFVTIGN1 bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkFnYWluLCB0aGUgb2J2aW91cyB3b3VsZCBiZSB0byBzYXkg JydtaSBwZW5kbyBtZXJrbycnLCBidXQgdGhhdCB3b3VsZCBmb3JtIGEgdGFucnUsIG1lYW5pbmcg 4oCcSSBhbSBmcmllbmQtbGlrZSBBbWVyaWNhbuKAnSwgd2hpY2ggaXMgd3JvbmcuIFdoYXQgd2Ug cmVhbGx5IHdhbnQgdG8gaXMgdG8gdGFrZSB0aGUgc2VsYnJpICcnbWVya28nJyBhbmQgdHJhbnNm b3JtIGl0IGludG8gYSBzdW10aSBzbyBpdCBjYW4gYmUgdXNlZCBpbiB0aGUgc2VsYnJpICcncGVu ZG8nJy4gVGhpcyBpcyBkb25lIGJ5IHRoZSB0d28gd29yZHMgJydsbycnIGFuZCAnJ2t1JycuCgpf XycnbG8nJ19fIOKAkyBnZW5lcmljIGJlZ2luIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHdvcmQu IEV4dHJhY3RzIHgxIG9mIHNlbGJyaSB0byB1c2UgYXMgc3VtdGkuCgpfXycna3UnJ19fIOKAkyBl bmQgY29udmVydCBzZWxicmkgdG8gc3VtdGkgcHJvY2Vzcy4KCgoKWW91IHNpbXBseSBwbGFjZSBh IHNlbGJyaSBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcywgYW5kIGl0IHRha2VzIGFueXRoaW5nIHRo YXQgY2FuIGZpbGwgdGhlIHgxIG9mIHRoYXQgc2VsYnJpIGFuZCB0dXJucyBpdCBpbnRvIGEgc3Vt dGkuCgpTbyBmb3IgaW5zdGFuY2UsIHRoZSB0aGluZ3MgdGhhdCBjYW4gZmlsbCB6ZGFuaeKAmHMg eDEgYXJlIG9ubHkgdGhpbmdzIHdoaWNoIGFyZSBob21lcyBvZiBzb21lYm9keS4gU28gJydsbyB6 ZGFuaSBrdScnIG1lYW5zIOKAnGEgaG9tZSBvciBzb21lIGhvbWVzIGZvciBzb21lYm9keS7igJ0g U2ltaWxhcmx5LCBpZiBJIHNheSB0aGF0IHNvbWV0aGluZyBpcyBwZWx4dSwgaXQgbWVhbnMgaXQn cyB5ZWxsb3cuIFNvICcnbG8gcGVseHUga3UnJyByZWZlcnMgdG8gc29tZXRoaW5nIHllbGxvdy4K CgoKTm93IHlvdSBoYXZlIHRoZSBuZWNlc3NhcnkgZ3JhbW1hciB0byBiZSBhYmxlIHRvIHNheSDi gJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbi7igJ0gSG93PwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgcGVuZG8gbG8gbWVya28ga3UnJ35+CgoKClRoZXJlIGlzIGEgZ29vZCByZWFz b24gd2h5IHRoZSAnJ2t1JycgaXMgbmVjZXNzYXJ5LiBUcnkgdG8gdHJhbnNsYXRlIOKAnEEgR2Vy bWFuIHNlbGxzIHRoaXMgdG8gbWXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xvIGRvdGNv IGt1IHZlY251IHRpIG1pJycgSWYgeW91IGxlYXZlIG91dCB0aGUga3UsIHlvdSBkbyBub3QgZ2V0 IGEgYnJpZGksIGJ1dCBzaW1wbHkgdGhyZWUgc3VtdGkuIFNpbmNlIGxv4oCma3UgY2Fubm90IGNv bnZlcnQgYnJpZGksIHRoZSB0aSBpcyBmb3JjZWQgb3V0c2lkZSB0aGUgc3VtdGksIHRoZSBsby1j b25zdHJ1Y3QgaXMgZm9yY2VkIHRvIGNsb3NlIGFuZCBpdCBzaW1wbHkgYmVjb21lcyB0aGUgdGhy ZWUgc3VtdGkgb2YgJydsbyBkb3RjbyB2ZWNudSB7a3V9JycsICcndGknJyBhbmQgJydtaScnLn5+ CgoKCllvdSBhbHdheXMgaGF2ZSB0byBiZSBjYXJlZnVsIHdpdGgganVmcmEgbGlrZSAnJ2xvIHpk YW5pIGt1IHBlbHh1JycuIElmIHRoZSAnJ2t1JycgaXMgbGVmdCBvdXQgdGhlIGNvbnZlcnNpb24g cHJvY2VzcyBkb2VzIG5vdCBlbmQsIGFuZCBpdCBzaW1wbHkgYmVjb21lcyBvbmUgc3VtdGksIG1h ZGUgZnJvbSB0aGUgdGFucnUgJyd6ZGFuaSBwZWx4dScnIGFuZCB0aGVuIGNvbnZlcnRlZCB3aXRo ICcnbG8nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gZm91ciAoYXR0aXR1ZGlu YWxzKQoKQW5vdGhlciBjb25jZXB0IHdoaWNoIGNhbiBiZSB1bmZhbWlsaWFyIHRvIEVuZ2xpc2gg c3BlYWtlcnMgaXMgdGhhdCBvZiBhdHRpdHVkaW5hbHMuIEF0dGl0dWRpbmFscyBhcmUgd29yZHMg dGhhdCBleHByZXNzIGVtb3Rpb25zIGRpcmVjdGx5LiBUaGUgaWRlYSBvZiBhdHRpdHVkaW5hbHMg b3JpZ2luYXRlZCBpbiB0aGUgZmVtaW5pc3QgY29uc3RydWN0ZWQgbGFuZ3VhZ2UgTGFkYW4sIHN1 cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUgZmVtYWxlIGVtb3Rpb25zLiBUaGUgaWRlYSB3YXMgdGhh dCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJlc3Npb24gd2FzIGhpbmRlcmVkIGJ5IG1hbGUgZG9taW5h dGVkIGxhbmd1YWdlLCBhbmQgaWYgb25seSB0aGV5IHdlcmUgYWJsZSB0byBiZSBleHByZXNzZWQg bW9yZSBmcmVlbHksIHRoaXMgd291bGQgZW1wb3dlciB3b21lbiB0aHJvdWdoIGxpYmVyYXRpb24g b2YgdGhlIGxhbmd1YWdlLgoKSW4gTG9qYmFuLCB0aGVyZSBpcyBubyBzdWNoIGFnZW5kYSwgYW5k IGF0dGl0dWRpbmFscyBtb3N0IHByb2JhYmx5IGhhdmUgYmVlbiBkZXNpZ25lZCBpbnRvIHRoZSBs YW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVybmVkIG91dCB0byBiZSBpbmNyZWRpYmx5IGF3ZXNvbWUg YW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2ZSBhIHNvLWNhbGxlZCBmcmVlIGdyYW1tYXIsIHdoaWNo IG1lYW5zIHRoYXQgdGhleSBjYW4gYXBwZWFyIGFsbW9zdCBhbnl3aGVyZSB3aXRoaW4gYnJpZGkg d2l0aG91dCBkaXNydXB0aW5nIHRoZSBicmlkaSdzIGdyYW1tYXIgb3IgYW55IGdyYW1tYXRpY2Fs IGNvbnN0cnVjdHMuCgpJbiBMb2piYW4gZ3JhbW1hciwgYW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0 byB0aGUgcHJldmlvdXMgd29yZC4gSWYgdGhhdCBwcmV2aW91cyB3b3JkIGlzIGEgd29yZCB3aGlj aCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxpa2UgJycuaScnIG9yICcnbG8nJyksIGl0IGFwcGxpZXMg dG8gdGhlIGVudGlyZSBjb25zdHJ1Y3QuIExpa2V3aXNlLCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9s bG93cyBhIHdvcmQgd2hpY2ggZW5kcyBhIGNvbnN0cnVjdCBsaWtlICcna3UnJywgaXQgYXBwbGll cyB0byB0aGUgZW5kZWQgY29uc3RydWN0LgoKCgpMZXQncyBoYXZlIHR3byBhdHRpdHVkaW5hbHMg dG8gbWFrZSBzb21lIGV4YW1wbGVzOgoKX18nJy51aScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUg cHVyZSBlbW90aW9uOiBoYXBwaW5lc3MgLSB1bmhhcHBpbmVzcwoKX18nJ3phJ2EnJ19fOiBhdHRp dHVkaW5hbDogZXZpZGVudGlhbDogSSBkaXJlY3RseSBvYnNlcnZlCgoKCk5vdGUgdGhhdCBpbiB0 aGUgZGVmaW5pdGlvbiBvZiAnJy51aScnLCB0aGVyZSBhcmUgbGlzdGVkIHR3byBlbW90aW9ucywg aGFwcGluZXNzIGFuZCB1bmhhcHBpbmVzcy4gVGhpcyBtZWFucyB0aGF0ICcnLnVpJycgaXMgZGVm aW5lZCBhcyBoYXBwaW5lc3MsIHdoaWxlIGl0cyDigJxuZWdhdGlvbuKAnSwgbWVhbnMgdW5oYXBw aW5lc3MuIOKAnE5lZ2F0aW9u4oCdIG1pZ2h0IGJlIHRoZSB3cm9uZyB3b3JkIGhlcmUuIFRlY2hu aWNhbGx5LCB0aGUgb3RoZXIgZGVmaW5pdGlvbiBvZiAnJy51aScnIGlzIGFub3RoZXIgY29uc3Ry dWN0LCAnJy51aSBuYWknJy4gTW9zdCBvZiB0aGUgdGltZSwgdGhlIHNlY29uZCBkZWZpbml0aW9u IG9mIGF0dGl0dWRpbmFscyAtIHRoZSBvbmVzIHN1ZmZpeGVkIHdpdGggJyduYWknJyAtIHJlYWxs eSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIGJhcmUgYXR0aXR1ZGluYWwuIE90aGVyIHRpbWVzLCBu b3Qgc28gbXVjaC4KCl9fJyduYWknJ19fIG1pc2MuIG5lZ2F0aW9uIC0gYXR0YWNoZWQgdG8gYXR0 aXR1ZGluYWxzLCBpdCBjaGFuZ2VzIHRoZSBtZWFuaW5nIGludG8gdGhlIGF0dGl0dWRpbmFsJ3Mg Im5lZ2F0aW9uIgoKCgpBbmQgc29tZSBtb3JlIHNlbGJyaSwganVzdCBmb3IgdGhlIGhlY2sgb2Yg aXQ6CgpfXycnY2l0a2EnJ19fIOKAkyB4MSBlYXRzIHgyCgpfXycncGxpc2UnJ19fIOKAkyB4MSBp cyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlwZSB4MgoKCgpUaGUgc2VudGVuY2UgJydkbyBjaXRrYSBs byBwbGlzZSBrdSAudWknJywgbWVhbnMg4oCcWW91IGVhdCBhbiBhcHBsZSwgeWF5IeKAnSAoZXNw ZWNpYWxseSBleHByZXNzaW5nIHRoYXQgaXQgaXMgdGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVh a2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhlIGVhdGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3 YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcnZG8gemEnYSBjaXRrYSBsbyBwbGlzZSBrdScnLCB0 aGUgc3BlYWtlciBkaXJlY3RseSBvYnNlcnZlcyB0aGF0IGl0IGlzIGluZGVlZCB0aGUgX1/igJx5 b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBwbGUgYXMgb3Bwb3NlZCB0byBzb21lb25lIGVsc2UuCgoK CklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlk aSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBseSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAn Jy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhlIGVudGlyZSBicmlkaToKCicnLnVpIHphJ2EgZG8g ZHVuZGEgbG8gcGxpc2Uga3UgbWknJyDigJMg4oCcWWF5LCBJIG9ic2VydmUgdGhhdCB5b3UgZ2l2 ZSBhbi9zb21lIGFwcGxlIHRvIG1lIeKAnQoKCgonJ21pIHZlY251IC51aSBuYWkgbG8gemRhbmkg a3UnJyDigJxJIHNlbGwgKHdoaWNoIHN1Y2tzISkgYSBob21l4oCdLgoKCgpUcnkgaXQgb3V0IHdp dGggYSBmZXcgZXhhbXBsZXMuIEZpcnN0LCB0aG91Z2gsIGhlcmUgYXJlIHNvbWUgbW9yZSBhdHRp dHVkaW5hbHM6CgpfXycnLnUndScnX18gYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246 IGd1aWx0IC0gcmVtb3JzZWxlc3NuZXNzIC0gaW5ub2NlbmNlLgoKX18nJy5vaScnX18gYXR0aXR1 ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBjb21wbGFpbnQgLSBwbGVhc3VyZS4KCl9fJycu aXUnJ19fIGF0dGl0dWRpbmFsOiBtaXNjZWxsYW5lb3VzIHB1cmUgZW1vdGlvbjogbG92ZSAtIGhh dGUuCgoKCkxvb2sgYXQgdGhhdCwgYSB3b3JkIHdpdGggdGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRl ZmluaXRpb24hIFRoZSBtaWRkbGUgb25lIGlzIGFjY2Vzc2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAn J2N1J2knJy4gSXQncyBjb25zaWRlcmVkIHRoZSBtaWRwb2ludCBvZiB0aGUgZW1vdGlvbi4KCl9f JydjdSdpJydfXyBhdHRpdHVkaW5hbCBtaWRwb2ludCBzY2FsYXI6IGF0dGFjaCB0byBhdHRpdHVk aW5hbCB0byBjaGFuZ2UgdGhlIG1lYW5pbmcgdG8gdGhlICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rp b24uCgoKClRyeSBzYXlpbmcg4oCcSSBnaXZlIHNvbWV0aGluZyB0byBhIEdlcm1hbiwgd2hvIEkg bG92ZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgZmkgbG8gZG90Y28ga3Ug Lml1Jycgb3IgJyd6bydlJycgaW5zdGVhZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVh dCBhIHllbGxvdyBhcHBsZeKAnQoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy5vaSBuYWkgbWkgY2l0 a2EgbG8gcGVseHUgcGxpc2Uga3UnJ35+CgoKCkxldCdzIGhhdmUgYW5vdGhlciBhdHRpdHVkaW5h bCBvZiBhIGRpZmZlcmVudCBraW5kIHRvIGlsbHVzdHJhdGUgc29tZXRoaW5nIHBlY3VsaWFyOgoK JycuZWknJyBBdHRpdHVkaW5hbDogY29tcGxleCBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IG9ibGln YXRpb24gLSBmcmVlZG9tLgoKCgpTbywgcXVpdGUgZWFzeTog4oCcSSBoYXZlIHRvIGdpdmUgdGhl IGFwcGxlIGF3YXnigJ0gaXMgJydtaSBkdW5kYSAuZWkgbG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0 IGlzLCBhY3R1YWxseSEgV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQsIHRoYXQncyB3ZWlyZC4gV2h5 IGlzIGl0IHRoYXQgYWxsIHRoZSBvdGhlciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZh ciBleHByZXNzZXMgdGhlIHNwZWFrZXIncyBmZWVsaW5nIGFib3V0IHRoZSBicmlkaSwgYnV0IHRo aXMgb25lIGFjdHVhbGx5IGNoYW5nZXMgd2hhdCB0aGUgYnJpZGkgbWVhbnM/IFN1cmVseSwgYnkg c2F5aW5nIOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdLCB3ZSBzYXkgbm90aGlu ZyBhYm91dCB3aGV0aGVyIHRoZSBhcHBsZSBhY3R1YWxseSBpcyBiZWluZyBnaXZlbiBhd2F5LiBJ ZiBJIGhhZCB1c2VkICcnLnVpJycsIGhvd2V2ZXIsIEkgd291bGQgYWN0dWFsbHkgaGF2ZSBzdGF0 ZWQgdGhhdCBJIGdhdmUgdGhlIGFwcGxlIGF3YXksIGFuZCB0aGF0IEkgd2FzIGhhcHB5IGFib3V0 IGl0LiBXaGF0J3MgdGhhdCBhbGwgYWJvdXQ/CgoKClRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0 dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVl LCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5vciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJv b2vigJ0gcnVsZSwgd2hpY2ggcHJvYmFibHkgd29uJ3QgYmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVy ZSBpcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCccHJv cG9zaXRpb25hbCBlbW90aW9uc+KAnS4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNo YW5nZSB0aGUgdHJ1dGggY29uZGl0aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3QuIElu IG9yZGVyIHRvIGV4cHJlc3MgYSBwcm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3 aXRob3V0IGNoYW5naW5nIHRoZSB0cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4ganVz dCBzZXBhcmF0ZSBpdCBmcm9tIHRoZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxzbyBh IHdvcmQgZm9yIGV4cGxpY2l0bHkgY29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGggY29u ZGl0aW9ucyBvZiBhIGJyaWRpOgoKCgpfXycnZGEnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNp dmU6IHN1cHBvc2luZyAtIGluIGZhY3QKClNheWluZyAnJ2RhJ2knJyBpbiBhIGJyaWRpIGNoYW5n ZXMgdGhlIHRydXRoIGNvbmRpdGlvbnMgdG8gaHlwb3RoZXRpY2FsLCB3aGljaCBpcyB0aGUgZGVm YXVsdCB1c2luZyBwcm9wb3NpdGlvbmFsIGF0dGl0dWRpbmFscy4gU2F5aW5nICcnZGEnaSBuYWkn JyBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb24gdG8gdGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVm YXVsdCB1c2luZyBwdXJlIGF0dGl0dWRpbmFscy4KCgoKU28sIHdoYXQncyB0d28gd2F5cyBvZiBz YXlpbmcg4oCcSSBnaXZlIHRoZSBhcHBsZSBhd2F54oCdPyAoYW5kIGZlZWwgb2JsaWdhdGlvbiBh Ym91dCBpdCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGxvIHBsaXNlIC5pIC5l aScnICBhbmQgJydtaSBkdW5kYSBkYSdpIG5haSAuZWkgbG8gcGxpc2UnJ35+CgoKClRoZSBmZWVs aW5nIG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzdWJzY3JpYmVkIHRvIHNvbWVvbmUgZWxzZSB1 c2luZyAnJ2RhaScnLiBVc3VhbGx5IGluIG9yZGluYXJ5IHNwZWVjaCwgdGhlIGF0dGl0dWRpbmFs IGlzIHN1YnNjcmliZWQgdG8gdGhlIGxpc3RlbmVyLCBidXQgaXQgZG9lc24ndCBoYXZlIHRvIGJl IHNvLiBBbHNvLCBiZWNhdXNlIHRoZSB3b3JkIGlzIGdsb3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVl bGluZyBvdGhlcnMgZW1vdGlvbnMpLCBzb21lIExvamJhbmlzdHMgbWlzdGFrZW5seSB0aGluayB0 aGF0IHRoZSBzcGVha2VyIG11c3Qgc2hhcmUgdGhlIGVtb3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0 byBvdGhlcnMuCgpfXycnZGFpJydfXyBhdHRpdHVkaW5hbCBtb2RpZnllcjogRW1wYXRoeSAoc3Vi c2NyaWJlcyBhdHRpdHVkaW5hbCB0byBzb21lb25lIGVsc2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBs ZTogJyd1J2kgLm9pIGRhaSBjaXRrYSB0aScnIC0g4oCcSGEgaGEsIHRoaXMgd2FzIGVhdGVuISBU aGF0IG11c3QgaGF2ZSBodXJ0IeKAnQoKCgpXaGF0IG9mdGVuIHVzZWQgcGhyYXNlIGNvdWxkICcn Lm9pIHUnaSBkYWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHZlcnkg ZnVubnku4oCdfn4KCgoKQW5kIGFub3RoZXIgb25lIHRvIHRlc3QgeW91ciBrbm93bGVkZ2U6IFRy eSB0byB0cmFuc2xhdGUg4oCcSGUgd2FzIHNvcnJ5IGhlIHNvbGQgYSBob21l4oCdIChyZW1lbWJl cmluZywgdGhhdCB0ZW5zZSBpcyBpbXBsaWVkIGFuZCBuZWVkIG5vdCBiZSBzcGVjaWZpZWQuIEFs c28sIOKAnGhl4oCdIGNvdWxkIGJlIG9idmlvdXMgZnJvbSBjb250ZXh0KQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicndSd1IGRhaSB2ZWNudSBsbyB6ZGFuaSBrdScnfn4KCgoKTGFzdGx5LCB0aGUg aW50ZW5zaXR5IG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFp biB3b3Jkcy4gVGhlc2UgY2FuIGJlIHVzZWQgYWZ0ZXIgYW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0 dGl0dWRpbmFsIHdpdGggJyduYWknJyBvciAnJ2N1J2knJyBzdWZmaXhlZC4gSXQncyBsZXNzIGNs ZWFyIHdoYXQgaGFwcGVucyB3aGVuIHlvdSBhdHRhY2ggaXQgdG8gb3RoZXIgd29yZHMsIGxpa2Ug YSBzZWxicmksIGJ1dCBpdCdzIG1vc3RseSB1bmRlcnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3 ZWFrZW5pbmcgdGhlIHNlbGJyaSBpbiBzb21lIHVuc3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWlu ZyB3b3JkICB8IEludGVuc2l0eSAgCgogY2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgog KG5vbmUpfCAgIFVuc3BlY2lmaWVkIChtZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0 IGVtb3Rpb24gaXMgZXhwcmVzc2VkIHVzaW5nICcnLnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2kn J19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2Vhcmlu ZXNzCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cg d291bGQgeW91IGV4cHJlc3MgdGhhdCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJy51J3UgY3UnaSBydSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25z IOKAkyBsZXNzb24gZml2ZSAoU0UpCgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRv cnkgb2YgbW9yZSBjb21wbGV4IGNvbnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBt ZWNoYW5pc20gZm9yIHJlb3JkZXJpbmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3 ZSB3aWxsIHNob3csIGlzIHZlcnkgdXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBz dW10aSAodGhlIGtpbmQgb2Ygc3VtdGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRl bmNlIOKAnEkgZWF0IGEgZ2lmdOKAnSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhh dCBnaWZ0IGlzIGFuIGFwcGxlLiBUbyB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1 cmFsIHRvIGxvb2sgdXAgYSBzZWxicmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51 aW5nLiBIb3dldmVyLCBpZiBvbmUgbG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9m ICcnZHVuZGEnJywgeDEgZ2l2ZXMgeDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBv ZiAnJ2R1bmRhJycgaXMgc29tZXRoaW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVz cyB0aGF0IHNlbnRlbmNlLCB3ZSBjYW4ndCBzYXkgJydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBi ZWNhdXNlICcnbG8gZHVuZGEga3UnJyB3b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGlj aCBpcyBhIGRvbm9yIG9mIGEgZ2lmdC4gQ2FubmliYWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQg dG8gc2F5IHRoYXQuIFdoYXQgd2Ugd2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBh IHNlbGJyaS4KClRoaXMgaXMgb25lIGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0 aGUgd29yZCAnJ3NlJycuIFdoYXQgJydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1 Y2ggdGhhdCB0aGUgeDEgYW5kIHgyIG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNv bnN0cnVjdCBvZiAnJ3NlJycgKyBzZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBz ZWxicmkuIExldCdzIHRyeSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydf XyA9IOKAnHgxIHRyYW5zbGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3 aXRoIHJlc3VsdCBvZiB0cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydt aSBmYW52YSB0aScnCgpUaGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhp cykuIE9mdGVuLCBidXQgbm90IGFsd2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBh cmUgdHJhbnNsYXRlZCB0byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2Ug dGhlIHgxIGlzIG9mdGVuIHRoZSBvYmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRz IG93biBmYW1pbHkgb2Ygd29yZHMuIEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ug d2l0aCB0aGUgeDEuCgp8fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2 ZQl8c3dhcCB4MSBhbmQgeDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwg diwgYW5kIHggYXJlIGNvbnNlY3V0aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJl dC4KCgoKU286IFVzaW5nIHRoaXMga25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEg dGknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlv biBvZiB0aGlz4oCdIChvciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMg ZmFtaWx5IGNhbiBvZiBjb3Vyc2UgYmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1p bHkuIFRoZSByZXN1bHQgY2FuIGJlIHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2gg dG8gbWFrZSBpdCBzbzoKCl9fJydrbGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIg ZnJvbSB4MyB2aWEgeDQgdXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1 IGxvIHpkYW5pIGt1IHRlIGtsYW1hIGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRv IHRpIGxvIHpkYW5pIGt1JycgYW5kIHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9 ICcndGkga2xhbWEgZG8gbWkgbG8gemRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBm cm9tIG1lIHZpYSBhIGhvbWUu4oCdIE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBh IHNlbnRlbmNlIGV4Y2VwdCB0byBjb25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRo ZWlyIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBj b21lIHRvIHRoZSBwb2ludCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNp bXBseSBleGNoYW5nZSB0aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdp ZnQgdG8gYmUgeDEsIHRoZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3Un Jy4gU28sIGhvdyB3b3VsZCB5b3Ugc2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2Yg dGhlIG1hbnkgdXNlcyBmb3IgJydzZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxl c3NvbnMg4oCTIGxlc3NvbiBzaXggKGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkg ZXhwcmVzc2VkIHNpbmdsZSBzZW50ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3Jl IGNvbXBsZXggdGhpbmdzLCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50 ZW5jZXMuIEx1Y2tpbHksIHRoZXNlIGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0 IG9uZSB3b3VsZCBleHBlY3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9u c3RyYXRlIHRoaXM6IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVy ZSwgdGhlIG1haW4gYnJpZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1 Yi1icmlkaSBpcyDigJxZb3UgYXJlIG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5p dGlvbiBmb3Ig4oCcaGFwcHnigJ0sIHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g 4oCceDEgaXMgaGFwcHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0 aGUgeDIgbmVlZHMgdG8gYmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBi ZWNhdXNlIG9uZSBjYW5ub3QgYmUgaGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25s eSBhYm91dCBzb21lIHN0YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRp IGNhbiBleHByZXNzIGEgc3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxs IHRoZSB4MiBvZiAnJ2dsZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBp cyBhIHNvbHV0aW9uLiBUaGUgd29yZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDi gJxjb252ZXJ0IGJyaWRpIHRvIHNlbGJyaeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlr ZSAnJ2xvJyfigKYnJ2t1JycuCgpfXycnc3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yg e2JyaWRpfSBvZiB0eXBlIHgyCgpfXycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCgoKRXhhbXBs ZToKCl9fJydtZWxiaScnX18geDEgaXMgYmVhdXRpZnVsIHRvIHgyLgoKX18nJ2RhbnN1JydfXyB4 MSBkYW5jZXMgdG8gYWNjb21wYW5pbWVudC9tdXNpYy9yaHl0aG0geDIuCgonJ21lbGJpIHN1J3Ug ZGFuc3Uga2VpJycgLSDigJxCZWF1dGlmdWwgZGFuY2luZ+KAnS/igJxCZWF1dGlmdWwgZGFuY2Xi gJ0KCgoKSXQncyB1c3VhbGx5IGhhcmQgdG8gZmluZCBnb29kIHVzZXMgb2YgYSBicmlkaSBhcyBh IHNlbGJyaS4gSG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScnIGlzIGEgc2VsYnJpLCBv bmUgY2FuIGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1JycuCgpOb3cg d2UgaGF2ZSB0aGUgZXF1aXBtZW50IHRvIGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBh cmUgbXkgZnJpZW5k4oCdLiBUcnkgaXQgb3V0IQoKX18nJ3BlbmRvJydfXyDigJx4MSBpcyBhIGZy aWVuZCBvZiB4MuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gc3UndSBk byBwZW5kbyBtaSBrZWkga3UnJ35+CgoKCkhvd2V2ZXIsICcnc3UndScn4oCmJydrZWknJyBkb2Vz IG5vdCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmlj IHdvcmRzICcnbnUnJ+KApicna2VpJycgYW5kICcnZHUndScn4oCmJydrZWknJy4gVGhleSB3b3Jr IHRoZSBzYW1lIHdheSwgYnV0IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVudC4gJydudeKApmtlaScn IHRyZWF0cyB0aGUgYnJpZGkgaW4gYmV0d2VlbiBhcyBhbiBldmVudCBvciBzdGF0ZSwgYW5kICcn ZHUndeKApmtlaScnIHRyZWF0cyBpdCBhcyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3Np bmcgdGhpbmdzIGxpa2UgaWRlYXMsIHRob3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRz IChleGNlcHQgJydrZWknJykgYXJlIGNhbGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkg b2YgdGhlbSwgYW5kIG9ubHkgZmV3IGFyZSB1c2VkIG11Y2guICcnc3UndeKApmtlaScnIGlzIGEg Z2VuZXJhbCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcn bnUnJyB0byBzYXkg4oCcSSdtIGhhcHB5IGFib3V0IHRhbGtpbmcgdG8geW91LuKAnQoKX18nJ3Rh dmxhJydfXyB4MSB0YWxrcyB0byB4MiBhYm91dCBzdWJqZWN0IHgzIGluIGxhbmd1YWdlIHg0LgoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8ga2VpIGt1Jycg KG5vdGljZSBib3RoIHRoZSBFbmdsaXNoIGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3VlIGFzIHRvIHdo byBpcyBkb2luZyB0aGUgdGFsa2luZykufn4KCgoKT3RoZXIgaW1wb3J0YW50IGFic3RyYWN0b3Jz IGluY2x1ZGU6ICcna2EuLi5rZWknJyAocHJvcGVydHkvYXNwZWN0IGFic3RyYWN0aW9uKSwgJydz aSdvLi4ua2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVh bnRpdHkgYWJzdHJhY3Rpb24pIGFtb25nIG90aGVycy4gVGhlIG1lYW5pbmdzIG9mIHRoZXNlIGlz IGEgY29tcGxpY2F0ZWQgbWF0dGVyLCBhbmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVjaCBsYXRlciwg aW4gbGVzc29uIHR3ZW50eS1uaW5lLiBGb3Igbm93LCB5b3UnbGwgaGF2ZSB0byBkbyB3aXRob3V0 IHRoZW0uCgoKCkl0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCBzb21lIGFic3RyYWN0b3Jz IGhhdmUgc2V2ZXJhbCBzdW10aSBwbGFjZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUndScnIGNhbiBi ZSBtZW50aW9uZWQuICcnZHUndScnIGlzIGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKAnGFic3RyYWN0 b3IuIHgxIGlzIHRoZSBwcmVkaWNhdGUvYnJpZGkgb2Yge2JyaWRpfSBleHByZXNzZWQgaW4gc2Vu dGVuY2UgeDLigJ0uCgpUaGUgb3RoZXIgc3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEgaXMgcmFyZWx5 IHVzZWQsIGJ1dCAnJ2xvIHNlIGR1J3Uge2JyaWRpfSBrZWkga3UnJyBpcyBzb21ldGltZXMgdXNl ZCBhcyBhIHN1bXRpIGZvciBpbmRpcmVjdCBxdW90YXRpb246IOKAnEkgc2FpZCB0aGF0IEkgd2Fz IGdpdmVuIGEgZG9n4oCdIGNhbiBiZSB3cml0dGVuICcnbWkgY3Vza3UgbG8gc2UgZHUndSBtaSB0 ZSBkdW5kYSBsbyBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9uIHRoZSB3ZWly ZCBleGFtcGxlLgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMgdGhyb3VnaCBt ZWRpdW0geDQKCl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoKISFMb2piYW4g bGVzc29ucyDigJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUn cyBhbm90aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVs YXRpdmUgY2xhdXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0 aW9uIHRvIGEgc3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBz ZW50ZW5jZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmds aXNoIGRlc2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4g dHdvIGZsYXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdv IGtpbmRzIGJlZm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5k cyBhcmUgY2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50 aWFsKSByZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKA nE15IGJyb3RoZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0g VGhpcyBjYW4gYmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwg YnJvdGhlcnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxs IGxldCB5b3Uga25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdo dCBoYXZlIG9ubHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5n IHlvdSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9q YmFuIHdlIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3Qg aW50ZXJwcmV0YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRo ZSBwb3NzaWJsZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25k IG5vbi1yZXN0cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25l IG9mIHZvaWNlIChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBk aXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJh biB1c2VzIHRoZSBjb25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBm b3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNw ZWN0aXZlbHkuCgpMZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28g ZXhwbGFpbiBvdXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUg aW4gbGVzc29uIGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRp dmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiBy ZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9f JydrdSdvJydfXyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEg a3UgcG9pIHBsaXNlIGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGlu ZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1 c3QgYWZ0ZXIgJydsbyBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBU byBiZSBzdHJpY3QsIHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0 IGlzLCB3aGljaCBpcyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBw bGllcyB0byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpdCBtZWFucyB0aGF0 IHRoZSBnaWZ0IGlzIGFuIGFwcGxlLiBBZnRlciBhbGwsIGluIHRoZSBjb250ZXh0IG9mIGxlc3Nv biBmaXZlLCB0aGlzIHNlZW1zIHJlYXNvbmFibGUuIElmIHdlIHdhbnQgdG8gYmUgYWJzb2x1dGVs eSBzdXJlIHRoYXQgaXQgaW5kZWVkIHdhcyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBhcHBsZSwgd2Ug dXNlIHRoZSB3b3JkICcna2UnYScnLCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChhIExvamJhbiBw cm9ub3VuLCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3VtdGkgd2hpY2gg dGhlIHJlbGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydfXyBzdW1rYSdp OyByZWZlcnMgdG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGl0IGF0 dGFjaGVkLgoKCgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2UnYSBwbGlzZSBr dSdvJycgPSDigJxZYXksIEkgZWF0IGEgZ2lmdCB3aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVu ZGVybGluZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJp Y3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgaGVyZSdzIGFub3RoZXIgZXhhbXBsZToKCgoKX18nJ2xv amJvJydfXyDigJx4MSByZWZsZWN0cyBMb2piYW5pYyBjdWx0dXJlL2NvbW11bml0eSBpcyBhc3Bl Y3QgeDI7IHgxIGlzIExvamJhbmljLuKAnQoKCgonJ21pIG5vaSBsb2pibyBrdSdvIGZhbnZhIGZv IGxvIGxvamJvIGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5pYywgdHJhbnNsYXRlIGZyb20g c29tZSBMb2piYW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11bHRpcGxlIHRo aW5ncyB3aGljaCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0aGF0IEkgYW0g bG9qYmFuaWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbm90IG5lZWRlZCB0byBp ZGVudGlmeSBtZS4gVGhlcmVmb3JlICcnbm9p4oCma3UnbycnIGlzIGFwcHJvcHJpYXRlLgoKU2Vl IGlmIHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMg YmVhdXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoK X18nJ21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMg Ynkgc3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4 MiwgZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7a2UnYX0gbWVsYmkga3Un bycnfn4KCgoKT24gYSBtb3JlIHRlY2huaWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1 bCB0byBrbm93IHRoYXQgJydsbyB7c2VsYnJpfSBrdScnIGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBh cyAnJ3pvJ2Ugbm9pIGtlJ2Ege3NlbGJyaX0ga3UnbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg 4oCTIExlc3NvbiBlaWdodCAodGVybWluYXRvciBlbGlzaW9uKQoKJycuYXUgZGEnaSBtaSBkamlj YSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1 J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBr dSB2YXUga2VpIGt1IHZhdV9fJycKCiAtICDigJxJIHdpc2ggdGhlIEFtZXJpY2FuLCB3aG8gaXMg bXkgc2libGluZywgd291bGQgdW5kZXJzdGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0aGF0IGhlIGhp dHMgbWUu4oCdCgpSZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJl aW5nIHVuZGVyc3Rvb2QsIChpdCBzaG91bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhh dmUgbm90IGNvdmVyZWQgaW4gdGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0 OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5k IG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBnZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAn J2t1J28nJyBhbmQgb3RoZXIgb2YgdGhvc2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNlbHZlcyBjYXJy eSBubyBtZWFuaW5nLgoKCgpUaGUgZnVuY3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRzIGlzIHRvIHNp Z25hbCB0aGUgZW5kIG9mIGEgY2VydGFpbiBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9y IGluc3RhbmNlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcn a3UnJy4gVGhlIEVuZ2xpc2ggd29yZCBmb3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWlu YXRvcuKAnSwgdGhlIExvamJhbiB3b3JkIGlzICcnZmEnb3JtYSdvJycuIFRoZXkgYXJlIHdyaXR0 ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBsZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3ZhdScnIGluIHRo ZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUgZmEnb3JtYSdvIGZvciDigJxlbmQgYnJpZGnigJ0uIFRo ZXJlIGlzIGEgZ29vZCByZWFzb24geW91IGhhdmUgbm90IHlldCBzZWVuIGl0LCBzdGF5IHR1bmVk LgoKX18nJ3ZhdScnX18gZmEnb3JtYSdvOiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJbiBtb3N0IHNw b2tlbiBhbmQgd3JpdHRlbiBMb2piYW4sIG1vc3QgZmEnb3JtYSdvIGFyZSBza2lwcGVkIChlbGlk ZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMgc3lsbGFibGVzIGluIHNwZWVjaCBhbmQgc3BhY2UgaW4g d3JpdGluZywgaG93ZXZlciwgb25lIG11c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hlbiBlbGlkaW5n IGZhJ29ybWEnby4gSW4gdGhlIHNpbXBsZSBleGFtcGxlICcnbG8gbWVya28ga3Uga2xhbWEnJywg cmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAnJ2t1Jycgd291bGQgeWllbGQgJydsbyBtZXJrbyBrbGFt YScnLCB3aGljaCBpcyBhIHNpbmdsZSBzdW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnbWVya28g a2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLigJ0gaW5zdGVh ZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lvbiBjYW4gbGVh ZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMgaWYgZG9uZSBpbmNvcnJlY3RseSwgd2hpY2ggaXMgd2h5 IHlvdSBoYXZlbid0IGxlYXJuZWQgYWJvdXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Ig d2hlbiBmYSdvcm1hJ28gY2FuIGJlIGVsaWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4g dGhlb3J5OiDigJxZb3UgY2FuIGVsaWRlIGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18g ZG9pbmcgc28gZG9lcyBub3QgY2hhbmdlIHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRo ZSBzZW50ZW5jZS7igJ0KCk1vc3QgZmEnb3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRo ZSBlbmQgb2YgdGhlIGJyaWRpLiBFeGNlcHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug 4oCcZW5kIHF1b3Rl4oCdLWZhJ29ybWEnbyBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZh J29ybWEnby4gVGhpcyBpcyB3aHkgJyd2YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2lt cGx5IGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMg dGVybWluYXRlIHRoZSBwcmVjZWRpbmcgYnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50 IHVzZSwgaG93ZXZlci4gU2luY2UgYXR0aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJl Y2VkaW5nIHdvcmQsIGFwcGx5aW5nIGl0IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhl IGVudGlyZSBjb25zdHJ1Y3Qgd2hpY2ggaXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25l IGNhbiB0aGVuIHVzZSBhdHRpdHVkaW5hbHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRv IHRoZSBlbnRpcmUgYnJpZGk6CgonJ3phJ2EgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVu dSB7a3V9Li4uIHZhdSBpJ2UnJyAtIOKAnEkgc2VlIHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEg cGVyc29uLi4uIEkgYXBwcm92ZSHigJ0KCl9fJydwcmVudScnX18geDEgaXMgYSBwZXJzb247IHgx IGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpLbm93aW5nIHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3Jt YSdvIGVsaXNpb24sIHdlIGNhbiB0aHVzIHJldHVybiB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2Ug YW5kIGJlZ2luIHJlbW92aW5nIGZhJ29ybWEnbzoKCgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBu dSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkg bmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUg a2VpIGt1IHZhdV9fJycKCgoKV2UgY2FuIHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdy YW1tYXRpY2FsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13 b3JkIGlzICcnamltcGUnJywgd2hpY2ggaXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5 IGJlIG9uZSBzZWxicmkgcGVyIGJyaWRpLCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcn amltcGUnJyBhcyBhIHNlbGJyaSBjYW5ub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRo ZXIgKG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBi cmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3Qg YmUgYSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4u Ln0nJywgc28gdGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFs bCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVs aWRlZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwg b2YgdGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUg ZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBt aSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pJycg4oCTIHdpdGggbm8gZmEnb3JtYSdvIGF0 IGFsbCEKCgoKV2hlbiBlbGlkaW5nIGZhJ29ybWEnbywgaXQgaXMgYSBnb29kIGlkZWEgdG8gYmUg YWNxdWFpbnRlZCB3aXRoICcnY3UnJy4gJydjdScnIGlzIG9uZSBvZiB0aG9zZSB3b3JkcyB3aGlj aCBjYW4gbWFrZSB5b3VyIChMb2piYW5pYykgbGlmZSBhIGxvdCBlYXNpZXIuIFdoYXQgaXQgZG9l cyBpcyB0byBzZXBhcmF0ZSBhbnkgcHJldmlvdXMgc3VtdGkgZnJvbSB0aGUgc2VsYnJpLiBPbmUg Y291bGQgc2F5IHRoYXQgaXQgZGVmaW5lcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEgc2VsYnJpLCBh bmQgdGVybWluYXRlcyBleGFjdGx5IGFzIG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4gb3JkZXIgdG8g ZG8gdGhhdC4KCl9fJydjdScnX18gZWxpZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMgc2VsYnJpIGZy b20gcHJlY2VkaW5nIHN1bXRpLCBhbGxvd3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBlbGlzaW9uLgoK CgpfXycncHJhbWknJ19fID0g4oCceDEgbG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1IGRvIGN1c2t1 IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamlj YSBtaScnID0KCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fY3Vf XyBzZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBtZSBpcyBkZXNp cmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXigJ0KCm5vdGU6 ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90IHRpZWQgdG8gb25l IHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRlIG90aGVyIGZh J29ybWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMgb2YgJydjdScnIGlzIHRo YXQgaXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkgdW5kZXJzdGFuZC4gQnkg aXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1Y3R1cmUgb2Yg TG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJyaS4gSW4gdGhl IG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBicm90aGVyLCB1c2lu ZyAnJ2N1JycgYmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2Yg dGhlIHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVhc2llciB0byByZWFk LgoKCgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycgd2lsbCBiZSB1 c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYgcG9zc2libGUu IFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJseSBicmFja2V0cywg YXMgc2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycndmFqbmknJ19fIOKAnHgx IGlzIGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycnamltcGUnJ19fIOKAnHgx IHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR1J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPi gJ0KCl9fJydhJ28nJ19fIC0gQXR0aXR1ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlvbmFsIGVtb3Rp b246IEhvcGUgLSBkZXNwYWlyCgoKCicnYSdvIGRvIG5vaSBrZSdhIGxvamJvIC5pJ2Uge2t1J299 IHtrdX0gY3UgamltcGUgbG8gZHUndSBsbyBmYSdvcm1hJ28ge2t1fSBjdSB2YWpuaSB7dmF1fSB7 a2VpfSB7a3V9IHt2YXV9JycKCldoYXQgZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxJIGhvcGUgdGhhdCB5b3UsIGEgcHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0YW5kcyB0aGF0 IGZhJ29ybWEnbyBhcmUgaW1wb3J0YW504oCdfn4KCgoKRnVuIHNpZGUgbm90ZTogTW9zdCBwZW9w bGUgd2VsbC12ZXJzZWQgaW4gZmEnb3JtYSdvLWVsaXNpb24gZG8gaXQgc28gaW5zdGluY3RpdmVs eSB0aGF0IHRoZXkgb2Z0ZW4gbXVzdCBiZSByZW1pbmRlZCBob3cgaW1wb3J0YW50IHVuZGVyc3Rh bmRpbmcgZmEnb3JtYSdvIGFyZSB0byB0aGUgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4uIFRoZXJl Zm9yZSwgZWFjaCBUdWVzZGF5IGhhdmUgYmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1pbmF0b3IgRGF5 4oCdIG9yICcnZmEnb3JtYSdvIGRqZWRpJycgb24gdGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1 cmluZyBUZXJtaW5hdG9yIERheSwgbWFueSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8g cmVtZW1iZXIgd3JpdGluZyBvdXQgYWxsIGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3Nl IGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1bHQuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3Nv biBuaW5lIChzdW10Y2l0YSkKClNvIGZhciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwg d2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUgaGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEg ZmluaXRlIGFtb3VudCBvZiBkZWZpbmVkIHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNh c2VzIHRoZSBzdW10aSBwbGFjZXMgYXJlIG5vdCB1c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1p bmQuIFdoYXQgaWYsIHNheSwgaSB3YW50IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNp bmcgYSBjb21wdXRlcj8gVGhlcmUgaXMgbm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2Zh bnZhJycgdG8gc3BlY2lmeSB3aGF0IHRvb2wgSSB0cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qg b2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxl c3NvbiBpcyBvbiBob3cgdG8gYWRkIGFkZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxi cmkuCgoKClRoZSBtb3N0IGJhc2ljIHdheSB0byBhZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcn ZmknbyBTRUxCUkkgZmUndScnICh5ZXMsIGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywg JydmZSd1JycuIEl0J3MgYWxtb3N0IG5ldmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0 aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNlZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3Jk cyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlrZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2ZpJ28gU0VMQlJJ IGZlJ3UnJyBleHRyYWN0cyB0aGUgeDEgb2YgdGhlIHNlbGJyaSBwdXQgaW50byBpdC4gSG93ZXZl ciwgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0 ZWQsIG5vdCB0byBhIHN1bXRpLCBidXQgdG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3Vt dGktbGFiZWzigJ0sIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNl bGJyaSBpdCBjb252ZXJ0ZWQuIFRoaXMgJydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4 dCBzdW10aS4gT25lIGNvdWxkIHNheSB0aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1w b3J0IGEgc3VtdGkgcGxhY2UgZnJvbSBhbm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUg YnJpZGkgYmVpbmcgc2FpZC4KCk5vdGU6IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0 ZXh0cywgdGhlIHRlcm0g4oCcdGFn4oCdIG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3Vt dGNpdGEnJy4gSWdub3JlIHRob3NlIHB1bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2gg cHJvcGVyIExvamJhbiBoZXJlLgoKCgpXaGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9j ZXNzIGZyb20gcmVhZGluZyBhYm91dCBpdCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0 cyBhY3R1YWwgc2ltcGxpY2l0eToKCl9fJydza2FtaScnX18g4oCceDEgaXMgYSBjb21wdXRlciBm b3IgcHVycG9zZSB4MuKAnQoKX18nJ3BpbG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBm b3IgZG9pbmcgeDPigJ0KCgoKJydtaSBmYW52YSB0aSBmaSdvIHNlIHBpbG5vIHtmZSd1fSBsbyBz a2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCd IFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdoaWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMg YSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEgdG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMg cGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUndScnLCBhZGRl ZCB0byB0aGUgbWFpbiBzZWxicmksIGFuZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRo ZSBpZGVhIG9mICcnc3VtdGNpdGEnJyBpcyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2gg dXNpbmcgdGhlIGZvbGxvd2luZyB0cmFuc2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0 aC10b29sOiBBIGNvbXB1dGVy4oCdCgoKCkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBv bmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVs eSwgb25lIGNhbiB1c2UgdGhlICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3QgYnkgaXRzZWxmIHdpdGhv dXQgc3VtdGkuIEluIHRoaXMgY2FzZSB5b3UgbmVlZCB0byBwdXQgaXQgZWl0aGVyIGJlZm9yZSB0 aGUgc2VsYnJpIG9yIHRlcm1pbmF0ZSBpdCB3aXRoICcna3UnJy4gSW4gc3VjaCBjYXNlIG9uZSBj YW4gdGhpbmsgYXMgaWYgdGhlIHN1bXRjaXRhIGhhcyB0aGUgd29yZCAnJ3pvJ2UnJyBhcyB0aGUg c3VtdGkuCgoKCl9fJyd6dWt0ZScnX18g4oCceDEgaXMgYSB2b2xpdGlvbmFsIGVudGl0eSBjYXJy eWluZyBvdXQgYWN0aW9uIHgyIGZvciBwdXJwb3NlIHgz4oCdCgoKCicnZmknbyB6dWt0ZSB7ZmUn dX0ga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9e3ZhdX0nJyAtIOKAnFdp dGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNlZCBzb21ldGhpbmcgTG9qYmFuaWPigJ0gKHBlcmhh cHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmljIGNvbXB1dGVyIHdlbnQgc2VudGllbnQ/IFRvdWdo IGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhhZCB2b2xpdGlvbi4gSXQgY291bGQganVzdCBiZSB0 aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1lZCB0aGUgY29tcHV0ZXIgLSBob3cgYm9yaW5nLikK CgoKTm90ZSB0aGF0IHRoZXJlIGlzICcna3UnJyBpbiAnJ2ZpJ28genVrdGUge2ZlJ3V9IGt1Jycu IFdpdGhvdXQgaXQgdGhlIHN1bXRjaXRhIHdvdWxkIGhhdmUgYWJzb3JiZWQgJydsbyBza2FtaSB7 a3V9JycgYW5kIHdlIGRvbid0IHdhbnQgdGhhdC4KCgoKQWx0ZXJuYXRpdmVseSwgd2UgY2FuIHNh eToKCgoKJydmaSdvIHp1a3RlIHtmZSd1fSB6bydlIGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8g bG9qYm8ge2t1fXt2YXV9JycgCgonJ2xvIHNrYW1pIHtrdX0gY3UgZmknbyB6dWt0ZSB7ZmUndX0g cGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgCgoKCnJldGFpbmluZyB0aGUgbWVhbmluZy4KCgoK V2hhdCBkb2VzICcnbWkgamltcGUgZmkgbGEgbG9qYmFuIGZpJ28gc2UgdGF2bGEge2ZlJ3V9IG1p Jycgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNvbWV0aGlu ZyBhYm91dCBMb2piYW4sIHNwb2tlbiB0byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcnc3VtdGNp dGEnJyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10ZXJt aW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBzZWxi cmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFzIHlv dSB3aWxsIHNlZS4KCgoKU2FkbHksICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gZGVz cGl0ZSBpdHMgZmxleGliaWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gsIGFy ZSBCQUkuIEJBSSBpcyBhIGNsYXNzIG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhlbXNlbHZl cyBhY3QgYXMgJydzdW10Y2l0YScnLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdlJycsIHRo ZSBCQUkgZm9yICcnenVrdGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUgc2FtZSBh cyAnJ2ZpJ28genVrdGUgZmUndScnLiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3VsZCBiZSBy ZWR1Y2VkIHRvOgoKJyd6dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1 fSB7dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBv ZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28g YmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6 dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0cyBp biBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAo UFUsIEZBaEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmds aXNoLXNwZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3Vn aCBuaW5lIGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ug b25jZS4gVGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9z dCBJbmRvLUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFu IGFyZSBvcHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFu IOKAnEkgZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3 YXlzIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmlu aXNoZWQgZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3Qs IGFuZCBpbiBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4g SG93ZXZlciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1 Z2h0LiBGdXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkg dHJlYXQgdGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0 IEkgd29ya2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQg dGhhbiBzYXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhl ciBsYW5ndWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3Qg ZGlmZmljdWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFn ZXMgdGhvdWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVh ciBub3QsIGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBt b2RpZnkgdGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0 aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdl IGhhdmUgY29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2th eSBva2F5LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBv dGhlciBzdW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2Fu dCwgYW5kIHdvbid0IGJlIGV4cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRo ZXkgYXJlIGxpa2UgYWxsIG90aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcn a3UnJywgbWFraW5nIGl0IGV4cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1Jycu CgpUaGVyZSBhcmUgbWFueSBkaWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxl dCdzIHN0YXJ0IGF0IHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4K Cl9fJydwdScnX18gLSBzdW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10 Y2l0YTogYXQgdGhlIHNhbWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6 IGFmdGVyIHtzdW10aX0KCgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCc YmVmb3Jl4oCdLCDigJxub3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdo LCBvbmUgY291bGQgYXJndWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9j Y3VyIGV4YWN0bHkgc2ltdWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0 ICcnY2EnJyBleHRlbmRzIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1l YW5pbmcganVzdCDigJxhYm91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3Mg ZG9uJ3QgcGVyY2VpdmUgdGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBM b2piYW4gdGVuc2Ugc3lzdGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFj dHVhbGx5IHN1Z2dlc3RlZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlz dGljLiBUaGF0IGlkZWEsIGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50 ZXItaW50dWl0aXZlLCBhbmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdv dWxkIGhhdmUgdG8gbGVhcm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNv LCBob3cgd291bGQgeW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/i gJ0gKHBvaW50aW5nIHRvIGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNr dSB0aSBiYSBsbyBudSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9Jyd+fgoKCgpV c3VhbGx5IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZl bnQgaW4gdGhlIHBhc3QgdGhpcyBhY3Rpb24gaXMgcmVsYXRpdmUgdG8uIEluOiDigJxJIGdhdmUg YSBjb21wdXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5l ZCByZWxhdGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkg b2YgdGhlIHN1bXRjaXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEg bG8gc2thbWkge2t1fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1 fSB7dmF1fScnIG9yLCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkg e2t1fSB7dmF1fScnLiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGlt cGxpZWQgJyd6bydlJycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxh dGl2ZSB0byB0aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkg aW1wb3J0YW50IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2lu ZyBhYm91dCBzb21lIGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRo ZSBwcmVzZW50LCBpdCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJl bGF0aXZlIHRvIHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRl ciB0byBjbGFyaWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIn cyBjdXJyZW50IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0 aW1lLiBBbm90aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29u c2lkZXJlZCB0aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4K Cl9fJyduYXUnJ19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJl bmNlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScn X18gPSDigJx4MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9y eSB4M+KAnQoKCgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3Vn ZGUge2t1fSB7dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkg dGhhdCBJJ20gbm90IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxz byB0cnVlIHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBh Z28uCgoKCkFzIG1lbnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJl IHZlcnkgbXVjaCBhbGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2Vz IHdpdGggdGhlc2UgZm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10Y2l0YTog bGVmdCBvZiB7c3VtdGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10 aX0KCl9fJydyaSd1JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19f IHN1bXRjaXRhOiBhdCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxl bnQgb2YgJydjYScnKQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBl bW90aW9uOiBwYXRpZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQgJycubydv bmFpIHJpJ3Uge2t1fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0g e2t1fSB7dmF1fSB7a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBr dSEpCgpfXycnZGFyeGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0 IGxvY3VzIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0 IChvZiBzb21ldGhpbmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZl bnQpLCBzb21ldGhpbmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0g b3Ig4oCcQSBtYW4gaGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBz ZXZlcmFsIHRlbnNlIHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3Ug cmVhZCB0aGVtIGZyb20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg 4oCcaW1hZ2luYXJ5IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBv aW50IGluIHRpbWUgYW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVy ZSksIGFuZCB0aGVuIGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9tIGxlZnQg dG8gcmlnaHQuCgpFeGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBsbyBsb2pi byBmYSdvcm1hJ28ge2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJ IHdpbGwgYmUgYWJvdXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9 IHB1IHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBz b21lIHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEn b3JtYSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3 ZSBtb3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJvdGggY2Fz ZXMgaGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVy ZW5jZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwg dGhlIHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhp cyBydWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50YWN0aWNh bCBhbWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3 ZSB3YW50IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUg YWdvLiBUaGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9y dCwgdW5zcGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0 aW1lLiBOb3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMg b3JkZXIgYXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29y dGggdG8gbWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMg Y29udGV4dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5 ZWFycyBpcyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcg dGltZSB0byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcg dGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVy ZW5jZSAKCl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRp dW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAK Cl9fJyd6dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRp fSBpbiB0aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFj aWFsIGRpc3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBz aG9ydCwgdW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpf XycndmknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRp fSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6 IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4g c3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3Vy cmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQg b2YgcmVmZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVj dGl2ZSB4M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmth IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVy ZSwgSSB3aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVs eSB1c2UgJyd6aScnLCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScn IGluIGZyb250IG9mIGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQg dG8gc3BlY2lmeSBwYXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4g eW91IHRoaW5rIGFib3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGlt ZS1kaXJlY3Rpb24gaXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1 b3VzIQoKCgpUaGUgb3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5j ZS1zdW10Y2l0YSBhcmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhl IG1lYW5pbmdzIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0 dXJlZCBieSBhbiBpbWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byByaWdodC4g VGh1cyAnJ3B1IHp1JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUgcHUnJyBp cyDigJxpbiB0aGUgcGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBsb25nIHRp bWUgdG93YXJkIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUgZmlyc3Qg ZXhhbXBsZSwgJydwdScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcnenUnJyB0 aGVuIHRoYXQgaXQgaXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1w bGUsICcnenUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4g dGltZSBmcm9tIG5vdywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0 aGF0IHBvaW50LiBUaHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcnenUgcHUn JyBjb3VsZCBiZSBpbiB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUgdGVuc2Vz IGNvbWJpbmUgaW4gdGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRl bnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1 bXRjaXRhIGFyZSBub3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10 Y2l0YSBpbiBhIGJyaWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxsIHRoZXNl IGNvbnN0cnVjdHMgYmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwb2ludC1s aWtlIGluIHRpbWUgYW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0 IG92ZXIgYSBzcGFuIG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZldyBwYXJh Z3JhcGhzLCB3ZSB3aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0aW1lIGFu ZCBzcGFjZS4KCgoKX18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9y dCB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0 aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScnX18gc3Vt dGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdp JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoK X18nJ3ZlJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVk aXVtKSBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92 ZXIgdGhlIGxvbmcgc3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1lLCBJIGtu b3csIGJ1dCByZW1lbWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5 IG9mIHRoZSBpbml0aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNw YWNpYWwgdGVuc2VzIG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydfXyAtIGF0 dGl0dWRpbmFsOiBwYWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUn dSB7a3V9IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5n IGEgbG9uZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUg bm90IGZhbWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3Bl biB1cCBmb3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2Us IHRyYW5zbGF0ZSDigJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9IGdlcmt1 IHt2YXV9JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3BhY2XigJ0g bWFrZXMgeW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBM b2piYW4hCgoKCicnemUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3Ro ZXIgdGVuc2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZSd1Jycg YW5kIHRoZSBvdGhlcnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFya3MgYW4g ZW5kcG9pbnQgb2YgdGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiByZWZlcmVu Y2UpIGFuZCBhbnkgdGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9p bnQgcmVsYXRpdmUgdG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0 aCBhIGNvdXBsZSBvZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1 IHtrdX0gYmEge2t1fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJl Z2lubmluZyBpbiB0aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBzb21lIHBv aW50IGZhciBpbnRvIHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBm LCB5b3UgYXRlIGZvciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8g Y2Ege2t1fSB6ZSdpIHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9 IHplJ2kge2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2 ZWxpbmcgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRs ZSB0b3dhcmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9p bnQgaW4gdGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywg c2xpZ2h0eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydq bWl2ZScnX18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcn LnVpIG1pIHB1IHtrdX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHByZXNzPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRs ZSBpbnRvIHRoZSBwYXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0 IChvYnZpb3VzbHkgdGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW504oCdIG9y IOKAnEkgYW0geW91bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKA nX5+CgoKCkp1c3QgdG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5z ZXMsIGxldCdzIGhhdmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRl bnNlczoKCl9fJycudSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoK JycudSdlIHphJ2Ege2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1 fScnIC0gV2hhdCBkb2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25k ZXJ9IHtJIG9ic2VydmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBm cm9udCBpcyBhIGhvbWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBp cyBodWdlIeKAnX5+CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5 IHRlbnNlIHN5c3RlbSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMg ZG9pbmcgc29tZXRoaW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIg dG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29r aWUgdmVyeSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCBy ZXN0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVsZXZlbiAoWkFoTykKClRob3VnaCB3 ZSB3b24ndCBnbyB0aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Igbm93LCB0 aGVyZSBpcyBvbmUgb3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRh dWdodCBub3cuIFRoZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFuZCByZXBy ZXNlbnQgYSB2ZXJ5IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZl IHNlZW4gc28gZmFyLiBTbyBsZXQncyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2Ug aGF2ZSBsZWFybmVkIHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxp bmUsIGFuZCB3ZSB0aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhl IOKAnG5vd+KAnS4gV2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2 ZW50IGFzIGEgcHJvY2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3Jl IGl0IHVuZm9sZHMsIGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4g cHJvY2VzcywgYSB0aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5k ZWQuIEV2ZW50IGNvbnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnQn cyBwcm9jZXNzIHdhcyBoYXBwZW5pbmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNpZmllZCBieSB0aGUg b3RoZXIgdGVuc2VzLiBXZSBuZWVkIGEgY291cGxlIG9mIHRlbnNlcyBmaXJzdDoKCgoKX18nJ3B1 J28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBl bmVkIGR1cmluZyB7c3VtdGl9CgpfXycnY2EnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2JhJ28nJ19fIC0gc3Vt dGNpdGE6IGV2ZW50IGNvbnRvdXI6IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhhcyBlbmRlZCBkdXJp bmcge3N1bXRpfQoKCgpUaGlzIG5lZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBieSBzb21lIGV4YW1w bGVzLiBXaGF0J3MgJycudWkgbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVhbj8KCgoK QW5zd2VyOiDigJxZYXksIEknbGwgYmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0uCgoKCkJ1dCBoZXks IHlvdSBhc2ssIHdoeSBub3QganVzdCBzYXkgJycudWkgbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1 fScnIGFuZCBldmVuIHNhdmUgYSBzeWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1iZXIsIHNheWluZyB0 aGF0IHlvdSB3aWxsIGhhdmUgYSBob21lIGluIHRoZSBmdXR1cmUgc2F5cyBub3RoaW5nIGFib3V0 IHdoZXRoZXIgeW91IGhhdmUgYSBob21lIG5vdy4gVXNpbmcgJydwdSdvJycsIHRob3VnaCwgeW91 IHNheSB0aGF0IHlvdSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9jZXNzIG9mIHlvdSBo YXZpbmcgYSBob21lLCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb24ndCBoYXZlIG9uZSBub3cuCgpO b3RlLCBieSB0aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNp bWlsYXIgdG8gJydtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJywgYW5kIGxpa2V3aXNlIHdp dGggJydiYSdvJycgYW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2VlbSByZXZlcnNlZD8gQmVjYXVz ZSBldmVudCBjb250b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJvbSB0aGUgdmlld3Bv aW50IG9mIHRoZSBwcm9jZXNzLCB3aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMgdmlldyBldmVudHMg c2VlbiBmcm9tIHRoZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQgY29udG91cnMgYXJlIG1vcmUg cHJlY2lzZSB0aGF0IG90aGVyIGtpbmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUgY2xhcml0eSBpcyBh Y2hpZXZlZCBieSBjb21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBtaSBiYXtrdX0gemkg e2t1fSBiYSdvIHtrdX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3ZlIHNvb24gZmluaXNo ZWQgd29ya2luZy7igJ0KCgoKSW4gTG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUgd2l0aCBhbiBldmVu dCdzIOKAnG5hdHVyYWwgYmVnaW5uaW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRo ZSB0ZXJtIOKAnG5hdHVyYWzigJ0gaXMgaGlnaGx5IHN1YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwg YW5kIHRoZSBuYXR1cmFsIGVuZCByZWZlcnMgdG8gdGhlIHBvaW50IGluIHRoZSBwcm9jZXNzIHdo ZXJlIGl0IHNob3VsZCBlbmQuIFlvdSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGlu c3RhbmNlLCB0aGF0IGl0cyBwcm9jZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5n IGJleW9uZCBpdHMgbmF0dXJhbCBlbmQuIEFuIHVuZGVyY29va2VkLCBidXQgc2VydmVkIG1lYWws IHNpbWlsYXJseSwgaXMgYmVpbmcgZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2VzcycgbmF0dXJhbCBi ZWdpbm5pbmcuIFRoZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVzIGFyZSBh cyBmb2xsb3dzOgoKCgpfXycnemEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJp ZGkgaXMgaW4gcHJvY2VzcyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3VtdGl9Cgpf XycneGEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1tYXR1cmVs eSBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgxIGlzIGZv b2QsIHdoaWNoIGlzIGVkaWJsZSBmb3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRr YSB6YSdvIGxvIG51IGRvIGJhJ28ge2t1fSB1J2UgY2l0a2Egem8nZSBub2kgY2lkamEgZG8ge3Zh dX0ge2t1J299IHt2YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95 LCB5b3Uga2VlcCBlYXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0 aW5nIHNvbWV0aGluZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiBy ZWw9ImJveFtnXSJ9CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4g QWxsIHRlbnNlcyBhYm92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292 ZXJpbmcgYW4gYW1vdW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUg c2lnbmlmeSBzdGFnZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5z ZXMgaGF2ZSBiZWVuIGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0YWtlcyBz b21lIHRpbWUgKGFzIHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2VzIGFib3Zl IHRoZSBldmVudCBsaWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJl cyBwb2ludCBsaWtlIHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5uaW5nLiBB cyBpcyB0cnVlIG9mICcnY2EnJyBhbmQgJydidSd1JycsIHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNs aWdodGx5IGludG8gdGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBu b3QgdG8gYmUgcHJlY2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1saWtlIGV2 ZW50IGNvbnRvdXJzIGFyZToKCl9fJydjbydhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3Vy OiBCcmlkaSBpcyBhdCBpdHMgYmVnaW5uaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnY28ndScnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBkdXJpbmcg e3N1bXRpfQoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUgcHJvY2Vz cyBpcyBuYXR1cmFsbHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVuZGVkIHll dDoKCl9fJydtbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBp dHMgbmF0dXJhbCBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUsIHRob3Vn aCwgcHJvY2Vzc2VzIGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsgdGhpcyBp cyB3aGF0IG1ha2VzIGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5k IHBlb3BsZSB1c3VhbGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGlibGUgZm9v ZC4KCgoKU2luY2UgYSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhl c2UgcG9pbnRzIGhhdmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286CgpfXycn ZGUnYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcGF1c2luZyBkdXJp bmcge3N1bXRpfQoKX18nJ2RpJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRp IGlzIHJlc3VtaW5nIGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVuZGknJyBt ZWFucyDigJx4MSBwYXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZSdhIGp1bmRpJycgYW5kICcn ZGknYSBqdW5kaScnIGFyZSBjb21tb24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBh bmQg4oCcYmFja+KAnS4gT25lIGNvdWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZlbnQgY29u dG91cnMgYnkgdGhlbXNlbHZlcyBhbmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZp bmFsbHksIG9uZSBjYW4gdHJlYXQgYW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcg dG8gdGhlIGVuZCBhcyBvbmUgc2luZ2xlIHBvaW50IHVzaW5nICcnY28naScnOgoKX18nJ3Blbm1p JydfXyDigJx4MSBtZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9IHppIHtr dX0gY28naSB7a3V9IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKAnEEgbGl0 dGxlIHdoaWxlIGFnbywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBtZXQgYSBH ZXJtYW4gcGVyc29u4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VsdmUgKG9y ZGVycyBhbmQgcXVlc3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3aXRoIHN5 bnRheCBoZWF2eSBMb2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25kZXIgYWJv dXQuIEVzcGVjaWFsbHkgYmVjYXVzZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNv IGxldCdzIHR1cm4gdG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9yZGVycyBhbmQgcXVl c3Rpb25zLgoKCgpXaGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18KCgoKU2luY2UgdGhl IHdheSB0byBleHByZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZlIG91dCB0aGUgc3Vi amVjdCBvZiB0aGUgY2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBpdCB3YXMgeW91IEkg d2FzIHNwZWFraW5nIHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3IgZXhwcmVzc2luZyB0 aGUgb2JsaWdhdGlvbiBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBFbmdsaXNoIGxhbmd1 YWdlIHVuZGVyc3RhbmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwgYXJlIGFs d2F5cyBkaXJlY3RlZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5b3XigJ0sIGFuZCBz byB0aGUgc3ViamVjdCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBlbGlkaW5nIHRoZSBz dWJqZWN0IHlpZWxkcyAnJ3pvJ2UnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBpcyBzYWRseSBub3Qg b3BlbiB0byB1cy4gSW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywgd2hpY2ggaXMgdGhl IGltcGVyYXRpdmUgZm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5kIGJyaWRpLXdpc2Us IGl0J3MgZXF1aXZhbGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50 aWNzLCBzaW5jZSBpdCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50 byBhbiBvcmRlci4g4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91 PScna28nJyHigJ0gRm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVkIHRoZSBzdWJqZWN0 IGluIEVuZ2xpc2ggc2VudGVuY2VzLCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdvcmRzIGRlcml2ZWQg ZnJvbSBhbnkgb3RoZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhvdyBjb3VsZCB5b3Ugb3JkZXIg b25lIHRvIGdvIGZhciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNpbmcgJydrbGFtYScnIGFzIHRo ZSBvbmx5IHNlbGJyaT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6a28gdmUndSB6ZSd1IGtsYW1h fn4KCignJy5pIHphJ2EgZGFpIGEnbyBtaSBjYSBjbyd1IGNpc2thIGxvIGZhJ29ybWEnbyAuaSBr byBqaW1wZSB2YXUgLnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBvdXQuCgoKClF1 ZXN0aW9ucyBpbiBMb2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRoZXkgY29tZSBp biB0d28ga2luZHM6IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBxdWVzdGlvbnMu IExldCdzIGJlZ2luIHdpdGggdGhlIHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRoYXQncyBw cmV0dHkgb3ZlcmNvbWVhYmxlLCBzaW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1 JycuCgonJ3h1Jycgd29ya3MgbGlrZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBp dCBjYW4gZ28gYW55d2hlcmUsIGFuZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcgd29yZCAo b3IgY29uc3RydWN0KS4gSXQgdGhlbiB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVl c3Rpb24sIGFza2luZyB3aGV0aGVyIGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0byBhZmZp cm0sIHlvdSBzaW1wbHkgcmVwZWF0IHRoZSBicmlkaToKCicneHUgdmUndSB6ZGFuaSBkbycnICcn LmkgdmUndSB6ZGFuaSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmksIHdo aWNoIGlzIHRoZSBicmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcn emRhbmknJy4KClRoZXJlIGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNpbmcgYnJp a2EnaSwgYnV0IHRob3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5zd2VyIOKA nG5v4oCdIG9yIOKAnGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBicmlkaSBu ZWdhdGVkLiBUaGF0IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0 dXJuIHRvIHF1ZXN0aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2luZCBpcyBm aWxsIGluIHRoZSBibGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8g YmUgcmVwbGFjZWQgZm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkgY29ycmVj dC4gVGhlcmUgYXJlIHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlv dSBhcmUgYXNraW5nIGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8n J19fIC0gc2VsYnJpIHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycn Y3UnZScnX18gLSB0ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBh c2sgYWJvdXQgYSBzdW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3 aGVyZSB5b3Ugd2FudCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNrcyBmb3Ig dGhlIHgyIHRvIGJlIGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdpdmUgd2hh dCB0byBtZT/igJ0uIFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21hJycgaXMg dmVyeSB1c2VmdWwgaW5kZWVkOgoKX18nJ211J2knJ19fIC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBi eSB0aGUgYWJzdHJhY3Rpb24gb2Yge3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4aSBtaSBtdSdpIG1h JycgLSDigJxPeSwgd2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0cnkgYW5vdGhlciBv bmUuIFRoaXMgdGltZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZSd1IHB1IG1v JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3UncmUgaGFwcHksIHdoYXQgaGF2ZSB5b3Ug YmVlbiBkb2luZyBhbGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmljYWxseSwg aXQgY291bGQgYWxzbyBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJp bmcgd2l0aCAnJy51YSBuYWkgbGknYSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNseSkgaXMg anVzdCBiZWluZyBpbmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2luY2UgdG9u ZSBvZiB2b2ljZSBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIg YSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlzcyB0aGUg cXVlc3Rpb24gd29yZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1cyBtb3Jl IG9uIHdvcmRzIGluIHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0 J3MgdXN1YWxseSB3b3J0aCB0aGUgd2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRo YXQgdGhlIHF1ZXN0aW9uIHdvcmRzIGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90 IGZlYXNhYmxlLCAnJ3BhdScnIGlzIGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0aGUgc2Vu dGVuY2UgaXMgYSBxdWVzdGlvbi4gQ29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0bHkgbWFy a3MgYW55IHF1ZXN0aW9uIGFzIGJlaW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0 aGUgdG9waWMgb2YgcXVlc3Rpb25zLCBpdCdzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVudGlvbiB0 aGUgd29yZCAnJ2thdScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3QgcXVlc3Rp b27igJ0uIFdoYXQncyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFrZSBhIGxv b2sgYXQgdGhlIHNlbnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR1J3UgbWEga2F1IHpkYW5pIGRvJycg LSDigJxJIGtub3cgd2hhdCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKAnHgxIGtu b3dzIGZhY3QocykgeDIgYXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg04oCdCgpP bmUgY2FuIHRoaW5rIGl0IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEgemRhbmkg ZG8nJy4gTW9yZSByYXJlbHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3JkIHdpdGgg JydrYXUnJywgaW4gd2hpY2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMgdGhlIGFu c3dlciB0byBhIHF1ZXN0aW9uOiAnJ21pIGppbXBlIGxvIGR1J3UgZHVuZGEgdGkga2F1IGRvJycg LSDigJxJIGtub3cgd2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0aGlzLuKAnQoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xvZ3kgYW5kIHdvcmQg Y2xhc3NlcykKCkJhY2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5nKSBzdHVmZi4KCklm IHlvdSBoYXZlbid0IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3UgZmluZCB0aGUgTG9q YmFuaWMgcmVjb3JkaW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xlIFJvYmluIiwgb3Ig bGlzdGVuIHRvIHNvbWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5kIHRoZW4gcHJhY3Rp Y2UgeW91ciBwcm9udW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29udmVyc2F0aW9uIGlu IHlvdXIgaGVhZCBpbiBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbid0IHdpdGggYWxsIHRo ZSB3cm9uZyBzb3VuZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0 ZXh0IGlzIGhhcmQuIFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gdGhlIExv amJhbiBzb3VuZHMsIGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0 IGludHJvZHVjdGlvbiB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhv bG9neT8gVGhlIHdvcmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5 IG9mIHNoYXBlc+KAnSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBob3cgd2Ug bWFrZSB3b3JkcyBmcm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3aXRoIHN5 bnRheCAtIGhvdyB3ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMg d2l0aCBkaWZmZXJlbnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwg ZGVmaW5lZCBieSB0aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0 ZW1hdGljIHRob3VnaCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdy b3VwZWQgYnkgbW9ycGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIu Cgp8fCAgIENsYXNzfE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jk czp8ICAgfCAgIHwgICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZpcnN0IDUg bGV0dGVycyAoZXhjbHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVzdGVyLiBF bmRzIGluIHZvd2VsLiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBo YXMgYSBwbGFjZSBzdHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJz IG9mIHRoZSBmb3JtIENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRpIHBsYWNl cy4gQ292ZXJzIGJhc2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdvcmQuIERl cml2ZWQgZnJvbSBmcm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdvcmTigJ0g fCAgIE1pbi4gNiBsZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhlciB3aXRo IGJpbmRpbmcgbGV0dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBsZXggY29u Y2VwdHMgdGhhbiBnaXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJyaXZsYSwg YnV0IGRvIG5vdCBtZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZvLCBleDog JydhbmdlbGknJyAgfCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFj ZXMgb3Igb3JnYW5pc21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5pbmcgYW5k IGVuZGluZyB3aXRoIHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBpcyBhIGNv bnNvbmFudC58ICAgQWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50IG9mIGEg cXVvdGUuCgogICBDbWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCdLCBtZWFu aW5nIOKAnHNtYWxsIHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlzIGF0IHRo ZSBiZWdpbm5pbmcuIEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMu IFZhcmllcwoKICAgV29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBBZmZpeHwg IENDViwgQ1ZDLCBDVidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3Qg YWN0dWFsIHdvcmRzLCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8g fHwKCgoKCgpfXycnY21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJlY2F1c2Ug dGhleSBiZWdpbiBhbmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxsIHN0b3Ag aW4gd3JpdGluZywgYW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21ldmxhIGNh bid0IGhhdmUgYW55IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFzIGEgbmFtZS4gT24g dGhlIG90aGVyIGhhbmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNhbm5vdCBhcHBlYXIg aW4gTG9qYmFuIHdpdGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9yIGVuY2FzZWQgYnkgY2VydGFp biBxdW90ZSB3b3Jkcy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0aGUgbmFtZXMgYnkgY2FwaXRh bGl6aW5nIHRoZSBsZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBsZXMgb2YgY21ldmxh IGFyZTogJycuaW9oQU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ryb3BoZSksICcnLm1h dC4nJyAoTWF0dCkgYW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hpIE1pbikuIE5hbWVzIHdoaWNo IGRvIG5vdCBlbmQgaW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFkZGVkOiAnJy5pdnlu LicnIChFdmUpLCBvciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkgcmVtb3ZlZDogJycu aXYuJycKCgoKX18nJ2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jkc+KAnSBiZWNh dXNlIHRoZXkgYnkgZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFsbW9zdCBhbGwg TG9qYmFuIHdvcmRzIHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4gVGhpcyBoYXMg YWxzbyBnaXZlbiB0aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQtd29yZHPigJ0u IEl0J3MgbmVhcmx5IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1bCB3aXRob3V0IGJy aXZsYSwgYW5kIGFsbW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRzIG91dHNpZGUgbG9qYmFuIGdy YW1tYXIgKGFuZCBldmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0aGluZ3MgaW4gdGhlIGxhbmd1 YWdlKSBhcmUgY2FwdHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBpbiB0aGUgdGFibGUsIGJyaXZs YSBoYXMgdGhyZWUgc3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScnX18gYXJlIHRoZSByb290IHdv cmRzIG9mIHRoZSBsYW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4aXN0cywgYW5kIHZlcnkgZmV3 IG5ldyBvbmVzIGFyZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9zdCBiYXNpYyBjb25jZXB0cyBs aWtlIOKAnGNpcmNsZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFuZCDigJxkcmVhbeKA nS4gRXhhbXBsZXMgaW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUnJyBhbmQgJydkdW5kYScnCgpf XycnbHVqdm8nJ19fIGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZzaSAoc2VlIHVuZGVyIHJhZnNp KSwgcmVzcHJlc2VudGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJhZnNpLCBvbmUgbmFycm93cyBk b3duIHRoZSBtZWFuaW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBieSBhbiBlbGFib3Jh dGUgYWxnb3JpdGhtLCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24gdGhlIGZseSBpcyBuZWFyIGlt cG9zc2libGUsIHdpdGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2knJywgZnJvbSAnJ3Nl IHByYW1pJycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3RlYWQsIGx1 anZvIGFyZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4g dGhhdCBkZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1w bGVzIGluY2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1YWwtc29j aWFsaXppbmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0ID0gYmVl dGxlKS4KCl9fJydmdSdpdmxhJydfXyBhcmUgbWFkZSBieSBtYWtpbmcgdXAgd29yZHMgd2hpY2gg Zml0IHRoZSBkZWZpbml0aW9uIGZvciBicml2bGEsIGJ1dCBub3QgZm9yIGx1anZvIG9yIGdpc211 LiBUaGV5IHRlbmQgdG8gY292ZXIgY29uY2VwdHMgd2hpY2ggaXQncyBoYXJkIHRvIGNvdmVyIGJ5 IGx1anZvLCBmb3IgaW5zdGFuY2UgbmFtZXMgb2Ygc3BlY2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1 bHR1cmFsIHNwZWNpZmljIGNvbmNlcHRzLiBFeGFtcGxlcyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlv JycgKEtvcmVhKSAnJ2NpZGpycGl0c2EnJyAocGl6emEpIG9yICcnYW5nZWxpJycgKGFuZ2VsKS4K CgoKX18nJ2NtYXZvJydfXyBhcmUgc21hbGwgd29yZHMgd2l0aCBvbmUgb3IgemVybyBjb25zb25h bnRzLiBUaGV5IHRlbmQgdG8gbm90IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdv cmxkLCBidXQgdG8gaGF2ZSBvbmx5IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9j Y3VyLCBhbmQgaXQncyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBmb3Ig dGhlaXIgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhl IHdvcmRzIG9mIHRoZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxp ZCB0byB0eXBlIHNldmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVz ZSBsZXNzb25zLCB0aGF0IHdvbid0IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNlcnRhaW4gY21hdm8g aW4gZnVuY3Rpb25hbCB1bml0cywgdGhvdWdoLCBpdCBpcyBzb21ldGltZXMgZWFzaWVyIHRvIHJl YWQuIFRodXMsICcnLnVpcHV6dXZ1a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBhbmQgaXMgcGFyc2Vk IGFuZCB1bmRlcnN0b29kIGFzICcnLnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGthJycuIExpa2Ugb3Ro ZXIgTG9qYmFuIHdvcmRzLCBvbmUgc2hvdWxkIChidXQgbmVlZCBub3QgYWx3YXlzKSBwbGFjZSBh IGZ1bGwgc3RvcCBiZWZvcmUgYW55IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEgdm93ZWwuCgpjbWF2 byBvZiB0aGUgZm9ybSB4VlYsIENWJ1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFy ZSB3b3JkcyB3aGljaCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhh dmUgYmVlbiBhZGRlZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRhaW4gbmVl ZC4KCgoKX18nJ3JhZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBuZXZlciBh cHBlYXIgYWxvbmUuIEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJp bmUgdG8gZm9ybSBsdWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBicml2bGEt ZGVmaW5pdGlvbiwgZm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0 IGVuZHMgaW4gYSBjb25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5kICcnY2kn ZWtlaScnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjb250YWluIGEgY29uc29uYW50 IGNsdXN0ZXIsIGFuZCBpcyB0aHVzIHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0ZW4gYXMgb25lIHdv cmQuIE9mdGVuLCBhIDMtNCBsZXR0ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2byBhbmQgYSByYWZz aSwgbGlrZSAnJ3p1J2UnJywgd2hpY2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9y ICcnenVrdGUnJy4gTm90ZSB0aGF0IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEgY21hdm8g YW5kIGEgcmFmc2kgd291bGQgYmUgZ3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3QgY29uc2lk ZXJlZCBob21vcGhvbmVzLiBBbGwgZ2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYgdGhleSBh cmUgcHJlZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0ZXIgb2Yg YSBnaXNtdSBzdWZmaXhlZCB3aXRoIGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZzaSwgaWYg dGhleSBhcmUgc3VmZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBv bmx5IGFwcGVhciBpbiBsdWp2byBvciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBjb21iaW5h dGlvbnMgYXJlOiBDVlYsIENWJ1YsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NW Q1YuCgoKClVzaW5nIHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5z d2VyIHRoZSB0ZXN0IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xs b3dpbmcgd29yZHMgYXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcnZnUnaXZs YScnIChmKSBvciBjbWF2byAoYyk6CgpBICkgamFpICAgICAgICBHICkgbXVtYmwKCkIgKSAuaXJj aSAgICAgICAgSCApIC5pJ2kKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVsbWFuICAg ICAgICBKICkgcGxhanZhCgpFICkgcG8nZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBkamlza3Ug ICAgICAgIEwgKSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwgYy1nLCBk LUMsIGUtYywgZi1sLCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQgb3V0IHRo ZSBmdWxsIHN0b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRuJ3QgYmUgdG9v IGVhc3kuCgpOb3RlOiBzb21lIG9mIHRoZXNlIHdvcmRzLCBsaWtlICcnYm9zdHUnJyBkbyBub3Qg ZXhpc3QgaW4gdGhlIGRpY3Rpb25hcnksIGJ1dCB0aGlzIGlzIGlycmVsZXZhbnQuIFRoZSBtb3Jw aG9sb2d5IHN0aWxsIG1ha2VzIGl0IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBhbiB1bmRlZmluZWQg Z2lzbXUuIFNpbWlsYXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg LSBMZXNzb24gZm91cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoKSWYgeW91 IGhhdmUgcmVhZCBhbmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxlc3NvbnMg dW50aWwgbm93LCB5b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRnZSBvZiBM b2piYW4gc28gdGhhdCBpdCBkb2Vzbid0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4g dGhlIHJlc3QuIEFzIGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxs IGJlIGEgbWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0 ZWQgYnkgaW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUg b2YgdGhlIGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0 ZWQga25vd2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cg Jyd0aScnIGFuZCAnJ2xvIFNFTEJSSScnLCB3aGljaCBkb2Vzbid0IHRha2UgeW91IGZhciBjb25z aWRlcmluZyBob3cgaW1wb3J0YW50IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRoaXMgbGVzc29uIGFz IHdlbGwgYXMgdGhlIGZvbGxvd2luZyB0d28gd2lsbCBiZSBhYm91dCB0aGUgTG9qYmFuIHN1bXRp LiBGb3Igbm93LCB3ZSBmb2N1cyBvbiB0aGUgZGVzY3JpcHRpdmUtbGlrZSBzdW10aSwgdGhlIG9u ZXMgbWFkZSB3aXRoIGFydGljbGVzIGxpa2UgJydsbycnCgpBcnRpY2xlcyBhcmUgaW4gbG9qYmFu IGNhbGxlZCAnJ2dhZHJpJycsIGFuZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2VkIGluIHRoaXMgbGVz c29uIGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgZXhjZXB0IHRoZSBjb21iaW5hdGlvbnMgJyds YSBDTUVWTEEnJywgJydsYWkgQ01FVkxBJycgYW5kICcnbGEnaSBDTUVWTEEnJy4gV2Ugd2lsbCBi ZWdpbiBieSBkZXNjcmliaW5nIHRocmVlIHNpbXBsZSBraW5kcyBvZiBkZXNjcmlwdGl2ZSBzdW10 aSwgYW5kIHRoZW4gaW1tZWRpYXRlbHkgZmluZCB0aGF0IHRoZXkgYXJlIG5vdCBzbyBzaW1wbGUg YWZ0ZXIgYWxsOgoKX18nJ2xvJydfXyAtIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGlu ZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2Ny aXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0 aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6 IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZs YSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUg YWxyZWFkeSBmYW1pbGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBk b2VzIGl0IG1lYW4sIOKAnHZlcmlkaWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0aCByZWdhcmQgdG8g aW5kaXZpZHVhbGl0eS9tYXNzLW5lc3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMg YW5kIG1hc3NlcywgSSdsbCBjb21lIGJhY2sgdG8gbGF0ZXIuIEZvciBub3csIOKAnHZlcmlkaWNh bOKAnSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGluZyB0byBx dWFsaWZ5IGJlZ2luIGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5 ICcna2xhbWEnJy4gVGh1cywgdmVyaWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xhaW0gd2hpY2ggbWF5 IGJlIHRydWUgb3IgZmFsc2UgLSB0aGF0IHRoZSBvYmplY3QocykgaW4gcXVlc3Rpb24gYXJlIGFj dHVhbGx5IHRoZSB4MSBvZiB0aGUgc2VsYnJpIGFmdGVyICcnbG8nJy4gCgoKClRoaXMgbWF5IGJl IGNvbnRyYXN0ZWQgd2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBu b3QgdmVyaWRpY2FsLiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUg b3IgbW9yZSBzcGVjaWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBzZWxicmkg JydnZXJrdScnIHRvIGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRp ZnkgdGhvc2Ugc3BlY2lmaWMgb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0 d28gaW1wb3J0YW50IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBjYW5ub3Qg cmVmZXIgdG8gb2JqZWN0cyBpbiBnZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVycyB0byBzcGVjaWZp YyBvYmplY3RzLiBTZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkgaXMgb25l IG9yIG1vcmUgZG9ncywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90IHZlcmlkaWNhbCwg Y2FuIGJlIGFueXRoaW5nLCBhcyBsb25nIGFzIHRoZSBzcGVha2VyIHRoaW5rcyB0aGUgZGVzY3Jp cHRpb24gd2lsbCBoZWxwIGlkZW50aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVjdHMuIFBlcmhhcHMg dGhlIHNwZWFrZXIgaXMgcmVmZXJyaW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUgbm90IGZhbWlsaWFy IHdpdGggdGhlbSBhbmQgdGhpbmsg4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91Z2ggYXBwcm94aW1h dGlvbiB0byBiZSB1bmRlcnN0b29kLiBUaGlzIG5vbi12ZXJpZGljYWxpdHkgaXMgcGVyaGFwcyBv dmVyLWVtcGhhc2lzZWQgaW4gbW9zdCBtYW55IHRleHRzOyBUaGUgYmVzdCB3YXkgdG8gZGVzY3Jp YmUgYSBkb2cgaXMgdXN1YWxseSB0byBkZXNjcmliZSBpdCBhcyBiZWluZyBhIGRvZywgYW5kIHVu bGVzcyB0aGVyZSBpcyBhIGdvb2QgcmVhc29uIG5vdCB0bywgJydsZSBnZXJrdScnIGlzIHVzdWFs bHkgcHJlc3VtZWQgdG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGFsc28gJydsbyBnZXJr dScnLgoKSW4gdHJhbnNsYXRpb24sICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5IOKAnGEgZG9n4oCd IG9yIOKAnHNvbWUgZG9nc+KAnSwgd2hpbGUgJydsZSBnZXJrdScnIGlzIOKAnHRoZSBkb2figJ0g b3Ig4oCcdGhlIGRvZ3PigJ0uIEV2ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1Jycgd291bGQgYmUg 4oCcdGhlIOKAnGRvZyhzKeKAnSDigJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUgYmFzaWMgJydnYWRy aScnLCB0aGVyZSBpcyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRyaScnLCB3aGljaCBJIGhhdmUg dW5jb252ZW50aW9uYWxseSBjYWxsZWQg4oCcY29udmVudGlvbmFs4oCdLiBXaGF0IEkgbWVhbiBi eSB0aGlzIGlzIHRoYXQgaXQncyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGljYWwsIHNp bmNlIGl0IHJlZmVycyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8g YSBwZXJzb24gY2FsbGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVzY3JpYmUg aGVyIGFzIGJlaW5nIGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5 IHN0YXRlIHRoYXQgYnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQgdG8gYnkg dGhhdCBzZWxicmkgb3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgZ2FkcmkgZGVy aXZlZCBmcm9tIGl0IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxpa2UgYW55IG90aGVy ICcnZ2FkcmknJy4gQWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRzIGRvIG5vdCBtZW50aW9u IHRoYXQgbmFtZXMgY2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJyaSB1c2luZyB0aGUg Z2FkcmkgJydsYScnLiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJuOyBzZWxicmkgbmFtZXMg YXJlIGFzIGdvb2QgYXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9qYmFuaXN0IGhhdmUg dGhlbS4KCicnbGEnJywgYXMgd2VsbCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2knJyBhcmUgYSBiaXQg ZWNjZW50cmljLCBzaW5jZSB0aGV5IF9fYWx3YXlzX18gbWFya3MgdGhlIGJlZ2lubmluZyBvZiBh IG5hbWUuIFVubGlrZSB0aGUgb3RoZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQgY2FuIGJlIGdyYW1t YXRpY2FsbHkgcGxhY2VkIGFmdGVyICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIGNvbnNpZGVy ZWQgcGFydCBvZiB0aGUgbmFtZS4gRm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vya3UnJyBpcyAibXkg ZG9nIiwgYnV0ICcnbGEgbWkgZ2Vya3UnJyBpcyBzb21lb25lIGNhbGxlZCAiTXkgRG9nIi4KCgoK VGhlc2UgdGhyZWUgYmFzaWMgJydnYWRyaScnIGNhbiBiZSBleHBhbmRlZCB3aXRoIHRocmVlIG1v cmUsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBwcmV2aW91czoKCgoKX18nJ2xvaScnX18gLSBn YWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1 bHQgYXMgbWFzcyhlcykuCgpfXycnbGVpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFzcyhlcykuCgpfXycn bGFpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0 IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4K CgoKVGhlc2UgYXJlIHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25lOiBUaGV5 IHRyZWF0IHRoZSBzdW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhlcmUgaXMgb25seSBv bmUgb2JqZWN0IGluIHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1hc3MgY29uc2lzdGlu ZyBvZiBvbmUgb2JqZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRo ZXNlIHR3byBjb25jZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBhc2NyaWJlZCB0byBh IGdyb3VwIG9mIGluZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAgb2YgaW5kaXZpZHVh bHMgY2FuIGJlIHNhaWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFuZCBvbmx5IGlmLCBh bGwgbWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVj dCB0byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRlcmVkIGluZGl2aWR1 YWxseSwgYXMgYmVpbmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dzIGl0J3MgdHJ1ZSB0 aGF0IHRoZXkgYXJlIGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5kLCBmaXRzIG9ubHkg dGhvc2Ugc2VsYnJpIHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdob2xlLCBhcyBhIHRl YW0sIHNvIHRvIHNwZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2YgYSBtYXNzICcnbG9p IGdlcmt1JycgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxpY2Fi bGUuIFRoZSBub3Rpb24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJl cyBzb21lIGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhh dmU6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGlu IGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRh bmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxl LCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXQncyBjb21wbGV0 ZWx5IGltcGxhdXNpYmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55IG9uZSBvZiB0aGUg bWVtYmVycyBhbG9uZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDigJxIdW1hbnMgZGVm ZWF0ZWQgc21hbGxwb3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5IG5vIGh1bWFuIGRp ZCBzbywgYnV0IHRoZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1ha2VzIHRoZSBzZW50 ZW5jZSB0cnVlIGluIEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlmIOKAnGh1bWFuc+KA nSBhcmUgYSBtYXNzLiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUgRW5nbGlzaCBtYXNz IOKAnGh1bWFuc+KAnSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBlYWNoIG9mIHdoaWNo IGFyZSBodW1hbi4gQW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19fOiAieDEgaXMgYSBi aW9sb2dpY2FsIGNlbGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19fOiAieDEgaXMgYSBo dW1hbiIKCicnbG9pIG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3NlcyBvZiBjZWxscyBh cmUgaHVtYW4iLiBBZ2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFuLiBJbmRlZWQsIHRo ZSBjZWxscyBoYXZlIHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBjZWxscyBjb25zaWRl cmVkIGFzIGEgd2hvbGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1hZGUgd2l0aCAnJ2xl aScnLCBzdWNoIGFzICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3MgZm9ybWVkIGJ5IGEg Z3JvdXAgb2Ygc3BlY2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2ggdGhlIHNwZWFrZXIg cmVmZXJzIHRvIGFzICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVzY3JpYmVzIGJ5ICcn bGFpJycgYXJlIG9ubHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEgd2hvbGUgaXMgbmFt ZWQgc3VjaCwgYW5kIG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBhcmUuIEl0IGNhbiwg aG93ZXZlciBiZSB1c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5IGEgZnJhY3Rpb24g b2YgdGhhdCBncm91cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgJydsbycn IGFuZCAnJ2xlJycgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRpdmlkdWFscyBhbmQg bWFzc2VzLiBMZXQncyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQgYXMgYSBtYXNzIG5l ZWRzIGRlc2NyaXB0aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhlciAnJ2xvaSBnZXJr dScnIG9yICcnbG8gZ2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFsbG93cyBtZSB0byBj b3JyZWN0bHkgc3RhdGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb250cmFkaWN0aW9u LCBidXQgcmVhbGx5IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAiU29tZSBkb2dzIGFy ZSBub3QgZG9ncyIuIFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1hc3Mgb2YgZG9ncywg dGhlIG1hbnkgZG9ncyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEgZG9nLCBidXQgcmF0 aGVyIGEgcGFjayBvZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IHRoZXJlIGlz IG5vIHdvcmQgd2hpY2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkgdG8gaW5kaXZpZHVh bChzKS4gSW4gb3JkZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVhbG5lc3MsIG9uZSBu ZWVkcyAnJ2xvJycsICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBxdWFudGlmaWVyLiBU aGUgc3ViamVjdCBvZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQgbGF0ZXIsIGluIGxl c3NvbiB0d2VudHktdHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xvJycgYW5kICcnbGUn JyB2YWd1ZSwgYW5kIG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlzIGJlY2F1c2UgdGhl aXIgdmFndWVuZXNzIGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBjb250ZXh0LCB3aXRo b3V0IHRoZSBzcGVha2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVyIGlzIGJlaGF2ZXMg YXMgYSBtYXNzIG9yIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJkIGluIHRoaXMgc2Vy aWVzLCB0aGVyZSBhcmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoKCgpfXycnbG8naScn X18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVh dCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJyds YSdpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0 IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCgoK VW5saWtlIGdyb3VwcyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBtYXNzZXMsIHNldHMg ZG9lcyBub3QgdGFrZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUgb2JqZWN0cyBmcm9t IHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBtYXRoZW1hdGljYWwg b3IgbG9naWNhbCBjb25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtlIGNhcmRpbmFsaXR5 LCBtZW1iZXJzaGlwIGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0aGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIGEgc2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Ygd2hpY2ggdGhlIHNl dCBpcyBmb3JtZWQ6CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIvbGVvcGFyZC9qYWd1 YXIgb2Ygc3BlY2llcy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPigJ0KCicnbG8naSB0 aXJ4dSBjdSBjbWFsdScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJpZyBjYXRzIGFyZSBz bWFsbCAod2hpY2ggaXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSksIGJ1dCBpbnN0ZWFk IHNheSB0aGF0IHRoZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQgaXMgLSB0aGVyZSBh cmUgZmV3IG9mIHRoZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25seSB0d28pIGdlbmVy YWxpemluZyAnJ2dhZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBv ZiAnJ2xvIHtzZWxicml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgZGVzY3JpYmVk L3BlcmNlaXZlZCBhcmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Ygd2hpY2ggdGhlcmUg aXMgbm8gJydsYScnLWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVhbGx5IG1lYW50IGJ5 IHRoZSBhcmNoZXR5cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4gaWRlYWwsIGltYWdp bmVkIGJpZyBjYXQsIHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hpY2ggYmVzdCBleGVt cGxpZmllcyBiaWcgY2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRoYXQgdGhpcyBpbmNs dWRlcyBoYXZpbmcgYSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVtYXRpYyBzdWJncm91 cCBvZiB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5vdCBoYXZlIHN0cmlw ZWQgZnVyLCB0aGUgbGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhlIHR5cGlj YWwgaHVtYW4gZG9lcyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFu cyBkby4gSG93ZXZlciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwg Zm9yIGluc3RhbmNlIGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6CgpfXycna2FrbmUn J19fOiDigJx4MSBpcyBjYXBhYmxlIG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVyIGNpcmN1bXN0YW5j ZSB4M+KAnQoKJydsbydlIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUgdHlw aWNhbCBodW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGUnZScnIHRoZW4sIGlzIHRoZSBp ZGVhbCBvYmplY3QgYXMgcGVyY2VpdmVkIG9yIGRlc2NyaWJlZCBieSB0aGUgc3BlYWtlci4gVGhp cyBuZWVkIG5vdCBiZSBmYWN0dWFsbHkgY29ycmVjdCwgYW5kIGlzIG9mdGVuIHRyYW5zbGF0ZWQg YXMgdGhlIOKAnHN0ZXJlb3R5cGXigJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmdsaXNoIHBocmFzZSBo YXZlIHNvbWUgdW5wbGVhc2FudCBuZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdoaWNoIHRoZSBMb2pi YW4gZG9lcyBub3QuIEluIGZhY3QsIGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5cGljYWwgYXJjaGV0 eXBpY2hhbCBpbWFnZSBvZiBhbnkgY2F0ZWdvcnkuIEluIG90aGVyIHdvcmRzLCAnJ2xvJ2UgcmVt bmEnJyBpcyB0aGUgYXJjaGV0eXBlIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbG8gcmVt bmEnJywgd2hpbGUgdGhlIGFyY2hldHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVz IGFsbCAnJ2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhl IGRpYWdyYW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXppbmcKCnZl cmlkaWNhbHxsb3xsb2l8bG8naXxsbydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8bGUnaXxsZSdlCgpO YW1lfGxhfGxhaXxsYSdpfGRvZXMgbm90IGV4aXN0fHwKCgoKTm90ZTogRWFybGllciwgdGhlcmUg d2FzIGEgd29yZCAnJ3hvJ2UnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBy dWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQs IGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhv cmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywg YW5kICcneG8nZScnIGlzIHVzZWQgYXMgYW4gZWxsaXB0aWNhbCBkaWdpdCAobGVzc29uIG5pbmV0 ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZpZnRlZW4gKHRoZSBMb2piYW4g c3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNlZSB3aGF0IGhhcHBlbnMgaWYgSSB0 cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlwaWNhbCBwZW9wbGUgd2hv IGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhlciBhYm91dCB0aGUgbGFuZ3VhZ2Vz IHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDigJx4MSBpcyBhIGxhbmd1YWdlIHVz ZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p4oCdCgonJ2xlJ2UgcHJlbnUgcG9p IGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgbGUnZSBwcmVu dSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kg bG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ugc2UgYmFuZ3Uga2UnYScn CgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2ZXJzaW9uIGlzIG11Y2ggbG9uZ2Vy IHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGZpcnN0LCBy aWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBlYXRlZCB0d28gbW9yZSB0aW1lcyBp biB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNoIGNhbiByZWZlciB0byBpdCBieSDi gJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVjaCBtb3JlIGVmZmljaWVudGx5LiBX b3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9y IGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNl ISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2EnaScnIG1lYW5pbmcg 4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3ZSByZWZlciB0byB0aGVt IGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0 aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkgaW5zdGVhZCBvZiBub3Vucy4gSW4g ZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8nJyBhbmQgJydtaScnLCBidXQgdGhl cmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBGaXJzdCwgd2Ugd2FudCB0 byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRoZSBvbmVzIG1vc3QgZmFt aWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18n J3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10 aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9fJyd0YScnX18gLSBzdW1rYSdpOiDi gJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgc29tZSBwaHlzaWNhbCBkaXN0YW5j ZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5lcuKAnQoKX18nJ3R1Jydf XyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2lj YWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2Fu IGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVw IG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwg dGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNo IGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlu bHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0 byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRo ZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZp Z2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMg cmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0 dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJvbSBib3RoIHRoZSBzcGVha2VyIGFu ZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBp cyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRoZSBzcGVha2VyIHRhbGtp bmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3NlIHRvIHRoZSBsaXN0ZW5lci4gVGhp cmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQgZGVwZW5kZW50LiBUaGVzZSB0aHJl ZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4dCwgZm9yIGluc3RhbmNl LCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgdW5r bm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdvZXMgYnkuIEZ1cnRoZXJt b3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9pbnQgdG8gYW4gb2JqZWN0IGFuZCBl eHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0aGVyZSBpcyBhIHNlcmll cyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQgJydkbycnIChhbmQgJydrbycnLCBi dXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vta2En aTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0 aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaSdhJydfXyAtIHN1bWth J2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMuCgpfXycnbWEnYScnX18g LSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSwgdGhlIGxpc3RlbmVyKHMpIGFu ZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhlIGxpc3RlbmVyKHMpLgoKX18nJ2Rv J28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMu CgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2lseSBncmFzcGVkIGluIHRoZSBiZWxv dyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10i fQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhjbHVkZWQpLiAnJ2xlIGRyYXRhJycg aXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3RoZXIocynigJ0KCgoKSXQgaXMgcG9z c2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVha2Vyc+KAnSwgaWYgb25l IHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9mIHRoZW0uIFRoZXJlZm9y ZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0aGVyICcnbWknJywgJydt aSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0ZSBvZnRlbiBtZWFucyBp cyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBzaXgsIGlmIHRoZXkgcmVmZXIgdG8g bW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQgbWFzc2VzLiBXaXRoaW4gYnJpZGkt bG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEEgaXMgZXhhY3Rs eSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQiB0byBzcGVha2Vy IEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ugd2lsbCBjb21lIGJhY2sg dG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoK QWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQtc3BlY2lmaWMsIGFuZCBj YW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNl IHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBp biBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0g c3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydyYScnX18gLSBzdW1rYSdp OiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydy dScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVz ZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90 aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJyBj YW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRoYXQgdGhleSBhcmUgc28g ZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIHRvIHRoZSBy dWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBiZWNhdXNlIHlvdSBjb3VsZCBoYXZl IGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5vdCBqdXN0IHJlcGVhdCB0 aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVybWluYXRlZCBzdW10aSwgYW5kIHRo dXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW4gYWJzdHJhY3Rp b24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlvbjogJydsZSBwZW5kbyBub2kga2Un YSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fu bm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwg bm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhleSBhcmUgc3Vta2EnaSwgc28gaXQg cmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQgJydydScnIGFyZSBjb250ZXh0LWRl cGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZvbGxvdyB0aGUgcnVsZXMg bWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyByZWZlciB0byBhIG1vcmUgZGlzdGFu dCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlzIG1vcmUgZGlzdGFudCB0aGFuICcn cmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQg Zm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNp bmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ug dGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2EnJy4gJydyaScnIGlzIG5v dCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xhIC5sb2piYW4uJycuICcncmEnJyBj b3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5seSBiZSB0aG91Z2h0IHRvIHJlZmVy IHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywgYnV0ICcncnUnJyBpcyBhc3N1bWVk IHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUgbW9zdCBvdXRlciBvbmUu fn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJlc2VudCB1dHRlcmFuY2Vz OiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhleSBuZWVkIG5vdCBiZSByZXN0cmlj dGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2FuIGJlIHNldmVyYWwgc2VudGVuY2Vz LCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEndScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJs ZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBQcmV2 aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBUaGlzIHNlbnRl bmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0IHNlbnRlbmNlCgpfXycn ZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2Rh J2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2Rv J2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGU6 IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2VudHMgc2VudGVuY2VzIGFzIHN1bXRp LCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRoZSBsZXR0ZXJzLCBub3Qg dG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJlIGFyZSBtb3JlIExvamJhbiAnJ3N1 bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0u IFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJv bSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRo ZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRo YXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtlJ2EnJyBpcyBhIGxlc3Mg dGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxhbmd1YWdl4oCdLiBUaGlzIGlzIGJl Y2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFnZSB3aGljaCBJIHNwZWFr IGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2YgdGhlIGJyaWRpICcnYmFuZ3UgbWkn Jy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBi YW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJy aWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBz dSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEgbmV3IHgxLCB0aGUgYWJz dHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFjdHMgdGhhdC4gVGhhdCBtYWtlcyBh biBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtlIOKAnHRoYXQgc29tZXRo aW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScnLiAnJ2JlJycgaXMgYSB3b3JkIHdo aWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQgb3RoZXJzKSB0byBhIHNl bGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhhcyBubyBlZmZlY3Q6IGluICcnbWkg bmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsIHdoZW4gYSBz dW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwgeW91IGNhbiB1c2UgYSBnYWRyaSBv biB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0dGluZyBvZmY6ICcnbGUgYmFuZ3Ug YmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gYWJvdmUuIExpa2V3 aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRhcnhpIGtlaSBiZSBnYXUg ZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNhdXNlZCBieSB5b3XigJ0u IE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tlaScnIG1ha2VzIGl0IHBh cnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28gcHJlc2VudCwgJydiZScnIGF0dGFj aGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBhdHRhY2hlcyB0byAnJ2Rh cnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNpc2VkOiBJcyB0aGUgaGl0 dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlvdT8gSW4gdGhpcyBzcGVj aWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpX aGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUg YSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5k YSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0 YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBh cHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgbm8gc2Vuc2UuIEluIG9y ZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0aGUgYWxsIHRoZSBvbmVz IGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3aXRoICcnYmVpJycuIFRoZSDigJxi aW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydiZSdvJycgLSBvbmUgaW5zdGFuY2Ug b2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2Jl JycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRv IHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkg c3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZSdvJydfXyBlbmRzIGJpbmRpbmcg dG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBsb29zZWx5IGFzc29jaWF0ZSBhIHN1 bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBu b24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xlIGJhbmd1IHBlIG1pJycg aXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2XigJ0sIHNpbmNlIHRoaXMg cGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBob3cgdGhlIHR3byBhcmUg YXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycgYW5kICcnbmUnJyBhcmUgdXNlZCBh cyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWluZyDigJxteSBjaGFpcuKAnSBhYm91 dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90IHJlYWxseSB5b3VycywgYnV0IGhh cyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0ZSBjb25uZWN0aW9uIGNh biBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywgd2hpY2ggbWFrZXMgdGhlIGFzc29jaWF0aW9u IHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCcbXkgY2Fy4oCdIGZvciBh IGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0IGtpbmQgb2YgYXNzb2NpYXRvciBp cyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQgImluYWxpZW5hYmxlIiBib25kIGJl dHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5hdGUgYmV0d2VlbiB0aGUg dHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJteSBtb3RoZXIiLCAibXkgYXJtIiBv ciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2VzaW9ucyIgY2FuIGJlIGxv c3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0J3Mgc3RpbGwgX195b3VyX18gYXJt KSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFsbW9zdCBhbGwgb2YgdGhlIHRpbWVz IGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwgdGhlIHgyIG9mIHRoZSBzZWxicmkg Y29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMgY29ubmVjdGVkLCBzbyAnJ2JlJycg aXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAi d2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BlJydfXyByZXN0cmljdGl2ZSByZWxh dGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncG8nJ19fIHBv c3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBzcGVjaWZpYyB0by4uLiIKCl9fJydw bydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBiZWxvbmdzIHRvLi4u IgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93IGlzICcne2dhZHJpfSB7c3VtdGl9 IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAnJ3tnYWRyaX0ge3NlbGJyaX0gcGUg IHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBpcyBlcXVpdmFsZW50IHRv ICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUgZGVzY3JpcHRpb24gc3VtdGkgaW5z aWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBjaW5qaWtjYSBiZSBtaSBr dSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2luamlrY2EgYmUgbWknJyA94oCcdGhl IGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdCdzIG5vdCB2ZXJ5 IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiksIGFuZCBpcyBvZnRl biBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJuICcndHUnYScnLCBzaW5j ZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFzaWVyLiBJdCB0YWtlcyBh IHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1bXRpIC0gYW4gZWxsaXB0aWNhbCBh YnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIGZpcnN0IHN1bXRp LiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamljYSBsbyBudSBtaSBjaXRrYSBsbyBw bGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBjb250ZXh0IHdoYXQgYWJzdHJhY3Rp b24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0IHNheSAnJ21pIGRqaWNhIHR1J2Eg bG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUg c3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28gaXQgc2hvdWxkIG9ubHkgYmUgdXNl ZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVzcy4gQW5vdGhlciBleGFtcGxlOgoK X18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAodm9saXRpb24gbm90IGlt cGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhh dCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R1 J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlJycuIFZhZ3Vl LCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVzZSAn J3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJsZS4gVGhlc2Ugc2l0dWF0 aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3VsdGluZyBzdW10aSB0byBiZSBhbiBh YnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3VtdGkuIEluIHRoaXMgY2FzZSwgb25lIGNhbiB1 c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2YWd1ZSBhYnN0 cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1U SSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0dXJu ZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9fJydsdSdh JydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBpbmRpdmlk dWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNl L3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNz L3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFs KHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0aGUgb3JkZXIgaXMgbm90IHN0YXRl ZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9yd2FyZGx5OiBQbGFjaW5n IHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFrZXMgYSBuZXcgc3VtdGkg b2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBmb3VydGgga2luZCBvZiBz dW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlzIGlzIG5vdCB1c2VkIHZl cnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBi dXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJl cnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxs b3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGlu ZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3Vt dGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywg b3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5n LCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJlZmVycyB0byBzdW10aSBC LiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBmb3Ig4oCcSSBsaWtlIHdo YXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNoIGp1c3QgbWVh bnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCYJ2xhJ2UgbGUgY21hbHUg bm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl4oCdLCBhbmQgbm90IHNv bWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1J2UnJyBkb2VzIHRoZSBl eGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJlZmVycyB0byBhbiBvYmplY3Qgd2hp Y2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScnX18gLSDigJx0aGUgdGhpbmcgcmVm ZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBhIHN1bXRpIEIgd2hpY2gg cmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmluZyB0b+KA nSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hlbiBCIHJlZmVycyB0byBB LgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXByYWN0aWNhbGx5IGxhcmdl IHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBhbmQgdGhpcmQgaW5zdGFsbG1lbnQg Y2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAoKHdhdmVsZXNzb25zY29udGludWVk cDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhlIGxhdHRlcikp LiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9ybWVyIiBvciAidGhlIGxh dHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5LgoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApX aWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0 aW5mby93aWtpY2hhbmdlcwo=