Received: from localhost ([::1]:38458 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1US0t4-0007Fx-Bx; Tue, 16 Apr 2013 01:05:10 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:56292 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1US0st-0007Fk-HW for wikineurotic@lojban.org; Tue, 16 Apr 2013 01:05:08 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 16 Apr 2013 01:04:59 -0700 From: "Apache" Date: Tue, 16 Apr 2013 01:04:59 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by gleki at 08:04 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by gleki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMDg6 MDQgVVRDCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9NTYmbmV3dmVyPTU3CgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0 ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAyLTYg Y2hhbmdlZCB0byArTGluZXM6IDItNiBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwohISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGggaGVs cCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2YgbGEgLmtyaWJh Y3IuIFNwcmluZyAyMDEzLgoKLSAhIWxlc3NvbiB6ZXJvOiBGb3Jld29yZAorICEhTG9qYmFuIExl c3NvbnMgIGxlc3NvbiB6ZXJvOiBGb3Jld29yZApUaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0 IHRvIGV4cGFuZCBvbiB0aGUgR29vZ2xlIFdhdmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJh biB0dXRvcmlhbCBieSBrcmliYWNyLCB4YWxibywgYW5kIG90aGVycywgd2hpY2ggc2FkbHkgb25s eSBjb3ZlcmVkIHRoZSBmaXJzdCBmb3VyIGNoYXB0ZXJzIGluIHRoaXMgdHV0b3JpYWwuIEl0IGlt cGxlbWVudHMgdGhlIG5ld2VzdCBydWxlcyBvZiBMb2piYW4gbm90IGNvdmVyZWQgYnkgb2xkZXIg bWF0ZXJpYWxzIHN1Y2ggYXMgV2hhdCBpcyBMb2piYW4/IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVy cy4KCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJh biBXYXZlIExlc3NvbnMgQ29udGludWVkOgoKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAg ZnJvbSB2YXJpb3VzIGxvamJhbmlzdHMuIEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNy LiBTcHJpbmcgMjAxMy4KCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHplcm86IEZvcmV3 b3JkCgpUaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUgR29vZ2xl IFdhdmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmliYWNyLCB4 YWxibywgYW5kIG90aGVycywgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVkIHRoZSBmaXJzdCBmb3Vy IGNoYXB0ZXJzIGluIHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMgdGhlIG5ld2VzdCBydWxl cyBvZiBMb2piYW4gbm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxzIHN1Y2ggYXMgV2hhdCBp cyBMb2piYW4/IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KCgoKSWYgeW91IGFyZSBuZXcgdG8g TG9qYmFuLCBJIHJlY29tbWVuZCBsaXN0ZW5pbmcgdG8gYW55IHJlY29yZGluZ3MgeW91IGNhbiBm aW5kIG9mIHNwb2tlbiBMb2piYW4gYm90aCBiZWZvcmUgYW5kIHdoaWxlIHlvdSBhcmUgdGFraW5n IHRoaXMgdHV0b3JpYWwsIGluIG9yZGVyIHRvIG1ha2UgeW91cnNlbGYgZmFtaWxpYXIgd2l0aCB0 aGUgc291bmRzIGFuZCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2V+dGN+LCB3aGljaCB3aWxsIG5vdCBi ZSBleHBsYWluZWQgaGVyZX4vdGN+LiBGdXJ0aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUgdGhpbmdz IHlvdSByZWFkIGluIExvamJhbiBhY2NlbnQgaWYgaXQncyByZWFzb25hYmx5IHByYWN0aWNhbC4g VGhpcyBjYW4gaGVscCB5b3VyIHByb251bmNpYXRpb24gYSBsb3QuCgoKCldoZW4gdGFraW5nIHRo aXMgdHV0b3JpYWwsIGl0J3MgYmVzdCB0byBwYXVzZSBiZXR3ZWVuIGxlc3NvbnMgaW4gb3JkZXIg dG8gaW50ZXJuYWxpemUgd2hhdCB5b3UgaGF2ZSBsZWFybnQuIEkgaGF2ZSBhdHRlbXB0ZWQgdG8g YnVpbGQgdGhlc2UgbGVzc29ucyBmcm9tIHRoZSBib3R0b20gdXAgYW5kIGV4Y2x1ZGUgYW55IHdv cmRzIG9yIGNvbmNlcHRzIHRoYXQgaGF2ZSBub3QgYmVlbiBleHBsYWluZWQgaW4gcHJldmlvdXMg bGVzc29ucy4gT25jZSBleHBsYWluZWQsIHRoZXkgYXJlIHVzZWQgZnJlZWx5IHRocm91Z2hvdXQg dGhlIHJlbWFpbmRlciBvZiB0aGUgdHV0b3JpYWwuIEkgdXJnZSByZWFkZXJzIG5vdCB0byBwYXNz IGFueSBtaXN1bmRlcnN0b29kIGNvbnRlbnQ7IGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBhcmUg dW5jZXJ0YWluIGFib3V0IHNvbWV0aGluZywgZmVlbCBmcmVlIHRvIGFzayB0aGUgTG9qYmFuIGNv bW11bml0eSwgd2hpY2ggY2FuIGJlIGZvdW5kIGluICNsb2piYW4gb24gdGhlIEZyZWVub2RlIElS QyBuZXR3b3JrLiBUaGV5IHdpbGwgYmUgaGFwcHkgdG8gaGVscC4KCgoKSW4gdGhpcyB0dXRvcmlh bCwgTG9qYmFuIHRleHQgaXMgd3JpdHRlbiBpbiAnJ2l0YWxpY3MnJy4gTGF0ZXIsIHdoZW4gdXNl ZCBhcyBMb2piYW4gbG9hbndvcmRzIGluIEVuZ2xpc2ggc2VudGVuY2VzLCB0aGV5IGFyZSBub3Qg bWFya2VkLiBBbnN3ZXJzIHRvIGV4ZXJjaXNlcyBhcmUgZGlzcGxheWVkIGFzIGEgZ3JleSBiYXIu IEhpZ2hsaWdodCB0aGUgdGV4dCBpbiBvcmRlciB0byBzZWUgaXQuCgoKCkxhc3RseSwgSSBoYXZl IGFzIGZhciBhcyBwb3NzaWJsZSBhdHRlbXB0ZWQgdG8gdXNlIHRoZSBMb2piYW4gd29yZHMgZm9y IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHM6ICcnc3Vta2EnaScnIGluc3RlYWQgb2YgcHJvLXN1bXRp LCAnJ3N1bXRjaXRhJycgaW5zdGVhZCBvZiBtb2RhbCBhbmQgJydqdWZyYScnIGluc3RlYWQgb2Yg dXR0ZXJhbmNlLiBUaGlzIGlzIGJlY2F1c2UgSSBmZWVsIHRoZSBFbmdsaXNoIHdvcmRzIGFyZSBv ZnRlbiBlaXRoZXIgYXJiaXRyYXJ5LCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIGp1c3QgbW9yZSB3 b3JkcyB0byBsZWFybiwgb3IgbWlzbGVhZGluZywgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSB3b3Jz ZSB0aGFuIHVzZWxlc3MuIEluIGVpdGhlciBjYXNlLCBhcyBsb25nIGFzIHRoZSB3b3JkcyBhcmUg c3BlY2lmaWMgdG8gdGhvc2Ugd2hvIGFyZSBsZWFybmluZyBMb2piYW4gYW55d2F5LCB0aGVyZSBp cyBubyByZWFzb24gZm9yIHRoZW0gdG8gZXhpc3QgYXMgc2VwYXJhdGUgRW5nbGlzaCB3b3Jkcy4K CgoKISEhUHJlZmFjZS4gU291bmRzCgpUaGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gd2hl biB5b3UgbGVhcm4gYSBmb3JlaWduIGxhbmd1YWdlIGlzIHRvIGJlY29tZSBmYW1pbGlhciB3aXRo IHRoZSBzb3VuZHMgb2YgdGhlIGxhbmd1YWdlIGFuZCBob3cgdGhleSBhcmUgd3JpdHRlbiwgYW5k IHRoZSBzYW1lIGdvZXMgZm9yIExvamJhbi4gRm9ydHVuYXRlbHksIExvamJhbiBzb3VuZHMgKF9f cGhvbmVtZXNfXykgYXJlIGZhaXJseSBzdHJhaWdodGZvcndhcmQuCgohISEhVm93ZWxzCgpUaGVy ZSBhcmUgc2l4IHZvd2VscyBpbiBMb2piYW4uCgoKCnx8YSB8YXMgaW4gJydmX19hX190aGVyJycg KG5vdCBhcyBpbiAnJ2hfX2FfX3QnJykKCmUgfGFzIGluICcnZ19fZV9fdCcnCgppIHxhcyBpbiAn J21hY2hfX2lfX25lJycgb3IgKEl0YWxpYW4pICcndl9faV9fbm8nJyAobm90IGFzIGluICcnaF9f aV9fdCcnKQoKbyB8YXMgaW4gJydiX19vX19sZCAnJ29yICcnbV9fb19fcmUnJ+KAlG5vdCBhcyBp biAnJ3NfX28nJ19fICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3VuZC4pCgp1IHxhcyBpbiAn J2NfX29vX19sJycgKG5vdCBhcyBpbiAnJ2JfX3VfX3QnJykgfHwKClRoZXNlIGFyZSBwcmV0dHkg bXVjaCB0aGUgc2FtZSBhcyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGgg dm93ZWwsIHksIGlzIGNhbGxlZCBhIF9fc2Nod2FfXyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFu ZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0IGFuZCBsYXN0ICcnQScnJ3MgaW4gJydBbWVy aWNhJycgKHRoYXQncyBFbmdsaXNoICcnQW1lcmljYScnLCBub3QgU3BhbmlzaC4pIEl0J3MgdGhl IHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBsZXRlbHkgcmVsYXhl ZC4KClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5jZWQgYXMgb25lIHNvdW5kIChfX2Rp cGh0aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CgoKCnx8YWkgfGFzIGluICcnaF9faWdoJydf XwoKYXUgfGFzIGluICcnaF9fb3cnJ19fCgplaSB8YXMgaW4gJydoX19leScnX18KCm9pIHxhcyBp biAnJ2JfX295JydfXwoKaWEgfGxpa2UgR2VybWFuICcnX19KYScnX18KCmllIHxsaWtlICcnX195 ZWFoJydfXwoKaXUgfGxpa2UgJydfX3lvdScnX18KCnVhIHxhcyBpbiAnJ19fd2FhaCEnJ19fLCBv ciBGcmVuY2ggJydxX191b2knJ19fCgp1ZSB8YXMgaW4gJydxX191ZV9fc3Rpb24nJwoKdW8gfGFz IGluICcncV9fdW9fX3RlJycKCnVpIHxsaWtlICcnX193ZScnX18sIG9yIEZyZW5jaCAnJ19fb3Vp JydfXyB8fAoKRG91YmxlIHZvd2VscyBhcmUgcmFyZS4gVGhlIG9ubHkgZXhhbXBsZXMgYXJlIGlp LCB3aGljaCBpcyBwcm9ub3VuY2VkIGxpa2UgRW5nbGlzaCAnJ3llJycgKGFzIGluIOKAnE9oIGNv bWUgYWxsIHllIGZhaXRoZnVs4oCdKSBvciBDaGluZXNlICcneWknJywgYW5kIHV1LCBwcm9ub3Vu Y2VkIGxpa2UgJyd3b28nJy4KCiEhISFDb25zb25hbnRzCgpNb3N0IExvamJhbiBjb25zb25hbnRz IGFyZSB0aGUgc2FtZSBhcyBFbmdsaXNoLCBidXQgdGhlcmUgYXJlIHNvbWUgZXhjZXB0aW9uczoK CgoKfHxnIHxhbHdheXMgJydnJycgYXMgaW4gJydfX2dfX3VtJycsIG5ldmVyICcnZycnIGFzIGlu ICcnX19nX19lbScnCgpjIHwnJ3NoJycsIGFzIGluICcnX19zaF9faXAnJwoKaiB8YXMgaW4gJydt ZWFfX3NfX3VyZScnIG9yIEZyZW5jaCAnJ2Jvbl9fal9fb3VyJycKCnggfGFzIGluIEdlcm1hbiAn J0JhX19jaCcnX18sIFNwYW5pc2ggJydfX0pfX29zZScnIG9yIEFyYWJpYyAnJ19fS2hfX2FsZWQn JyB8fAoKVGhlIEVuZ2xpc2ggc291bmRzICcnY2gnJyBhbmQgJydqJycgYXJlIHdyaXR0ZW4gYXMg dGMgYW5kIGRqLgoKTG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJzICcnSCcnLCAnJ1EnJyBv ciAnJ1cnJy4KCiEhISFTcGVjaWFsIENoYXJhY3RlcnMKCkxvamJhbiBkb2VzIG5vdCByZXF1aXJl IGFueSBwdW5jdHVhdGlvbiwgYnV0IHNvbWUgc3BlY2lhbCBjaGFyYWN0ZXJzIChub3JtYWxseSB1 c2VkIGluIHB1bmN0dWF0aW9uIGluIG90aGVyIGxhbmd1YWdlcykgYWZmZWN0IHRoZSB3YXkgTG9q YmFuIGlzIHByb25vdW5jZWQuCgpUaGUgb25seSBvbmUgb2YgdGhlc2UgY2hhcmFjdGVycyB3aGlj aCBpcyBvYmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUgYXBvc3Ryb3BoZTsgaW4gZmFjdCB0aGUg YXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgb2YgTG9qYmFuLiBBbiBh cG9zdHJvcGhlIHNlcGFyYXRlcyB0d28gdm93ZWxzLCBwcmV2ZW50aW5nIHRoZW0gZnJvbSBiZWlu ZyBwcm9ub3VuY2VkIHRvZ2V0aGVyIChhcyBhIF9fZGlwaHRob25nX18pOyBpdCBpcyBpdHNlbGYg cHJvbm91bmNlZCBsaWtlIGFuICcnaCcnLiBGb3IgZXhhbXBsZSwgdWkgaXMgbm9ybWFsbHkgcHJv bm91bmNlZCAnJ3dlJycsIGJ1dCB1J2kgaXMgJydvb2hlZScnLgoKQSBmdWxsIHN0b3AgKHBlcmlv ZCkgaXMgYSBzaG9ydCBwYXVzZSB0byBzdG9wIHdvcmRzIHJ1bm5pbmcgaW50byBlYWNoIG90aGVy LiBUaGUgcnVsZXMgb2YgTG9qYmFuIG1ha2UgaXQgZWFzaWVyIGZvciBvbmUgd29yZCB0byBydW4g aW50byBhbm90aGVyIHdoZW4gdGhlIHNlY29uZCB3b3JkIGJlZ2lucyB3aXRoIGEgdm93ZWw7IHNv IGFueSB3b3JkIHN0YXJ0aW5nIHdpdGggYSB2b3dlbCBjb252ZW50aW9uYWxseSBoYXMgYSBmdWxs IHN0b3AgcGxhY2VkIGluIGZyb250IG9mIGl0LgoKQ29tbWFzIGFyZSByYXJlIGluIExvamJhbiwg YnV0IGNhbiBiZSB1c2VkIHRvIHN0b3AgdHdvIHZvd2VscyBibHVycmluZyB0b2dldGhlciB3aGVu IHlvdSBkb24ndCB3YW50IHRvIHVzZSBhbiBhcG9zdHJvcGhlICh3aGljaCB3b3VsZCBwdXQgYSAn J2gnJyBiZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4gd29yZHMgaGF2ZSBjb21tYXMsIGJ1dCB0aGV5 J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJhbiBuYW1lcywgZm9yIGV4YW1w bGUgcGksRVIuICgnJ1BpZXJyZScnKSwgYXMgb3Bwb3NlZCB0byBwaWVyLiAoJydQLXllcnInJyks IHBpLkVSLiAoJydQZWU7IEVocicnKSwgb3IgcGknRVIuICgnJ1BpaGVycicnKS4KCkNhcGl0YWwg bGV0dGVycyBhcmUgbm90IG5vcm1hbGx5IHVzZWQgaW4gTG9qYmFuLiBXZSB1c2UgdGhlbSBpbiBu b24tTG9qYmFuIHdvcmRzIChsaWtlICcnUGllcnJlJycpIHdoZW4gdGhlIHN0cmVzcyBvZiBhIHdv cmQgaXMgZGlmZmVyZW50IGZyb20gdGhlIExvamJhbiBub3JtLiBUaGUgbm9ybSBpcyB0byBwdXQg dGhlIHN0cmVzcyBvbiB0aGUgbGFzdC1idXQtb25lIHN5bGxhYmxlOyBzbywgZm9yIGV4YW1wbGUs IGt1cm1pa2NlICdudXJzZScgaXMga3VyX19NSUtfX2NlLCBub3QgX19LVVJfX21pa2NlLiBUaGUg bmFtZSAnJ0p1bGlldHRlJycgd291bGQgYmUgd3JpdHRlbiBESlVsaSxldC4gaWYgcHJvbm91bmNl ZCBpbiBhbiBFbmdsaXNoIHdheSwgYnV0IGp1TElFVC4gaWYgcHJvbm91bmNlZCBhcyBpbiBGcmVu Y2guCgohISEhQWxwaGFiZXQKCkluIG1vc3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRo ZSBhbHBoYWJldCBvZiB0aGUgbGFuZ3VhZ2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0 ZXJzIChsZXJmdSkgdHVybiBvdXQgdG8gYmUgZXZlbiBtb3JlIGltcG9ydGFudCB0aGFuIHVzdWFs IGluIExvamJhbiwgc28gd2UgbWlnaHQgYXMgd2VsbCBnbyB0aHJvdWdoIHRoZWlyIG5hbWVzIHF1 aWNrbHkuCgpDb25zb25hbnRzIGFyZSBzdHJhaWdodGZvcndhcmQ6IHRoZSBuYW1lIG9mIGEgY29u c29uYW50IGxldHRlciBpcyB0aGF0IGxldHRlciwgcGx1cyB5LiBTbyB0aGUgY29uc29uYW50IGxl dHRlcnMgb2YgTG9qYmFuLCAnJ2IsIGMsIGQsIGYsIGcgLi4uJycsIGFyZSBjYWxsZWQgYnkuLCBj eS4sIGR5LiwgZnkuLCBneS4uLi4gaW4gTG9qYmFuICh1c2luZyB0aGUgZnVsbCBzdG9wIGFzIHdl J3ZlIGp1c3QgZGVzY3JpYmVkLikKClZvd2VscyAnJ3dvdWxkJycgYmUgY2FsbGVkIC5heSwgLmV5 LCAuaXksIGJ1dCB0aGF0IHdvdWxkIGJlIHJhdGhlciBkaWZmaWN1bHQgdG8gcHJvbm91bmNlLiBJ bnN0ZWFkLCB0aGV5IGFyZSBoYW5kbGVkIGJ5IGZvbGxvd2luZyB0aGUgdm93ZWwgc291bmQgd2l0 aCB0aGUgd29yZCBidSwgd2hpY2ggYmFzaWNhbGx5IG1lYW5zICdsZXR0ZXInLiBTbyB0aGUgdm93 ZWxzIG9mIExvamJhbiBhcmU6IC5hYnUsIC5lYnUsIC5pYnUsIC5vYnUsIC51YnUsIHlidS4KClRo ZSBhcG9zdHJvcGhlIGlzIHJlZ2FyZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFu ZCBpcyBjYWxsZWQgLnkneS4uIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291 Z2g7IHRvIG90aGVyLCBsaWtlICcndWgtaHVoJycgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVy IHRoYW4gJ05vJy4pCgpMb2piYW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBsZXR0ZXJz IHlvdSBjYW4gdGhpbmsgb2Y7IHNlZSAnJ1RoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UnJywg Q2hhcHRlciAxNyBmb3IgZGV0YWlscy4gSWYgeW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwgb3V0 IHlvdXIgbmFtZSBpbiBMb2piYW4gYW5kIGhhdmUgYW4gJydIJycsICcnUScnLCBvciAnJ1cnJyB0 byBkZWFsIHdpdGgsIHlvdSBjYW4gdXNlIC55J3kuYnUsIGt5LmJ1IGFuZCB2eS5idS4gU28gJydT Y2h3YXJ6ZW5lZ2dlcicnIGlzIHNwZWx0IGluIExvamJhbiBhczoKCnN5LiBjeS4gLnkneWJ1IHZ5 YnUuIC5hYnUgcnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4KCkFuZCBzcGVs bGluZyAnJ3RoYXQnJyBpcyBhIHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5h dG9yIGV2ZXIgZGlkIQoKCgpOb3cgc3BlbGwgeW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVh c3Qgc29tZXRoaW5nIGNsb3NlIGVub3VnaCB0byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0 dGVycyBvZiBFbmdsaXNoIHdlIGhhdmUgbGVhcm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlKS4KCgoK ISEhISAnQ29ycmVjdCcgcHJvbnVuY2lhdGlvbgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBw cmVjaXNlIGFib3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBh cmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZv ciBhbm90aGVyLiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9u dW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKA lHRoZSBnZW5lcmFsIHByaW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMg aXQgZG9lc24ndCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBs ZSwgTG9qYmFuIHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlzaCwg U2NvdHRpc2ggb3IgRnJlbmNoLgoKVHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91Z2gs IGFyZSBwcm9ub3VuY2luZyBMb2piYW4gaSBhbmQgdSBsaWtlIFN0YW5kYXJkIEJyaXRpc2ggRW5n bGlzaCAnJ2hpdCcnIGFuZCAnJ2J1dCcnIChOb3J0aGVybiBFbmdsaXNoICcnYnV0JycgaXMgZmlu ZSEpLiBUaGlzIGlzIGJlY2F1c2Ugbm9uLUxvamJhbiB2b3dlbHMsIHBhcnRpY3VsYXJseSB0aGVz ZSB0d28sIGFyZSB1c2VkIHRvIHNlcGFyYXRlIGNvbnNvbmFudHMgYnkgcGVvcGxlIHdobyBmaW5k IHRoZW0gaGFyZCB0byBzYXkuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyBzcGl0 dGluZyBvdXQgdGhlIHpkIGluIHpkYW5pIChob3VzZSksIHlvdSBjYW4gc2F5IHrJqmRhbmnigJR3 aGVyZSB0aGUgJyfJqicnIGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgJydpJycgaGFzIHRv IGJlIGxvbmcuCgohISEhTG9qYmFuIE5hbWVzIChjbWVuZSkKCldhdGNoIGFueSBmaWxtIHdoZXJl IHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBvZmYg c2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBhIHBs YWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uCgpfXycn bWknZSAucm9iaW4uJydfXwoKJydJLWFtLW5hbWVkIFJvYmluJycKCicnSSdtIFJvYmluJycKCicn bWknZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9u LiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZv d2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICcnbWUgaGVoJycuCgpUaGlzIGd1eSBSb2JpbiBp cyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91 dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBu YW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5pc2VkJy4g VGhpcyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFtZeKAlGJ1 dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9yIGV4YW1w bGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgJydKb3NlJycgc29tZXRoaW5n IGxpa2UgJydIb3pheScnLCBhbmQgJydNYXJnYXJldCcnIGluIENoaW5lc2UgaXMgJydNYWdlbGl0 YScnLiBTb21lIHNvdW5kcyBqdXN0IGRvbid0IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0 aGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0 IGl0IG9ubHkgY29udGFpbnMgTG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEgTG9qYmFu IHdheS4KCl9fTm90ZTogX19UaGUgY2F0Y2ggaGVyZSBpcywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBz b3VuZHMgd2lsbCB5b3UgYmUgdXNpbmc/IEZvciBFbmdsaXNoIGluIHBhcnRpY3VsYXIsIEJyaXRp c2ggYW5kIEFtZXJpY2FuIHZvd2VscyBjYW4gYmUgcXVpdGUgZGlmZmVyZW50LiBUaGUgQnJpdGlz aCB2ZXJzaW9uIG9mICcnUm9iaW4nJyBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAucm9i aW4uOyBidXQgdGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcncmFieW4uJycgb3Ig JydyYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVyZSBpcyBhbHNv IGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRoZSB0cmFuc2xp dGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0J3MgdGFrZSB0 aGUgRW5nbGlzaCBuYW1lICcnU3VzYW4nJy4gVGhlIHR3byAnJ3MnJydzIGFyZSBwcm9ub3VuY2Vk IGRpZmZlcmVudGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAnJ3onJ+KAlGFuZCB0 aGUgJydhJycgaXMgbm90IHJlYWxseSBhbiAnJ2EnJyBzb3VuZCwgaXQncyB0aGUgJ3NjaHdhJyB3 ZSBqdXN0IG1lbnRpb25lZC4gU28gJydTdXNhbicnIGNvbWVzIG91dCBpbiBMb2piYW4gYXMgJycu c3V6eW4uJycuCgpZb3UgbWF5IGhhdmUgbm90aWNlZCB0d28gZXh0cmEgZnVsbCBzdG9wcyAocGVy aW9kcykgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaWYgeW91IGRpZG4ndCBwYXVz ZSwgeW91IG1pZ2h0IG5vdCBrbm93IHdoZXJlIHRoZSBwcmV2aW91cyB3b3JkIGVuZGVkIGFuZCB0 aGUgbmV4dCB3b3JkIGJlZ2FuLgoKCgpZb3Ugc2hvdWxkIGFsc28gcHV0IGEgZnVsbCBzdG9wIGlu IGJldHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBuYW1lcyAodGhvdWdoIGl0J3Mgbm90 IGNvbXB1bHNvcnkpLCBzbyAnJ0ppbSBKb25lcycnIGJlY29tZXMgJydkamltLmRqb256LicnLgoK QW4gaW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3Qg bGV0dGVyIG9mIGEgY21lbmUgKExvamJhbiBuYW1lKSBtdXN0IGJlIGEgY29uc29uYW50LiBBZ2Fp biwgdGhpcyBpcyB0byBwcmV2ZW50IGNvbmZ1c2lvbiBhcyB0byB3aGVyZSBhIG5hbWUgZW5kcywg YW5kIHdoYXQgaXMgYW5kIGlzIG5vdCBhIG5hbWUgKGFsbCBvdGhlciBMb2piYW4gd29yZHMgZW5k IGluIGEgdm93ZWwpLiBXZSB1c3VhbGx5IHVzZSAnJ3MnJyBmb3IgdGhpczsgc28gaW4gTG9qYmFu LCAnJ01hcnknJyBiZWNvbWVzIC5tZXJpcy4gLCAnJ0pvZScnIGJlY29tZXMgLmRqb3MuIGFuZCBz byBvbi4gQW4gYWx0ZXJuYXRpdmUgaXMgdG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBzbyAn J01hcnknJyB3b3VsZCBiZWNvbWUgLm1lci4gb3IgLm1laXIuLgoKCgpUaGUgZmluYWwgcG9pbnQg aXMgc3RyZXNzLiBBcyB3ZSd2ZSBzZWVuLCBMb2piYW4gd29yZHMgYXJlIHN0cmVzc2VkIG9uIHRo ZSBwZW51bHRpbWF0ZSBzeWxsYWJsZSwgYW5kIGlmIGEgbmFtZSBoYXMgZGlmZmVyZW50IHN0cmVz cywgd2UgdXNlIGNhcGl0YWwgbGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IHRoZSBFbmdsaXNoIGFu ZCBGcmVuY2ggbmFtZXMgJydSb2JlcnQnJyBjb21lIG91dCBkaWZmZXJlbnRseSBpbiBMb2piYW46 IHRoZSBFbmdsaXNoIG5hbWUgaXMgJycucm9ieXQuJycgaW4gVUsgRW5nbGlzaCwgb3IgJycucmFi LHJ0LicnIGluIHNvbWUgQW1lcmljYW4gZGlhbGVjdHMsIGJ1dCB0aGUgRnJlbmNoIGlzICcnLnJv QkVSLicnLgoKVG8gZ2l2ZSBhbiBpZGVhIG9mIGhvdyBhbGwgdGhpcyB3b3JrcywgaGVyZSBhcmUg c29tZSBuYW1lcyBvZiBmYW1vdXMgcGVvcGxlIGluIHRoZWlyIG93biBsYW5ndWFnZSBhbmQgaW4g TG9qYmFuLgoKCgp8fF9fRW5nbGlzaF9fCgpNYXJnYXJldCBUaGF0Y2hlciB8Lm1hZ3J5dC50YXRj eXMuIChubyAnJ3RoJycgaW4gTG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRoZSB3 b3JsZCBjYW4ndCBzYXkgaXQhKQoKTWljayBKYWdnZXIgfC5taWsuZGphZ3lzLiB8fAoKfHxfX0Zy ZW5jaF9fCgpOYXBvbGVvbiBCb25hcGFydGUgfC5uYXBvbGUsT04uYm9uYVBBUlQuCgpKdWxpZXR0 ZSBCaW5vY2hlIHwuanVMSUVULmJpbk9DLiB8fAoKfHxfX0NoaW5lc2VfXwoKTGFvemkgfC5sYXVk ei4KCk1hbyBaZWRvbmcgfC5tYXVkenlEWU4uIChGaW5hbCAnJ25nJycgaXMgaW4gTG9qYmFuIGNv bnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKfHxfX1R1cmtpc2hfXwoKTXVzdGFmYSBL ZW1hbCB8Lk1VU3RhZmFzLmtlTUFMLgoKRXJraW4gS29yYXkgfC5lcmtpbi5rb3JhaXMuIHx8Cgp8 fF9fR2VybWFuX18KCkZyaWVkcmljaCBOaWV0enNjaGUgfC5mcmlkcml4Lm5pdGN5cy4KCkNsYXJh IFNjaHVtYW5uIHwua2xhcmFzLmN1bWFuLiB8fAoKfHxfX1NwYW5pc2hfXwoKSXNhYmVsIEFsbGVu ZGUgfC5pemFCRUwuYWllbmRlcy4KCkNoZSBHdWV2YXJhIHwudGNlZ2V2YXJhcy4gfHwKCl9fRXhl cmNpc2VfXy4KCldoZXJlIGFyZSB0aGVzZSBwbGFjZXM/CgojLm51LElPUksuCgojLnJvbWFzLgoK Iy54YXZhbmFzLgoKIy5rYXJkaWYuCgojLmJlaWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJr aXMuCgojLnZhbmt1dmVyLgoKIy5rZWlwdGF1bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxp cy4KCiMubmlzLgoKIy5hdGluYXMuCgojLmxpZHouCgojLnhlbHNpbmtpcy4KCkFuc3dlcjoKCn5+ Z3JheSxncmF5On5+Cgojfn5ncmF5LGdyYXk6TmV3IFlvcms6IFVTQX5+Cgojfn5ncmF5LGdyYXk6 Um9tZTogSXRhbHl+fgoKI35+Z3JheSxncmF5OkhhdmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6 Q2FyZGlmZjogV2FsZXMgKFRoZSBXZWxzaCBmb3IgJydDYXJkaWZmJycgaXMgJydDYWVyZHlkZCcn LCB3aGljaCB3b3VsZCBMb2piYW5pc2UgdG8gc29tZXRoaW5nIGxpa2Uga2FpcmR5ZC4uKX5+Cgoj fn5ncmF5LGdyYXk6QmVpamluZzogQ2hpbmF+fgoKI35+Z3JheSxncmF5OkFua2FyYTogVHVya2V5 fn4KCiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTogTmV3IE1leGljbywgVVNBfn4KCiN+fmdyYXks Z3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2FwZSBUb3duOiBTb3V0aCBB ZnJpY2F+fgoKI35+Z3JheSxncmF5OlRhaXBlaTogVGFpd2FuIChub3RlIGIsIG5vdCBwLiBBbHRo b3VnaCBhY3R1YWxseSwgdGhlIGIgaW4gUGlueWluIGlzIHByb25vdW5jZWQgYXMgYSBwLi4uIEJ1 dCB0aGlzIGlzbid0IG1lYW50IHRvIGJlIGEgY291cnNlIG9uIE1hbmRhcmluISl+fgoKI35+Z3Jh eSxncmF5OkJvbm46IEdlcm1hbnl+fgoKI35+Z3JheSxncmF5OkRlbGhpOiBJbmRpYSAoVGhlIEhp bmRpIGZvciAnJ0RlbGhpJycgaXMgJydEaWxsw64nJywgd2hpY2ggd291bGQgZ2l2ZSBkaWxpeXMu IG9yIGRpbGknaXMuLil+fgoKI35+Z3JheSxncmF5Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdy YXk6QXRoZW5zOiBHcmVlY2UgKCcnQXRoaW5hJycgaW4gR3JlZWspfn4KCiN+fmdyYXksZ3JheTpM ZWVkczogRW5nbGFuZH5+Cgojfn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmR+fgoKX19FeGVy Y2lzZV9fLgoKTG9qYmFuaXNlIHRoZSBmb2xsb3dpbmcgbmFtZXMKCiNKb2huCgojTWVsaXNzYQoK I0FtYW5kYQoKI01hdHRoZXcKCiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoK I1dpbGxpYW0gU2hha2VzcGVhcmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoK I0lzdGFuYnVsCgojTWFkcmlkCgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCkFuc3dlcjoKCn5+Z3Jh eSxncmF5OlRoZXJlIGFyZSB1c3VhbGx5IGFsdGVybmF0aXZlIHNwZWxsaW5ncyBmb3IgbmFtZXMs IGVpdGhlciBiZWNhdXNlIHBlb3BsZSBwcm9ub3VuY2UgdGhlIG9yaWdpbmFscyBkaWZmZXJlbnRs eSwgb3IgYmVjYXVzZSB0aGUgZXhhY3Qgc291bmQgZG9lc24ndCBleGlzdCBpbiBMb2piYW4sIHNv IHlvdSBuZWVkIHRvIGNob29zZSBiZXR3ZWVuIHR3byBMb2piYW4gbGV0dGVycy4gVGhpcyBkb2Vz bid0IG1hdHRlciwgc28gbG9uZyBhcyBldmVyeW9uZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91J3Jl IHRhbGtpbmcgYWJvdXQufn4KCiN+fmdyYXksZ3JheTouZGpvbi4gKG9yIC5kamFuLiB3aXRoIHNv bWUgYWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5tZWxpc3lzLn5+Cgojfn5ncmF5LGdyYXk6LmFt YW5keXMuIChhZ2FpbiwgZGVwZW5kaW5nIG9uIHlvdXIgYWNjZW50LCB0aGUgZmluYWwgeSBtYXkg YmUgYSwgdGhlIGluaXRpYWwgYSBtYXkgYmUgeSwgYW5kIHRoZSBtaWRkbGUgYSBtYXkgYmUgZS4p fn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5LGdyYXk6Lm1haWt5bC4gb3IgLm1h aWssbC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQufn4KCiN+fmdyYXksZ3JheTouZGVp dnlkLmJhdSxpcy4gb3IgLmJvLGlzLiAoYnV0IG5vdCAuYnUsaXMuIOKAlCB0aGF0J3MgdGhlIGtu aWZlKX5+Cgojfn5ncmF5LGdyYXk6LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlh bS5jZWtzcGlyLn5+Cgojfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvciAuc3lnb3JuaXMu dWl2eXIufn4KCiN+fmdyYXksZ3JheToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTou aXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwg LmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5IHByZWZlciB0byBi YXNlIGNtZW5lIG9uIGxvY2FsIHByb251bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNv bHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdyYXk6Lm1hRFJJRC5+fgoKI35+Z3JheSxncmF5Oi50b2tp b3Mufn4KCiN+fmdyYXksZ3JheTouc2FuLnNhbHZhRE9SLiAod2l0aCBTcGFuaXNoIHN0cmVzcykg PC9zcGFuPjwvaHRtbD5+fgoKISEhIUxvamJhbiB3b3JkcyBhcyBuYW1lcwoKQnkgbm93IHlvdSBz aG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwgaWYgeW91 IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChpZiB5b3Ug a25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVseSBuZXcg TG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xhdGUgdGhl aXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBt ZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBlY3QgdGhl ICcnd2FzaWNodScnIHRvIGJlIGFibGUgdG8gcHJvbm91bmNlIHdvcmRzIGluIExha290YSwgQ2hl cm9rZWUgb3Igd2hhdGV2ZXIhCgpBbGwgTG9qYmFuIHdvcmRzIChhcyBvcHBvc2VkIHRvIGNtZW5l KSBlbmQgaW4gYSB2b3dlbCwgYW5kIGFsdGhvdWdoIHlvdSAnJ2NhbicnIHVzZSB0aGVtIGFzIG5h bWVzIGFzIHRoZXkgc3RhbmQsIGl0J3MgY29tbW9uIHRvIGxlYXZlIG91dCB0aGUgZmluYWwgdm93 ZWwgdG8gbWFrZSBpdCBhYnNvbHV0ZWx5IGNsZWFyIHRoYXQgdGhpcyBpcyBhIG5hbWUgYW5kIG5v dCBzb21ldGhpbmcgZWxzZSAoTG9qYmFuIGdvZXMgZm9yIG92ZXJraWxsIHdoZW4gaXQgY29tZXMg dG8gcG9zc2libGUgbWlzdW5kZXJzdGFuZGluZykuIFNvIGlmIHlvdXIgbmFtZSBvciBuaWNrbmFt ZSBpcyAnJ0NhdCcnIChMb2piYW4gbWxhdHUpLCB5b3UgY2FuIGVpdGhlciBhZGQgcyBsaWtlIGEg bm9ybWFsIGNtZW5lIHRvIG1ha2UgLm1sYXR1cy4sIG9yIGp1c3QgY2hvcCB0aGUgZW5kIG9mZiBh bmQgY2FsbCB5b3Vyc2VsZiAubWxhdC4gLgoKSGVyZSBhcmUgYSBmZXcgZXhhbXBsZXM6CgoqRmlz aCDigJMgZmlucGUg4oCTIC5maW5wLgoKKkJqw7ZybiAoU2NhbmRpbmF2aWFuID0gYmVhcikg4oCT IGNyaWJlIOKAkyAuY3JpYi4KCipHcmVlbiDigJMgY3Jpbm8g4oCTIC5jcmluLgoKKk1laSBMaSAo Q2hpbmVzZSA9IGJlYXV0aWZ1bCkg4oCTIG1lbGJpIOKAkyAubWVsYi4KCipBeWhhbiAoVHVya2lz aCA9IE1vb24gTG9yZCkg4oCTIGx1bnJhIG5vYmxpICg9IGx1cm5vYmxpKSDigJMgLmx1cm5vYmxp cy4KCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10 aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExv amJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2Fs bCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUg b2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2Jq ZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJh JycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlk aSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBi cmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3Rh dGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0 cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2gu CgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxN b3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRp LCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52 b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRl c3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHi gJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwg YW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJh LgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoK CgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDi gJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKA nQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBh c3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0 aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoK UHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxicmknJywg YW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3Ig Y2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hp Y2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVy ZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJl ZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJz dHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJh bnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGlu ZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRo b3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2Fu IG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxi cmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0 aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoK CklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xp c2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10 aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBi b3VnaHQgc2l4dGVlbiBuZXcgc2hpcnRzIGZyb20gTGVhJkxldnkncyBmb3IganVzdCB0d28gaHVu ZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChm cm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnHNpeHRlZW4gbmV3IHNoaXJ0c+KAnSwg 4oCcTGVhJkxld2lz4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRo ZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0 aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0 aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZSBpbiB0aGUgYWlyLuKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQ QeKAnSwg4oCcbm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUg aW4gdGhlIGFpcuKAnX5+CgoKCk5vdyB0cnkgYmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9y IHRoaXMgeW91IHdpbGwgbmVlZCB0byB1c2Ugc29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBz ZWxicmk6CgonJ19fZHVuZGFfXycnIHgxIGdpdmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQp CgonJ19fcGVseHVfXycnIHgxIGlzIHllbGxvdwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUg b2YgeDIKCgoKTm90aWNlIHRoYXQgdGhlc2Ugd29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5 ZWxsb3figJ0gYW5kIOKAnGhvbWXigJ0gd291bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFk amVjdGl2ZSBhbmQgYSBub3VuIGluIEVuZ2xpc2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1 Y2ggY2F0ZWdvcmllcyBhbmQgbm8gc3VjaCBkaXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0 cmFuc2xhdGVkIOKAnGdpdmVz4oCdICh2ZXJiKSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKA nGlzIGdpdmluZ+KAnSAoYWRqZWN0aXZlKSBhcyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBU aGV5IGFsbCBhY3QgYXMgc2VsYnJpLCBhbmQgYXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpB cyB3ZWxsIGFzIGEgZmV3IHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18n JyDigJxJ4oCdIG9yIOKAnHdl4oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtp bmcuCgonJ19fdGlfXycnIOKAnHRoaXPigJ0g4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVh cmJ5IHdoaWNoIGNhbiBiZSBwb2ludGVkIHRvIGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDi gJx5b3XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoK ClNlZSB0aGUgc3RyYW5nZSB0cmFuc2xhdGlvbnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVj aWFsbHkgdGhlIHgxLCB4MiBhbmQgeDM/IFRob3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBU aGV5IGFyZSBwbGFjZXMgd2hlcmUgc3VtdGkgY2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGlu ZyBhIHN1bXRpIGluIGEgcGxhY2Ugc3RhdGVzIHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBw bGFjZS4gVGhlIHNlY29uZCBwbGFjZSBvZiAnJ2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMg dGhlIHRoaW5nIGJlaW5nIGdpdmVuLiBUaGUgdGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNl aXZlcyB0aGUgdGhpbmcuIE5vdGljZSBhbHNvIHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVu ZGEnJyBoYXMgdGhlIHdvcmQg4oCcdG/igJ0gaW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUg dGhpcyB3b3JkIGlzIG5lZWRlZCBpbiBFbmdsaXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0 aGUgcmVjZWl2ZXIgaXMgaW4gdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28g d2hlbiB5b3UgZmlsbCB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3Vt dGkgeW91IGZpbGwgaW4gaXMgYWx3YXlzIHRoZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVk IGFuIGVxdWl2YWxlbnQgdG8gdGhlIHdvcmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5 b3Ugc2ltcGx5IHNheSB0aGUgeDEgc3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBh bnkgb3RoZXIgc3VtdGkuCgpVc3VhbCBicmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gy IHN1bXRpfSB7eDMgc3VtdGl9IHt4NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhl IG9yZGVyIGNhbiBiZSBwbGF5ZWQgYXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3 aXRoIHRoZSB1c3VhbCBmb3JtLiBUbyBzYXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBq dXN0IHNheSAnJ21pIGR1bmRhIHRpIGRvJycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSBy aWdodCBwbGFjZXMuCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBv ZiBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkg YSBmZXcgbW9yZSBpbiBvcmRlciB0byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUg c2luayBpbi4KCgoK4oCcWW91IGdpdmUgdGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ2RvIGR1bmRhIHRpIG1pJyd+fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVh c3kgb25jZSB5b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkg YWZ0ZXIgZWFjaCBvdGhlciBhcmUgc2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2pi YW4gZXF1aXZhbGVudCBvZiBmdWxsIHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJy aWRpIGluc3RlYWQgb2YgYWZ0ZXIgdGhlbS4gSXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhl IGZpcnN0IGJyaWRpLCB0aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9f JycgU2VudGVuY2Ugc2VwYXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJl Zm9yZSBhbHNvIGJyaWRpKS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlz IGlzIGEgaG9tZSB0byBtZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBv biB0byB0aGUgbmV4dCBsZXNzb24sIEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBm b3IgYXQgbGVhc3Qgc2V2ZW4gbWludXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4u CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0 IHNlbGJyaSBoYXZlIGZyb20gb25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZl IG1vcmUuIEhlcmUgaXMgYSBzZWxicmkgd2l0aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNu dV9fJycgeDEgc2VsbHMgeDIgdG8geDMgZm9yIHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg 4oCcSSBzZWxsIHRoaXPigJ0sIGl0IHdvdWxkIGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0 aGUgc3VtdGkgcGxhY2VzIHgzIGFuZCB4NCwgd2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0 aGluZyB0bywgYW5kIGZvciB3aGF0IHByaWNlLiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1 bXRpIHBsYWNlcyBjYW4gYmUgZmlsbGVkIHdpdGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRl cyB0byB1cyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQg YmVjYXVzZSBpdCdzIHVuaW1wb3J0YW50IG9yIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4 dC4KCicnX196bydlX18nJyDigJxzb21ldGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRo IHNvbWV0aGluZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNl bGwgdG8geW914oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJ IHNlbGwgc29tZXRoaW5nIHRvIHlvdSBmb3Igc29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5 OiDigJxUaGF0J3MgYSBob21lIChmb3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OiAnJ3RpIHpkYW5pIHpvJ2UnJ35+CgoKCkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMg dGhpcyB0byAoc29tZW9uZSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRh IHRpIHpvJ2UnJ35+CgoKClN0aWxsLCBmaWxsaW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5 IHRoYXQgYSB0aGluZyBpcyBiZWluZyBzb2xkIHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9u J3QgbmVlZCB0byB3cml0ZSBhbGwgdGhlICcnem8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNp bXBseSBpcyB0aGF0IGlmIHlvdSBsZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29u c2lkZXJlZCBhcyBpZiB0aGV5IGNvbnRhaW5lZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lu cyB3aXRoIGEgc2VsYnJpLCB0aGUgeDEgaXMgcHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQg YmVjb21lcyAnJ3pvJ2UnJy4KClRyeSBpdCBvdXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2Vs bOKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBk b2VzICcnemRhbmkgbWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGlu ZyBpcyBhIGhvbWUgb2YgbWXigJ0gb3IganVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFz IG1lbnRpb25lZCBlYXJsaWVyLCB0aGUgZm9ybSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRp fSB7c2VsYnJpfSB7eDIgc3VtdGl9IHt4MyBzdW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4g cGxhY2UgdGhlIHNlbGJyaSBhbnl3aGVyZSB5b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lu bmluZyBvZiB0aGUgYnJpZGkuIElmIHlvdSBkbyB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBs ZWZ0IG91dCBhbmQgZmlsbGVkIHdpdGggJyd6bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2lu ZyB0aHJlZSBqdWZyYSBhcmUgYWxsIHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRh IHRpIGRvJycKCicnbWkgdGkgZHVuZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0 aW1lcyB0aGlzIGlzIHVzZWQgZm9yIHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm 4oCdIGNvdWxkIGJlICcnZG8gZG8gdmVjbnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcn ZG8gdmVjbnUgZG8nJy4gT3IgaXQgY2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJy aSBpcyB2ZXJ5IGxvbmcgYW5kIHRoZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9m IHRoZSBicmlkaS4KCgoKVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5k IHdpdGggdGhlIG9yZGVyIG9mIHRoZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVz dCBvbmUgaXMgYnkgdXNpbmcgdGhlIHdvcmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8n JyBhbmQgJydmdScnLiBOb3RpY2UgdGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMg aW4gdGhlIExvamJhbiBhbHBoYWJldCBpbiBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRz IG1hcmtzIHRoYXQgdGhlIG5leHQgc3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBh bmQgeDUgcmVzcGVjdGl2ZWx5LiBUaGUgbmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJl c3VtZWQgdG8gZmlsbCBhIHNsb3Qgb25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVz ZSBhbiBleGFtcGxlOgoKJydkdW5kYSBmYSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkg eW91IG9mIHRoaXMgdGhpbmcgdG8geW914oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2 ZXIsIHdoaWNoIGlzIHlvdS4gJydmZScnIG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhl IHgyLiBTdW10aSBjb3VudGluZyB0aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0 aGF0IHRoZSBsYXN0IHN1bXRpIGZpbGxzIHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0 ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkg dmVjbnUgZm8gdGkgZmUgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9y IHRoZSBwcmljZSBvZiB0aGlzLCB5b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmlj ZSBvZiB0aGlz4oCdIChwcm9iYWJseSBwb2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoK CicnemRhbmkgZmUgdGknJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9t ZeKAnS4gSGVyZSwgdGhlIGZlIGlzIHJlZHVuZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkg ZmEgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBt ZSBmb3IgdGhpcyBwcmljZeKAnX5+CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRo cmVlICh0YW5ydSBhbmQgbG8pCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWls aWFyIHdpdGggdGhlIGNvbmNlcHQgb2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdo ZW4gYSBzZWxicmkgaXMgcHV0IGluIGZyb250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcg aXRzIG1lYW5pbmcuIEEgdGFucnUgaXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUg d2l0aCBvdGhlciBzZWxicmkgb3IgdGFucnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRo dXMgJyd6ZGFuaSB2ZWNudScnIGlzIGEgdGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkg dmVjbnUnJywgd2hpY2ggaXMgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5k IHRoZSBzaW5nbGUgYnJpdmxhIHdvcmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25j ZXB0IG9mIHRhbnJ1LCBjb25zaWRlciB0aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxl bW9uIHRyZWXigJ0uIElmIHlvdSBkaWRuJ3Qga25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1 dCBoYWQgaGVhcmQgYWJvdXQgYm90aCBsZW1vbnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJl IGFibGUgdG8gZGVkdWNlIHdoYXQgYSBsZW1vbiB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNv bG9yZWQgdHJlZSwgb3IgYSB0cmVlIHNoYXBlZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9z ZSBiYXJrIHRhc3RlcyBsaWtlIGxlbW9uLiBUaGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cg Zm9yIHN1cmUgd291bGQgYmUgdGhhdCBpdCB3b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBi ZSBsZW1vbi1saWtlIGluIHNvbWUgd2F5LgoKQSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0 byB0aGlzLiBJdCBjYW5ub3QgYmUgc2FpZCBleGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251Jycg aXMsIGJ1dCBpdCBjYW4gYmUgc2FpZCB0aGF0IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5k IHRoYXQgaXQncyB6ZGFuaS1saWtlIGluIHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmkt bGlrZSBpbiBhbnkgd2F5LiBJbiB0aGVvcnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJk IHRoZSBjb25uZWN0aW9uIHRvIHpkYW5pIHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAn J3pkYW5pIHZlY251JycuIEhvd2V2ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0 aGUgb3JkaW5hcnkgc2Vuc2UgaW4gb3JkZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNv dWxkIGdsb3NzICcnemRhbmkgdmVjbnUnJyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBi ZXR0ZXIgYnV0IHdvcnNlIHNvdW5kaW5nIOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhl IHBsYWNlIHN0cnVjdHVyZSBvZiBhIHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1v c3Qgc2VsYnJpLiBJdCdzIGFsc28gc2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0 aGUgcmlnaHQgc2VsYnJpLgoK4oCcUmVhbGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKA nEl0IGRvZXNuJ3QgbWF0dGVyIGhvdyBzaWxseSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3 b3JkIGluIGEgdGFucnUgaXMsIGl0J3Mgc3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBz ZWxsZXJzIGZvciAnJ3pkYW5pIHZlY251JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4 Y3VzZSB3aHkgSSB0aGluayBpdCdzIHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4g eW91J2QgYmUgYSBkaWNrLiBPciBhdCBsZWFzdCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xl YWRpbmcuIEluIGdlbmVyYWwsIHlvdSBzaG91bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlv dXMgaG93IHRoZSBsZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8g dHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3 ZSBkb24ndCBrbm93IGluIHdoaWNoIHdheSBpdCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWlu dGVkIHllbGxvdywgYnV0IHdlIGRvbid0IGtub3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBk dW5kYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hh dCBjYW4gdGhhdCBtZWFuPyBObyBpZGVhLiBJdCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQg eW91IHNvbGQgc29tZXRoaW5nLCBzaW5jZSwgYnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRo ZXJlIGNhbiBiZSBubyBwYXltZW50IGludm9sdmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwg YnV0IGJlIHNlbGwtbGlrZSBpbiBzb21lIGFzcGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhp bmcgY29tcGxldGVseSBkaWZmZXJlbnQuIFdoYXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0 byBhIEdlcm1hbj8KCicnX19kb3Rjb19fJycgeDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBj dWx0dXJlIGluIGFzcGVjdCB4MgoKCgpJIGNhbid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28n JyBiZWNhdXNlIHRoYXQgd291bGQgbGVhdmUgdHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBp cyBub3QgcGVybWl0dGVkLiBJIGNvdWxkIHNheSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQg d291bGQgYmUgdW5uZWNlc3NhcnkgdmFndWUgLSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5 LiBMaWtld2lzZSwgaWYgSSB3YW50IHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVy aWNhbuKAnSwgd2hhdCBzaG91bGQgSSBzYXk/CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5k IG9mIHgyCgonJ19fbWVya29fXycnIHgxIGlzIEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBp biBhc3BlY3QgeDIKCgoKQWdhaW4sIHRoZSBvYnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBl bmRvIG1lcmtvJycsIGJ1dCB0aGF0IHdvdWxkIGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFt IGZyaWVuZC1saWtlIEFtZXJpY2Fu4oCdLCB3aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkg d2FudCB0byBpcyB0byB0YWtlIHRoZSBzZWxicmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQg aW50byBhIHN1bXRpIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBU aGlzIGlzIGRvbmUgYnkgdGhlIHR3byB3b3JkcyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycn X18g4oCTIGdlbmVyaWMgYmVnaW4gY29udmVydCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFj dHMgeDEgb2Ygc2VsYnJpIHRvIHVzZSBhcyBzdW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252 ZXJ0IHNlbGJyaSB0byBzdW10aSBwcm9jZXNzLgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJp IGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzLCBhbmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4g ZmlsbCB0aGUgeDEgb2YgdGhhdCBzZWxicmkgYW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNv IGZvciBpbnN0YW5jZSwgdGhlIHRoaW5ncyB0aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUg b25seSB0aGluZ3Mgd2hpY2ggYXJlIGhvbWVzIG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1 JycgbWVhbnMg4oCcYSBob21lIG9yIHNvbWUgaG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFy bHksIGlmIEkgc2F5IHRoYXQgc29tZXRoaW5nIGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxv dy4gU28gJydsbyBwZWx4dSBrdScnIHJlZmVycyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cg eW91IGhhdmUgdGhlIG5lY2Vzc2FyeSBncmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0g ZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuLuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydtaSBwZW5kbyBsbyBtZXJrbyBrdScnfn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkg dGhlICcna3UnJyBpcyBuZWNlc3NhcnkuIFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2Vs bHMgdGhpcyB0byBtZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVj bnUgdGkgbWknJyBJZiB5b3UgbGVhdmUgb3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlk aSwgYnV0IHNpbXBseSB0aHJlZSBzdW10aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBi cmlkaSwgdGhlIHRpIGlzIGZvcmNlZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVj dCBpcyBmb3JjZWQgdG8gY2xvc2UgYW5kIGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10 aSBvZiAnJ2xvIGRvdGNvIHZlY251IHtrdX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91 IGFsd2F5cyBoYXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3Ug cGVseHUnJy4gSWYgdGhlICcna3UnJyBpcyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNz IGRvZXMgbm90IGVuZCwgYW5kIGl0IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9t IHRoZSB0YW5ydSAnJ3pkYW5pIHBlbHh1JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycn LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpB bm90aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2Vy cyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4 cHJlc3MgZW1vdGlvbnMgZGlyZWN0bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5h dGVkIGluIHRoZSBmZW1pbmlzdCBjb25zdHJ1Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRs eSB0byBlbmFibGUgdHJ1ZSBmZW1hbGUgZW1vdGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFs ZSBlbW90aW9uYWwgZXhwcmVzc2lvbiB3YXMgaGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFu Z3VhZ2UsIGFuZCBpZiBvbmx5IHRoZXkgd2VyZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZy ZWVseSwgdGhpcyB3b3VsZCBlbXBvd2VyIHdvbWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUg bGFuZ3VhZ2UuCgpJbiBMb2piYW4sIHRoZXJlIGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1 ZGluYWxzIG1vc3QgcHJvYmFibHkgaGF2ZSBiZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdl IGJlY2F1c2UgdGhleSB0dXJuZWQgb3V0IHRvIGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNl ZnVsLiBUaGV5IGFsbCBoYXZlIGEgc28tY2FsbGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMg dGhhdCB0aGV5IGNhbiBhcHBlYXIgYWxtb3N0IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0 IGRpc3J1cHRpbmcgdGhlIGJyaWRpJ3MgZ3JhbW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3Ry dWN0cy4KCkluIExvamJhbiBncmFtbWFyLCBhbiBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBw cmV2aW91cyB3b3JkLiBJZiB0aGF0IHByZXZpb3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lu cyBhIGNvbnN0cnVjdCAobGlrZSAnJy5pJycgb3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUg ZW50aXJlIGNvbnN0cnVjdC4gTGlrZXdpc2UsIGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEg d29yZCB3aGljaCBlbmRzIGEgY29uc3RydWN0IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRo ZSBlbmRlZCBjb25zdHJ1Y3QuCgoKCkxldCdzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtl IHNvbWUgZXhhbXBsZXM6CgpfXycnLnVpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVt b3Rpb246IGhhcHBpbmVzcyAtIHVuaGFwcGluZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFs OiBldmlkZW50aWFsOiBJIGRpcmVjdGx5IG9ic2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZp bml0aW9uIG9mICcnLnVpJycsIHRoZXJlIGFyZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5l c3MgYW5kIHVuaGFwcGluZXNzLiBUaGlzIG1lYW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFz IGhhcHBpbmVzcywgd2hpbGUgaXRzIOKAnG5lZ2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g 4oCcTmVnYXRpb27igJ0gbWlnaHQgYmUgdGhlIHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHks IHRoZSBvdGhlciBkZWZpbml0aW9uIG9mICcnLnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcn LnVpIG5haScnLiBNb3N0IG9mIHRoZSB0aW1lLCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0 aXR1ZGluYWxzIC0gdGhlIG9uZXMgc3VmZml4ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRo ZSBuZWdhdGlvbiBvZiB0aGUgYmFyZSBhdHRpdHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBt dWNoLgoKX18nJ25haScnX18gbWlzYy4gbmVnYXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5h bHMsIGl0IGNoYW5nZXMgdGhlIG1lYW5pbmcgaW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRp b24iCgoKCkFuZCBzb21lIG1vcmUgc2VsYnJpLCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9f JydjaXRrYScnX18g4oCTIHgxIGVhdHMgeDIKCl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFw cGxlIG9mIHN0cmFpbi90eXBlIHgyCgoKClRoZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNl IGt1IC51aScnLCBtZWFucyDigJxZb3UgZWF0IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5 IGV4cHJlc3NpbmcgdGhhdCBpdCBpcyB0aGUgX19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMg aGFwcHkgYWJvdXQsIG5vdCB0aGUgZWF0aW5nLCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3Uu KSBJbiB0aGUgc2VudGVuY2UgJydkbyB6YSdhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVh a2VyIGRpcmVjdGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9f LCB3aG8gZWF0cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4g YXR0aXR1ZGluYWwgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBp cyB1bmRlcnN0b29kIHRvIGFwcGx5IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywg dGh1cyBhcHBseWluZyB0byB0aGUgZW50aXJlIGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBs byBwbGlzZSBrdSBtaScnIOKAkyDigJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3Nv bWUgYXBwbGUgdG8gbWUh4oCdCgoKCicnbWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKA nEkgc2VsbCAod2hpY2ggc3Vja3MhKSBhIGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZl dyBleGFtcGxlcy4gRmlyc3QsIHRob3VnaCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFs czoKCl9fJycudSd1JydfXyBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQg LSByZW1vcnNlbGVzc25lc3MgLSBpbm5vY2VuY2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDog Y29tcGxleCBwdXJlIGVtb3Rpb246IGNvbXBsYWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18g YXR0aXR1ZGluYWw6IG1pc2NlbGxhbmVvdXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoK TG9vayBhdCB0aGF0LCB0d28gd29yZHMgd2l0aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5p dGlvbiEgVGhlIG1pZGRsZSBvbmUgaXMgYWNjZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3Un aScnLiBJdCdzIGNvbnNpZGVyZWQgdGhlIG1pZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1 J2knJ19fIGF0dGl0dWRpbmFsIG1pZHBvaW50IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFs IHRvIGNoYW5nZSB0aGUgbWVhbmluZyB0byB0aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4K CgoKVHJ5IHNheWluZyDigJxJIGdpdmUgc29tZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl 4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUn JyBvciAnJ3pvJ2UnJyBpbnN0ZWFkIG9mICcnZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEg eWVsbG93IGFwcGxl4oCdCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBs byBwZWx4dSBwbGlzZSBrdScnfn4KCgoKTGV0J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9m IGEgZGlmZmVyZW50IGtpbmQgdG8gaWxsdXN0cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5l aScnIEF0dGl0dWRpbmFsOiBjb21wbGV4IHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlv biAtIGZyZWVkb20uCgoKClNvLCBxdWl0ZSBlYXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBw bGUgYXdheeKAnSBpcyAnJ21pIGR1bmRhIC5laSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMs IGFjdHVhbGx5ISBXaGVuIHlvdSB0aGluayBhYm91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMg aXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0dGl0dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4 cHJlc3NlcyB0aGUgc3BlYWtlcidzIGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBv bmUgYWN0dWFsbHkgY2hhbmdlcyB3aGF0IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlp bmcg4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFi b3V0IHdoZXRoZXIgdGhlIGFwcGxlIGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkg aGFkIHVzZWQgJycudWknJywgaG93ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0 aGF0IEkgZ2F2ZSB0aGUgYXBwbGUgYXdheSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQu IFdoYXQncyB0aGF0IGFsbCBhYm91dD8KCgoKVGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1 ZGluYWxzIGNoYW5nZSB0aGUgY29uZGl0aW9ucyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlz IGEgc3ViamVjdCBvZiBhIG1pbm9yIGRlYmF0ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KA nSBydWxlLCB3aGljaCBwcm9iYWJseSB3b24ndCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlz IGEgZGlzdGluY3Rpb24gYmV0d2VlbiDigJxwdXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3Np dGlvbmFsIGVtb3Rpb25z4oCdLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdl IHRoZSB0cnV0aCBjb25kaXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3Jk ZXIgdG8gZXhwcmVzcyBhIHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhv dXQgY2hhbmdpbmcgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNl cGFyYXRlIGl0IGZyb20gdGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29y ZCBmb3IgZXhwbGljaXRseSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRp b25zIG9mIGEgYnJpZGk6CgoKCl9fJydkYSdpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTog c3VwcG9zaW5nIC0gaW4gZmFjdAoKU2F5aW5nICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0 aGUgdHJ1dGggY29uZGl0aW9ucyB0byBoeXBvdGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0 IHVzaW5nIHByb3Bvc2l0aW9uYWwgYXR0aXR1ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNo YW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbiB0byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0 IHVzaW5nIHB1cmUgYXR0aXR1ZGluYWxzLgoKCgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWlu ZyDigJxJIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0 IGl0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycg IGFuZCAnJ21pIGR1bmRhIGRhJ2kgbmFpIC5laSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcg b2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHN1YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5n ICcnZGFpJycuIFVzdWFsbHkgaW4gb3JkaW5hcnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMg c3Vic2NyaWJlZCB0byB0aGUgbGlzdGVuZXIsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28u IEFsc28sIGJlY2F1c2UgdGhlIHdvcmQgaXMgZ2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5n IG90aGVycyBlbW90aW9ucyksIHNvbWUgTG9qYmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQg dGhlIHNwZWFrZXIgbXVzdCBzaGFyZSB0aGUgZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90 aGVycy4KCl9fJydkYWknJ19fIGF0dGl0dWRpbmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3Jp YmVzIGF0dGl0dWRpbmFsIHRvIHNvbWVvbmUgZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAn J3UnaSAub2kgZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQg bXVzdCBoYXZlIGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kg dSdpIGRhaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5u eS7igJ1+fgoKCgpBbmQgYW5vdGhlciBvbmUgdG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRv IHRyYW5zbGF0ZSDigJxIZSB3YXMgc29ycnkgaGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5n LCB0aGF0IHRlbnNlIGlzIGltcGxpZWQgYW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg 4oCcaGXigJ0gY291bGQgYmUgb2J2aW91cyBmcm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6Jyd1J3UgZGFpIHZlY251IGxvIHpkYW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRl bnNpdHkgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdv cmRzLiBUaGVzZSBjYW4gYmUgdXNlZCBhZnRlciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1 ZGluYWwgd2l0aCAnJ25haScnIG9yICcnY3UnaScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIg d2hhdCBoYXBwZW5zIHdoZW4geW91IGF0dGFjaCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNl bGJyaSwgbXVzdCBpdCdzIG1vc3RseSB1bmRlcnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFr ZW5pbmcgdGhlIHNlbGJyaSBpbiBzb21lIHVuc3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3 b3JkICB8IEludGVuc2l0eSAgCgogY2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5v bmUpfCAgIFVuc3BlY2lmaWVkIChtZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVt b3Rpb24gaXMgZXhwcmVzc2VkIHVzaW5nICcnLnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2knJ19f OiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNz CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291 bGQgeW91IGV4cHJlc3MgdGhhdCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJy51J3UgY3UnaSBydSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKA kyBsZXNzb24gZml2ZSAoU0UpCgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkg b2YgbW9yZSBjb21wbGV4IGNvbnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNo YW5pc20gZm9yIHJlb3JkZXJpbmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3 aWxsIHNob3csIGlzIHZlcnkgdXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10 aSAodGhlIGtpbmQgb2Ygc3VtdGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNl IOKAnEkgZWF0IGEgZ2lmdOKAnSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBn aWZ0IGlzIGFuIGFwcGxlLiBUbyB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFs IHRvIGxvb2sgdXAgYSBzZWxicmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5n LiBIb3dldmVyLCBpZiBvbmUgbG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcn ZHVuZGEnJywgeDEgZ2l2ZXMgeDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAn J2R1bmRhJycgaXMgc29tZXRoaW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0 aGF0IHNlbnRlbmNlLCB3ZSBjYW4ndCBzYXkgJydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBiZWNh dXNlICcnbG8gZHVuZGEga3UnJyB3b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGljaCBp cyBhIGRvbm9yIG9mIGEgZ2lmdC4gQ2FubmliYWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQgdG8g c2F5IHRoYXQuIFdoYXQgd2Ugd2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNl bGJyaS4KClRoaXMgaXMgb25lIGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUg d29yZCAnJ3NlJycuIFdoYXQgJydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2gg dGhhdCB0aGUgeDEgYW5kIHgyIG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0 cnVjdCBvZiAnJ3NlJycgKyBzZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxi cmkuIExldCdzIHRyeSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9 IOKAnHgxIHRyYW5zbGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRo IHJlc3VsdCBvZiB0cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBm YW52YSB0aScnCgpUaGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcyku IE9mdGVuLCBidXQgbm90IGFsd2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUg dHJhbnNsYXRlZCB0byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhl IHgxIGlzIG9mdGVuIHRoZSBvYmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93 biBmYW1pbHkgb2Ygd29yZHMuIEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0 aCB0aGUgeDEuCgp8fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8 c3dhcCB4MSBhbmQgeDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwg YW5kIHggYXJlIGNvbnNlY3V0aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4K CgoKU286IFVzaW5nIHRoaXMga25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGkn JyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBv ZiB0aGlz4oCdIChvciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFt aWx5IGNhbiBvZiBjb3Vyc2UgYmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHku IFRoZSByZXN1bHQgY2FuIGJlIHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8g bWFrZSBpdCBzbzoKCl9fJydrbGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJv bSB4MyB2aWEgeDQgdXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1IGxv IHpkYW5pIGt1IHRlIGtsYW1hIGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRp IGxvIHpkYW5pIGt1JycgYW5kIHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcn dGkga2xhbWEgZG8gbWkgbG8gemRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9t IG1lIHZpYSBhIGhvbWUu4oCdIE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNl bnRlbmNlIGV4Y2VwdCB0byBjb25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWly IHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21l IHRvIHRoZSBwb2ludCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBs eSBleGNoYW5nZSB0aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQg dG8gYmUgeDEsIHRoZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4g U28sIGhvdyB3b3VsZCB5b3Ugc2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhl IG1hbnkgdXNlcyBmb3IgJydzZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3Nv bnMg4oCTIGxlc3NvbiBzaXggKGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhw cmVzc2VkIHNpbmdsZSBzZW50ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNv bXBsZXggdGhpbmdzLCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5j ZXMuIEx1Y2tpbHksIHRoZXNlIGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9u ZSB3b3VsZCBleHBlY3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3Ry YXRlIHRoaXM6IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwg dGhlIG1haW4gYnJpZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1i cmlkaSBpcyDigJxZb3UgYXJlIG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlv biBmb3Ig4oCcaGFwcHnigJ0sIHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCc eDEgaXMgaGFwcHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUg eDIgbmVlZHMgdG8gYmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNh dXNlIG9uZSBjYW5ub3QgYmUgaGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBh Ym91dCBzb21lIHN0YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNh biBleHByZXNzIGEgc3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRo ZSB4MiBvZiAnJ2dsZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBh IHNvbHV0aW9uLiBUaGUgd29yZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDigJxj b252ZXJ0IGJyaWRpIHRvIHNlbGJyaeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAn J2xvJyfigKYnJ2t1JycuIEV4YW1wbGU6CgpfXycnbXJvYmknbycnX18g4oCceDEgZGllcyB1bmRl ciBjb25kaXRpb24geDLigJ0KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7 YnJpZGl9IG9mIHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKJydtaSBzdSd1 IGRvIG1yb2JpJ28ga2VpJycg4oCTIOKAnEkgYW0geW91ciBkZWF0aOKAnS4KCkl0J3MgaGFyZCB0 byBmaW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLCBhbmQgdGhlIGFib3ZlIGV4 YW1wbGUgc2VlbXMgYSBsaXR0bGUgdW5jb252aW5jaW5nLiBIb3dldmVyLCBzaW5jZSAnJ3N1J3Ug QlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVz aW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVz cyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpf XycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoKSG93ZXZl ciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHByZWZl ciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQgJydk dSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21ldGhp bmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVuIGFz IGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFzIGFuIGFi c3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdodHMg b3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVkIGFi c3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJlIHVzZWQg bXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3aWxsIHdv cmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkgYWJvdXQg dGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0IHN1 YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVr aSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5kIHRo ZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoKCgpP dGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9wZXJ0 eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVhIGFic3Ry YWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcgb3RoZXJz LiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGljYXRlZCBtYXR0ZXIsIGFuZCB3aWxs IGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LW5pbmUuIEZvciBub3cs IHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIG5v dGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4gQXMg YW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25lZC4gJydkdSd1JycgaXMgZGVmaW5l ZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9icmlkaSBv ZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBzdW10aSBw bGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJpZGl9 IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1b3Rh dGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0ZW4g JydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1IGt1IGtlaSBrdScnLCBp ZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUuCgpfXycnY3Vza3UnJ19fIHgxIGV4 cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dlcmt1JydfXyB4MSBpcyBh IGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4gKE5PSSkK CldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBvZiBzdWJvcmRpbmF0ZSBi cmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBUaGV5IGFyZSBzZW50ZW5j ZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBzdW10aS4gSW5kZWVkLCB0aGUg4oCc d2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0aGUgYmVnaW5uaW5nIG9m IGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3JpYmluZyByZWxhdGl2ZSBjbGF1c2Vz LiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9ycywgYW5kIGl0IG1pZ2h0IGJlIHdv cnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVmb3JlIGxlYXJuaW5nIGhvdyB0byBl eHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVzdHJpY3RpdmUgYW5kIG5v bi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNsYXVzZXMuIEFuIGV4YW1w bGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hvIGlzIHR3byBtZXRlcnMg dGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRlcnN0b29kIGluIHR3byB3 YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywgaW4gd2hpY2ggY2FzZSBzYXlpbmcg aGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdoaWNoIGJyb3RoZXIgSSBh bSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25seSBvbmUgYnJvdGhlciwgaW4gd2hp Y2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCgoK CkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVz ZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBpcyByZXN0cmljdGl2ZSAo c2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxlIGJyb3RoZXJzIEkgbWlnaHQgYmUg dGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZlLiBXaGVuIHNwZWFraW5n IEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGluIHdyaXR0ZW4gRW5nbGlz aCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvLCBi dXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0cnVjdHMgJydwb2nigKZr dSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0 aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldCdzIGhhdmUgYSBMb2piYW5p YyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91ciBzdHJhbmdlIGdpZnQtZWF0aW5n IGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24gZml2ZToKCl9fJydub2knJ19fIGJl Z2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBz dW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2Fu IG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19fIGVuZCByZWxhdGl2ZSBjbGF1c2UK CgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3UnbycnID0g4oCcSSBlYXQg YSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRoZSAn J3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1JycsIHNv IGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNsYXVz ZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFuIGFwcGxlLCBidXQgc2lu Y2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0LCB3ZSBjYW4gc2FmZWx5 IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVyIGFs bCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29uYWJsZS4g SWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRoZSBn aWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZSdhJycsIHdoaWNoIGlz IGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1vcmUgb24gdGhlbSBsYXRlcikgcmVw cmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGlzIGF0dGFjaGVk IHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0byB0aGUgc3VtdGksIHRvIHdoaWNo IHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVpIG1pIGNpdGthIGxvIHNl IGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0IHdo aWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4g cmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJlJ3Mg YW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExvamJhbmlj IGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoKCicn bWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9IOKAnEksIHdobyBhbSBh IExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJhbmljIGxhbmd1YWdlLuKAnSBIZXJl LCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNoICcnbWknJyBjb3VsZCByZWZlciB0 bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBpcyBtZXJlbHkgYWRkaXRpb25hbCBp bmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVyZWZvcmUgJydub2nigKZr dSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhpczog4oCc SSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycnbmFu bXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0aWZ1 bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Npbmppa2Nh JydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4MyBieSBz dGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgbG8gbmFu bXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1vcmUgdGVjaG5pY2FsIHNp ZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cgdGhhdCAnJ2xvIHtzZWxicml9IGt1 JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBub2kga2UnYSB7c2VsYnJpfSBrdSdv JycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgTGVzc29uIGVpZ2h0ICh0ZXJtaW5hdG9yIGVs aXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBf X3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhp IG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKIC0gIOKAnEkg d2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5nLCB3b3VsZCB1bmRlcnN0YW5kIHRo YXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBtZS7igJ0KClJlZ2FyZGxlc3Mgb2Ygd2hldGhl ciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcgdW5kZXJzdG9vZCwgKGl0IHNob3VsZG4ndCwg YXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292ZXJlZCBpbiB0aGVzZSBsZXNzb25z IHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUgY29tcGxleCBMb2piYW4gc3RydWN0 dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0aGUgc2VudGVuY2VzIGdldCBmaWxs ZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3UnbycnIGFuZCBvdGhlciBvZiB0aG9zZSB3b3Jk cyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoKClRoZSBmdW5jdGlvbiBv ZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBlbmQgb2YgYSBjZXJ0YWluIGdyYW1t YXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug4oCcY29udmVydCBzZWxicmkgdG8g c3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUgRW5nbGlzaCB3b3JkIGZvciB0aGlz IGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0aGUgTG9qYmFuIHdvcmQgaXMgJydm YSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xkIGluIHRoZSBleGFtcGxlIGFib3Zl LgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4YW1wbGUgYXJlIHRoZSBmYSdvcm1h J28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB5b3UgaGF2ZSBu b3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1JydfXyBmYSdvcm1hJ286IFRlcm1p bmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3cml0dGVuIExvamJhbiwgbW9zdCBm YSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMgZ3JlYXRseSBzYXZlcyBzeWxsYWJs ZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBob3dldmVyLCBvbmUgbXVzdCBhbHdh eXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdvLiBJbiB0aGUgc2ltcGxlIGV4YW1w bGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0aGUgZmEnb3JtYSdvICcna3UnJyB3 b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNoIGlzIGEgc2luZ2xlIHN1bXRpIG1h ZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBUaHVzLCBpdCBtZWFucyDigJxhbiBB bWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFuIEFtZXJpY2FuIHRyYXZlbHPigJ0u IGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkgd3JvbmcgcmVzdWx0cyBpZiBkb25l IGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVuJ3QgbGVhcm5lZCBhYm91dCBpdCB1 bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29ybWEnbyBjYW4gYmUgZWxpZGVkIGlz IHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKAnFlvdSBjYW4gZWxpZGUgYSBmYSdv cm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGdy YW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNlLuKAnQoKTW9zdCBmYSdvcm1hJ28g Y2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuIEV4Y2VwdGlvbnMg YXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVvdGXigJ0tZmEnb3JtYSdvIGFuZCDi gJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBUaGlzIGlzIHdoeSAnJ3ZhdScnIGlz IGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpdGgg JycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUgdGhlIHByZWNlZGluZyBicmlkaSBh bnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dldmVyLiBTaW5jZSBhdHRpdHVkaW5h bHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29yZCwgYXBwbHlpbmcgaXQgdG8gYSBm YSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNvbnN0cnVjdCB3aGljaCBpcyB0ZXJt aW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4gdXNlIGF0dGl0dWRpbmFscyBhZnRl cnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGlyZSBicmlkaToKCicnemEnYSBkbyBk dW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0uLi4gdmF1IGknZScnIC0g4oCcSSBzZWUg dGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24uLi4gSSBhcHByb3ZlIeKAnQoKX18nJ3By ZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEgcGVyc29uYWxpdHkuCgoKCktub3dpbmcg dGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxpc2lvbiwgd2UgY2FuIHRodXMgcmV0dXJu IHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVnaW4gcmVtb3ZpbmcgZmEnb3JtYSdvOgoK CgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBr dSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9f dmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKCgpXZSBjYW4gc2VlIHRo YXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1hdGljYWxseSB1bm5lY2Vzc2FyeSwgYmVjYXVz ZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQgaXMgJydqaW1wZScnLCB3aGljaCBpcyBhIHNl bGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHNlbGJyaSBwZXIgYnJpZGksICcndmF1 JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1wZScnIGFzIGEgc2VsYnJpIGNhbm5vdCBiZSBp biB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAob25seSBvbmUgYnJpZGkgaW4gYSBjbGF1c2Us IG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRpKSwgd2UgY2FuIGVsaWRlICcna3UnbycnLiBM aWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBhIHNlY29uZCBzZWxicmkgaW5zaWRlIHRoZSBj b25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScnLCBzbyB0aGUgJydrdScnIGlzIG5vdCBuZWVk ZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRoZSBmYSdvcm1hJ28gYXQgdGhlIHZlcnkgZW5k IG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVkIHRvbywgc2luY2UgYmVnaW5uaW5nIGEgbmV3 IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0aGVzZSBjb25zdHJ1Y3RzIGFueXdheS4KCldl IHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBv aSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkn JyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpXaGVuIGVsaWRpbmcgZmEnb3JtYSdv LCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVkIHdpdGggJydjdScnLiAnJ2N1Jycg aXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtlIHlvdXIgKExvamJhbmljKSBsaWZl IGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNlcGFyYXRlIGFueSBwcmV2aW91cyBz dW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkgdGhhdCBpdCBkZWZpbmVzIHRoZSBu ZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5hdGVzIGV4YWN0bHkgYXMgbXVjaCBh cyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoKX18nJ2N1JydfXyBlbGlkYWJsZSBt YXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRpbmcgc3VtdGksIGFsbG93cyBwcmVj ZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFtaScnX18gPSDigJx4MSBsb3ZlcyB4 MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX3ZhdSBr ZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1pJycgPQoKJydsbyBzdSd1IGRvIGN1c2t1IGxv IHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNlIGRqaWNhIG1pJycKCuKAnFRoYXQgeW91IHNh eSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQgYnkgYmXigJ0gb3Ig4oCcSSB3aXNoIHlvdSBz YWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydjdScnIGlzIG5vdCBhIGZhJ29ybWEnbywgYmVj YXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3BlY2lmaWMgY29uc3RydWN0LiBCdXQgaXQgY2Fu IGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3JtYSdvLgoKCgpPbmUgb2YgdGhlIGdyZWF0ZXN0 IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBpdCBxdWlja2x5IGJlY29tZXMgZWFzeSB0byBp bnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNlbGYgaXQgbWVhbnMgbm90aGluZywgYnV0IGl0 IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2piYW4gZXhwcmVzc2lvbnMgYnkgaWRlbnRpZnlp bmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3JpZ2luYWwgZXhhbXBsZSB3aXRoIHRoZSB2aW9s ZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcnY3UnJyBiZWZvcmUgJydqaW1wZScnIGRvZXMg bm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgc2VudGVuY2UgaW4gYW55IHdheSwgYnV0IG1p Z2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoKCkluIHRoZSBmb2xsb3dpbmcgY291cGxlIG9m IGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQgd2hlbiBuZWNlc3NhcnksIGFuZCBhbGwgZmEn b3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhlIGVsaWRlZCBmYSdvcm1hJ28gd2lsbCBiZSBl bmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBzaG93biBiZWxvdy4gVHJ5IHRvIHRyYW5zbGF0 ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMgaW1wb3J0YW50IHRvIHgyIGZvciByZWFzb24g eDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5kZXJzdGFuZHMgdGhhdCB4MiAoZHUndS1hYnN0 cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2EnbycnX18gLSBBdHRpdHVkaW5hbDog U2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAtIGRlc3BhaXIKCgoKJydhJ28gZG8g bm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1fSBjdSBqaW1wZSBsbyBkdSd1IGxvIGZhJ29y bWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0nJwoKV2hhdCBkbyBJIHN0 YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgaG9wZSB0aGF0IHlvdSwgYSBwcm91ZCBM b2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdvIGFyZSBpbXBvcnRhbnTigJ1+fgoK CgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZlcnNlZCBpbiBmYSdvcm1hJ28tZWxp c2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhleSBvZnRlbiBtdXN0IGJlIHJlbWlu ZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdvcm1hJ28gYXJlIHRvIHRoZSB1bmRl cnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNoIFR1ZXNkYXkgaGF2ZSBiZWVuIGRl c2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydmYSdvcm1hJ28gZGplZGknJyBvbiB0 aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRlcm1pbmF0b3IgRGF5LCBtYW55IHBlb3Bs ZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJlciB3cml0aW5nIG91dCBhbGwgZmEnb3Jt YSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVyc2F0aW9ucyBhcyBhIHJlc3VsdC4KCgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUgKHN1bXRjaXRhKQoKU28gZmFyIHdlIGhh dmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRoZSBzZWxicmkgd2UgaGF2ZSBoYWQgYXQg aGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUgYW1vdW50IG9mIGRlZmluZWQgc2VsYnJp IG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhlIHN1bXRpIHBsYWNlcyBhcmUgbm90IHVz ZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hhdCBpZiwgc2F5LCBpIHdhbnQgdG8gc2F5 IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNvbXB1dGVyPyBUaGVyZSBpcyBubyBwbGFj ZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0byBzcGVjaWZ5IHdoYXQgdG9vbCBJIHRy YW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUgdGltZSwgdGhhdCBpcyBub3QgbmVjZXNz YXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlzIG9uIGhvdyB0byBhZGQgYWRkaXRpb25h bCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoKVGhlIG1vc3QgYmFzaWMgd2F5IHRvIGFk ZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycgKHllcywgYW5vdGhl ciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4gSXQncyBhbG1vc3QgbmV2ZXIgbmVj ZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBsYXN0IHRpbWUgeW91IGV2ZXIgc2VlIGl0LikK CkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdvZXMgYSBzZWxicmksIGFuZCBsaWtlICcnbG8g U0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUndScnIGV4dHJhY3RzIHRoZSB4MSBvZiB0aGUg c2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnLCB0 aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRvIGEgc3VtdGksIGJ1dCB0byBhICcn c3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKAnSwgd2l0aCB0aGUgcGxhY2Ugc3Ry dWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNvbnZlcnRlZC4gVGhpcyAnJ3N1bXRj aXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBPbmUgY291bGQgc2F5IHRoYXQgdXNp bmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10aSBwbGFjZSBmcm9tIGFub3RoZXIg c2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWluZyBzYWlkLgoKTm90ZTogU29tZXRp bWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUgdGVybSDigJx0YWfigJ0gb3Ig4oCc bW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJZ25vcmUgdGhvc2UgcHVueSBFbmds aXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9qYmFuIGhlcmUuCgoKCldoaWxlIGl0 IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSByZWFkaW5nIGFib3V0IGl0LCBhbiBl eGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBzaW1wbGljaXR5OgoKX18nJ3NrYW1p JydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3NlIHgy4oCdCgpfXycncGlsbm8nJ19f IOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4M+KAnQoKCgonJ21pIGZhbnZhIHRp IGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1pIHtrdX17dmF1fScnIC0g4oCcSSB0cmFuc2xh dGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgyIG9mICcncGlsbm8nJywgd2hpY2ggaXMg dGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNlIHN0cnVjdHVyZSBmb3IgYSB0b29sIGJl aW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBzdHJ1Y3R1cmUgaXMgY2FwdHVyZWQgYnkg JydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRvIHRoZSBtYWluIHNlbGJyaSwgYW5kIHRoZW4g ZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2YgJydzdW10Y2l0YScnIGlzIHNvbWV0 aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUgZm9sbG93aW5nIHRyYW5zbGF0aW9u OgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEgY29tcHV0ZXLigJ0KCgoKQSAnJ3N1 bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwgd2hpY2ggaXMgYWx3YXlzIHRoZSBm b2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0aGUgJydzdW10Y2l0YScnIGNvbnN0cnVjdCBj YW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywgaW4gd2hpY2ggY2FzZSBhICcnem8nZScnIGlz IGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0YScnLiBPciwgb25lIGNvdWxkIGltYWdpbmUg YW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0ZWQgd2l0aCB0aGUgJydrdScnLgoKX18nJ3p1 a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwgZW50aXR5IGNhcnJ5aW5nIG91dCBhY3Rpb24g eDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1fSBrdSBsbyBza2FtaSB7 a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g4oCcV2l0aCB2b2xpdGlvbiwgYSBj b21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAocGVyaGFwcyBpbXBseWluZyB0aGF0 IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8gVG91Z2ggaXQgZG9lcyBub3Qgc3Bl Y2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0IGJlIHRoZSBwcm9ncmFtbWVyIHdo byBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3JpbmcuKQoKCgpXaGF0IGRvZXMgJydt aSBqaW1wZSBmaSBsYSBsb2piYW4ge2t1fSBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRl PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhpbmcgYWJvdXQg TG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRjaXRhJycgcmln aHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVybWluYXRlLCBz aW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2VsYnJpLiBUaGlz IGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5b3Ugd2lsbCBz ZWUuCgoKClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRlc3BpdGUgaXRz IGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBhcmUgQkFJLiBC QUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1zZWx2ZXMgYWN0IGFz ICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUnZScnLCB0aGUgQkFJIGZv ciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhlIHNhbWUgYXMgJydmaSdv IHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUgcmVkdWNlZCB0 bzoKCicnenUnZSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX0ge3ZhdX0n Jy4gVGhlcmUgZXhpc3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhlc2Ug YXJlIHZlcnkgdXNlZnVsIGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNvbnZl cnRlZCB3aXRoICcnc2UnJyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenUnZScnIGlz IGVxdWFsIHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBncmVh dCBkZWFsIG1vcmUgQkFJLgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAoUFUsIEZB aEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNoLXNw ZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3VnaCBuaW5l IGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25jZS4g VGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJbmRv LUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFyZSBv cHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFuIOKAnEkg ZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlzIGVh dCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmluaXNoZWQg ZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFuZCBp biBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93ZXZl ciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0LiBG dXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkgdHJlYXQg dGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0IEkgd29y a2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQgdGhhbiBz YXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhlciBsYW5n dWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3QgZGlmZmlj dWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMgdGhv dWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVhciBub3Qs IGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBtb2RpZnkg dGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0aGUgTG9q YmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdlIGhhdmUg Y29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2theSBva2F5 LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBvdGhlciBz dW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2FudCwgYW5k IHdpbGwgYmUgd29uJ3QgYmUgZXhwbGFpbmVkIHVudGlsIGxhdGVyLiBJbiBtb3N0IGFzcGVjdHMg dGhleSBhcmUgbGlrZSBhbGwgb3RoZXIgc3VtdGNpdGE7IHRoZXkgYXJlIHRlcm1pbmF0ZWQgYnkg JydrdScnLCBtYWtpbmcgaXQgZXhwbGljaXQgdGhhdCBQVSBpcyB0ZXJtaW5hdGVkIGJ5ICcna3Un Jy4KClRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBraW5kcyBvZiB0ZW5zZS1zdW10Y2l0YSwgc28g bGV0J3Mgc3RhcnQgYXQgdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLXNwZWFrZXJz LgoKX18nJ3B1JydfXyAtIHN1bXRjaXRhOiBiZWZvcmUge3N1bXRpfQoKX18nJ2NhJydfXyAtIHN1 bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1lIGFzIHtzdW10aX0KCl9fJydiYScnX18gLSBzdW10Y2l0 YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVzZSBhcmUgbGlrZSB0aGUgRW5nbGlzaCBjb25jZXB0cyDi gJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBhbmQg4oCcYWZ0ZXLigJ0uIEluIGFjdHVhbGl0eSB0aG91 Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0IHR3byBwb2ludC1saWtlIGV2ZW50cyBjYW4gbmV2ZXIg b2NjdXIgZXhhY3RseSBzaW11bHRhbmVvdXNseSwgcmVuZGVyaW5nICcnY2EnJyB1c2VsZXNzLiBC dXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgdGhlIGZ1dHVyZSwg bWVhbmluZyBqdXN0IOKAnGFib3V0IG5vd+KAnS4gVGhpcyBpcyBiZWNhdXNlIGh1bWFuIGJlaW5n cyBkb24ndCBwZXJjZWl2ZSB0aW1lIGluIGEgcGVyZmVjdGx5IGxvZ2ljYWwgd2F5LCBhbmQgdGhl IExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVmbGVjdHMgdGhhdC4KCgoKU2lkZSBub3RlOiBJdCB3YXMg YWN0dWFsbHkgc3VnZ2VzdGVkIG1ha2luZyB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWxhdGl2 aXN0aWMuIFRoYXQgaWRlYSwgaG93ZXZlciwgd2FzIGRyb3BwZWQsIGJlY2F1c2UgaXQgaXMgY291 bnRlci1pbnR1aXRpdmUsIGFuZCB3b3VsZCBtZWFuIHRoYXQgdG8gbGVhcm4gTG9qYmFuLCBvbmUg d291bGQgaGF2ZSB0byBsZWFybiB0aGUgdGhlb3J5IG9mIHJlbGF0aXZpdHkgZmlyc3QuICAKCgoK U28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnEkgZXhwcmVzcyB0aGlzIGFmdGVyIEkgY2FtZSBoZXJl P+KAnSAocG9pbnRpbmcgdG8gYSBwYXBlcikKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGN1 c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1hIHRpIHt2YXV9IHtrZWkge2t1fSB7dmF1fScnfn4KCgoK VXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNoIGV2 ZW50IHRoaXMgYWN0aW9uIGlzIGluIHRoZSBwYXN0IHJlbGF0aXZlIHRvLiBJbjog4oCcSSBnYXZl IGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFwcGVu ZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1bXRp IG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBpdCdzIG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1bmRh IGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1IHtr dX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25seQoKJydtaSBwdSB7a3V9IGR1bmRhIGxvIHNrYW1p IHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBhbiBp bXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzIHVuZGVyc3Rvb2QgYXMgcmVs YXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5 IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtp bmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0 aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSBy ZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91dC4gSW4gb3Jk ZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVha2Vy J3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQgJyduYXUnJyBjYW4gYmUgdXNlZCBhdCBhbnkg dGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFya3MgYSB0ZW5zZSB3aGljaCBpcyB0aGVuIGNv bnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3aWxsIGJlIHRhdWdodCB3YXkgbGF0ZXIu CgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFuZCBzcGFjaWFsIGZyYW1lIG9mIHJlZmVy ZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVyZSBhbmQgbm93LgoKCgpfXycnZ3VnZGUn J19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2YgcGVvcGxlIHgyIHdpdGggbGFuZC90ZXJyaXRv cnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydtaSBwdSB7a3V9IGtsYW1hIGxvIG1lcmtvIGd1 Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFtZXJpY2HigJ0sIGRvZXMgbm90IGltcGx5 IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxpbmcgdG8gVVNBLCBvbmx5IHRoYXQgaXQgd2FzIGFs c28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIGZvciBpbnN0YW5jZSBmaXZlIG1pbnV0ZXMg YWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRpbWUgdGVuc2VzIGFy ZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0IHRoZSBwcmV2aW91cyB0aHJlZSB0aW1lIHRlbnNl cyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0ZW5zZXM6CgpfXycnenUnYScnX18gc3VtdGNpdGE6 IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3UnJ19fIHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7c3Vt dGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6IHJpZ2h0IG9mIHtzdW10aX0KCl9fJydidSd1Jydf XyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFs ZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUg ZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm8n b25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUge2t1fSBjdSBkYXJ4aSBsbyBnZXJrdSBwdSB7a3V9 IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBtZWFuPyAobm90aWNlIHRoZSBmaXJzdCBlbGlkZWQg a3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0cy9oaXRzIHgyIHdpdGggaW5zdHJ1bWVudCB4MyBh dCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHthbmdlciF9IFRvIHRoZSByaWdo dCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBtZSkgYW5kIGluIHRoZSBwYXN0IChvZiBzb21lIGV2 ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50IG9mIGEgcGVyc29uIGJlYXRpbmcgYSBkb2cu4oCd IG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBteSByaWdodCHigJ1+fgoKCgpJZiB0aGVyZSBhcmUg c2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBvbmUgYnJpZGksIHRoZSBydWxlIGlzIHRoYXQgeW91 IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoaW5raW5nIGl0IGFzIGEgc28gY2FsbGVk IOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBXaGVyZSB5b3UgYmVnaW4gYXQgYW4gaW1wbGllZCBw b2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVmYXVsdDogdGhlIHNwZWFrZXIncyBub3cgYW5kIGhl cmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJvbSBsZWZ0 IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkgbG8gbG9q Ym8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9IOKAnEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwg SSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJvdXQgZmEnb3JtYSdvcy7igJ0KCicnbWkgYmEge2t1 fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9Jycg4oCcQXQg c29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0IGZh J29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUg d2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBpbiBib3RoIGNh c2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRoZSBwb2ludCBvZiByZWZl cmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4ZWQs IHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwuIElmIHRo aXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1bHQgaW4gc3ludGFjdGlj YWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1cHBvc2Ug d2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhlIGEgbWFuIGhpdCBhIGRvZyBqdXN0IGEgbWludXRl IGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6YScnIGFuZCAnJ3p1Jycgc3BlY2lmaWVzIGEgc2hv cnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5IG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4g dGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRlciAnJ2knJywgJydhJycgYW5kICcndScnLiBUaGlz IG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFnYWluIGluIExvamJhbiwgYW5kIG1pZ2h0IGJlIHdv cnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKAnSBhbmQg4oCcbG9uZ+KAnSBpbiBhcmUgYWx3YXlz IGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2ZSBhbmQgc3ViamVjdGl2ZS4gVHdvIGh1bmRyZWQg eWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBhIHNwZWNpZXMgdG8gZXZvbHZlLCBidXQgYSBsb25n IHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4KCl9fJyd6aScnX18gc3VtdGNpdGE6IE9jdXJyaW5n IHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZl cmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVk aXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2Ug CgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10 aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgoKClNpbWlsYXJseSwgc3Bh Y2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkgJyd2aScnLCAnJ3ZhJycgYW5kICcndnUnJyBmb3Ig c2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHNwYWNlLgoK X18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10 aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndmEnJ19fIHN1bXRjaXRh OiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGlu IHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3Z1JydfXyBzdW10Y2l0YTogT2N1 cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gdGhlIHBvaW50 IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScnX18g4oCceDEgd29ya3MgYXQgeDIgd2l0aCBvYmpl Y3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAnJ2JhIHtrdX0gemEga3UgbWkgdnUge2t1fSBndW5r YSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZSB0aW1lIGluIHRoZSBmdXR1 cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9uZyBhd2F54oCdfn4KCk5vdGU6IFBlb3BsZSByYXJl bHkgdXNlICcnemknJywgJyd6YScnIG9yICcnenUnJyB3aXRob3V0IGEgJydwdScnIG9yICcnYmEn JyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVvcGxlIGFsd2F5cyBuZWVk IHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBXaGVu IHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1vc3Qgb2YgdGhlIHRpbWUgdGhlIHRp bWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydwdScnIG9yICcnYmEnJyBzdXBlcmZs dW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlvbi1zdW10Y2l0YSBhbmQgZGlzdGFu Y2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBSZW1lbWJlciB0aGF0IHRo ZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNlIHdvcmRzIHBsYWNlZCB0b2dldGhlciBhcmUgcGlj dHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQu IFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1Jycg aXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9uZyB0 aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZpcnN0 IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1Jycg dGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNlY29uZCBleGFt cGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZhciBhd2F5IGlu IHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZyb20g dGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1IHB1 JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRlbnNl cyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0 ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhlciBz dW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3Vt dGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVz ZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQt bGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5IG91 dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcgcGFy YWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMgb2YgdGltZSBh bmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hv cnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIg dGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ3UnJ19fIHN1 bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoKCgpfXycndmUn aScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtzdW10aX0K Cl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1l ZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBv dmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGltZSwgSSBr bm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUgc2ltaWxhcml0 eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2IGZvciBz cGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6aW5nLgoKX18nJy5vaScnX18gLSBh dHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5zbGF0ZTogJycub2kgZGFpIGRvIHZl J3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHplJ3Uge2t1fSB7dmF1fScnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgeW91IHNwZW5kIGEgbG9uZyB0aW1lIHRyYXZlbGlu ZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKAnSB+fgoKCgpUaG91Z2ggbW9zdCBwZW9wbGUgYXJl IG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwgdGVuc2VzLCB0aGVzZSBuZXcgd29yZHMgY2FuIG9w ZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0IHVzZXMuIE9uZSBjb3VsZCwgZm9yIGluc3RhbmNl LCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmlnIGRvZ+KAnSBhcyAnJ3RpIHZlJ3Uge2t1fSBnZXJr dSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl4oCd IG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1zcG9rZW4gaW4g TG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRzIGJyb3RoZXJzIGFsc28gY29tYmluZSB3aXRoIG90 aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5kIHRlbnNlcy4gVGhlIHJ1bGUgZm9yICcnemUndScn IGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMgcHJlY2VkaW5nIGl0IG1hcmtzIGFu IGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0byB0aGUgcG9pbnQgb2YgcmVmZXJl bmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQgbWFya3MgdGhlIG90aGVyIGVuZHBv aW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91bGQgYmUgZGVtb25zdHJhdGVkIHdp dGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5vJ29jdSdpIGRvIGNpdGthIHB1IHtrdX0gemUn dSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScnIC0g4oCce3RvbGVyYW5jZX0geW91IGVhdCBi ZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBhIGxvbmcgdGltZSBlbmRpbmcgYXQgc29tZSBw b2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdoZW4geW91IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1w ZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9uZSBjYW4gYWxzbyBjb250cmFzdCAnJ2Rv IGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUge2t1 fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7dmF1fScnLiBUaGUgZmlyc3QgZXZlbnQgb2YgdHJh dmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHByZXNlbnQgYW5kIGV4dGVuZHMgYSBsaXR0 bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUgdGhlIHNlY29uZCBldmVudCBoYXMgb25lIGVuZHBv aW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRzIG9ubHkgdG8gdGhlIHByZXNlbnQgKHRoYXQgaXMs IHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBmdXR1cmUpIG9mIHRoYXQgZW5kcG9pbnQuCgpfXycn am1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5IHN0YW5kYXJkIHgy4oCdCgoKCldoYXQgZG9lcyAn Jy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUndSB7a3V9IGptaXZlIHt2YXV9JycgZXhwcmVzcz8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7aGFwcGluZXNzIX0gSSBsaXZlIGZyb20gYSBsaXR0 bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25nIHdheSB0b3dhcmRzIHRoZSBmdXR1cmUgb3IgcGFz dCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGluIHRoaXMgY2FzZSkgb2YgdGhhdCBldmVudOKAnSBv ciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBtb3N0IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUgOini gJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNpYWwgdGVu c2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lhbCB0 ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1ZGluYWw6IHdvbmRlciAtIGNvbW1vbnBsYWNlCgoK CicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9IHZlJ3Uge2t1fSBjYSd1IHtrdX0gemRhbmkge3Zh dX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7d29u ZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8gbXkg ZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3csIHRoaXMgaG9tZSBleHRlbmRpbmcgYWhlYWQg aXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUgd2l0aCB0aGlzIHN5bnRheC1oZWF2 eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51dGVz IGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vzbid0IG9jY3VweSB5b3VyIGJyYWluIGluIG9yZGVy IHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4gU2luZyBhIHNvbmcgb3IgZWF0IGEgY29v a2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIsIGFzIGxvbmcgYXMgeW91IGxldCB5b3VyIG1pbmQg cmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91Z2gg d2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywg dGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0 YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVw cmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2 ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0IHRvIGl0OgoKCgpVc2luZyB0aGUgdGVuc2VzIHdl IGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNhbiBpbWFnaW5lIGFuIGluZGVmaW5pdGUgdGltZSBs aW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVudHMgb24gdGhhdCBsaW5lIHJlbGF0aXZlIHRvIHRo ZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29udG91cnMsIGhvd2V2ZXIsIHdlIHZpZXcgZWFjaCBl dmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhhcyBjZXJ0YWluIHN0YWdlczogQSB0aW1lIGJlZm9y ZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBpdCBiZWdpbnMsIGEgdGltZSB3aGVuIGl0IGlzIGlu IHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVuZHMsIGFuZCBhIHRpbWUgYWZ0ZXIgaXQgaGFzIGVu ZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRlbGxzIHVzIHdoaWNoIHBhcnQgb2YgdGhlIGV2ZW50 J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgdGhl IG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9fJydw dSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBw ZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2NhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRv dXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCl9fJydiYSdvJydfXyAtIHN1 bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlkaSBoYXMgZW5kZWQgZHVy aW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBleGFt cGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnIG1lYW4/CgoK CkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2luIHRvIGhhdmUgYSBob21l4oCdLgoKCgpCdXQgaGV5 LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtrdX0gc2UgemRhbmkge3Zh dX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1c2UsIHJlbWVtYmVyLCBzYXlpbmcg dGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90aGluZyBhYm91 dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5nICcncHUnbycnLCB0aG91Z2gsIHlv dSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5b3Ug aGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBvbmUgbm93LgoK Tm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBpcyBz aW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycsIGFuZCBsaWtld2lzZSB3 aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1 c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBzZWVuIGZyb20gdGhlIHZpZXdw b2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZlbnRz IHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBtb3Jl IHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9mIHRlbnNlcy4gRXZlbiBtb3JlIGNsYXJpdHkgaXMg YWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2VzOiAnJy5hJ28gbWkgYmF7a3V9IHpp IHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9JycgLSDigJxJIGhvcGUgSSd2ZSBzb29uIGZpbmlz aGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwgd2UgYWxzbyBvcGVyYXRlIHdpdGggYW4gZXZl bnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCdLiBU aGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vuc2Us IGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUgcHJvY2VzcyB3 aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91dCBhIGxhdGUgdHJhaW4sIGZvciBp bnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGluZyB5b3UgaXMgbm93IGV4dGVuZGlu ZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBtZWFs LCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0aGF0IHByb2Nlc3MnIG5hdHVyYWwg YmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxlcyBhcmUg YXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJy aWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1bXRpfQoK X18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGltbWF0dXJl bHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycnY2lkamEnJ19fOiDigJx4MSBpcyBm b29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0ZTogJycub2kgZG8gY2l0 a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0gdSdlIGNpdGthIHpvJ2Ugbm9pIGNpZGphIGRvIHt2 YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxP eSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91IGhhdmUgZmluaXNoZWQsIGluY3JlZGlibHksIGVh dGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVtYj0ieSIg cmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6IFpBaE8gdGVuc2VzIChldmVudCBjb250b3Vycyku IEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2VzIGNv dmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93IHRoZSBldmVudCBsaW5l IHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBwb2ludC1saWtlLgoKCgpBbGwgb2YgdGhlc2UgdGVu c2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFrZXMg c29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRlbnNlcyBhYm92 ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55IG9mIHRoZSBldmVudCBjb250b3VycyBkZXNjcmli ZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmluZy4g QXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcnYnUndScnLCB0aGV5IGFjdHVhbGx5IGV4dGVuZCBz bGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2YgdGhhdCBwb2ludCwgYW5kIG5lZWQg bm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBpbXBvcnRhbnQgcG9pbnQtbGlrZSBl dmVudCBjb250b3VycyBhcmU6CgpfXycnY28nYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcge3N1bXRpfQoKX18nJ2NvJ3UnJ19f IC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVyaW5n IHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhlIHByb2Nl c3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRlZCB5 ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQg aXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0aG91 Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQgdGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRoaXMg aXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFpbnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUsIGFu ZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1zZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxlIGZv b2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUgaW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQsIHRo ZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBvd24gZXZlbnQgY29udG91ciBhbHNvOgoKX18n J2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcgZHVy aW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlk aSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRpJycg bWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0sICcnZGUnYSBqdW5kaScnIGFuZCAn J2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlzIG9mIHNheWluZyDigJxCUkLigJ0g YW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50IGNv bnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdldHMgYWNyb3NzLgoKCgpG aW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVudCwgZnJvbSB0aGUgYmVnaW5uaW5n IHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2luZyAnJ2NvJ2knJzoKCl9fJydwZW5t aScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPigJ0KCicnbWkgcHUge2t1fSB6aSB7 a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2YXV9JycgLSDigJxBIGxp dHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0IGEg R2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbHZlIChv cmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcsIHRob3NlIHR3byBsb25nIGxlc3NvbnMgd2l0aCBz eW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRoZSBicmFpbiBzb21ldGhpbmcgdG8gcG9uZGVyIGFi b3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQncyBzbyBkaWZmZXJlbnQgZnJvbSBFbmdsaXNoLiBT byBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRlcnMgYW5kIHF1 ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5kIGZvY3VzIV9fCgoKClNpbmNlIHRo ZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBvdXQgdGhlIHN1 YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQgd2FzIHlvdSBJ IHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBteXNlbGYsIG9yIGV4cHJlc3Npbmcg dGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5nbGlzaCBsYW5n dWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1cmUsIGFyZSBh bHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg4oCceW914oCdLCBhbmQg c28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCkluIExvamJhbiwgZWxpZGluZyB0aGUg c3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNvIHRoYXQgcG9zc2liaWxpdHkgaXMgc2FkbHkgbm90 IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlzIHRo ZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycnLiBHcmFtbWF0aWNhbGx5IGFuZCBicmlkaS13aXNl LCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQgYWRkcyBhIGxheWVyIG9mIHNlbWFu dGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50IHdpdGggJydrbycnIGluIGl0IGlu dG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNlIGlzIHRydWUgZm9yIHlv dT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2UgZG9uJ3QgbmVlZCB0aGUgc3ViamVj dCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9uJ3QgbmVlZCBvcmRlci13b3JkcyBkZXJpdmVk IGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoKCgpIb3cgY291bGQgeW91IG9yZGVy IG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUgKHVzaW5nICcna2xhbWEnJyBhcyB0 aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmtvIHZlJ3UgemUndSBrbGFt YX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkgY2EgY28ndSBjaXNrYSBsbyBmYSdvcm1hJ28gLmkg a28gamltcGUgdmF1IC51aScnKSAtIGxvb2sgdXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0LgoKCgpR dWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNvbWUg aW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBibGFuaywgYW5kIHRydWUvZmFsc2UgcXVlc3Rpb25z LiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF0J3Mg cHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBpbnZvbHZlcyBvbmUgd29yZCwgJyd4 dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRoYXQg aXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJlY2VkaW5nIHdvcmQg KG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVuY2UgaW50byBhIHF1 ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8gYWZm aXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZlJ3UgemRhbmkgZG8nJyAn Jy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJpLCB3 aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVkOiAn J3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5nIGJy aWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFuc3dlciDi gJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkg bmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJl dHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhlIG90aGVyIGtpbmQgaXMg ZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3b3JkIHRv IGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNvcnJl Y3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24gd2hhdCB5 b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydtYScnX18gLSBzdW10aSBxdWVzdGlvbgoKX18nJ21v JydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18nJ3hvJydfXyAtIG51bWJlciBxdWVzdGlvbgoKX18n J2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2VsbCBhcyBtYW55IG90aGVycy4gVG8g YXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxhY2UgdGhlIHF1ZXN0aW9uIHdvcmQg d2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVuZGEgbWEgbWknJyAtIGFza3MgZm9y IHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qgc3VtdGkuIOKAnFlvdSBnaXZlIHdo YXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydzdW10Y2l0YScnICsgJydtYScnIGlz IHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdSdpJydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0ZWQg YnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycub2kgZG8gZGFyeGkgbWkgbXUnaSBt YScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0KCgoKTGV0J3MgdHJ5IGFub3RoZXIg b25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6CgonJy51aSBkYWkgZG8gY2EgemUndSBwdSBt bycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91J3JlIGhhcHB5LCB3aGF0IGhhdmUgeW91 IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5pY2FsbHks IGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBidXQgYW5zd2Vy aW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkpIGlz IGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5veWluZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNlIHRv bmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3RydWN0dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0aGVy IGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBvciBub3QsIG9uZSBiZXR0ZXIgbm90IG1pc3MgdGhl IHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMgbW9y ZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVuY2VzLCBp dCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBzbyB0 aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlzIG5v dCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJraW5nIHRoYXQgdGhlIHNl bnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5IG1h cmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUgb24g dGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQncyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRpb24g dGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1ZXN0 aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRha2UgYSBs b29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBkanVubyBsbyBkdSd1IG1hIGthdSB6ZGFuaSBkbycn IC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoKX18nJ2RqdW5vJydfXyDigJx4MSBr bm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9neSB4NOKAnQoK T25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAnJ21hIHpkYW5p IGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBub24tcXVlc3Rpb24gd29yZCB3aXRo ICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0IGFzIHRoZSBh bnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBkdSd1IGR1bmRhIHRpIGthdSBkbycn IC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhpcy7igJ0KCgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5IGFuZCB3b3Jk IGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVzdGluZykgc3R1ZmYuCgpJ ZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhlIExv amJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIsIG9y IGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExvamJhbiBvbiBNdW1ibGUsIGFuZCB0aGVuIHByYWN0 aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2aW5nIGFuIGludGVybmFsIGNvbnZlcnNhdGlvbiBp biB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBpc24ndCB3aXRoIGFsbCB0 aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlvbiBmcm9tIHdyaXR0ZW4g dGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHRoZSBM b2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0IGJlLCBidXQgYSBzaG9y dCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9sb2d5LgoKCgpXaGF0IGlzIG1vcnBo b2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVlayBtZWFuaW5nIOKAnHRoZSBzdHVk eSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRhbGsgYWJvdXQgaG93IHdl IG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNvbnRyYXN0ZWQgd2l0aCBz eW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4gTG9qYmFuIG9wZXJhdGVz IHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBjbGFzc2VzLCB3aGljaCBhcmUgYWxs IGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFrZSBpdCBhbGwgbmljZSBhbmQgc3lz dGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBmdW5jdGlvbnMgdGVuZCB0byBiZSBn cm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0IGV4Y2VwdGlvbnMgbWF5IG9jY3Vy LgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlwaWNhbCBGdW5jdGlvbgoKICAgV29y ZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGktd29yZHwgICBBbW9uZyBmaXJzdCA1 IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMgYSBjb25zb25hbnQgY2x1c3Rlci4g RW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBkZWZhdWx0LiBBbHdheXMg aGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwgICBSb290LXdvcmR8IDUgbGV0dGVy cyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBPbmUgdG8gZml2ZSBzdW10aSBwbGFj ZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVqdm98ICBDb21wb3VuZCB3b3JkLiBE ZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCcY29tcGxleCB3b3Jk4oCd IHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdpbmcgcmFmc2kgdG9nZXRoZXIgd2l0 aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMgbW9yZSBjb21wbGV4IGNv bmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBDb3B5LXdvcmQgfCBBcyBicml2bGEs IGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNtdSBvciBsdWp2bywgZXg6 ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxpa2UgbmFtZXMgb2YgcGxh Y2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUtd29yZCB8ICAgQmVnaW5uaW5nIGFu ZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3VuZC9sZXR0ZXIgaXMgYSBj b25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0aGUgY29udGVudCBvZiBh IHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBGcm9tIOKAnGNtYXZsYeKAnSwgbWVh bmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50IG9yIHplcm8sIGFsd2F5cyBhdCB0 aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAgR3JhbW1hdGljYWwgZnVuY3Rpb25z LiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAgfAoKICAgUmFmc2l8ICAgQWZmaXh8 ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBvciBDQ1ZDeS0gIHwgTm90 IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhlciB0byBmb3JtIGx1anZv IHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBiZWNhdXNl IHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVsbCBzdG9w IGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIGNtZXZsYSBj YW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBhIG5hbWUuIE9u IHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5ub3QgYXBwZWFy IGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2VkIGJ5IGNlcnRh aW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNhcGl0 YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNtZXZs YSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9waGUpLCAnJy5t YXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBOYW1lcyB3aGlj aCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRlZDogJycuaXZ5 bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJlbW92ZWQ6ICcn Lml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJpZGktd29yZHPigJ0gYmVj YXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJlZm9yZSBhbG1vc3QgYWxs IExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBicml2bGEuIFRoaXMgaGFz IGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxjb250ZW50LXdvcmRz4oCd LiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwgd2l0aG91dCBi cml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRlIGxvamJhbiBn cmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBsYW5n dWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRhYmxlLCBicml2 bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9vdCB3 b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5IGZl dyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2VwdHMg bGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJlYW3i gJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcnZHVuZGEnJwoK X18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1bmRlciByYWZz aSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25lIG5hcnJvd3Mg ZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxhYm9y YXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkgaXMgbmVhciBp bXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxwYSdpJycsIGZyb20gJydz ZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBoYXZlIG9uZSBkZWZpbml0aW9uLiBJbnN0ZWFkLCBs dWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRlZmluZWQsIGFuZCB0aGVu IHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBkaWN0aW9uYXJ5LiBFeGFt cGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGktd29yZCksICcnY2luamlrY2EnJyAoc2V4dWFsLXNv Y2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNoZWxsLWluc2VjdCA9IGJl ZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJlIG1hZGUgYnkgbWFraW5nIHVwIHdvcmRzIHdoaWNo IGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQgbm90IGZvciBsdWp2byBvciBnaXNt dS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNoIGl0J3MgaGFyZCB0byBjb3ZlciBi eSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBj dWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJp bycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCku CgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHplcm8gY29uc29u YW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3 b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBv Y2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRpbmFscyBleGlzdHMgZm9y IHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJkIGV4YW1wbGUgYXJlIHRo ZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0IGFzIGJyaXZsYS4gSXQgaXMgdmFs aWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGluIGEgcm93IGFzIG9uZSB3b3JkLCBidXQgaW4gdGhl c2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBkb25lLiBCeSBncm91cGluZyBjZXJ0YWluIGNtYXZv IGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwgaXQgaXMgc29tZXRpbWVzIGVhc2llciB0byBy ZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBhcnNl ZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtlIG90 aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAoYnV0IG5lZWQgbm90IGFsd2F5cykgcGxhY2Ug YSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoKY21h dm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBvciBWJ1ZWIGFyZSBleHBlcmltZW50YWwsIGFuZCBh cmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIsIGJ1dCB3aGljaCBo YXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQgdG8gYSBjZXJ0YWluIG5l ZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5vdCBMb2piYW4gd29yZHMsIGFuZCBjYW4gbmV2ZXIg YXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZlcmFsIChtb3JlIHRoYW4gb25lKSByYWZzaSBjb21i aW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1cCB0byB0aGUgYnJpdmxh LWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAnJ2xvamJhbicnIGlzIGludmFsaWQgYmVjYXVzZSBp dCBlbmRzIGluIGEgY29uc29uYW50ICh3aGljaCBtYWtlcyBpdCBhIGNtZXZsYSksIGFuZCAnJ2Np J2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBub3QgY29udGFpbiBhIGNvbnNvbmFu dCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFkIGFzIHR3byBjbWF2byB3cml0dGVuIGFzIG9uZSB3 b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0cmluZyBpcyBib3RoIGEgY21hdm8gYW5kIGEgcmFm c2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhlIHJhZnNpIGZv ciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90aCBhIGNtYXZv IGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90IGNvbnNp ZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlmIHRoZXkg YXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVyIG9m IGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEgcmFmc2ksIGlm IHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2VsICJ5IiBjYW4g b25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIgY29tYmlu YXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0sIC1DVkNDViBhbmQgLUND VkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93IG5vdywgeW91IHNob3VsZCBiZSBhYmxlIHRvIGFu c3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2VudDoKCkNhdGVnb3JpemUgZWFjaCBvZiB0aGUgZm9s bG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyksIGdpc211IChnKSwgbHVqdm8gKGwpLCAnJ2Z1J2l2 bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJsCgpCICkgLmly Y2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCApIHhlbG1hbiAg ICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2UgICAgICAgIEsgKSBkYW5zZWtlCgpGICkgZGppc2t1 ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6YS1jLCBiLWYsIGMtZywg ZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGktYywgai1sLCBrLWYsIGwtZi4gSSBsZWZ0IG91dCB0 aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0IHdvdWxkbid0IGJlIHRv byBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8gbm90 IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50LiBUaGUgbW9y cGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdCdzIGp1c3QgYW4gdW5kZWZpbmVk IGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBMQSkKCklmIHlv dSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNzb25z IHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ugb2Yg TG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2ggb3JkZXIgeW91IGxlYXJu IHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBuZXh0IGxlc3NvbnMgd2ls bCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNpbmcgZGlmZmljdWx0eSBhbmQgc29y dGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZlcnNhdGlvbi4KCgoKT25l IG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMgb24geW91ciBzcGVhayBub3cgaXMgeW91ciBsaW1p dGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFrZSBzdW10aS4gU28gZmFyLCB5b3Ugb25seSBrbm93 ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywgd2hpY2ggZG9lc24ndCB0YWtlIHlvdSBmYXIgY29u c2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxlc3NvbiBh cyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExvamJhbiBzdW10 aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRoZSBv bmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxvamJh biBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlzIGxl c3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUgY29tYmluYXRpb25zICcn bGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01FVkxBJycuIFdlIHdpbGwg YmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMgb2YgZGVzY3JpcHRpdmUgc3Vt dGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qgc28gc2ltcGxl IGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBnYWRyaTogR2VuZXJpYyB2ZXJpZGljYWwg4oCcY29u dmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBp bmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsZScnX18gLSBnYWRyaTogR2VuZXJpYyBkZXNj cmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdp dGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xhJydfXyAtIGdhZHJp OiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2 bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFsKHMpLgoKCgpZb3UgYXJl IGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQgZG9lcy4gQnV0IHdoYXQg ZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3VlIHdpdGggcmVnYXJkIHRv IGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGluZGl2aWR1YWxz IGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNrIHRvIGxhdGVyLiBGb3Igbm93LCDigJx2ZXJpZGlj YWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8g cXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxs eSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBhIGNsYWltIHdoaWNoIG1h eSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFyZSBh Y3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuIAoKCgpUaGlzIG1heSBi ZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRodXMg bm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUgb25l IG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2VsYnJp ICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlkZW50 aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuIFRoaXMgbWVhbnMgdGhhdCAnJ2xlJycgaGF2ZXMg dHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBmcm9tICcnbG8nJzogRmlyc3RseSwgaXQgY2Fubm90 IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyByZWZlcnMgdG8gc3BlY2lm aWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vya3UnJyBkZWZpbml0ZWx5IGlzIG9u ZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdzIG5vdCB2ZXJpZGljYWws IGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3MgdGhlIGRlc2Ny aXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQZXJoYXBz IHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1pbGlh ciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJveGlt YXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlzIHBlcmhhcHMg b3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRlc2Ny aWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBkb2csIGFuZCB1 bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1c3Vh bGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNvICcnbG8gZ2Vy a3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDigJxhIGRvZ+KA nSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n4oCd IG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScnIHdvdWxkIGJl IOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJhc2ljICcnZ2Fk cmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hpY2ggSSBoYXZl IHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJIG1lYW4g YnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBz aW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRv IGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJl IGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25s eSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5 IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhlIGdhZHJpIGRl cml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtlIGFueSBvdGhl ciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBub3QgbWVudGlv biB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhl IGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVz IGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZl IHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMgJydsYWknJyBhbmQgJydsYSdpJycgYXJlIGEgYml0 IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fsd2F5c19fIG1hcmtzIHRoZSBiZWdpbm5pbmcgb2Yg YSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0aGluZyB0aGF0IGNhbiBiZSBncmFt bWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBjb25zaWRl cmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBleGFtcGxlLCAnJ2xlIG1pIGdlcmt1JycgaXMgIm15 IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1JycgaXMgc29tZW9uZSBjYWxsZWQgIk15IERvZyIuCgoK ClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJlZSBt b3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19fIC0g Z2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVz dWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29u dmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoKX18n J2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVy dCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcyku CgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTogVGhl eSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJlIGlzIG9ubHkg b25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNpc3Rp bmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0 aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNjcmliZWQgdG8g YSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2aWR1 YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpIGlmLCBhbmQgb25seSBpZiwg YWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVhY2ggZml0IHRoZSBzZWxicmkuIEl0IGlzIGNvcnJl Y3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcnbG8gZ2Vya3UnJywgY29uc2lkZXJlZCBpbmRpdmlk dWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBmb3IgZWFjaCBvZiB0aGUgZG9ncyBpdCdzIHRydWUg dGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0cyBvbmx5 IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29tcG9uZW50cyBmaXQgYXMgYSB3aG9sZSwgYXMgYSB0 ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwgYWxsIHRoZSBtZW1iZXJzIG9mIGEgbWFzcyAnJ2xv aSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBvcmRlciBmb3IgJydsb2knJyB0byBiZSBhcHBsaWNh YmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMiIGFyZSBzb3BoaXN0aWNhdGVkLCBhbmQgcmVxdWly ZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0cmF0ZSB3aGljaCBwcm9wZXJ0aWVzIGl0IGNhbiBo YXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEgZmxhbmtzL2VuY2lyY2xlcy9lbmNsb3NlcyB4MiBp biBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPigJ0KCicnbGVpIHByZW51IGN1IHNydXJpIGxvIHpk YW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJvdW5kZWQgdGhlIGhvbWUu4oCdIGlzIHBsYXVzaWJs ZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9rZXMgbm90IGNvbnNpZGVyZWQsIGl0J3MgY29tcGxl dGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNvdWxkIGJlIHRydWUgZm9yIGFueSBvbmUgb2YgdGhl IG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2ggYW5hbG9neSBjb3VsZCBiZTog4oCcSHVtYW5zIGRl ZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRoIGNlbnR1cnnigJ0uIFN1cmVseSBubyBodW1hbiBk aWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1hbnMgZGlkLCBhbmQgdGhhdCBtYWtlcyB0aGUgc2Vu dGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3ZWxsIGFzIGluIExvamJhbiBpZiDigJxodW1hbnPi gJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRoZSBMb2piYW4gbWFzcywgdGhlIEVuZ2xpc2ggbWFz cyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVmZXIgdG8gaW5kaXZpZHVhbHMgZWFjaCBvZiB3aGlj aCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBsZToKCl9fJydtaXZ5c2xlJydfXzogIngxIGlzIGEg YmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNtIHgyIgoKX18nJ3JlbW5hJydfXzogIngxIGlzIGEg aHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJlbW5hJycgLSAiU29tZSBtYXNzZXMgb2YgY2VsbHMg YXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2YgdGhlIGNlbGxzIGFyZSBodW1hbi4gSW5kZWVkLCB0 aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1hbiB0cmFpdHMsIGJ1dCB0aGUgY2VsbHMgY29uc2lk ZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEgaHVtYW4uCgoKCkEgbWFzcyBtYWRlIHdpdGggJyds ZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScnLCByZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBieSBh IGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVha2Vy IHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBieSAn J2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdob2xlIGlzIG5h bWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBjYW4s IGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0aW9u IG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0ICcnbG8n JyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIGJvdGggaW5kaXZpZHVhbHMgYW5k IG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBvZiBkb2dzLCBjb25zaWRlcmVkIGFzIGEgbWFzcyBu ZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBkZXNjcmliZSBpdCBhcyBlaXRoZXIgJydsb2kgZ2Vy a3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkgdXNlICcnbG8nJywgdGhpcyBhbGxvd3MgbWUgdG8g Y29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3aGljaCBsb29rcyBsaWtlIGEgY29udHJhZGljdGlv biwgYnV0IHJlYWxseSBpc24ndDogJydsbyBnZXJrdSBuYSBnZXJrdScnIC0gIlNvbWUgZG9ncyBh cmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJlaW5nIGNvbnNpZGVyZWQgYSBtYXNzIG9mIGRvZ3Ms IHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBhcyBhIHdob2xlIGlzIG5vdCBhIGRvZywgYnV0IHJh dGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0aGVyZSBp cyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGluZGl2aWR1 YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNzLCBvbmUg bmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRpZmllci4g VGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVyLCBpbiBs ZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFuZCAnJ2xl JycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNlIHRo ZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4dCwgd2l0 aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBiZWhhdmVz IGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlzIHNl cmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18nJ2xvJ2kn J19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJl YXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xlJ2knJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKA nGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycn bGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVy dCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgoK ClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVhbHMgb3IsIHNvbWV0aW1lcywgbWFzc2VzLCBzZXRz IGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20gdGhlIG9iamVjdHMgZnJv bSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4gQSBzZXQgaXMgYSBwdXJlbHkgbWF0aGVtYXRpY2Fs IG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQgaGFzIHByb3BlcnRpZXMgbGlrZSBjYXJkaW5hbGl0 eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1c2lvbi4gQWdhaW4sIG5vdGUgdGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3MsIGFuZCB0aGUgdGhpbmdzIG9mIHdoaWNoIHRoZSBz ZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1JydfXyDigJx4MSBpcyBhIHRpZ2VyL2xlb3BhcmQvamFn dWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0aCBjb2F0IG1hcmtpbmdzIHgz4oCdCgonJ2xvJ2kg dGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUg c21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVh ZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUg YXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5l cmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xvJ2UnJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxj b252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBhcmNoZXR5cGUg b2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xlJ2UnJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKA nGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGRlc2NyaWJl ZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcnbGUge3NlbGJyaX0nJy4KCk9mIHdoaWNoIHRoZXJl IGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoKCgpTbywgd2hhdCBpcyBhY3R1YWxseSBtZWFudCBi eSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydlIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFn aW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhl bXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5j bHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3Jv dXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJp cGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRoZSB0eXBp Y2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBvZiBodW1h bnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEgdHJhaXQs IGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2tha25l JydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJjdW1zdGFu Y2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZsYScnIC0g4oCcVGhlIHR5 cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr4oCdLgoKCgonJ2xlJ2UnJyB0aGVuLCBpcyB0aGUg aWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBvciBkZXNjcmliZWQgYnkgdGhlIHNwZWFrZXIuIFRo aXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNvcnJlY3QsIGFuZCBpcyBvZnRlbiB0cmFuc2xhdGVk IGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBldmVuIHRob3VnaCB0aGUgRW5nbGlzaCBwaHJhc2Ug aGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRpdmUgY29ubm90YXRpb25zLCB3aGljaCB0aGUgTG9q YmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVyeW9uZSBoYXMgYSBzdGVyZW90eXBpY2FsIGFyY2hl dHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVnb3J5LiBJbiBvdGhlciB3b3JkcywgJydsbydlIHJl bW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xvIHJl bW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZSdlIHJlbW5hJycgYmVzdCBleGVtcGxpZmll cyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUgZWxldmVuIGdhZHJpIGNhbiBiZSBzZWVuIGluIHRo ZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVyaWN8TWFzc2VzfFNldHN8R2VuZXJhbGl6aW5nCgp2 ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoKRGVzY3JpcHRpdmV8bGV8bGVpfGxlJ2l8bGUnZQoK TmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6IEVhcmxpZXIsIHRoZXJl IHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBnZW5lcmljIGdhZHJpLiBIb3dldmVyLCB0aGUg cnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRyaSB3ZXJlIGNoYW5nZWQgaW4gbGF0ZSAyMDA0 LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVzIG9uIHRoaXMgdG9waWMsIG5pY2tlZCDigJx4 b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5vdywgJydsbycnIGlzIGdlbmVyaWMs IGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNhbCBkaWdpdCAobGVzc29uIG5pbmV0 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 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2luZXVyb3RpYyBtYWlsaW5nIGxpc3QK V2lraW5ldXJvdGljQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3dpa2luZXVyb3RpYwo=