Received: from localhost ([::1]:50032 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UiVfw-0004CS-3l; Fri, 31 May 2013 13:11:49 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:48468 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UiVfe-0004AK-Vw for wikineurotic@lojban.org; Fri, 31 May 2013 13:11:45 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 31 May 2013 13:11:30 -0700 From: "Apache" Date: Fri, 31 May 2013 13:11:30 -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 daeldir at 22:10 CEST Comment: Added links to wikipedia sounds 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 daeldir 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 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZGFlbGRpciBhdCAy MjoxMCBDRVNUCkNvbW1lbnQ6IEFkZGVkIGxpbmtzIHRvIHdpa2lwZWRpYSBzb3VuZHMKCllvdSBj YW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9q YmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJh Y2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6 Ly93d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxlc3Nv bnNjb250aW51ZWQmY29tcGFyZT0xJm9sZHZlcj03NSZuZXd2ZXI9NzYKCgoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdl cyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3Vy cmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDE1LTI3IGNoYW5nZWQgdG8g K0xpbmVzOiAxNS0zMCBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKwohISFQcmVmYWNlLiBTb3VuZHMKVGhlIGZpcnN0IHRoaW5nIHlv dSBuZWVkIHRvIGRvIHdoZW4geW91IGxlYXJuIGEgZm9yZWlnbiBsYW5ndWFnZSBpcyB0byBiZWNv bWUgZmFtaWxpYXIgd2l0aCB0aGUgc291bmRzIG9mIHRoZSBsYW5ndWFnZSBhbmQgaG93IHRoZXkg YXJlIHdyaXR0ZW4sIGFuZCB0aGUgc2FtZSBnb2VzIGZvciBMb2piYW4uIEZvcnR1bmF0ZWx5LCBM b2piYW4gc291bmRzIChfX3Bob25lbWVzX18pIGFyZSBmYWlybHkgc3RyYWlnaHRmb3J3YXJkLgor IAorIEZvciBtb3JlIGRldGFpbHMgb24gdm93ZWxzIGFuZCBjb25zb25hbnRzIHNvdW5kcyB1c2Vk IGluIGxvamJhbiwgeW91IGNhbiBjbGljayBvbiB0aGUgbGV0dGVycyBkZXNjcmliZWQuIFRoZXkg YXJlIHBvaW50aW5nIHRvIHdpa2lwZWRpYSBhcnRpY2xlcyB3aGljaCBkZXNjcmliZSB0aGUgc291 bmQgJydhbmQgdXN1YWxseSBoYXZlIGFuIGF1ZGlvIHJlY29yZCBvZiBpdCcnLgorIAohISEhVm93 ZWxzClRoZXJlIGFyZSBzaXggdm93ZWxzIGluIExvamJhbi4KCi0gfHwnJ2EnJyB8YXMgaW4gJnF1 b3Q7Zl9fYV9fdGhlciZxdW90OyAobm90IGFzIGluICZxdW90O2hfX2FfX3QmcXVvdDspPGJyIC8+ JydlJycgfGFzIGluICZxdW90O2dfX2VfX3QmcXVvdDs8YnIgLz4nJ2knJyB8YXMgaW4gJnF1b3Q7 bWFjaF9faV9fbmUmcXVvdDsgb3IgKEl0YWxpYW4pICZxdW90O3ZfX2lfX25vJnF1b3Q7IChub3Qg YXMgaW4gJnF1b3Q7aF9faV9fdCZxdW90Oyk8YnIgLz4nJ28nJyB8YXMgaW4gJnF1b3Q7Yl9fb19f bGQmcXVvdDsgb3IgJnF1b3Q7bV9fb19fcmUmcXVvdDsgIG5vdCBhcyBpbiAmcXVvdDtzX19vX18m cXVvdDsgKHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUnIHNvdW5kLik8YnIgLz4nJ3UnJyB8YXMgaW4g JnF1b3Q7Y19fb29fX2wmcXVvdDsgKG5vdCBhcyBpbiAmcXVvdDtiX191X190JnF1b3Q7KSB8fDxi ciAvPlRoZXNlIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyB2b3dlbHMgaW4gSXRhbGlhbiBv ciBTcGFuaXNoLiBUaGUgc2l4dGggdm93ZWwsICcneScnLCBpcyBjYWxsZWQgYSBfX3NjaHdhX18g aW4gdGhlIGxhbmd1YWdlIHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBmaXJzdCBh bmQgbGFzdCAmcXVvdDtBJnF1b3Q7J3MgaW4gJnF1b3Q7QW1lcmljYSZxdW90OyAodGhhdCdzIEVu Z2xpc2ggJnF1b3Q7QW1lcmljYSZxdW90Oywgbm90IFNwYW5pc2guKSBJdCdzIHRoZSBzb3VuZCB0 aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBtb3V0aCBpcyBjb21wbGV0ZWx5IHJlbGF4ZWQuCisgfHwn J1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL09wZW5fZnJvbnRfdW5yb3VuZGVkX3Zvd2Vs fGFdJycgfGFzIGluICZxdW90O2ZfX2FfX3RoZXImcXVvdDsgKG5vdCBhcyBpbiAmcXVvdDtoX19h X190JnF1b3Q7KTxiciAvPicnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2UtbWlk X2Zyb250X3Vucm91bmRlZF92b3dlbHxlXScnIHxhcyBpbiAmcXVvdDtnX19lX190JnF1b3Q7PGJy IC8+JydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbG9zZV9mcm9udF91bnJvdW5kZWRf dm93ZWx8aV0nJyB8YXMgaW4gJnF1b3Q7bWFjaF9faV9fbmUmcXVvdDsgb3IgKEl0YWxpYW4pICZx dW90O3ZfX2lfX25vJnF1b3Q7IChub3QgYXMgaW4gJnF1b3Q7aF9faV9fdCZxdW90Oyk8YnIgLz4n J1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlLW1pZF9iYWNrX3JvdW5kZWRfdm93 ZWx8b10nJyB8YXMgaW4gJnF1b3Q7Yl9fb19fbGQmcXVvdDsgb3IgJnF1b3Q7bV9fb19fcmUmcXVv dDsgIG5vdCBhcyBpbiAmcXVvdDtzX19vX18mcXVvdDsgKHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUn IHNvdW5kLik8YnIgLz4nJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlX2JhY2tf cm91bmRlZF92b3dlbHx1XScnIHxhcyBpbiAmcXVvdDtjX19vb19fbCZxdW90OyAobm90IGFzIGlu ICZxdW90O2JfX3VfX3QmcXVvdDspIHx8PGJyIC8+VGhlc2UgYXJlIHByZXR0eSBtdWNoIHRoZSBz YW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9yIFNwYW5pc2guIFRoZSBzaXh0aCB2b3dlbCwgJydb aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TY2h3YXx5XScnLCBpcyBjYWxsZWQgYSBfX3Nj aHdhX18gaW4gdGhlIGxhbmd1YWdlIHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBm aXJzdCBhbmQgbGFzdCAmcXVvdDtBJnF1b3Q7J3MgaW4gJnF1b3Q7QW1lcmljYSZxdW90OyAodGhh dCdzIEVuZ2xpc2ggJnF1b3Q7QW1lcmljYSZxdW90Oywgbm90IFNwYW5pc2guKSBJdCdzIHRoZSBz b3VuZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBtb3V0aCBpcyBjb21wbGV0ZWx5IHJlbGF4ZWQu ClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5jZWQgYXMgb25lIHNvdW5kIChfX2RpcGh0 aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA0MS01MyBjaGFuZ2Vk IHRvICtMaW5lczogNDQtNjAgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSsKTW9zdCBMb2piYW4gY29uc29uYW50cyBhcmUgdGhlIHNh bWUgYXMgRW5nbGlzaCwgYnV0IHRoZXJlIGFyZSBzb21lIGV4Y2VwdGlvbnM6CgotIHx8ZyB8YWx3 YXlzICcnZycnIGFzIGluICcnX19nX191bScnLCBuZXZlciAnJ2cnJyBhcyBpbiAnJ19fZ19fZW0n JzxiciAvPmMgfCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcnPGJyIC8+aiB8YXMgaW4gJydtZWFf X3NfX3VyZScnIG9yIEZyZW5jaCAnJ2Jvbl9fal9fb3VyJyc8YnIgLz54IHxhcyBpbiBHZXJtYW4g JydCYV9fY2gnJ19fLCBTcGFuaXNoICcnX19KX19vc2UnJyBvciBBcmFiaWMgJydfX0toX19hbGVk JycgfHwKKyB8fFtodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF92ZWxhcl9wbG9z aXZlfGddIHxhbHdheXMgJydnJycgYXMgaW4gJydfX2dfX3VtJycsIG5ldmVyICcnZycnIGFzIGlu ICcnX19nX19lbScnPGJyIC8+W2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVz c19wYWxhdG8tYWx2ZW9sYXJfc2liaWxhbnR8Y10gfCcnc2gnJywgYXMgaW4gJydfX3NoX19pcCcn PGJyIC8+W2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX3BhbGF0by1hbHZlb2xh cl9zaWJpbGFudHxqXSB8YXMgaW4gJydtZWFfX3NfX3VyZScnIG9yIEZyZW5jaCAnJ2Jvbl9fal9f b3VyJyc8YnIgLz5baHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX3ZlbGFy X2ZyaWNhdGl2ZXx4XSB8YXMgaW4gR2VybWFuICcnQmFfX2NoJydfXywgU3BhbmlzaCAnJ19fSl9f b3NlJycgb3IgQXJhYmljICcnX19LaF9fYWxlZCcnIHx8ClRoZSBFbmdsaXNoIHNvdW5kcyAnJ2No JycgYW5kICcnaicnIGFyZSB3cml0dGVuIGFzIHRjIGFuZCBkai4KTG9qYmFuIGRvZXNuJ3QgdXNl IHRoZSBsZXR0ZXJzICcnSCcnLCAnJ1EnJyBvciAnJ1cnJy4KKyAKKyBGb3IgY29tcHJlaGVuc2l2 ZW5lc3Mgc2FrZSwgaGVyZSBpcyBhIGxpc3Qgb2YgdGhlIHJlbWFpbmluZyAoYW5kIGxlc3MgdHJp Y2t5KSBsb2piYW4gY29uc29uYW50czoKKyAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L1ZvaWNlZF9iaWxhYmlhbF9wbG9zaXZlfGJdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3Jn L3dpa2kvVm9pY2VkX2FsdmVvbGFyX3Bsb3NpdmV8ZF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9Wb2ljZWxlc3NfbGFiaW9kZW50YWxfZnJpY2F0aXZlfGZdJycsICcnW2h0dHA6 Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX3ZlbGFyX3Bsb3NpdmV8a10nJywgJydb aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BbHZlb2xhcl9sYXRlcmFsX2FwcHJveGltYW50 fGxdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmlsYWJpYWxfbmFzYWx8bV0n JywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BbHZlb2xhcl9uYXNhbHxuXScnLCAn J1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19iaWxhYmlhbF9wbG9zaXZl fHBdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQWx2ZW9sYXJfdGFwfHJdJycs ICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX2FsdmVvbGFyX3NpYmls YW50I1ZvaWNlbGVzc19hbHZlb2xhcl9zaWJpbGFudHxzXScnLCAnJ1todHRwczovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfYWx2ZW9sYXJfcGxvc2l2ZXx0XScnLCAnJ1todHRwczov L2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfbGFiaW9kZW50YWxfZnJpY2F0aXZlfHZdJycs ICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2FsdmVvbGFyX3NpYmlsYW50 I1ZvaWNlZF9hbHZlb2xhcl9zaWJpbGFudHx6XScnCisgCiEhISFTcGVjaWFsIENoYXJhY3RlcnMK TG9qYmFuIGRvZXMgbm90IHJlcXVpcmUgYW55IHB1bmN0dWF0aW9uLCBidXQgc29tZSBzcGVjaWFs IGNoYXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQgaW4gcHVuY3R1YXRpb24gaW4gb3RoZXIgbGFuZ3Vh Z2VzKSBhZmZlY3QgdGhlIHdheSBMb2piYW4gaXMgcHJvbm91bmNlZC4KLSBUaGUgb25seSBvbmUg b2YgdGhlc2UgY2hhcmFjdGVycyB3aGljaCBpcyBvYmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUg YXBvc3Ryb3BoZTsgaW4gZmFjdCB0aGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3Bl ciBsZXR0ZXIgb2YgTG9qYmFuLiBBbiBhcG9zdHJvcGhlIHNlcGFyYXRlcyB0d28gdm93ZWxzLCBw cmV2ZW50aW5nIHRoZW0gZnJvbSBiZWluZyBwcm9ub3VuY2VkIHRvZ2V0aGVyIChhcyBhIF9fZGlw aHRob25nX18pOyBpdCBpcyBpdHNlbGYgcHJvbm91bmNlZCBsaWtlIGFuICZxdW90O2gmcXVvdDsu IEZvciBleGFtcGxlLCAnJ3VpJycgaXMgbm9ybWFsbHkgcHJvbm91bmNlZCAmcXVvdDt3ZSZxdW90 OywgYnV0ICcndSdpJycgaXMgJnF1b3Q7b29oZWUmcXVvdDsnLgorIFRoZSBvbmx5IG9uZSBvZiB0 aGVzZSBjaGFyYWN0ZXJzIHdoaWNoIGlzIG9ibGlnYXRvcnkgaW4gTG9qYmFuIGlzIHRoZSBbaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfZ2xvdHRhbF9mcmljYXRpdmV8YXBv c3Ryb3BoZV07IGluIGZhY3QgdGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIg bGV0dGVyIG9mIExvamJhbi4gQW4gYXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZvd2VscywgcHJl dmVudGluZyB0aGVtIGZyb20gYmVpbmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMgYSBfX2RpcGh0 aG9uZ19fKTsgaXQgaXMgaXRzZWxmIHByb25vdW5jZWQgbGlrZSBhbiAmcXVvdDtoJnF1b3Q7LiBG b3IgZXhhbXBsZSwgJyd1aScnIGlzIG5vcm1hbGx5IHByb25vdW5jZWQgJnF1b3Q7d2UmcXVvdDss IGJ1dCAnJ3UnaScnIGlzICZxdW90O29vaGVlJnF1b3Q7Jy4KQSBmdWxsIHN0b3AgKHBlcmlvZCkg aXMgYSBzaG9ydCBwYXVzZSB0byBzdG9wIHdvcmRzIHJ1bm5pbmcgaW50byBlYWNoIG90aGVyLiBU aGUgcnVsZXMgb2YgTG9qYmFuIG1ha2UgaXQgZWFzaWVyIGZvciBvbmUgd29yZCB0byBydW4gaW50 byBhbm90aGVyIHdoZW4gdGhlIHNlY29uZCB3b3JkIGJlZ2lucyB3aXRoIGEgdm93ZWw7IHNvIGFu eSB3b3JkIHN0YXJ0aW5nIHdpdGggYSB2b3dlbCBjb252ZW50aW9uYWxseSBoYXMgYSBmdWxsIHN0 b3AgcGxhY2VkIGluIGZyb250IG9mIGl0LgpDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBidXQg Y2FuIGJlIHVzZWQgdG8gc3RvcCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4geW91 IGRvbid0IHdhbnQgdG8gdXNlIGFuIGFwb3N0cm9waGUgKHdoaWNoIHdvdWxkIHB1dCBhICcnaCcn IGJldHdlZW4gdGhlbSkuIE5vIExvamJhbiB3b3JkcyBoYXZlIGNvbW1hcywgYnV0IHRoZXkncmUg c29tZXRpbWVzIHVzZWQgaW4gd3JpdGluZyBub24tTG9qYmFuIG5hbWVzLCBmb3IgZXhhbXBsZSAn Jy5waSxFUi4nJyAoIlBpZXJyZSIpLCBhcyBvcHBvc2VkIHRvICcnLnBpZXIuJycgKCJQLXllcnIi KSwgJycucGkuRVIuJycgKCJQZWU7IEVociIpLCBvciAnJy5waSdFUi4nJyAoIlBpaGVyciIpLgoK CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiFMb2piYW4gV2F2 ZSBMZXNzb25zIENvbnRpbnVlZDoKCiEhIU1hZGUgYnkgbGEga2xha3Ugd2l0aCBoZWxwIGZyb20g dmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBsYSAua3JpYmFjci4gU3By aW5nIDIwMTMuCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB6ZXJvOiBGb3Jld29yZAoK VGhlc2UgbGVzc29ucyBhcmUgYW4gYXR0ZW1wdCB0byBleHBhbmQgb24gdGhlIEdvb2dsZSBXYXZl IExlc3NvbnMsIGFuIGV4Y2VsbGVudCBMb2piYW4gdHV0b3JpYWwgYnkga3JpYmFjciwgeGFsYm8s IGFuZCBvdGhlcnMsIHdoaWNoIHNhZGx5IG9ubHkgY292ZXJlZCB0aGUgZmlyc3QgZm91ciBjaGFw dGVycyBpbiB0aGlzIHR1dG9yaWFsLiBJdCBpbXBsZW1lbnRzIHRoZSBuZXdlc3QgcnVsZXMgb2Yg TG9qYmFuIG5vdCBjb3ZlcmVkIGJ5IG9sZGVyIG1hdGVyaWFscyBzdWNoIGFzIFdoYXQgaXMgTG9q YmFuPyBhbmQgTG9qYmFuIGZvciBCZWdpbm5lcnMuCgoKCklmIHlvdSBhcmUgbmV3IHRvIExvamJh biwgSSByZWNvbW1lbmQgbGlzdGVuaW5nIHRvIGFueSByZWNvcmRpbmdzIHlvdSBjYW4gZmluZCBv ZiBzcG9rZW4gTG9qYmFuIGJvdGggYmVmb3JlIGFuZCB3aGlsZSB5b3UgYXJlIHRha2luZyB0aGlz IHR1dG9yaWFsLCBpbiBvcmRlciB0byBtYWtlIHlvdXJzZWxmIGZhbWlsaWFyIHdpdGggdGhlIHNv dW5kcyBhbmQgd29yZHMgb2YgdGhlIGxhbmd1YWdlfnRjfiwgd2hpY2ggd2lsbCBub3QgYmUgZXhw bGFpbmVkIGhlcmV+L3Rjfi4gRnVydGhlcm1vcmUsIHRyeSB0byBzYXkgdGhlIHRoaW5ncyB5b3Ug cmVhZCBpbiBMb2piYW4gYWNjZW50IGlmIGl0J3MgcmVhc29uYWJseSBwcmFjdGljYWwuIFRoaXMg Y2FuIGhlbHAgeW91ciBwcm9udW5jaWF0aW9uIGEgbG90LgoKCgpXaGVuIHRha2luZyB0aGlzIHR1 dG9yaWFsLCBpdCdzIGJlc3QgdG8gcGF1c2UgYmV0d2VlbiBsZXNzb25zIGluIG9yZGVyIHRvIGlu dGVybmFsaXplIHdoYXQgeW91IGhhdmUgbGVhcm50LiBJIGhhdmUgYXR0ZW1wdGVkIHRvIGJ1aWxk IHRoZXNlIGxlc3NvbnMgZnJvbSB0aGUgYm90dG9tIHVwIGFuZCBleGNsdWRlIGFueSB3b3JkcyBv ciBjb25jZXB0cyB0aGF0IGhhdmUgbm90IGJlZW4gZXhwbGFpbmVkIGluIHByZXZpb3VzIGxlc3Nv bnMuIE9uY2UgZXhwbGFpbmVkLCB0aGV5IGFyZSB1c2VkIGZyZWVseSB0aHJvdWdob3V0IHRoZSBy ZW1haW5kZXIgb2YgdGhlIHR1dG9yaWFsLiBJIHVyZ2UgcmVhZGVycyBub3QgdG8gcGFzcyBhbnkg bWlzdW5kZXJzdG9vZCBjb250ZW50OyBpZiB5b3UgaGF2ZSBxdWVzdGlvbnMgb3IgYXJlIHVuY2Vy dGFpbiBhYm91dCBzb21ldGhpbmcsIGZlZWwgZnJlZSB0byBhc2sgdGhlIExvamJhbiBjb21tdW5p dHksIHdoaWNoIGNhbiBiZSBmb3VuZCBpbiAjbG9qYmFuIG9uIHRoZSBGcmVlbm9kZSBJUkMgbmV0 d29yay4gVGhleSB3aWxsIGJlIGhhcHB5IHRvIGhlbHAuCgoKCkluIHRoaXMgdHV0b3JpYWwsIExv amJhbiB0ZXh0IGlzIHdyaXR0ZW4gaW4gJydpdGFsaWNzJycuIExhdGVyLCB3aGVuIHVzZWQgYXMg TG9qYmFuIGxvYW53b3JkcyBpbiBFbmdsaXNoIHNlbnRlbmNlcywgdGhleSBhcmUgbm90IG1hcmtl ZC4gQW5zd2VycyB0byBleGVyY2lzZXMgYXJlIGRpc3BsYXllZCBhcyBhIGdyZXkgYmFyLiBIaWdo bGlnaHQgdGhlIHRleHQgaW4gb3JkZXIgdG8gc2VlIGl0LgoKCgpMYXN0bHksIEkgaGF2ZSBhcyBm YXIgYXMgcG9zc2libGUgYXR0ZW1wdGVkIHRvIHVzZSB0aGUgTG9qYmFuIHdvcmRzIGZvciBncmFt bWF0aWNhbCBjb25zdHJ1Y3RzOiAnJ3N1bWthJ2knJyBpbnN0ZWFkIG9mIHByby1zdW10aSwgJydz dW10Y2l0YScnIGluc3RlYWQgb2YgbW9kYWwgYW5kICcnanVmcmEnJyBpbnN0ZWFkIG9mIHV0dGVy YW5jZS4gVGhpcyBpcyBiZWNhdXNlIEkgZmVlbCB0aGUgRW5nbGlzaCB3b3JkcyBhcmUgb2Z0ZW4g ZWl0aGVyIGFyYml0cmFyeSwgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSBqdXN0IG1vcmUgd29yZHMg dG8gbGVhcm4sIG9yIG1pc2xlYWRpbmcsIGluIHdoaWNoIGNhc2UgdGhleSBhcmUgd29yc2UgdGhh biB1c2VsZXNzLiBJbiBlaXRoZXIgY2FzZSwgYXMgbG9uZyBhcyB0aGUgd29yZHMgYXJlIHNwZWNp ZmljIHRvIHRob3NlIHdobyBhcmUgbGVhcm5pbmcgTG9qYmFuIGFueXdheSwgdGhlcmUgaXMgbm8g cmVhc29uIGZvciB0aGVtIHRvIGV4aXN0IGFzIHNlcGFyYXRlIEVuZ2xpc2ggd29yZHMuCgoKCiEh IVByZWZhY2UuIFNvdW5kcwoKVGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRvIHdoZW4geW91 IGxlYXJuIGEgZm9yZWlnbiBsYW5ndWFnZSBpcyB0byBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUg c291bmRzIG9mIHRoZSBsYW5ndWFnZSBhbmQgaG93IHRoZXkgYXJlIHdyaXR0ZW4sIGFuZCB0aGUg c2FtZSBnb2VzIGZvciBMb2piYW4uIEZvcnR1bmF0ZWx5LCBMb2piYW4gc291bmRzIChfX3Bob25l bWVzX18pIGFyZSBmYWlybHkgc3RyYWlnaHRmb3J3YXJkLgoKCgpGb3IgbW9yZSBkZXRhaWxzIG9u IHZvd2VscyBhbmQgY29uc29uYW50cyBzb3VuZHMgdXNlZCBpbiBsb2piYW4sIHlvdSBjYW4gY2xp Y2sgb24gdGhlIGxldHRlcnMgZGVzY3JpYmVkLiBUaGV5IGFyZSBwb2ludGluZyB0byB3aWtpcGVk aWEgYXJ0aWNsZXMgd2hpY2ggZGVzY3JpYmUgdGhlIHNvdW5kICcnYW5kIHVzdWFsbHkgaGF2ZSBh biBhdWRpbyByZWNvcmQgb2YgaXQnJy4KCgoKISEhIVZvd2VscwoKVGhlcmUgYXJlIHNpeCB2b3dl bHMgaW4gTG9qYmFuLgoKCgp8fCcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3Blbl9m cm9udF91bnJvdW5kZWRfdm93ZWx8YV0nJyB8YXMgaW4gImZfX2FfX3RoZXIiIChub3QgYXMgaW4g ImhfX2FfX3QiKQoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbG9zZS1taWRfZnJv bnRfdW5yb3VuZGVkX3Zvd2VsfGVdJycgfGFzIGluICJnX19lX190IgoKJydbaHR0cDovL2VuLndp a2lwZWRpYS5vcmcvd2lraS9DbG9zZV9mcm9udF91bnJvdW5kZWRfdm93ZWx8aV0nJyB8YXMgaW4g Im1hY2hfX2lfX25lIiBvciAoSXRhbGlhbikgInZfX2lfX25vIiAobm90IGFzIGluICJoX19pX190 IikKCicnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2UtbWlkX2JhY2tfcm91bmRl ZF92b3dlbHxvXScnIHxhcyBpbiAiYl9fb19fbGQiIG9yICJtX19vX19yZSIg4oCUIG5vdCBhcyBp biAic19fb19fIiAodGhpcyBzaG91bGQgYmUgYSAncHVyZScgc291bmQuKQoKJydbaHR0cDovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9DbG9zZV9iYWNrX3JvdW5kZWRfdm93ZWx8dV0nJyB8YXMgaW4g ImNfX29vX19sIiAobm90IGFzIGluICJiX191X190IikgfHwKClRoZXNlIGFyZSBwcmV0dHkgbXVj aCB0aGUgc2FtZSBhcyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGggdm93 ZWwsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2Nod2F8eV0nJywgaXMgY2FsbGVk IGEgX19zY2h3YV9fIGluIHRoZSBsYW5ndWFnZSB0cmFkZSwgYW5kIGlzIHByb25vdW5jZWQgbGlr ZSB0aGUgZmlyc3QgYW5kIGxhc3QgIkEiJ3MgaW4gIkFtZXJpY2EiICh0aGF0J3MgRW5nbGlzaCAi QW1lcmljYSIsIG5vdCBTcGFuaXNoLikgSXQncyB0aGUgc291bmQgdGhhdCBjb21lcyBvdXQgd2hl biB0aGUgbW91dGggaXMgY29tcGxldGVseSByZWxheGVkLgoKVHdvIHZvd2VscyB0b2dldGhlciBh cmUgcHJvbm91bmNlZCBhcyBvbmUgc291bmQgKF9fZGlwaHRob25nX18pLiBTb21lIGV4YW1wbGVz IGFyZToKCgoKfHwnJ2FpJycgfGFzIGluICJoX19pZ2hfXyIKCicnYXUnJyB8YXMgaW4gImhfX293 X18iCgonJ2VpJycgfGFzIGluICJoX19leV9fIgoKJydvaScnIHxhcyBpbiAiYl9fb3lfXyIKCicn aWEnJyB8bGlrZSBHZXJtYW4gX18iSmFfXyIKCicnaWUnJyB8bGlrZSBfXyJ5ZWFoX18iCgonJ2l1 JycgfGxpa2UgX18ieW91X18iCgonJ3VhJycgfGFzIGluIF9fIndhYWghX18iLCBvciBGcmVuY2gg InFfX3VvaV9fIgoKJyd1ZScnIHxhcyBpbiAicV9fdWVfX3N0aW9uIgoKJyd1bycnIHxhcyBpbiAi cV9fdW9fX3RlIgoKJyd1aScnIHxsaWtlIF9fIndlX18iLCBvciBGcmVuY2ggX18ib3VpX18iIHx8 CgpEb3VibGUgdm93ZWxzIGFyZSByYXJlLiBUaGUgb25seSBleGFtcGxlcyBhcmUgJydpaScnLCB3 aGljaCBpcyBwcm9ub3VuY2VkIGxpa2UgRW5nbGlzaCAieWUiIChhcyBpbiDigJxPaCBjb21lIGFs bCB5ZSBmYWl0aGZ1bOKAnSkgb3IgQ2hpbmVzZSAieWkiLCBhbmQgJyd1dScnLCBwcm9ub3VuY2Vk IGxpa2UgIndvbyIuCgohISEhQ29uc29uYW50cwoKTW9zdCBMb2piYW4gY29uc29uYW50cyBhcmUg dGhlIHNhbWUgYXMgRW5nbGlzaCwgYnV0IHRoZXJlIGFyZSBzb21lIGV4Y2VwdGlvbnM6CgoKCnx8 W2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX3ZlbGFyX3Bsb3NpdmV8Z10gfGFs d2F5cyAnJ2cnJyBhcyBpbiAnJ19fZ19fdW0nJywgbmV2ZXIgJydnJycgYXMgaW4gJydfX2dfX2Vt JycKCltodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfcGFsYXRvLWFsdmVv bGFyX3NpYmlsYW50fGNdIHwnJ3NoJycsIGFzIGluICcnX19zaF9faXAnJwoKW2h0dHA6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX3BhbGF0by1hbHZlb2xhcl9zaWJpbGFudHxqXSB8YXMg aW4gJydtZWFfX3NfX3VyZScnIG9yIEZyZW5jaCAnJ2Jvbl9fal9fb3VyJycKCltodHRwczovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfdmVsYXJfZnJpY2F0aXZlfHhdIHxhcyBpbiBH ZXJtYW4gJydCYV9fY2gnJ19fLCBTcGFuaXNoICcnX19KX19vc2UnJyBvciBBcmFiaWMgJydfX0to X19hbGVkJycgfHwKClRoZSBFbmdsaXNoIHNvdW5kcyAnJ2NoJycgYW5kICcnaicnIGFyZSB3cml0 dGVuIGFzIHRjIGFuZCBkai4KCkxvamJhbiBkb2Vzbid0IHVzZSB0aGUgbGV0dGVycyAnJ0gnJywg JydRJycgb3IgJydXJycuCgoKCkZvciBjb21wcmVoZW5zaXZlbmVzcyBzYWtlLCBoZXJlIGlzIGEg bGlzdCBvZiB0aGUgcmVtYWluaW5nIChhbmQgbGVzcyB0cmlja3kpIGxvamJhbiBjb25zb25hbnRz OgoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfYmlsYWJpYWxfcGxvc2l2 ZXxiXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9hbHZlb2xhcl9w bG9zaXZlfGRdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX2xh YmlvZGVudGFsX2ZyaWNhdGl2ZXxmXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L1ZvaWNlbGVzc192ZWxhcl9wbG9zaXZlfGtdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3Jn L3dpa2kvQWx2ZW9sYXJfbGF0ZXJhbF9hcHByb3hpbWFudHxsXScnLCAnJ1todHRwOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL0JpbGFiaWFsX25hc2FsfG1dJycsICcnW2h0dHA6Ly9lbi53aWtpcGVk aWEub3JnL3dpa2kvQWx2ZW9sYXJfbmFzYWx8bl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5v cmcvd2lraS9Wb2ljZWxlc3NfYmlsYWJpYWxfcGxvc2l2ZXxwXScnLCAnJ1todHRwOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL0FsdmVvbGFyX3RhcHxyXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlh Lm9yZy93aWtpL1ZvaWNlbGVzc19hbHZlb2xhcl9zaWJpbGFudCNWb2ljZWxlc3NfYWx2ZW9sYXJf c2liaWxhbnR8c10nJywgJydbaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNz X2FsdmVvbGFyX3Bsb3NpdmV8dF0nJywgJydbaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kv Vm9pY2VkX2xhYmlvZGVudGFsX2ZyaWNhdGl2ZXx2XScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlh Lm9yZy93aWtpL1ZvaWNlZF9hbHZlb2xhcl9zaWJpbGFudCNWb2ljZWRfYWx2ZW9sYXJfc2liaWxh bnR8el0nJwoKCgohISEhU3BlY2lhbCBDaGFyYWN0ZXJzCgpMb2piYW4gZG9lcyBub3QgcmVxdWly ZSBhbnkgcHVuY3R1YXRpb24sIGJ1dCBzb21lIHNwZWNpYWwgY2hhcmFjdGVycyAobm9ybWFsbHkg dXNlZCBpbiBwdW5jdHVhdGlvbiBpbiBvdGhlciBsYW5ndWFnZXMpIGFmZmVjdCB0aGUgd2F5IExv amJhbiBpcyBwcm9ub3VuY2VkLgoKVGhlIG9ubHkgb25lIG9mIHRoZXNlIGNoYXJhY3RlcnMgd2hp Y2ggaXMgb2JsaWdhdG9yeSBpbiBMb2piYW4gaXMgdGhlIFtodHRwOi8vZW4ud2lraXBlZGlhLm9y Zy93aWtpL1ZvaWNlbGVzc19nbG90dGFsX2ZyaWNhdGl2ZXxhcG9zdHJvcGhlXTsgaW4gZmFjdCB0 aGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgb2YgTG9qYmFuLiBB biBhcG9zdHJvcGhlIHNlcGFyYXRlcyB0d28gdm93ZWxzLCBwcmV2ZW50aW5nIHRoZW0gZnJvbSBi ZWluZyBwcm9ub3VuY2VkIHRvZ2V0aGVyIChhcyBhIF9fZGlwaHRob25nX18pOyBpdCBpcyBpdHNl bGYgcHJvbm91bmNlZCBsaWtlIGFuICJoIi4gRm9yIGV4YW1wbGUsICcndWknJyBpcyBub3JtYWxs eSBwcm9ub3VuY2VkICJ3ZSIsIGJ1dCAnJ3UnaScnIGlzICJvb2hlZSInLgoKQSBmdWxsIHN0b3Ag KHBlcmlvZCkgaXMgYSBzaG9ydCBwYXVzZSB0byBzdG9wIHdvcmRzIHJ1bm5pbmcgaW50byBlYWNo IG90aGVyLiBUaGUgcnVsZXMgb2YgTG9qYmFuIG1ha2UgaXQgZWFzaWVyIGZvciBvbmUgd29yZCB0 byBydW4gaW50byBhbm90aGVyIHdoZW4gdGhlIHNlY29uZCB3b3JkIGJlZ2lucyB3aXRoIGEgdm93 ZWw7IHNvIGFueSB3b3JkIHN0YXJ0aW5nIHdpdGggYSB2b3dlbCBjb252ZW50aW9uYWxseSBoYXMg YSBmdWxsIHN0b3AgcGxhY2VkIGluIGZyb250IG9mIGl0LgoKQ29tbWFzIGFyZSByYXJlIGluIExv amJhbiwgYnV0IGNhbiBiZSB1c2VkIHRvIHN0b3AgdHdvIHZvd2VscyBibHVycmluZyB0b2dldGhl ciB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHVzZSBhbiBhcG9zdHJvcGhlICh3aGljaCB3b3VsZCBw dXQgYSAnJ2gnJyBiZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4gd29yZHMgaGF2ZSBjb21tYXMsIGJ1 dCB0aGV5J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJhbiBuYW1lcywgZm9y IGV4YW1wbGUgJycucGksRVIuJycgKCJQaWVycmUiKSwgYXMgb3Bwb3NlZCB0byAnJy5waWVyLicn ICgiUC15ZXJyIiksICcnLnBpLkVSLicnICgiUGVlOyBFaHIiKSwgb3IgJycucGknRVIuJycgKCJQ aWhlcnIiKS4KCkNhcGl0YWwgbGV0dGVycyBhcmUgbm90IG5vcm1hbGx5IHVzZWQgaW4gTG9qYmFu LiBXZSB1c2UgdGhlbSBpbiBub24tTG9qYmFuIHdvcmRzIChsaWtlICJQaWVycmUiKSB3aGVuIHRo ZSBzdHJlc3Mgb2YgYSB3b3JkIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBMb2piYW4gbm9ybS4gVGhl IG5vcm0gaXMgdG8gcHV0IHRoZSBzdHJlc3Mgb24gdGhlIGxhc3QtYnV0LW9uZSBzeWxsYWJsZTsg c28sIGZvciBleGFtcGxlLCAnJ2t1am1pa2NlJycgIm51cnNlIiBpcyAnJ2t1al9fTUlLX19jZScn LCBub3QgJydfX0tVSl9fbWlrY2UnJy4gVGhlIG5hbWUgIkp1bGlldHRlIiB3b3VsZCBiZSB3cml0 dGVuICcnLkRKVWxpLGV0LicnIGlmIHByb25vdW5jZWQgaW4gYW4gRW5nbGlzaCB3YXksIGJ1dCAn Jy5qdUxJRVQuJycgaWYgcHJvbm91bmNlZCBhcyBpbiBGcmVuY2guCgohISEhQWxwaGFiZXQKCklu IG1vc3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBoYWJldCBvZiB0aGUgbGFu Z3VhZ2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0ZXJzICgnJ2xlcmZ1JycpIHR1cm4g b3V0IHRvIGJlIGV2ZW4gbW9yZSBpbXBvcnRhbnQgdGhhbiB1c3VhbCBpbiBMb2piYW4sIHNvIHdl IG1pZ2h0IGFzIHdlbGwgZ28gdGhyb3VnaCB0aGVpciBuYW1lcyBxdWlja2x5LgoKQ29uc29uYW50 cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMg dGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwg ImIsIGMsIGQsIGYsIGcgLi4uIiwgYXJlIGNhbGxlZCAnJ2J5LiwgY3kuLCBkeS4sIGZ5LiwgZ3ku JycgLi4uIGluIExvamJhbiAodXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2Ny aWJlZC4pCgpWb3dlbHMgX193b3VsZF9fIGJlIGNhbGxlZCAnJy5heSwgLmV5LCAuaXknJywgYnV0 IHRoYXQgd291bGQgYmUgcmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRo ZXkgYXJlIGhhbmRsZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3Jk ICcnYnUnJywgd2hpY2ggYmFzaWNhbGx5IG1lYW5zICdsZXR0ZXInLiBTbyB0aGUgdm93ZWxzIG9m IExvamJhbiBhcmU6ICcnLmFidSwgLmVidSwgLmlidSwgLm9idSwgLnVidSwgeWJ1LicnCgpUaGUg YXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4gTG9qYmFuLCBhbmQg aXMgY2FsbGVkICcnLnkneS4nJyAuIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEg Y291Z2g7IHRvIG90aGVyLCBsaWtlICJ1aC1odWgiICh3aGVuIGl0IG1lYW5zICdZZXMnIHJhdGhl ciB0aGFuICdObycuKQoKTG9qYmFuIGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRvIG1vc3QgbGV0dGVy cyB5b3UgY2FuIHRoaW5rIG9mLiBJZiB5b3UgaGF2ZSB0aGUgdXJnZSB0byBzcGVsbCBvdXQgeW91 ciBuYW1lIGluIExvamJhbiBhbmQgaGF2ZSBhbiAiSCIsICJRIiwgb3IgIlciIHRvIGRlYWwgd2l0 aCwgeW91IGNhbiB1c2UgJycueSd5LmJ1LCBreS5idScnIGFuZCAnJ3Z5LmJ1JycuIFNvICJTY2h3 YXJ6ZW5lZ2dlciIgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOgoKJydzeS4gY3kuIC55J3lidSB2eWJ1 LiAuYWJ1IHJ5LiB6eS4gLmVidSBueS4gLmVidSBneS4gZ3kuIC5lYnUgcnkuJycKCkFuZCBzcGVs bGluZyAidGhhdCIgaXMgYSB0YXNrIHRoZSBlcXVhbCBvZiBhbnl0aGluZyB0aGUgVGVybWluYXRv ciBldmVyIGRpZCEKCgoKTm93IHNwZWxsIHlvdXIgbmFtZSBpbiBMb2piYW4gKG9yIGF0IGxlYXN0 IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNlIHRoZSB0d2VudHktc2l4IGxldHRl cnMgb2YgRW5nbGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0aGUgYXBvc3Ryb3BoZSkuCgoKCiEh ISEgJ0NvcnJlY3QnIHByb251bmNpYXRpb24KCllvdSBkb24ndCBoYXZlIHRvIGJlIHZlcnkgcHJl Y2lzZSBhYm91dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUgcGhvbmVtZXMgYXJl IGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9uZSBzb3VuZCBmb3Ig YW5vdGhlci4gVGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29ycmVjdCcgcHJvbnVu Y2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251bmNpYXRpb27igJR0 aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBsb25nIGFzIGl0 IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4gRm9yIGV4YW1wbGUs IExvamJhbiByIGNhbiBiZSBwcm9ub3VuY2VkIGxpa2UgdGhlICJyIiBpbiBFbmdsaXNoLCBTY290 dGlzaCBvciBGcmVuY2guCgpUd28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2YsIHRob3VnaCwgYXJl IHByb25vdW5jaW5nIExvamJhbiAnJ2knJyBhbmQgJyd1JycgbGlrZSBTdGFuZGFyZCBCcml0aXNo IEVuZ2xpc2ggImhpdCIgYW5kICJidXQiIChOb3J0aGVybiBFbmdsaXNoICJidXQiIGlzIGZpbmUh KS4gVGhpcyBpcyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkgdGhlc2Ug dHdvLCBhcmUgdXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8gZmluZCB0 aGVtIGhhcmQgdG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMgc3BpdHRp bmcgb3V0IHRoZSAnJ3pkJycgaW4gJyd6ZGFuaScnIChob3VzZSksIHlvdSBjYW4gc2F5IHrJqmRh bmnigJR3aGVyZSB0aGUgIsmqIiBpcyB2ZXJ5IHNob3J0LCBidXQgdGhlIGZpbmFsICJpIiBoYXMg dG8gYmUgbG9uZy4KCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKCldhdGNoIGFueSBmaWxtIHdo ZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBv ZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBh IHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uCgpf XycnbWknZSAucm9iaW4uJydfXwoKIkktYW0tbmFtZWQgUm9iaW4iCgoiSSdtIFJvYmluIgoKJydt aSdlJycgaXMgcmVsYXRlZCB0byAnJ21pJycsIHdoaWNoIGlzICdJJywgJ21lJyBhbmQgc28gb24u IEl0J3MgYSBnb29kIGV4YW1wbGUgb2YgdGhlIGFwb3N0cm9waGUgc2VwYXJhdGluZyB0d28gdm93 ZWxzLCBhbmQgc291bmRzIGEgYml0IGxpa2UgIm1lIGhlaCIuCgpUaGlzIGd1eSBSb2JpbiBpcyBs dWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91dCBh bnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBuYW1l cyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5pc2VkJy4gVGhp cyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFtZeKAlGJ1dCBp biBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9yIGV4YW1wbGUs IEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgIkpvc2UiIHNvbWV0aGluZyBsaWtl ICJIb3pheSIsIGFuZCAiTWFyZ2FyZXQiIGluIENoaW5lc2UgaXMgIk1hZ2VsaXRhIi4gU29tZSBz b3VuZHMganVzdCBkb24ndCBleGlzdCBpbiBzb21lIGxhbmd1YWdlcywgc28gdGhlIGZpcnN0IHRo aW5nIHlvdSBuZWVkIHRvIGRvIGlzIHJld3JpdGUgdGhlIG5hbWUgc28gdGhhdCBpdCBvbmx5IGNv bnRhaW5zIExvamJhbiBzb3VuZHMsIGFuZCBpcyBzcGVsdCBpbiBhIExvamJhbiB3YXkuCgpfX05v dGU6IF9fVGhlIGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwg eW91IGJlIHVzaW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVy aWNhbiB2b3dlbHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBv ZiAiUm9iaW4iIGlzIHJlYXNvbmFibHkgYXBwcm94aW1hdGVkIGJ5ICcnLnJvYmluLicnOyBidXQg dGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcnLnJhYnluLicnIG9yICcnLnJhYixu LicnLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29k IGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ugc2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlv bnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWluIG9mIHNhbHQuCgpMZXQncyB0YWtlIHRoZSBFbmds aXNoIG5hbWUgIlN1c2FuIi4gVGhlIHR3byAnJ3MnJydzIGFyZSBwcm9ub3VuY2VkIGRpZmZlcmVu dGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAieiLigJRhbmQgdGhlICJhIiBpcyBu b3QgcmVhbGx5IGFuICJhIiBzb3VuZCwgaXQncyB0aGUgJ3NjaHdhJyB3ZSBqdXN0IG1lbnRpb25l ZC4gU28gIlN1c2FuIiBjb21lcyBvdXQgaW4gTG9qYmFuIGFzICcnLnN1enluLicnLgoKWW91IG1h eSBoYXZlIG5vdGljZWQgdHdvIGV4dHJhIGZ1bGwgc3RvcHMgKHBlcmlvZHMpIHRoZXJlLiBUaGlz IGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGlmIHlvdSBkaWRuJ3QgcGF1c2UsIHlvdSBtaWdodCBub3Qg a25vdyB3aGVyZSB0aGUgcHJldmlvdXMgd29yZCBlbmRlZCBhbmQgdGhlIG5leHQgd29yZCBiZWdh bi4KCgoKWW91IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwgc3RvcCBpbiBiZXR3ZWVuIGEgcGVyc29u J3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdCdzIG5vdCBjb21wdWxzb3J5KSwgc28g IkppbSBKb25lcyIgYmVjb21lcyAnJy5kamltLmRqb256LicnLgoKQW4gaW1wb3J0YW50IHJ1bGUg Zm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3QgbGV0dGVyIG9mIGEgY21ldmxh IChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMgdG8gcHJl dmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlzIGFuZCBp cyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2VsKS4gV2Ug dXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExvamJhbiwgIk1hcnkiIGJlY29tZXMg JycubWVyaXMuJycgLCAiSm9lIiBiZWNvbWVzICcnLmRqb3MuJycgYW5kIHNvIG9uLiBBbiBhbHRl cm5hdGl2ZSBpcyB0byBsZWF2ZSBvdXQgdGhlIGxhc3Qgdm93ZWwsIHNvICJNYXJ5IiB3b3VsZCBi ZWNvbWUgJycubWVyLicnIG9yICcnLm1laXIuJycuCgoKClRoZSBmaW5hbCBwb2ludCBpcyBzdHJl c3MuIEFzIHdlJ3ZlIHNlZW4sIExvamJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBlbnVs dGltYXRlIHN5bGxhYmxlLCBhbmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3ZSB1 c2UgY2FwaXRhbCBsZXR0ZXJzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZyZW5j aCBuYW1lcyAiUm9iZXJ0IiBjb21lIG91dCBkaWZmZXJlbnRseSBpbiBMb2piYW46IHRoZSBFbmds aXNoIG5hbWUgaXMgJycucm9ieXQuJycgaW4gVUsgRW5nbGlzaCwgb3IgJycucmFiLHJ0LicnIGlu IHNvbWUgQW1lcmljYW4gZGlhbGVjdHMsIGJ1dCB0aGUgRnJlbmNoIGlzICcnLnJvQkVSLicnLgoK VG8gZ2l2ZSBhbiBpZGVhIG9mIGhvdyBhbGwgdGhpcyB3b3JrcywgaGVyZSBhcmUgc29tZSBuYW1l cyBvZiBmYW1vdXMgcGVvcGxlIGluIHRoZWlyIG93biBsYW5ndWFnZSBhbmQgaW4gTG9qYmFuLgoK Cgp8fF9fRW5nbGlzaF9fCgpNYXJnYXJldCBUaGF0Y2hlciB8JycubWFncnl0LnRhdGN5ci4nJyAo bm8gInRoIiBpbiBMb2piYW4gYmVjYXVzZSBtb3N0IHBlb3BsZSBhcm91bmQgdGhlIHdvcmxkIGNh bid0IHNheSBpdCEpCgpNaWNrIEphZ2dlciB8JycubWlrLmRqYWd5cy4nJyB8fAoKfHxfX0ZyZW5j aF9fCgpOYXBvbGVvbiBCb25hcGFydGUgfCcnLm5hcG9sZSxPTi5ib25hUEFSVC4nJwoKSnVsaWV0 dGUgQmlub2NoZSB8JycuanVMSUVULmJpbk9DLicnIHx8Cgp8fF9fQ2hpbmVzZV9fCgpMYW96aSB8 JycubGF1ZHouJycKCk1hbyBaZWRvbmcgfCcnLm1hdWR6eURZTi4nJyAoRmluYWwgJyduZycnIGlz IGluIExvamJhbiBjb252ZW50aW9uYWxseSB0dXJuZWQgaW50byBuLikgfHwKCnx8X19UdXJraXNo X18KCk11c3RhZmEgS2VtYWwgfCcnLk1VU3RhZmFzLmtlTUFMLicnCgpFcmtpbiBLb3JheSB8Jycu ZXJraW4ua29yYWlzLicnIHx8Cgp8fF9fR2VybWFuX18KCkZyaWVkcmljaCBOaWV0enNjaGUgfCcn LmZyaWRyaXgubml0Y3lzLicnCgpDbGFyYSBTY2h1bWFubiB8Jycua2xhcmFzLmN1bWFuLicnIHx8 Cgp8fF9fU3BhbmlzaF9fCgpJc2FiZWwgQWxsZW5kZSB8JycuaXphQkVMLmFpZW5kZXMuJycKCkNo ZSBHdWV2YXJhIHwnJy50Y2VnZXZhcmFzLicnIHx8CgpfX0V4ZXJjaXNlX18uCgpXaGVyZSBhcmUg dGhlc2UgcGxhY2VzPwoKIy5udSxJT1JLLgoKIy5yb21hcy4KCiMueGF2YW5hcy4KCiMua2FyZGlm LgoKIy5iZWlkamluLgoKIy5BTmthcmFzLgoKIy5BTGJla2Vya2lzLgoKIy52YW5rdXZlci4KCiMu a2VpcHRhdW4uCgojLnRhaWJlaXMuCgojLmJvbi4KCiMuZGVsaXMuCgojLm5pcy4KCiMuYXRpbmFz LgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTp+fgoKI35+Z3Jh eSxncmF5Ok5ldyBZb3JrOiBVU0F+fgoKI35+Z3JheSxncmF5OlJvbWU6IEl0YWx5fn4KCiN+fmdy YXksZ3JheTpIYXZhbmE6IEN1YmF+fgoKI35+Z3JheSxncmF5OkNhcmRpZmY6IFdhbGVzIChUaGUg V2Vsc2ggZm9yICJDYXJkaWZmIiBpcyAiQ2FlcmR5ZGQiLCB3aGljaCB3b3VsZCBMb2piYW5pc2Ug dG8gc29tZXRoaW5nIGxpa2Uga2FpcmR5ZC4uKX5+Cgojfn5ncmF5LGdyYXk6QmVpamluZzogQ2hp bmF+fgoKI35+Z3JheSxncmF5OkFua2FyYTogVHVya2V5fn4KCiN+fmdyYXksZ3JheTpBbGJlcXVl cnF1ZTogTmV3IE1leGljbywgVVNBfn4KCiN+fmdyYXksZ3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+ Cgojfn5ncmF5LGdyYXk6Q2FwZSBUb3duOiBTb3V0aCBBZnJpY2F+fgoKI35+Z3JheSxncmF5OlRh aXBlaTogVGFpd2FuIChub3RlIGIsIG5vdCBwLiBBbHRob3VnaCBhY3R1YWxseSwgdGhlIGIgaW4g UGlueWluIGlzIHByb25vdW5jZWQgYXMgYSBwLi4uIEJ1dCB0aGlzIGlzbid0IG1lYW50IHRvIGJl IGEgY291cnNlIG9uIE1hbmRhcmluISl+fgoKI35+Z3JheSxncmF5OkJvbm46IEdlcm1hbnl+fgoK I35+Z3JheSxncmF5OkRlbGhpOiBJbmRpYSAoVGhlIEhpbmRpIGZvciAiRGVsaGkiIGlzICJEaWxs w64iLCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGlsaSdpcy4uKX5+Cgojfn5ncmF5LGdy YXk6TmljZTogRnJhbmNlfn4KCiN+fmdyYXksZ3JheTpBdGhlbnM6IEdyZWVjZSAoIkF0aGluYSIg aW4gR3JlZWspfn4KCiN+fmdyYXksZ3JheTpMZWVkczogRW5nbGFuZH5+Cgojfn5ncmF5LGdyYXk6 SGVsc2lua2k6IEZpbmxhbmR+fgoKX19FeGVyY2lzZV9fLgoKTG9qYmFuaXNlIHRoZSBmb2xsb3dp bmcgbmFtZXMKCiNKb2huCgojTWVsaXNzYQoKI0FtYW5kYQoKI01hdHRoZXcKCiNNaWNoYWVsCgoj RGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoKI1dpbGxpYW0gU2hha2VzcGVhcmUKCiNTaWdvdXJu ZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoKI0lzdGFuYnVsCgojTWFkcmlkCgojVG9reW8KCiNT YW4gU2FsdmFkb3IKCkFuc3dlcjoKCn5+Z3JheSxncmF5OlRoZXJlIGFyZSB1c3VhbGx5IGFsdGVy bmF0aXZlIHNwZWxsaW5ncyBmb3IgbmFtZXMsIGVpdGhlciBiZWNhdXNlIHBlb3BsZSBwcm9ub3Vu Y2UgdGhlIG9yaWdpbmFscyBkaWZmZXJlbnRseSwgb3IgYmVjYXVzZSB0aGUgZXhhY3Qgc291bmQg ZG9lc24ndCBleGlzdCBpbiBMb2piYW4sIHNvIHlvdSBuZWVkIHRvIGNob29zZSBiZXR3ZWVuIHR3 byBMb2piYW4gbGV0dGVycy4gVGhpcyBkb2Vzbid0IG1hdHRlciwgc28gbG9uZyBhcyBldmVyeW9u ZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91J3JlIHRhbGtpbmcgYWJvdXQufn4KCiN+fmdyYXksZ3Jh eTouZGpvbi4gKG9yIC5kamFuLiB3aXRoIHNvbWUgYWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5t ZWxpc3lzLn5+Cgojfn5ncmF5LGdyYXk6LmFtYW5keXMuIChhZ2FpbiwgZGVwZW5kaW5nIG9uIHlv dXIgYWNjZW50LCB0aGUgZmluYWwgeSBtYXkgYmUgYSwgdGhlIGluaXRpYWwgYSBtYXkgYmUgeSwg YW5kIHRoZSBtaWRkbGUgYSBtYXkgYmUgZS4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgoj fn5ncmF5LGdyYXk6Lm1haWt5bC4gb3IgLm1haWssbC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBz YXkgaXQufn4KCiN+fmdyYXksZ3JheTouZGVpdnlkLmJhdSxpcy4gb3IgLmJvLGlzLiAoYnV0IG5v dCAuYnUsaXMuIOKAlCB0aGF0J3MgdGhlIGtuaWZlKX5+Cgojfn5ncmF5LGdyYXk6LmRqZWluLm9z dGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5jZWtzcGlyLn5+Cgojfn5ncmF5LGdyYXk6LnNp Z29ybmlzLnVpdnlyLiBvciAuc3lnb3JuaXMudWl2eXIufn4KCiN+fmdyYXksZ3JheToucml0Y3ly ZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3Ms IC5JU3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJh bmlzdHMgZ2VuZXJhbGx5IHByZWZlciB0byBiYXNlIGNtZXZsYSBvbiBsb2NhbCBwcm9udW5jaWF0 aW9uLCBidXQgdGhpcyBpcyBub3QgYW4gYWJzb2x1dGUgcnVsZS5+fgoKI35+Z3JheSxncmF5Oi5t YURSSUQufn4KCiN+fmdyYXksZ3JheToudG9raW9zLn5+Cgojfn5ncmF5LGdyYXk6LnNhbi5zYWx2 YURPUi4gKHdpdGggU3BhbmlzaCBzdHJlc3MpIDwvc3Bhbj48L2h0bWw+fn4KCiEhISFMb2piYW4g d29yZHMgYXMgbmFtZXMKCkJ5IG5vdyB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gTG9qYmFuaXNlIHlv dXIgb3duIG5hbWUuIEhvd2V2ZXIsIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gdHJhbnNsYXRlIHlv dXIgbmFtZSBpbnRvIExvamJhbiAoaWYgeW91IGtub3cgd2hhdCBpdCBtZWFucywgb2YgY291cnNl KSBvciBhZG9wdCBhIGNvbXBsZXRlbHkgbmV3IExvamJhbiBpZGVudGl0eS4gTmF0aXZlIEFtZXJp Y2FucyBnZW5lcmFsbHkgdHJhbnNsYXRlIHRoZWlyIG5hbWUgd2hlbiBzcGVha2luZyBFbmdsaXNo LCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGhhdmUgbWVhbmluZ2Z1bCBuYW1lcywgYW5kIHBhcnRseSBi ZWNhdXNlIHRoZXkgZG9uJ3QgZXhwZWN0IHRoZSAid2FzaWNodSIgdG8gYmUgYWJsZSB0byBwcm9u b3VuY2Ugd29yZHMgaW4gTGFrb3RhLCBDaGVyb2tlZSBvciB3aGF0ZXZlciEKCkxvamJhbiB3b3Jk cyAoZXhjZXB0IGNtZXZsYSkgZW5kIGluIGEgdm93ZWwuIFlvdSBjYW4gdXNlIGxvamJhbiB3b3Jk cyBhcyBuYW1lcyB0b28uIEJ1dCBpZiB5b3UgcHJlZmVyIHRoYXQgeW91ciBuYW1lIGlzIGEgY21l dmxhIGFuZCBpdCBlbmRzIGluIGEgdm93ZWwgdGhlbiB5b3UgY2FuIGVpdGhlciBhZGQgYSBjb25z b25hbnQgdG8gdGhlIGVuZCBvZiBpdCBvciBqdXN0IGNob3AgdGhlIGVuZCB2b3dlbCBvZmYuCgpI ZXJlIGFyZSBhIGZldyBleGFtcGxlcyAob3JpZ2luYWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQg bmFtZSBhcyBjbWV2bGEpOgoKKkZpc2gg4oCTIGZpbnBlIOKAkyAnJy5maW5wLicnCgoqQmrDtnJu IChTY2FuZGluYXZpYW4gPSBiZWFyKSDigJMgY3JpYmUg4oCTICcnLmNyaWIuJycKCipHcmVlbiDi gJMgY3Jpbm8g4oCTICcnLmNyaW4uJycKCipNZWkgTGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpIOKA kyBtZWxiaSDigJMgJycubWVsYi4nJwoKKkF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSDigJMg bHVucmEgbm9ibGkgKD0gbHVybm9ibGkpIOKAkyAnJy5sdXJub2JsaXMuJycKCgoKISFMb2piYW4g TGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoK QSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2Vz LiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9u IGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBp biBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHBy b3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBt ZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBl bHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZy YSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdo aWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3 aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUg ZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBn cmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1h a2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0 LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2Yg YWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJp ZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBu b3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50 aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBp dCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxv b2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBv d24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgoj IOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFu ZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWlu IG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0 ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3Jl ICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhl IG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVs YXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlv biBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0 IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxp a2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQg YmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKA nSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2ls bCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUg Zmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9y ZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkg ZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBz dW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJ IHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCc bXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgNSBuZXcgc2hp cnRzIGZyb20gTWFyayBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXi gJ0sIOKAnDUgbmV3IHNoaXJ0c+KAnSwg4oCcTWFya+KAnSBhbmQg4oCcdHdvIGh1bmRyZWQgZXVy b3PigJ1+fgoKCgpTaW5jZSB0aGVzZSBjb25jZXB0cyBhcmUgc28gZnVuZGFtZW50YWwgdG8gTG9q YmFuLCBsZXQncyBoYXZlIGEgdGhpcmQgZXhhbXBsZTog4oCcU28gZmFyLCB0aGUgRVBBIGhhcyBk b25lIG5vdGhpbmcgYWJvdXQgdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUu4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRpOiDi gJxUaGUgRVBB4oCdLCDigJxub3RoaW5n4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBodXIg ZGlveGlkZeKAnX5+CgoKCk5vdyB0cnkgYmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9yIHRo aXMgeW91IHdpbGwgbmVlZCB0byB1c2Ugc29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzZWxi cmk6CgonJ19fZHVuZGFfXycnIHgxIGdpdmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQpCgon J19fcGVseHVfXycnIHgxIGlzIHllbGxvdwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUgb2Yg eDIKCgoKTm90aWNlIHRoYXQgdGhlc2Ugd29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5ZWxs b3figJ0gYW5kIOKAnGhvbWXigJ0gd291bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFkamVj dGl2ZSBhbmQgYSBub3VuIGluIEVuZ2xpc2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1Y2gg Y2F0ZWdvcmllcyBhbmQgbm8gc3VjaCBkaXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0cmFu c2xhdGVkIOKAnGdpdmVz4oCdICh2ZXJiKSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKAnGlz IGdpdmluZ+KAnSAoYWRqZWN0aXZlKSBhcyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBUaGV5 IGFsbCBhY3QgYXMgc2VsYnJpLCBhbmQgYXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpBcyB3 ZWxsIGFzIGEgZmV3IHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18nJyDi gJxJ4oCdIG9yIOKAnHdl4oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtpbmcu CgonJ19fdGlfXycnIOKAnHRoaXPigJ0g4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVhcmJ5 IHdoaWNoIGNhbiBiZSBwb2ludGVkIHRvIGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDigJx5 b3XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoKClNl ZSB0aGUgc3RyYW5nZSB0cmFuc2xhdGlvbnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVjaWFs bHkgdGhlIHgxLCB4MiBhbmQgeDM/IFRob3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBUaGV5 IGFyZSBwbGFjZXMgd2hlcmUgc3VtdGkgY2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGluZyBh IHN1bXRpIGluIGEgcGxhY2Ugc3RhdGVzIHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBwbGFj ZS4gVGhlIHNlY29uZCBwbGFjZSBvZiAnJ2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMgdGhl IHRoaW5nIGJlaW5nIGdpdmVuLiBUaGUgdGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNlaXZl cyB0aGUgdGhpbmcuIE5vdGljZSBhbHNvIHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVuZGEn JyBoYXMgdGhlIHdvcmQg4oCcdG/igJ0gaW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUgdGhp cyB3b3JkIGlzIG5lZWRlZCBpbiBFbmdsaXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0aGUg cmVjZWl2ZXIgaXMgaW4gdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28gd2hl biB5b3UgZmlsbCB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3VtdGkg eW91IGZpbGwgaW4gaXMgYWx3YXlzIHRoZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVkIGFu IGVxdWl2YWxlbnQgdG8gdGhlIHdvcmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5b3Ug c2ltcGx5IHNheSB0aGUgeDEgc3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBhbnkg b3RoZXIgc3VtdGkuCgpVc3VhbCBicmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gyIHN1 bXRpfSB7eDMgc3VtdGl9IHt4NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhlIG9y ZGVyIGNhbiBiZSBwbGF5ZWQgYXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3aXRo IHRoZSB1c3VhbCBmb3JtLiBUbyBzYXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBqdXN0 IHNheSAnJ21pIGR1bmRhIHRpIGRvJycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSByaWdo dCBwbGFjZXMuCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBvZiBt ZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkgYSBm ZXcgbW9yZSBpbiBvcmRlciB0byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUgc2lu ayBpbi4KCgoK4oCcWW91IGdpdmUgdGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ2RvIGR1bmRhIHRpIG1pJyd+fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVhc3kg b25jZSB5b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkgYWZ0 ZXIgZWFjaCBvdGhlciBhcmUgc2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2piYW4g ZXF1aXZhbGVudCBvZiBmdWxsIHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJyaWRp IGluc3RlYWQgb2YgYWZ0ZXIgdGhlbS4gSXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZp cnN0IGJyaWRpLCB0aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycg U2VudGVuY2Ugc2VwYXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9y ZSBhbHNvIGJyaWRpKS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlz IGEgaG9tZSB0byBtZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0 byB0aGUgbmV4dCBsZXNzb24sIEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3Ig YXQgbGVhc3Qgc2V2ZW4gbWludXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoK CgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0IHNl bGJyaSBoYXZlIGZyb20gb25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZlIG1v cmUuIEhlcmUgaXMgYSBzZWxicmkgd2l0aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNudV9f JycgeDEgc2VsbHMgeDIgdG8geDMgZm9yIHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg4oCc SSBzZWxsIHRoaXPigJ0sIGl0IHdvdWxkIGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0aGUg c3VtdGkgcGxhY2VzIHgzIGFuZCB4NCwgd2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0aGlu ZyB0bywgYW5kIGZvciB3aGF0IHByaWNlLiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1bXRp IHBsYWNlcyBjYW4gYmUgZmlsbGVkIHdpdGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRlcyB0 byB1cyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQgYmVj YXVzZSBpdCdzIHVuaW1wb3J0YW50IG9yIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4dC4K CicnX196bydlX18nJyDigJxzb21ldGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNv bWV0aGluZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwg dG8geW914oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJIHNl bGwgc29tZXRoaW5nIHRvIHlvdSBmb3Igc29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDi gJxUaGF0J3MgYSBob21lIChmb3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OiAnJ3RpIHpkYW5pIHpvJ2UnJ35+CgoKCkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMgdGhp cyB0byAoc29tZW9uZSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRhIHRp IHpvJ2UnJ35+CgoKClN0aWxsLCBmaWxsaW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5IHRo YXQgYSB0aGluZyBpcyBiZWluZyBzb2xkIHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9uJ3Qg bmVlZCB0byB3cml0ZSBhbGwgdGhlICcnem8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBs eSBpcyB0aGF0IGlmIHlvdSBsZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lk ZXJlZCBhcyBpZiB0aGV5IGNvbnRhaW5lZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lucyB3 aXRoIGEgc2VsYnJpLCB0aGUgeDEgaXMgcHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQgYmVj b21lcyAnJ3pvJ2UnJy4KClRyeSBpdCBvdXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2VsbOKA nT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2Vz ICcnemRhbmkgbWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBp cyBhIGhvbWUgb2YgbWXigJ0gb3IganVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1l bnRpb25lZCBlYXJsaWVyLCB0aGUgZm9ybSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRpfSB7 c2VsYnJpfSB7eDIgc3VtdGl9IHt4MyBzdW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4gcGxh Y2UgdGhlIHNlbGJyaSBhbnl3aGVyZSB5b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lubmlu ZyBvZiB0aGUgYnJpZGkuIElmIHlvdSBkbyB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBsZWZ0 IG91dCBhbmQgZmlsbGVkIHdpdGggJyd6bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0 aHJlZSBqdWZyYSBhcmUgYWxsIHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRp IGRvJycKCicnbWkgdGkgZHVuZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1l cyB0aGlzIGlzIHVzZWQgZm9yIHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCd IGNvdWxkIGJlICcnZG8gZG8gdmVjbnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8g dmVjbnUgZG8nJy4gT3IgaXQgY2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBp cyB2ZXJ5IGxvbmcgYW5kIHRoZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRo ZSBicmlkaS4KCgoKVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdp dGggdGhlIG9yZGVyIG9mIHRoZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBv bmUgaXMgYnkgdXNpbmcgdGhlIHdvcmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBh bmQgJydmdScnLiBOb3RpY2UgdGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4g dGhlIExvamJhbiBhbHBoYWJldCBpbiBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1h cmtzIHRoYXQgdGhlIG5leHQgc3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQg eDUgcmVzcGVjdGl2ZWx5LiBUaGUgbmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3Vt ZWQgdG8gZmlsbCBhIHNsb3Qgb25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBh biBleGFtcGxlOgoKJydkdW5kYSBmYSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91 IG9mIHRoaXMgdGhpbmcgdG8geW914oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIs IHdoaWNoIGlzIHlvdS4gJydmZScnIG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgy LiBTdW10aSBjb3VudGluZyB0aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0 IHRoZSBsYXN0IHN1bXRpIGZpbGxzIHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1w dCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVj bnUgZm8gdGkgZmUgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRo ZSBwcmljZSBvZiB0aGlzLCB5b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBv ZiB0aGlz4oCdIChwcm9iYWJseSBwb2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicn emRhbmkgZmUgdGknJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKA nS4gSGVyZSwgdGhlIGZlIGlzIHJlZHVuZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkgZmEg ZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBm b3IgdGhpcyBwcmljZeKAnX5+CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVl ICh0YW5ydSBhbmQgbG8pCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFy IHdpdGggdGhlIGNvbmNlcHQgb2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4g YSBzZWxicmkgaXMgcHV0IGluIGZyb250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRz IG1lYW5pbmcuIEEgdGFucnUgaXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0 aCBvdGhlciBzZWxicmkgb3IgdGFucnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMg Jyd6ZGFuaSB2ZWNudScnIGlzIGEgdGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVj bnUnJywgd2hpY2ggaXMgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRo ZSBzaW5nbGUgYnJpdmxhIHdvcmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0 IG9mIHRhbnJ1LCBjb25zaWRlciB0aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9u IHRyZWXigJ0uIElmIHlvdSBkaWRuJ3Qga25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1dCBo YWQgaGVhcmQgYWJvdXQgYm90aCBsZW1vbnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJlIGFi bGUgdG8gZGVkdWNlIHdoYXQgYSBsZW1vbiB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNvbG9y ZWQgdHJlZSwgb3IgYSB0cmVlIHNoYXBlZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9zZSBi YXJrIHRhc3RlcyBsaWtlIGxlbW9uLiBUaGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cgZm9y IHN1cmUgd291bGQgYmUgdGhhdCBpdCB3b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBiZSBs ZW1vbi1saWtlIGluIHNvbWUgd2F5LgoKQSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0byB0 aGlzLiBJdCBjYW5ub3QgYmUgc2FpZCBleGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251JycgaXMs IGJ1dCBpdCBjYW4gYmUgc2FpZCB0aGF0IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5kIHRo YXQgaXQncyB6ZGFuaS1saWtlIGluIHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlr ZSBpbiBhbnkgd2F5LiBJbiB0aGVvcnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRo ZSBjb25uZWN0aW9uIHRvIHpkYW5pIHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pk YW5pIHZlY251JycuIEhvd2V2ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUg b3JkaW5hcnkgc2Vuc2UgaW4gb3JkZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxk IGdsb3NzICcnemRhbmkgdmVjbnUnJyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0 ZXIgYnV0IHdvcnNlIHNvdW5kaW5nIOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBs YWNlIHN0cnVjdHVyZSBvZiBhIHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qg c2VsYnJpLiBJdCdzIGFsc28gc2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUg cmlnaHQgc2VsYnJpLgoK4oCcUmVhbGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0 IGRvZXNuJ3QgbWF0dGVyIGhvdyBzaWxseSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3b3Jk IGluIGEgdGFucnUgaXMsIGl0J3Mgc3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBzZWxs ZXJzIGZvciAnJ3pkYW5pIHZlY251JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4Y3Vz ZSB3aHkgSSB0aGluayBpdCdzIHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW91 J2QgYmUgYSBkaWNrLiBPciBhdCBsZWFzdCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xlYWRp bmcuIEluIGdlbmVyYWwsIHlvdSBzaG91bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlvdXMg aG93IHRoZSBsZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJh bnNsYXRlIHRoZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBk b24ndCBrbm93IGluIHdoaWNoIHdheSBpdCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWludGVk IHllbGxvdywgYnV0IHdlIGRvbid0IGtub3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBkdW5k YScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hhdCBj YW4gdGhhdCBtZWFuPyBObyBpZGVhLiBJdCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQgeW91 IHNvbGQgc29tZXRoaW5nLCBzaW5jZSwgYnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJl IGNhbiBiZSBubyBwYXltZW50IGludm9sdmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0 IGJlIHNlbGwtbGlrZSBpbiBzb21lIGFzcGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhpbmcg Y29tcGxldGVseSBkaWZmZXJlbnQuIFdoYXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0byBh IEdlcm1hbj8KCicnX19kb3Rjb19fJycgeDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0 dXJlIGluIGFzcGVjdCB4MgoKCgpJIGNhbid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28nJyBi ZWNhdXNlIHRoYXQgd291bGQgbGVhdmUgdHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBpcyBu b3QgcGVybWl0dGVkLiBJIGNvdWxkIHNheSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQgd291 bGQgYmUgdW5uZWNlc3NhcnkgdmFndWUgLSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5LiBM aWtld2lzZSwgaWYgSSB3YW50IHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNh buKAnSwgd2hhdCBzaG91bGQgSSBzYXk/CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5kIG9m IHgyCgonJ19fbWVya29fXycnIHgxIGlzIEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBpbiBh c3BlY3QgeDIKCgoKQWdhaW4sIHRoZSBvYnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBlbmRv IG1lcmtvJycsIGJ1dCB0aGF0IHdvdWxkIGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFtIGZy aWVuZC1saWtlIEFtZXJpY2Fu4oCdLCB3aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkgd2Fu dCB0byBpcyB0byB0YWtlIHRoZSBzZWxicmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQgaW50 byBhIHN1bXRpIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBUaGlz IGlzIGRvbmUgYnkgdGhlIHR3byB3b3JkcyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycnX18g 4oCTIGdlbmVyaWMgYmVnaW4gY29udmVydCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFjdHMg eDEgb2Ygc2VsYnJpIHRvIHVzZSBhcyBzdW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252ZXJ0 IHNlbGJyaSB0byBzdW10aSBwcm9jZXNzLgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJpIGJl dHdlZW4gdGhlc2UgdHdvIHdvcmRzLCBhbmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4gZmls bCB0aGUgeDEgb2YgdGhhdCBzZWxicmkgYW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNvIGZv ciBpbnN0YW5jZSwgdGhlIHRoaW5ncyB0aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUgb25s eSB0aGluZ3Mgd2hpY2ggYXJlIGhvbWVzIG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1Jycg bWVhbnMg4oCcYSBob21lIG9yIHNvbWUgaG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFybHks IGlmIEkgc2F5IHRoYXQgc29tZXRoaW5nIGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxvdy4g U28gJydsbyBwZWx4dSBrdScnIHJlZmVycyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91 IGhhdmUgdGhlIG5lY2Vzc2FyeSBncmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJp ZW5kcyB3aXRoIGFuIEFtZXJpY2FuLuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSBwZW5kbyBsbyBtZXJrbyBrdScnfn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhl ICcna3UnJyBpcyBuZWNlc3NhcnkuIFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMg dGhpcyB0byBtZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUg dGkgbWknJyBJZiB5b3UgbGVhdmUgb3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwg YnV0IHNpbXBseSB0aHJlZSBzdW10aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlk aSwgdGhlIHRpIGlzIGZvcmNlZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBp cyBmb3JjZWQgdG8gY2xvc2UgYW5kIGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBv ZiAnJ2xvIGRvdGNvIHZlY251IHtrdX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFs d2F5cyBoYXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVs eHUnJy4gSWYgdGhlICcna3UnJyBpcyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRv ZXMgbm90IGVuZCwgYW5kIGl0IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRo ZSB0YW5ydSAnJ3pkYW5pIHBlbHh1JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoK CgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90 aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBp cyB0aGF0IG9mIGF0dGl0dWRpbmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJl c3MgZW1vdGlvbnMgZGlyZWN0bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVk IGluIHRoZSBmZW1pbmlzdCBjb25zdHJ1Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRseSB0 byBlbmFibGUgdHJ1ZSBmZW1hbGUgZW1vdGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFsZSBl bW90aW9uYWwgZXhwcmVzc2lvbiB3YXMgaGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFuZ3Vh Z2UsIGFuZCBpZiBvbmx5IHRoZXkgd2VyZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZyZWVs eSwgdGhpcyB3b3VsZCBlbXBvd2VyIHdvbWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUgbGFu Z3VhZ2UuCgpJbiBMb2piYW4sIHRoZXJlIGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1ZGlu YWxzIG1vc3QgcHJvYmFibHkgaGF2ZSBiZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdlIGJl Y2F1c2UgdGhleSB0dXJuZWQgb3V0IHRvIGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNlZnVs LiBUaGV5IGFsbCBoYXZlIGEgc28tY2FsbGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMgdGhh dCB0aGV5IGNhbiBhcHBlYXIgYWxtb3N0IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0IGRp c3J1cHRpbmcgdGhlIGJyaWRpJ3MgZ3JhbW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0 cy4KCkluIExvamJhbiBncmFtbWFyLCBhbiBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2 aW91cyB3b3JkLiBJZiB0aGF0IHByZXZpb3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBh IGNvbnN0cnVjdCAobGlrZSAnJy5pJycgb3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50 aXJlIGNvbnN0cnVjdC4gTGlrZXdpc2UsIGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29y ZCB3aGljaCBlbmRzIGEgY29uc3RydWN0IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBl bmRlZCBjb25zdHJ1Y3QuCgoKCkxldCdzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNv bWUgZXhhbXBsZXM6CgpfXycnLnVpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rp b246IGhhcHBpbmVzcyAtIHVuaGFwcGluZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFsOiBl dmlkZW50aWFsOiBJIGRpcmVjdGx5IG9ic2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZpbml0 aW9uIG9mICcnLnVpJycsIHRoZXJlIGFyZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5lc3Mg YW5kIHVuaGFwcGluZXNzLiBUaGlzIG1lYW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFzIGhh cHBpbmVzcywgd2hpbGUgaXRzIOKAnG5lZ2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g4oCc TmVnYXRpb27igJ0gbWlnaHQgYmUgdGhlIHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHksIHRo ZSBvdGhlciBkZWZpbml0aW9uIG9mICcnLnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcnLnVp IG5haScnLiBNb3N0IG9mIHRoZSB0aW1lLCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0aXR1 ZGluYWxzIC0gdGhlIG9uZXMgc3VmZml4ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRoZSBu ZWdhdGlvbiBvZiB0aGUgYmFyZSBhdHRpdHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBtdWNo LgoKX18nJ25haScnX18gbWlzYy4gbmVnYXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5hbHMs IGl0IGNoYW5nZXMgdGhlIG1lYW5pbmcgaW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRpb24i CgoKCkFuZCBzb21lIG1vcmUgc2VsYnJpLCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9fJydj aXRrYScnX18g4oCTIHgxIGVhdHMgeDIKCl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFwcGxl IG9mIHN0cmFpbi90eXBlIHgyCgoKClRoZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNlIGt1 IC51aScnLCBtZWFucyDigJxZb3UgZWF0IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5IGV4 cHJlc3NpbmcgdGhhdCBpdCBpcyB0aGUgX19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMgaGFw cHkgYWJvdXQsIG5vdCB0aGUgZWF0aW5nLCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3UuKSBJ biB0aGUgc2VudGVuY2UgJydkbyB6YSdhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2Vy IGRpcmVjdGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3 aG8gZWF0cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0 aXR1ZGluYWwgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1 bmRlcnN0b29kIHRvIGFwcGx5IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1 cyBhcHBseWluZyB0byB0aGUgZW50aXJlIGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBsbyBw bGlzZSBrdSBtaScnIOKAkyDigJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUg YXBwbGUgdG8gbWUh4oCdCgoKCicnbWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkg c2VsbCAod2hpY2ggc3Vja3MhKSBhIGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBl eGFtcGxlcy4gRmlyc3QsIHRob3VnaCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoK Cl9fJycudSd1JydfXyBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQgLSBy ZW1vcnNlbGVzc25lc3MgLSBpbm5vY2VuY2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDogY29t cGxleCBwdXJlIGVtb3Rpb246IGNvbXBsYWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18gYXR0 aXR1ZGluYWw6IG1pc2NlbGxhbmVvdXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9v ayBhdCB0aGF0LCBhIHdvcmQgd2l0aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEg VGhlIG1pZGRsZSBvbmUgaXMgYWNjZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3UnaScnLiBJ dCdzIGNvbnNpZGVyZWQgdGhlIG1pZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1J2knJ19f IGF0dGl0dWRpbmFsIG1pZHBvaW50IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFsIHRvIGNo YW5nZSB0aGUgbWVhbmluZyB0byB0aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4KCgoKVHJ5 IHNheWluZyDigJxJIGdpdmUgc29tZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl4oCdCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUnJyBvciAn J3pvJ2UnJyBpbnN0ZWFkIG9mICcnZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVsbG93 IGFwcGxl4oCdCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4 dSBwbGlzZSBrdScnfn4KCgoKTGV0J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9mIGEgZGlm ZmVyZW50IGtpbmQgdG8gaWxsdXN0cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5laScnIEF0 dGl0dWRpbmFsOiBjb21wbGV4IHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlvbiAtIGZy ZWVkb20uCgoKClNvLCBxdWl0ZSBlYXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdh eeKAnSBpcyAnJ21pIGR1bmRhIC5laSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMsIGFjdHVh bGx5ISBXaGVuIHlvdSB0aGluayBhYm91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMgaXQgdGhh dCBhbGwgdGhlIG90aGVyIGF0dGl0dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3Nl cyB0aGUgc3BlYWtlcidzIGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0 dWFsbHkgY2hhbmdlcyB3aGF0IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCc SSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdo ZXRoZXIgdGhlIGFwcGxlIGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVz ZWQgJycudWknJywgaG93ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkg Z2F2ZSB0aGUgYXBwbGUgYXdheSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXQn cyB0aGF0IGFsbCBhYm91dD8KCgoKVGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1ZGluYWxz IGNoYW5nZSB0aGUgY29uZGl0aW9ucyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlzIGEgc3Vi amVjdCBvZiBhIG1pbm9yIGRlYmF0ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KAnSBydWxl LCB3aGljaCBwcm9iYWJseSB3b24ndCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEgZGlz dGluY3Rpb24gYmV0d2VlbiDigJxwdXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3NpdGlvbmFs IGVtb3Rpb25z4oCdLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0 cnV0aCBjb25kaXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8g ZXhwcmVzcyBhIHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hh bmdpbmcgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRl IGl0IGZyb20gdGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3Ig ZXhwbGljaXRseSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9m IGEgYnJpZGk6CgoKCl9fJydkYSdpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9z aW5nIC0gaW4gZmFjdAoKU2F5aW5nICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0aGUgdHJ1 dGggY29uZGl0aW9ucyB0byBoeXBvdGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IHVzaW5n IHByb3Bvc2l0aW9uYWwgYXR0aXR1ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNoYW5nZXMg dGhlIHRydXRoIGNvbmRpdGlvbiB0byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0IHVzaW5n IHB1cmUgYXR0aXR1ZGluYWxzLgoKCgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWluZyDigJxJ IGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAn J21pIGR1bmRhIGRhJ2kgbmFpIC5laSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcgb2YgYW4g YXR0aXR1ZGluYWwgY2FuIGJlIHN1YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5nICcnZGFp JycuIFVzdWFsbHkgaW4gb3JkaW5hcnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMgc3Vic2Ny aWJlZCB0byB0aGUgbGlzdGVuZXIsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28uIEFsc28s IGJlY2F1c2UgdGhlIHdvcmQgaXMgZ2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5nIG90aGVy cyBlbW90aW9ucyksIHNvbWUgTG9qYmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNw ZWFrZXIgbXVzdCBzaGFyZSB0aGUgZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90aGVycy4K Cl9fJydkYWknJ19fIGF0dGl0dWRpbmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0 dGl0dWRpbmFsIHRvIHNvbWVvbmUgZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAnJ3UnaSAu b2kgZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBo YXZlIGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdSdpIGRh aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5ueS7igJ1+ fgoKCgpBbmQgYW5vdGhlciBvbmUgdG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRvIHRyYW5z bGF0ZSDigJxIZSB3YXMgc29ycnkgaGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5nLCB0aGF0 IHRlbnNlIGlzIGltcGxpZWQgYW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg4oCcaGXi gJ0gY291bGQgYmUgb2J2aW91cyBmcm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 Jyd1J3UgZGFpIHZlY251IGxvIHpkYW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkg b2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBU aGVzZSBjYW4gYmUgdXNlZCBhZnRlciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwg d2l0aCAnJ25haScnIG9yICcnY3UnaScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIgd2hhdCBo YXBwZW5zIHdoZW4geW91IGF0dGFjaCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNlbGJyaSwg YnV0IGl0J3MgbW9zdGx5IHVuZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0 aGUgc2VsYnJpIGluIHNvbWUgdW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwg SW50ZW5zaXR5ICAKCiBjYWl8ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAg VW5zcGVjaWZpZWQgKG1lZGl1bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBp cyBleHByZXNzZWQgdXNpbmcgJycudSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0 dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTpTdHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3Ug ZXhwcmVzcyB0aGF0IHlvdSBhcmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnLnUndSBjdSdpIHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3Nv biBmaXZlIChTRSkKCkJlZm9yZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3Jl IGNvbXBsZXggY29uc3RydWN0cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBm b3IgcmVvcmRlcmluZyB0aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hv dywgaXMgdmVyeSB1c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUg a2luZCBvZiBzdW10aSB3aXRoICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBl YXQgYSBnaWZ04oCdLCB3aGljaCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMg YW4gYXBwbGUuIFRvIHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9v ayB1cCBhIHNlbGJyaSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2 ZXIsIGlmIG9uZSBsb29rcyBjYXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScn LCB4MSBnaXZlcyB4MiB0byB4Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEn JyBpcyBzb21ldGhpbmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2Vu dGVuY2UsIHdlIGNhbid0IHNheSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJyds byBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9u b3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhh dC4gV2hhdCB3ZSB3YW50IGlzIGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoK VGhpcyBpcyBvbmUgZXhhbXBsZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcn c2UnJy4gV2hhdCAnJ3NlJycgZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRo ZSB4MSBhbmQgeDIgb2YgdGhhdCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9m ICcnc2UnJyArIHNlbGJyaSBpcyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0 J3MgdHJ5IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEg dHJhbnNsYXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0 IG9mIHRyYW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRp JycKClRoaXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4s IGJ1dCBub3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xh dGVkIHRvIHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMg b2Z0ZW4gdGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWls eSBvZiB3b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4 MS4KCnx8c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgx IGFuZCB4NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBh cmUgY29uc2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzog VXNpbmcgdGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/ CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPi gJ0gKG9yICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2Fu IG9mIGNvdXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJl c3VsdCBjYW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0 IHNvOgoKX18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZp YSB4NCB1c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkg a3UgdGUga2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRh bmkga3UnJyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFt YSBkbyBtaSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlh IGEgaG9tZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2Ug ZXhjZXB0IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJz dGFuZGluZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhl IHBvaW50IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hh bmdlIHRoZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4 MSwgdGhlbiBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93 IHdvdWxkIHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5Oicn bWkgY2l0a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1 c2VzIGZvciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMg bGVzc29uIHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQg c2luZ2xlIHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0 aGluZ3MsIGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVj a2lseSwgdGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxk IGV4cGVjdC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhp czog4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFp biBicmlkaSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlz IOKAnFlvdSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDi gJxoYXBweeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBo YXBweSBhYm91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVk cyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25l IGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNv bWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJl c3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9m ICcnZ2xla2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRp b24uIFRoZSB3b3JkcyAnJ3N1J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQg YnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KA picna3UnJy4KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9m IHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoKX18nJ21l bGJpJydfXyB4MSBpcyBiZWF1dGlmdWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRhbmNlcyB0 byBhY2NvbXBhbmltZW50L211c2ljL3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5zdSBrZWkn JyAtIOKAnEJlYXV0aWZ1bCBkYW5jaW5n4oCdL+KAnEJlYXV0aWZ1bCBkYW5jZeKAnQoKCgpJdCdz IHVzdWFsbHkgaGFyZCB0byBmaW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLiBI b3dldmVyLCBzaW5jZSAnJ3N1J3UgQlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29u dmVydCBpdCB0byBhIHN1bXRpIHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRo ZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmll bmTigJ0uIFRyeSBpdCBvdXQhCgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy 4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1p IGtlaSBrdScnfn4KCgoKSG93ZXZlciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBt dWNoIHVzZS4gUGVvcGxlIHByZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydu dScn4oCmJydrZWknJyBhbmQgJydkdSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUg d2F5LCBidXQgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRo ZSBicmlkaSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2Vp JycgdHJlYXRzIGl0IGFzIGFuIGFic3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3Mg bGlrZSBpZGVhcywgdGhvdWdodHMgb3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAn J2tlaScnKSBhcmUgY2FsbGVkIGFic3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBh bmQgb25seSBmZXcgYXJlIHVzZWQgbXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFi c3RyYWN0b3IsIGFuZCB3aWxsIHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNh eSDigJxJJ20gaGFwcHkgYWJvdXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgx IHRhbGtzIHRvIHgyIGFib3V0IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJv dGggdGhlIEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5n IHRoZSB0YWxraW5nKS5+fgoKCgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTog JydrYS4uLmtlaScnIChwcm9wZXJ0eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWkn JyAoY29uY2VwdC9pZGVhIGFic3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0 cmFjdGlvbikgYW1vbmcgb3RoZXJzLiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGlj YXRlZCBtYXR0ZXIsIGFuZCB3aWxsIGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24g dHdlbnR5LW5pbmUuIEZvciBub3csIHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoK SXQgaXMgaW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZl cmFsIHN1bXRpIHBsYWNlcy4gQXMgYW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25l ZC4gJydkdSd1JycgaXMgZGVmaW5lZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMg dGhlIHByZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKA nS4KClRoZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0 ICcnbG8gc2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3Vt dGkgZm9yIGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBk b2figJ0gY2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxv IGdlcmt1IGt1IGtlaSBrdScnLCBpZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUu CgpfXycnY3Vza3UnJ19fIHgxIGV4cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoK X18nJ2dlcmt1JydfXyB4MSBpcyBhIGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKA kyBsZXNzb24gc2V2ZW4gKE5PSSkKCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIg dHlwZSBvZiBzdWJvcmRpbmF0ZSBicmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1 c2VzLiBUaGV5IGFyZSBzZW50ZW5jZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBz dW10aS4gSW5kZWVkLCB0aGUg4oCcd2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1h cmtlZCB0aGUgYmVnaW5uaW5nIG9mIGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3Jp YmluZyByZWxhdGl2ZSBjbGF1c2VzLiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9y cywgYW5kIGl0IG1pZ2h0IGJlIHdvcnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVm b3JlIGxlYXJuaW5nIGhvdyB0byBleHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxs ZWQgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0 aXZlIGNsYXVzZXMuIEFuIGV4YW1wbGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhl ciwgd2hvIGlzIHR3byBtZXRlcnMgdGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBi ZSB1bmRlcnN0b29kIGluIHR3byB3YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywg aW4gd2hpY2ggY2FzZSBzYXlpbmcgaGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBr bm93IHdoaWNoIGJyb3RoZXIgSSBhbSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25s eSBvbmUgYnJvdGhlciwgaW4gd2hpY2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0 aW9uYWwgaW5mb3JtYXRpb24uCgoKCkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlz dGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRh dGlvbiBpcyByZXN0cmljdGl2ZSAoc2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxl IGJyb3RoZXJzIEkgbWlnaHQgYmUgdGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3Ry aWN0aXZlLiBXaGVuIHNwZWFraW5nIEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2Ug KG9yIGluIHdyaXR0ZW4gRW5nbGlzaCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNo IGJldHdlZW4gdGhlc2UgdHdvLCBidXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhl IGNvbnN0cnVjdHMgJydwb2nigKZrdSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmlj dGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4K CkxldCdzIGhhdmUgYSBMb2piYW5pYyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91 ciBzdHJhbmdlIGdpZnQtZWF0aW5nIGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24g Zml2ZToKCl9fJydub2knJ19fIGJlZ2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2Ug KGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZl IHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19f IGVuZCByZWxhdGl2ZSBjbGF1c2UKCgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxp c2Uga3UnbycnID0g4oCcSSBlYXQgYSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBh cHBsZeKAnS4gCgpIZXJlIHRoZSAnJ3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAn J2xvIHNlIGR1bmRhIGt1JycsIHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmlj dCwgdGhlIHJlbGF0aXZlIGNsYXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNo IGlzIGFuIGFwcGxlLCBidXQgc2luY2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRo ZSBnaWZ0LCB3ZSBjYW4gc2FmZWx5IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQg aXMgYW4gYXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRo aXMgc2VlbXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhh dCBpdCBpbmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdv cmQgJydrZSdhJycsIHdoaWNoIGlzIGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1v cmUgb24gdGhlbSBsYXRlcikgcmVwcmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRp dmUgY2xhdXNlIGlzIGF0dGFjaGVkIHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0 byB0aGUgc3VtdGksIHRvIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoK CicnLnVpIG1pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKA nFlheSwgSSBlYXQgYSBnaWZ0IHdoaWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRo ZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxh dGl2ZSBjbGF1c2VzLCBoZXJlJ3MgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKA nHgxIHJlZmxlY3RzIExvamJhbmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEg aXMgTG9qYmFuaWMu4oCdCgoKCicnbWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8g a3UnJyA9IOKAnEksIHdobyBhbSBhIExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJh bmljIGxhbmd1YWdlLuKAnSBIZXJlLCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNo ICcnbWknJyBjb3VsZCByZWZlciB0bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBp cyBtZXJlbHkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1l LiBUaGVyZWZvcmUgJydub2nigKZrdSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNh biB0cmFuc2xhdGUgdGhpczog4oCcSSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwv aGFuZHNvbWXigJ0uCgpfXycnbmFubXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmkn J19fIOKAnHgxIGlzIGJlYXV0aWZ1bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFy ZCB4NOKAnQoKX18nJ2Npbmppa2NhJydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0 aW5nIHNleHVhbGl0eSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgY2luamlrY2EgbG8gbmFubXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpP biBhIG1vcmUgdGVjaG5pY2FsIHNpZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cg dGhhdCAnJ2xvIHtzZWxicml9IGt1JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBu b2kga2UnYSB7c2VsYnJpfSBrdSdvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgTGVzc29u IGVpZ2h0ICh0ZXJtaW5hdG9yIGVsaXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxl IG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBu ZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkg a3UgdmF1X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5n LCB3b3VsZCB1bmRlcnN0YW5kIHRoYXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBtZS7igJ0K ClJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcgdW5kZXJz dG9vZCwgKGl0IHNob3VsZG4ndCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292 ZXJlZCBpbiB0aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUg Y29tcGxleCBMb2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0 aGUgc2VudGVuY2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3UnbycnIGFu ZCBvdGhlciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5p bmcuCgoKClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBl bmQgb2YgYSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug 4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUg RW5nbGlzaCB3b3JkIGZvciB0aGlzIGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0 aGUgTG9qYmFuIHdvcmQgaXMgJydmYSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xk IGluIHRoZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4 YW1wbGUgYXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBn b29kIHJlYXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1 JydfXyBmYSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3 cml0dGVuIExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMg Z3JlYXRseSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBo b3dldmVyLCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdv LiBJbiB0aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0 aGUgZmEnb3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNo IGlzIGEgc2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBU aHVzLCBpdCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFu IEFtZXJpY2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkg d3JvbmcgcmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVu J3QgbGVhcm5lZCBhYm91dCBpdCB1bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29y bWEnbyBjYW4gYmUgZWxpZGVkIGlzIHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKA nFlvdSBjYW4gZWxpZGUgYSBmYSdvcm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBk b2VzIG5vdCBjaGFuZ2UgdGhlIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNl LuKAnQoKTW9zdCBmYSdvcm1hJ28gY2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0 aGUgYnJpZGkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVv dGXigJ0tZmEnb3JtYSdvIGFuZCDigJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBU aGlzIGlzIHdoeSAnJ3ZhdScnIGlzIGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5u aW5nIGEgbmV3IGJyaWRpIHdpdGggJycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUg dGhlIHByZWNlZGluZyBicmlkaSBhbnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dl dmVyLiBTaW5jZSBhdHRpdHVkaW5hbHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29y ZCwgYXBwbHlpbmcgaXQgdG8gYSBmYSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNv bnN0cnVjdCB3aGljaCBpcyB0ZXJtaW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4g dXNlIGF0dGl0dWRpbmFscyBhZnRlcnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGly ZSBicmlkaToKCicnemEnYSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0uLi4g dmF1IGknZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24uLi4g SSBhcHByb3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEgcGVy c29uYWxpdHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxpc2lv biwgd2UgY2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVnaW4g cmVtb3ZpbmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtv IHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBs byBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1 X18nJwoKCgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1hdGljYWxs eSB1bm5lY2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQgaXMgJydq aW1wZScnLCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHNl bGJyaSBwZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1wZScnIGFz IGEgc2VsYnJpIGNhbm5vdCBiZSBpbiB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAob25seSBv bmUgYnJpZGkgaW4gYSBjbGF1c2UsIG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRpKSwgd2Ug Y2FuIGVsaWRlICcna3UnbycnLiBMaWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBhIHNlY29u ZCBzZWxicmkgaW5zaWRlIHRoZSBjb25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScnLCBzbyB0 aGUgJydrdScnIGlzIG5vdCBuZWVkZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRoZSBmYSdv cm1hJ28gYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVkIHRvbywg c2luY2UgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0aGVzZSBj b25zdHJ1Y3RzIGFueXdheS4KCldlIHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdpIG1pIGRq aWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNp IGxvIG51IHZvJ2EgZGFyeGkgbWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpX aGVuIGVsaWRpbmcgZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVk IHdpdGggJydjdScnLiAnJ2N1JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtl IHlvdXIgKExvamJhbmljKSBsaWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNl cGFyYXRlIGFueSBwcmV2aW91cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkg dGhhdCBpdCBkZWZpbmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5h dGVzIGV4YWN0bHkgYXMgbXVjaCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoK X18nJ2N1JydfXyBlbGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRp bmcgc3VtdGksIGFsbG93cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFt aScnX18gPSDigJx4MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUn dSBkbyBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1pJycgPQoK JydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNlIGRqaWNh IG1pJycKCuKAnFRoYXQgeW91IHNheSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQgYnkgYmXi gJ0gb3Ig4oCcSSB3aXNoIHlvdSBzYWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydjdScnIGlz IG5vdCBhIGZhJ29ybWEnbywgYmVjYXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3BlY2lmaWMg Y29uc3RydWN0LiBCdXQgaXQgY2FuIGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3JtYSdvLgoK CgpPbmUgb2YgdGhlIGdyZWF0ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBpdCBxdWlj a2x5IGJlY29tZXMgZWFzeSB0byBpbnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNlbGYgaXQg bWVhbnMgbm90aGluZywgYnV0IGl0IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2piYW4gZXhw cmVzc2lvbnMgYnkgaWRlbnRpZnlpbmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3JpZ2luYWwg ZXhhbXBsZSB3aXRoIHRoZSB2aW9sZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcnY3UnJyBi ZWZvcmUgJydqaW1wZScnIGRvZXMgbm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgc2VudGVu Y2UgaW4gYW55IHdheSwgYnV0IG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoKCkluIHRo ZSBmb2xsb3dpbmcgY291cGxlIG9mIGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQgd2hlbiBu ZWNlc3NhcnksIGFuZCBhbGwgZmEnb3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhlIGVsaWRl ZCBmYSdvcm1hJ28gd2lsbCBiZSBlbmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBzaG93biBi ZWxvdy4gVHJ5IHRvIHRyYW5zbGF0ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMgaW1wb3J0 YW50IHRvIHgyIGZvciByZWFzb24geDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5kZXJzdGFu ZHMgdGhhdCB4MiAoZHUndS1hYnN0cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2En bycnX18gLSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAt IGRlc3BhaXIKCgoKJydhJ28gZG8gbm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1fSBjdSBq aW1wZSBsbyBkdSd1IGxvIGZhJ29ybWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9IHtrdX0g e3ZhdX0nJwoKV2hhdCBkbyBJIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgaG9w ZSB0aGF0IHlvdSwgYSBwcm91ZCBMb2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdv IGFyZSBpbXBvcnRhbnTigJ1+fgoKCgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZl cnNlZCBpbiBmYSdvcm1hJ28tZWxpc2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhl eSBvZnRlbiBtdXN0IGJlIHJlbWluZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdv cm1hJ28gYXJlIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNo IFR1ZXNkYXkgaGF2ZSBiZWVuIGRlc2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydm YSdvcm1hJ28gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRlcm1p bmF0b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJlciB3 cml0aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVyc2F0 aW9ucyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUgKHN1 bXRjaXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRoZSBz ZWxicmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUgYW1v dW50IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhlIHN1 bXRpIHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hhdCBp Ziwgc2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNvbXB1 dGVyPyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0byBz cGVjaWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUgdGlt ZSwgdGhhdCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlzIG9u IGhvdyB0byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoKVGhl IG1vc3QgYmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdvIFNFTEJS SSBmZSd1JycgKHllcywgYW5vdGhlciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4g SXQncyBhbG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBsYXN0IHRp bWUgeW91IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdvZXMgYSBz ZWxicmksIGFuZCBsaWtlICcnbG8gU0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUndScnIGV4 dHJhY3RzIHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcn ZmknbyBTRUxCUkkgZmUndScnLCB0aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRv IGEgc3VtdGksIGJ1dCB0byBhICcnc3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKA nSwgd2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNv bnZlcnRlZC4gVGhpcyAnJ3N1bXRjaXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBP bmUgY291bGQgc2F5IHRoYXQgdXNpbmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10 aSBwbGFjZSBmcm9tIGFub3RoZXIgc2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWlu ZyBzYWlkLgoKTm90ZTogU29tZXRpbWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUg dGVybSDigJx0YWfigJ0gb3Ig4oCcbW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJ Z25vcmUgdGhvc2UgcHVueSBFbmdsaXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9q YmFuIGhlcmUuCgoKCldoaWxlIGl0IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSBy ZWFkaW5nIGFib3V0IGl0LCBhbiBleGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBz aW1wbGljaXR5OgoKX18nJ3NrYW1pJydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3Nl IHgy4oCdCgpfXycncGlsbm8nJ19fIOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4 M+KAnQoKCgonJ21pIGZhbnZhIHRpIGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1pIHtrdX17 dmF1fScnIC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgyIG9m ICcncGlsbm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNlIHN0 cnVjdHVyZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBzdHJ1 Y3R1cmUgaXMgY2FwdHVyZWQgYnkgJydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRvIHRoZSBt YWluIHNlbGJyaSwgYW5kIHRoZW4gZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2Yg JydzdW10Y2l0YScnIGlzIHNvbWV0aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUg Zm9sbG93aW5nIHRyYW5zbGF0aW9uOgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEg Y29tcHV0ZXLigJ0KCgoKQSAnJ3N1bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwg d2hpY2ggaXMgYWx3YXlzIHRoZSBmb2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0aGUgJydz dW10Y2l0YScnIGNvbnN0cnVjdCBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywgaW4gd2hp Y2ggY2FzZSBhICcnem8nZScnIGlzIGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0YScnLiBP ciwgb25lIGNvdWxkIGltYWdpbmUgYW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0ZWQgd2l0 aCB0aGUgJydrdScnLgoKX18nJ3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwgZW50aXR5 IGNhcnJ5aW5nIG91dCBhY3Rpb24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaSdvIHp1a3Rl IHtmZSd1fSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g 4oCcV2l0aCB2b2xpdGlvbiwgYSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAo cGVyaGFwcyBpbXBseWluZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8g VG91Z2ggaXQgZG9lcyBub3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0 IGJlIHRoZSBwcm9ncmFtbWVyIHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3Jp bmcuKQoKCgpXaGF0IGRvZXMgJydtaSBqaW1wZSBmaSBsYSBsb2piYW4gZmknbyBzZSB0YXZsYSB7 ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHVuZGVyc3RhbmQg c29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bva2VuIHRvIG1l4oCdfn4KCgoKUHV0dGluZyB0aGUg JydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRoZSBzZWxicmkgYWxzbyBtYWtlcyBpdCBz ZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25seSBjYW4gYWJzb3JiIHN1bXRpLCBhbmQg bm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2YgaW1wb3J0YW5jZSBpbiBuZXh0IGxlc3Nv biwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRseSwgJydmaSdvJycgaXMgbm90IHVzZWQgdmVyeSBv ZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJUyB1c2VkIHZlcnkgb2Z0ZW4sIHRo b3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2YgTG9qYmFuIHdvcmRzLCB3aGljaCBpbiB0 aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4YW1wbGUgb2YgdGhpcyBpcyAnJ3p1 J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRpY2FsbHksICcnenUnZScnIGlzIHRo ZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1JycuIFRodXMsIHRoZSBhYm92ZSBleGFtcGxlIGNv dWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Uga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBs b2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJBSSwgYW5k IGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBj YW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhh dCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAnJ2ZpJ28gc2UgenVrdGUgZmUndScnLCB3aGljaCBy ZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4KCgoKISFMb2piYW4gTGVzc29ucyAtIExl c3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEsIFZFaEEpCgpIb3cgdW5mYW1pbGlhciB0 byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdoZW4gb25lIGNhbiBy ZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdpdGhvdXQgbWVldGlu ZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkgbmF0dXJhbCBsYW5n dWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2UpLCBhbGwgdGVuc2Vz IGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxvIGNpcmxhIHtrdX0n JyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBv ciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50LCBpIHdpbGwgaGF2 ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVzb2x2ZXMgd2hhdCBp cyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBhcmUgbm90IG5lZWRl ZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVkZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBt dXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJlIHVudXN1YWwgYmVj YXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBz YXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdyYW1tYXRpY2FsbHkg ZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUgbm9ydGguCgpMaWtl IG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBz IHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4gVW5saWtlIG1hbnkgb3Ro ZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBwZXJmZWN0bHkgcmVndWxhciBhbmQgbWFrZXMgc2Vu c2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3QgaW52b2x2ZSBzd2VhdGluZyB0byBsZWFy biBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55dGhpbmcgc2lsbHkgbGlrZSB0aGF0LgoK CgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0sIGFsbCB0ZW5zZXMgYXJlIHN1bXRjaXRh LCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0IG1hZGUgb3Vyc2VsdmVzIGZhbWlsaWFy IHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRlbnNlcyBhcmUgc2xpZ2h0bHkgZGlmZmVy ZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlzIGRpZmZlcmVuY2UgaXMgYWxtb3N0IGlu c2lnbmlmaWNhbnQsIGFuZCB3b24ndCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIEluIG1vc3Qg YXNwZWN0cyB0aGV5IGFyZSBsaWtlIGFsbCBvdGhlciBzdW10Y2l0YTsgdGhleSBhcmUgdGVybWlu YXRlZCBieSAnJ2t1JycsIG1ha2luZyBpdCBleHBsaWNpdCB0aGF0IFBVIGlzIHRlcm1pbmF0ZWQg YnkgJydrdScnLgoKVGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRj aXRhLCBzbyBsZXQncyBzdGFydCBhdCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gt c3BlYWtlcnMuCgpfXycncHUnJ19fIC0gc3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycnY2En J19fIC0gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydfXyAt IHN1bXRjaXRhOiBhZnRlciB7c3VtdGl9CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNv bmNlcHRzIOKAnGJlZm9yZeKAnSwg4oCcbm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFs aXR5IHRob3VnaCwgb25lIGNvdWxkIGFyZ3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRzIGNh biBuZXZlciBvY2N1ciBleGFjdGx5IHNpbXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScnIHVz ZWxlc3MuIEJ1dCAnJ2NhJycgZXh0ZW5kcyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUg ZnV0dXJlLCBtZWFuaW5nIGp1c3Qg4oCcYWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVt YW4gYmVpbmdzIGRvbid0IHBlcmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkgbG9naWNhbCB3YXks IGFuZCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0LgoKCgpTaWRlIG5vdGU6 IEl0IHdhcyBhY3R1YWxseSBzdWdnZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVt IHJlbGF0aXZpc3RpYy4gVGhhdCBpZGVhLCBob3dldmVyLCB3YXMgZHJvcHBlZCwgYmVjYXVzZSBp dCBpcyBjb3VudGVyLWludHVpdGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0byBsZWFybiBMb2pi YW4sIG9uZSB3b3VsZCBoYXZlIHRvIGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVsYXRpdml0eSBmaXJz dC4gIAoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcSSBleHByZXNzIHRoaXMgYWZ0ZXIgSSBj YW1lIGhlcmU/4oCdIChwb2ludGluZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgY3Vza3UgdGkgYmEgbG8gbnUgbWkga2xhbWEgdGkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1 fScnfn4KCgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5 IHdoaWNoIGV2ZW50IGluIHRoZSBwYXN0IHRoaXMgYWN0aW9uIGlzIHJlbGF0aXZlIHRvLiBJbjog 4oCcSSBnYXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rp b24gaGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUg dGhlIHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBpdCdzIG9idmlvdXM6CgonJ3B1IGt1 IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5kYSBsbyBza2FtaSB7 a3V9IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25seQoKJydtaSBwdSB7a3V9IGR1bmRh IGxvIHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0 YSBpcyBhbiBpbXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzIHVuZGVyc3Rv b2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBl c3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4g SWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBzb21lIG90aGVyIHRp bWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVu c2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91 dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRo ZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQgJyduYXUnJyBjYW4gYmUgdXNl ZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFya3MgYSB0ZW5zZSB3aGljaCBp cyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3aWxsIGJlIHRhdWdodCB3 YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFuZCBzcGFjaWFsIGZyYW1l IG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVyZSBhbmQgbm93LgoKCgpf XycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2YgcGVvcGxlIHgyIHdpdGggbGFu ZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydtaSBwdSB7a3V9IGtsYW1hIGxv IG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFtZXJpY2HigJ0sIGRvZXMg bm90IGltcGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxpbmcgdG8gVVNBLCBvbmx5IHRoYXQg aXQgd2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIGZvciBpbnN0YW5jZSBmaXZl IG1pbnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRpbWUg dGVuc2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0IHRoZSBwcmV2aW91cyB0aHJlZSB0 aW1lIHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0ZW5zZXM6CgpfXycnenUnYScnX18g c3VtdGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3UnJ19fIHN1bXRjaXRhOiBpbiBmcm9u dCBvZiB7c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6IHJpZ2h0IG9mIHtzdW10aX0KCl9f JydidSd1JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lh bCBlcXVpdmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21w bGV4IHB1cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdv dWxkICcnLm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUge2t1fSBjdSBkYXJ4aSBsbyBnZXJr dSBwdSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBtZWFuPyAobm90aWNlIHRoZSBmaXJz dCBlbGlkZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0cy9oaXRzIHgyIHdpdGggaW5zdHJ1 bWVudCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHthbmdlciF9IFRv IHRoZSByaWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBtZSkgYW5kIGluIHRoZSBwYXN0IChv ZiBzb21lIGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50IG9mIGEgcGVyc29uIGJlYXRpbmcg YSBkb2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBteSByaWdodCHigJ1+fgoKCgpJZiB0 aGVyZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBvbmUgYnJpZGksIHRoZSBydWxlIGlz IHRoYXQgeW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoaW5raW5nIGl0IGFzIGEg c28gY2FsbGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBXaGVyZSB5b3UgYmVnaW4gYXQgYW4g aW1wbGllZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVmYXVsdDogdGhlIHNwZWFrZXIncyBu b3cgYW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUg ZnJvbSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUg ZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9IOKAnEF0IHNvbWUgdGltZSBpbiB0 aGUgcGFzdCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJvdXQgZmEnb3JtYSdvcy7igJ0KCicn bWkgYmEge2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9 Jycg4oCcQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29k IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUgYW1vdW50 IG9mIHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBp biBib3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRoZSBwb2lu dCBvZiByZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBh cmUgbWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNp YWwuIElmIHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1bHQgaW4g c3ludGFjdGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3QgdG9sZXJhdGUuCgoK ClN1cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhlIGEgbWFuIGhpdCBhIGRvZyBqdXN0 IGEgbWludXRlIGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6YScnIGFuZCAnJ3p1Jycgc3BlY2lm aWVzIGEgc2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5IG1lZGl1bSkgYW5kIGxvbmcgZGlz dGFuY2UgaW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRlciAnJ2knJywgJydhJycgYW5kICcn dScnLiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFnYWluIGluIExvamJhbiwgYW5kIG1p Z2h0IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKAnSBhbmQg4oCcbG9uZ+KAnSBpbiBh cmUgYWx3YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2ZSBhbmQgc3ViamVjdGl2ZS4gVHdv IGh1bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBhIHNwZWNpZXMgdG8gZXZvbHZlLCBi dXQgYSBsb25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4KCl9fJyd6aScnX18gc3VtdGNpdGE6 IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2lu dCBvZiByZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVj aWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiBy ZWZlcmVuY2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNl IG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgoKClNpbWls YXJseSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkgJyd2aScnLCAnJ3ZhJycgYW5kICcn dnUnJyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGlu IHNwYWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNl IG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndmEnJ19f IHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7 c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3Z1JydfXyBzdW10 Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20g dGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScnX18g4oCceDEgd29ya3MgYXQgeDIg d2l0aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAnJ2JhIHtrdX0gemEga3UgbWkgdnUg e2t1fSBndW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZSB0aW1lIGlu IHRoZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9uZyBhd2F54oCdfn4KCk5vdGU6IFBl b3BsZSByYXJlbHkgdXNlICcnemknJywgJyd6YScnIG9yICcnenUnJyB3aXRob3V0IGEgJydwdScn IG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVvcGxlIGFs d2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZlIGxhbmd1 YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1vc3Qgb2YgdGhlIHRp bWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydwdScnIG9yICcnYmEn JyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlvbi1zdW10Y2l0YSBh bmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBSZW1lbWJl ciB0aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNlIHdvcmRzIHBsYWNlZCB0b2dldGhl ciBhcmUgcGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9tIGxlZnQg dG8gcmlnaHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAn J3p1IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlz IGEgbG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4g dGhlIGZpcnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0 LCAnJ3p1JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNl Y29uZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZh ciBhd2F5IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dh cmRzIGZyb20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0 LiAnJ3p1IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0 aW1lIHRlbnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMg YmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBv ZiBvdGhlciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0 aW9uYWwgc3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIs IGFsbCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdl cmUgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50 cyBwbGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2lu ZyBmZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMg b2YgdGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3Zl ciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUnYScnX18gc3VtdGNpdGE6IHNwYW5u aW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRpbWUgb2Yge3N1bXRpfQoKX18nJ3pl J3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoK CgpfXycndmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9m IHtzdW10aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVj aWZpZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ3UnJ19fIHN1bXRjaXRhOiBz cGFubmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4IHdvcmRzIGF0IGEg dGltZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUg c2ltaWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFu ZCB2IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6aW5nLgoKX18nJy5v aScnX18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5zbGF0ZTogJycub2kg ZGFpIGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHplJ3Uge2t1fSB7dmF1 fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgeW91IHNwZW5kIGEgbG9uZyB0aW1l IHRyYXZlbGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKAnSB+fgoKCgpUaG91Z2ggbW9zdCBw ZW9wbGUgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwgdGVuc2VzLCB0aGVzZSBuZXcgd29y ZHMgY2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0IHVzZXMuIE9uZSBjb3VsZCwgZm9y IGluc3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmlnIGRvZ+KAnSBhcyAnJ3RpIHZlJ3Ug e2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3IgYSBsb25n IHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1z cG9rZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRzIGJyb3RoZXJzIGFsc28gY29tYmlu ZSB3aXRoIG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5kIHRlbnNlcy4gVGhlIHJ1bGUgZm9y ICcnemUndScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMgcHJlY2VkaW5nIGl0 IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0byB0aGUgcG9pbnQg b2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQgbWFya3MgdGhlIG90 aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91bGQgYmUgZGVtb25z dHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5vJ29jdSdpIGRvIGNpdGthIHB1 IHtrdX0gemUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScnIC0g4oCce3RvbGVyYW5jZX0g eW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBhIGxvbmcgdGltZSBlbmRpbmcg YXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdoZW4geW91IHN0YXJ0ZWTigJ0g b3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9uZSBjYW4gYWxzbyBjb250 cmFzdCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3aXRoICcn ZG8gcHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7dmF1fScnLiBUaGUgZmlyc3QgZXZl bnQgb2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHByZXNlbnQgYW5kIGV4dGVu ZHMgYSBsaXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUgdGhlIHNlY29uZCBldmVudCBoYXMg b25lIGVuZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRzIG9ubHkgdG8gdGhlIHByZXNlbnQg KHRoYXQgaXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBmdXR1cmUpIG9mIHRoYXQgZW5kcG9p bnQuCgpfXycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5IHN0YW5kYXJkIHgy4oCdCgoKCldo YXQgZG9lcyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUndSB7a3V9IGptaXZlIHt2YXV9Jycg ZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7aGFwcGluZXNzIX0gSSBsaXZlIGZy b20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25nIHdheSB0b3dhcmRzIHRoZSBmdXR1 cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGluIHRoaXMgY2FzZSkgb2YgdGhhdCBl dmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBtb3N0IG9mIG15IGxpZmUgYWhlYWQg b2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0aGUgc2ltaWxhcml0eSB3aXRoIHNw YWNpYWwgdGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGgg c3BhY2lhbCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1ZGluYWw6IHdvbmRlciAtIGNvbW1v bnBsYWNlCgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9IHZlJ3Uge2t1fSBjYSd1IHtrdX0g emRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhl cmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3csIHRoaXMgaG9tZSBleHRlbmRp bmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUgd2l0aCB0aGlzIHN5 bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRl biBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vzbid0IG9jY3VweSB5b3VyIGJyYWlu IGluIG9yZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4gU2luZyBhIHNvbmcgb3Ig ZWF0IGEgY29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIsIGFzIGxvbmcgYXMgeW91IGxldCB5 b3VyIG1pbmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8p CgpUaG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMg Zm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNo b3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCd LCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRo YXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0IHRvIGl0OgoKCgpVc2luZyB0aGUg dGVuc2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNhbiBpbWFnaW5lIGFuIGluZGVmaW5p dGUgdGltZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVudHMgb24gdGhhdCBsaW5lIHJlbGF0 aXZlIHRvIHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29udG91cnMsIGhvd2V2ZXIsIHdlIHZp ZXcgZWFjaCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhhcyBjZXJ0YWluIHN0YWdlczogQSB0 aW1lIGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBpdCBiZWdpbnMsIGEgdGltZSB3aGVu IGl0IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVuZHMsIGFuZCBhIHRpbWUgYWZ0ZXIg aXQgaGFzIGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRlbGxzIHVzIHdoaWNoIHBhcnQgb2Yg dGhlIGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUgdGltZSBzcGVjaWZp ZWQgYnkgdGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6 CgoKCl9fJydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBoYXMgbm90 IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2NhJ28nJ19fIC0gc3VtdGNpdGE6IGV2 ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCl9fJydiYSdv JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlkaSBoYXMg ZW5kZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkg c29tZSBleGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScn IG1lYW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2luIHRvIGhhdmUgYSBob21l4oCdLgoK CgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtrdX0gc2Ug emRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1c2UsIHJlbWVtYmVy LCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90 aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5nICcncHUnbycnLCB0 aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJvY2Vz cyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBv bmUgbm93LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21pIGJhIHtrdX0gc2UgemRhbmkge3Zh dX0nJyBpcyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycsIGFuZCBs aWtld2lzZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJz ZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBzZWVuIGZyb20g dGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZp ZXcgZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJz IGFyZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9mIHRlbnNlcy4gRXZlbiBtb3JlIGNs YXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2VzOiAnJy5hJ28gbWkg YmF7a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9JycgLSDigJxJIGhvcGUgSSd2ZSBz b29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwgd2UgYWxzbyBvcGVyYXRlIHdp dGggYW4gZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwg ZW5k4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZlIGluIHRo aXMgc2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUg cHJvY2VzcyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91dCBhIGxhdGUgdHJh aW4sIGZvciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGluZyB5b3UgaXMgbm93 IGV4dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNl cnZlZCBtZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0aGF0IHByb2Nlc3Mn IG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91cnMgdXNlZCBpbiB0aGVzZSBleGFt cGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNv bnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0cyBuYXR1cmFsIGVuZCBkdXJpbmcg e3N1bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlz IGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycnY2lkamEnJ19fOiDi gJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0ZTogJycu b2kgZG8gY2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0gdSdlIGNpdGthIHpvJ2Ugbm9pIGNp ZGphIGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91IGhhdmUgZmluaXNoZWQsIGluY3Jl ZGlibHksIGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0 aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6IFpBaE8gdGVuc2VzIChldmVudCBj b250b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkg c3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93IHRoZSBl dmVudCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBwb2ludC1saWtlLgoKCgpBbGwgb2Yg dGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hp Y2ggdGFrZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRl bnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55IG9mIHRoZSBldmVudCBjb250b3Vy cyBkZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJl Z2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcnYnUndScnLCB0aGV5IGFjdHVhbGx5 IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2YgdGhhdCBwb2ludCwg YW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBpbXBvcnRhbnQgcG9p bnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY28nYScnX18gLSBzdW10Y2l0YTogZXZl bnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcge3N1bXRpfQoKX18n J2NvJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRp bmcgZHVyaW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUg dGhlIHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5lY2Vzc2FyaWx5IGhh cyBlbmRlZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJp ZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgpNb3N0IG9mIHRoZSB0 aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQgdGhlaXIgbmF0dXJhbCBlbmRp bmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFpbnMgYXJlIG5vdCB1c3VhbGx5 IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1zZWx2ZXMgdG8gZWF0IG9ubHkg ZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUgaW50ZXJydXB0ZWQgYW5kIHJl c3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBvd24gZXZlbnQgY29udG91ciBh bHNvOgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBh dXNpbmcgZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAn J2p1bmRpJycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0sICcnZGUnYSBqdW5k aScnIGFuZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlzIG9mIHNheWluZyDi gJxCUkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhl IGV2ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdldHMgYWNy b3NzLgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVudCwgZnJvbSB0aGUg YmVnaW5uaW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2luZyAnJ2NvJ2knJzoK Cl9fJydwZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPigJ0KCicnbWkgcHUg e2t1fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2YXV9Jycg LSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJl IGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g dHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcsIHRob3NlIHR3byBsb25nIGxlc3Nv bnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRoZSBicmFpbiBzb21ldGhpbmcgdG8g cG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQncyBzbyBkaWZmZXJlbnQgZnJvbSBF bmdsaXNoLiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRl cnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5kIGZvY3VzIV9fCgoK ClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBv dXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQg d2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBteXNlbGYsIG9yIGV4 cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5n bGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1 cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg4oCceW91 4oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCkluIExvamJhbiwgZWxp ZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNvIHRoYXQgcG9zc2liaWxpdHkgaXMg c2FkbHkgbm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tvJycsIHdo aWNoIGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycnLiBHcmFtbWF0aWNhbGx5IGFuZCBi cmlkaS13aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQgYWRkcyBhIGxheWVy IG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50IHdpdGggJydrbycn IGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNlIGlzIHRy dWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2UgZG9uJ3QgbmVlZCB0 aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9uJ3QgbmVlZCBvcmRlci13b3Jk cyBkZXJpdmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoKCgpIb3cgY291bGQg eW91IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUgKHVzaW5nICcna2xh bWEnJyBhcyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmtvIHZlJ3Ug emUndSBrbGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkgY2EgY28ndSBjaXNrYSBsbyBmYSdv cm1hJ28gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxvb2sgdXAgY2lza2EgYW5kIHdvcmsgaXQg b3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0 aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBibGFuaywgYW5kIHRydWUvZmFsc2Ug cXVlc3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQg LSB0aGF0J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBpbnZvbHZlcyBvbmUg d29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNl bnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJlY2Vk aW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVuY2Ug aW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4gb3Jk ZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZlJ3UgemRh bmkgZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91IGp1c3QgcmVwZWF0IHRoZSB0aGUg c2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMg ZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJt IHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRv IGFuc3dlciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0 aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3 ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhlIG90aGVy IGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlv biB3b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJy aWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcg b24gd2hhdCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydtYScnX18gLSBzdW10aSBxdWVzdGlv bgoKX18nJ21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18nJ3hvJydfXyAtIG51bWJlciBxdWVz dGlvbgoKX18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2VsbCBhcyBtYW55IG90 aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxhY2UgdGhlIHF1ZXN0 aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVuZGEgbWEgbWknJyAt IGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qgc3VtdGkuIOKAnFlv dSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydzdW10Y2l0YScnICsg JydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdSdpJydfXyAtIHN1bXRjaXRhOiBt b3RpdmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycub2kgZG8gZGFyeGkg bWkgbXUnaSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0KCgoKTGV0J3MgdHJ5 IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6CgonJy51aSBkYWkgZG8gY2Eg emUndSBwdSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91J3JlIGhhcHB5LCB3aGF0 IGhhdmUgeW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVj aG5pY2FsbHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBi dXQgYW5zd2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZp b3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5veWluZyBvbiBwdXJwb3NlLn5+CgoK ClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3RydWN0dXJlIGRvZXMgbm90IHJldmVh bCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBvciBub3QsIG9uZSBiZXR0ZXIgbm90 IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8g Zm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2Vu dGVuY2VzLCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50 ZW5jZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0 aGF0IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJraW5nIHRo YXQgdGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBs aWNpdGx5IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3 ZSBhcmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQncyBhbHNvIGFwcHJvcHJpYXRlIHRv IG1lbnRpb24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKAnGluZGly ZWN0IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/IFdlbGws IHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBkanVubyBsbyBkdSd1IG1hIGthdSB6 ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoKX18nJ2RqdW5vJydf XyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9n eSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAn J21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBub24tcXVlc3Rpb24g d29yZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0 IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBkdSd1IGR1bmRhIHRp IGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhp cy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5 IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVzdGluZykg c3R1ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZp bmQgdGhlIExvamJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBS b2JpbiIsIG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExvamJhbiBvbiBNdW1ibGUsIGFuZCB0 aGVuIHByYWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2aW5nIGFuIGludGVybmFsIGNvbnZl cnNhdGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBpc24ndCB3 aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlvbiBmcm9t IHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwgbm90IGJl IG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0IGJlLCBi dXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9sb2d5LgoKCgpXaGF0 IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVlayBtZWFuaW5nIOKA nHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRhbGsgYWJv dXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNvbnRyYXN0 ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4gTG9qYmFu IG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBjbGFzc2VzLCB3aGlj aCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFrZSBpdCBhbGwgbmlj ZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBmdW5jdGlvbnMgdGVu ZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0IGV4Y2VwdGlvbnMg bWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlwaWNhbCBGdW5jdGlv bgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGktd29yZHwgICBBbW9u ZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMgYSBjb25zb25hbnQg Y2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBkZWZhdWx0 LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwgICBSb290LXdvcmR8 IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBPbmUgdG8gZml2ZSBz dW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVqdm98ICBDb21wb3Vu ZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCcY29tcGxl eCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdpbmcgcmFmc2kgdG9n ZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMgbW9yZSBj b21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBDb3B5LXdvcmQgfCBB cyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNtdSBvciBs dWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxpa2UgbmFt ZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUtd29yZCB8ICAgQmVn aW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3VuZC9sZXR0 ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0aGUgY29u dGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBGcm9tIOKAnGNtYXZs YeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50IG9yIHplcm8sIGFs d2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAgR3JhbW1hdGljYWwg ZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAgfAoKICAgUmFmc2l8 ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBvciBDQ1ZD eS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhlciB0byBm b3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlm eSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEg ZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQu IGNtZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBh IG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5u b3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2Vk IGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVz IGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVz IG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9w aGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBO YW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRl ZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJl bW92ZWQ6ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJpZGktd29y ZHPigJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJlZm9yZSBh bG1vc3QgYWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBicml2bGEu IFRoaXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxjb250ZW50 LXdvcmRz4oCdLiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwg d2l0aG91dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRl IGxvamJhbiBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGlu IHRoZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRh YmxlLCBicml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0 aGUgcm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFu ZCB2ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMg Y29uY2VwdHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg 4oCcZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcn ZHVuZGEnJwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1 bmRlciByYWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25l IG5hcnJvd3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkg YW4gZWxhYm9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkg aXMgbmVhciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxwYSdpJycs IGZyb20gJydzZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBoYXZlIG9uZSBkZWZpbml0aW9uLiBJ bnN0ZWFkLCBsdWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRlZmluZWQs IGFuZCB0aGVuIHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBkaWN0aW9u YXJ5LiBFeGFtcGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGktd29yZCksICcnY2luamlrY2EnJyAo c2V4dWFsLXNvY2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNoZWxsLWlu c2VjdCA9IGJlZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJlIG1hZGUgYnkgbWFraW5nIHVwIHdv cmRzIHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQgbm90IGZvciBsdWp2 byBvciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNoIGl0J3MgaGFyZCB0 byBjb3ZlciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMg b3IgdmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1 Z2RyZ29ndXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScn IChhbmdlbCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHpl cm8gY29uc29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBl eHRlcmlvciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhj ZXB0aW9ucyBvY2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRpbmFscyBl eGlzdHMgZm9yIHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJkIGV4YW1w bGUgYXJlIHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0IGFzIGJyaXZsYS4g SXQgaXMgdmFsaWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGluIGEgcm93IGFzIG9uZSB3b3JkLCBi dXQgaW4gdGhlc2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBkb25lLiBCeSBncm91cGluZyBjZXJ0 YWluIGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwgaXQgaXMgc29tZXRpbWVzIGVh c2llciB0byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxpZCwgYW5k IGlzIHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6dSB2dSBrdSBtaSBjaXRrYScn LiBMaWtlIG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAoYnV0IG5lZWQgbm90IGFsd2F5 cykgcGxhY2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0aCBhIHZv d2VsLgoKY21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBvciBWJ1ZWIGFyZSBleHBlcmltZW50 YWwsIGFuZCBhcmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIsIGJ1 dCB3aGljaCBoYXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQgdG8gYSBj ZXJ0YWluIG5lZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5vdCBMb2piYW4gd29yZHMsIGFuZCBj YW4gbmV2ZXIgYXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZlcmFsIChtb3JlIHRoYW4gb25lKSBy YWZzaSBjb21iaW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1cCB0byB0 aGUgYnJpdmxhLWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAnJ2xvamJhbicnIGlzIGludmFsaWQg YmVjYXVzZSBpdCBlbmRzIGluIGEgY29uc29uYW50ICh3aGljaCBtYWtlcyBpdCBhIGNtZXZsYSks IGFuZCAnJ2NpJ2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBub3QgY29udGFpbiBh IGNvbnNvbmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFkIGFzIHR3byBjbWF2byB3cml0dGVu IGFzIG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0cmluZyBpcyBib3RoIGEgY21hdm8g YW5kIGEgcmFmc2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhl IHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90 aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUg bm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ks IGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIg bGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEg cmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2Vs ICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0 ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0sIC1DVkND ViBhbmQgLUNDVkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93IG5vdywgeW91IHNob3VsZCBiZSBh YmxlIHRvIGFuc3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2VudDoKCkNhdGVnb3JpemUgZWFjaCBv ZiB0aGUgZm9sbG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyksIGdpc211IChnKSwgbHVqdm8gKGwp LCAnJ2Z1J2l2bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJs CgpCICkgLmlyY2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCAp IHhlbG1hbiAgICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2UgICAgICAgIEsgKSBkYW5zZWtlCgpG ICkgZGppc2t1ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6YS1jLCBi LWYsIGMtZywgZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGktYywgai1sLCBrLWYsIGwtZi4gSSBs ZWZ0IG91dCB0aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0IHdvdWxk bid0IGJlIHRvbyBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1 JycgZG8gbm90IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50 LiBUaGUgbW9ycGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdCdzIGp1c3QgYW4g dW5kZWZpbmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBM QSkKCklmIHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRo ZSBsZXNzb25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93 bGVkZ2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2ggb3JkZXIg eW91IGxlYXJuIHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBuZXh0IGxl c3NvbnMgd2lsbCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNpbmcgZGlmZmljdWx0 eSBhbmQgc29ydGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZlcnNhdGlv bi4KCgoKT25lIG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMgb24geW91ciBzcGVhayBub3cgaXMg eW91ciBsaW1pdGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFrZSBzdW10aS4gU28gZmFyLCB5b3Ug b25seSBrbm93ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywgd2hpY2ggZG9lc24ndCB0YWtlIHlv dSBmYXIgY29uc2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlz IGxlc3NvbiBhcyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExv amJhbiBzdW10aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3Vt dGksIHRoZSBvbmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJl IGluIGxvamJhbiBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBp biB0aGlzIGxlc3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUgY29tYmlu YXRpb25zICcnbGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01FVkxBJycu IFdlIHdpbGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMgb2YgZGVzY3Jp cHRpdmUgc3VtdGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qg c28gc2ltcGxlIGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBnYWRyaTogR2VuZXJpYyB2ZXJpZGlj YWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJl Z2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsZScnX18gLSBnYWRyaTogR2Vu ZXJpYyBkZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlz IHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xhJydf XyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJy aSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFsKHMpLgoK CgpZb3UgYXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQgZG9lcy4g QnV0IHdoYXQgZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3VlIHdpdGgg cmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGlu ZGl2aWR1YWxzIGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNrIHRvIGxhdGVyLiBGb3Igbm93LCDi gJx2ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEg dGhpbmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0 byBhY3R1YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBhIGNsYWlt IHdoaWNoIG1heSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0 aW9uIGFyZSBhY3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuIAoKCgpU aGlzIG1heSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwg YW5kIHRodXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91 IGhhdmUgb25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0 aGUgc2VsYnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIg bWF5IGlkZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuIFRoaXMgbWVhbnMgdGhhdCAnJ2xl JycgaGF2ZXMgdHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBmcm9tICcnbG8nJzogRmlyc3RseSwg aXQgY2Fubm90IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyByZWZlcnMg dG8gc3BlY2lmaWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vya3UnJyBkZWZpbml0 ZWx5IGlzIG9uZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdzIG5vdCB2 ZXJpZGljYWwsIGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3Mg dGhlIGRlc2NyaXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3Rz LiBQZXJoYXBzIHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5v dCBmYW1pbGlhciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdo IGFwcHJveGltYXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlz IHBlcmhhcHMgb3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5 IHRvIGRlc2NyaWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBk b2csIGFuZCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3Un JyBpcyB1c3VhbGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNv ICcnbG8gZ2Vya3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDi gJxhIGRvZ+KAnSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0 aGUgZG9n4oCdIG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScn IHdvdWxkIGJlIOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJh c2ljICcnZ2FkcmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hp Y2ggSSBoYXZlIHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hh dCBJIG1lYW4gYnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVy aWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNo IHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVy IGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUg aXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVy cmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhl IGdhZHJpIGRlcml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtl IGFueSBvdGhlciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBu b3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkg dXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2Vs YnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJh bmlzdCBoYXZlIHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMgJydsYWknJyBhbmQgJydsYSdpJycg YXJlIGEgYml0IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fsd2F5c19fIG1hcmtzIHRoZSBiZWdp bm5pbmcgb2YgYSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0aGluZyB0aGF0IGNh biBiZSBncmFtbWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0ZXJzIGFy ZSBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBleGFtcGxlLCAnJ2xlIG1pIGdlcmt1 JycgaXMgIm15IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1JycgaXMgc29tZW9uZSBjYWxsZWQgIk15 IERvZyIuCgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0 aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJyds b2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4g VHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRp dmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3Mo ZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg 4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMg bWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9y IG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJl IGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNz IGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2Ug YmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNj cmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9m IGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpIGlmLCBhbmQg b25seSBpZiwgYWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVhY2ggZml0IHRoZSBzZWxicmkuIEl0 IGlzIGNvcnJlY3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcnbG8gZ2Vya3UnJywgY29uc2lkZXJl ZCBpbmRpdmlkdWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBmb3IgZWFjaCBvZiB0aGUgZG9ncyBp dCdzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIgaGFuZCwg Zml0cyBvbmx5IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29tcG9uZW50cyBmaXQgYXMgYSB3aG9s ZSwgYXMgYSB0ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwgYWxsIHRoZSBtZW1iZXJzIG9mIGEg bWFzcyAnJ2xvaSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBvcmRlciBmb3IgJydsb2knJyB0byBi ZSBhcHBsaWNhYmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMiIGFyZSBzb3BoaXN0aWNhdGVkLCBh bmQgcmVxdWlyZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0cmF0ZSB3aGljaCBwcm9wZXJ0aWVz IGl0IGNhbiBoYXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEgZmxhbmtzL2VuY2lyY2xlcy9lbmNs b3NlcyB4MiBpbiBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPigJ0KCicnbGVpIHByZW51IGN1IHNy dXJpIGxvIHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJvdW5kZWQgdGhlIGhvbWUu4oCdIGlz IHBsYXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9rZXMgbm90IGNvbnNpZGVyZWQsIGl0 J3MgY29tcGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNvdWxkIGJlIHRydWUgZm9yIGFueSBv bmUgb2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2ggYW5hbG9neSBjb3VsZCBiZTog4oCc SHVtYW5zIGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRoIGNlbnR1cnnigJ0uIFN1cmVseSBu byBodW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1hbnMgZGlkLCBhbmQgdGhhdCBtYWtl cyB0aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3ZWxsIGFzIGluIExvamJhbiBpZiDi gJxodW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRoZSBMb2piYW4gbWFzcywgdGhlIEVu Z2xpc2ggbWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVmZXIgdG8gaW5kaXZpZHVhbHMgZWFj aCBvZiB3aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBsZToKCl9fJydtaXZ5c2xlJydfXzog IngxIGlzIGEgYmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNtIHgyIgoKX18nJ3JlbW5hJydfXzog IngxIGlzIGEgaHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJlbW5hJycgLSAiU29tZSBtYXNzZXMg b2YgY2VsbHMgYXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2YgdGhlIGNlbGxzIGFyZSBodW1hbi4g SW5kZWVkLCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1hbiB0cmFpdHMsIGJ1dCB0aGUgY2Vs bHMgY29uc2lkZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEgaHVtYW4uCgoKCkEgbWFzcyBtYWRl IHdpdGggJydsZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScnLCByZWZlcnMgdG8gYSBtYXNzIGZv cm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRo ZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2Ny aWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdo b2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJl LiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBh IGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0 aGF0ICcnbG8nJyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIGJvdGggaW5kaXZp ZHVhbHMgYW5kIG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBvZiBkb2dzLCBjb25zaWRlcmVkIGFz IGEgbWFzcyBuZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBkZXNjcmliZSBpdCBhcyBlaXRoZXIg Jydsb2kgZ2Vya3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkgdXNlICcnbG8nJywgdGhpcyBhbGxv d3MgbWUgdG8gY29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3aGljaCBsb29rcyBsaWtlIGEgY29u dHJhZGljdGlvbiwgYnV0IHJlYWxseSBpc24ndDogJydsbyBnZXJrdSBuYSBnZXJrdScnIC0gIlNv bWUgZG9ncyBhcmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJlaW5nIGNvbnNpZGVyZWQgYSBtYXNz IG9mIGRvZ3MsIHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBhcyBhIHdob2xlIGlzIG5vdCBhIGRv ZywgYnV0IHJhdGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhh dCB0aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRv IGluZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxu ZXNzLCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVh bnRpZmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxh dGVyLCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycn IGFuZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBi ZWNhdXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29u dGV4dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBp cyBiZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBp biB0aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoK X18nJ2xvJ2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10 aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xlJ2knJ19fIC0gZ2Fkcmk6IERlc2Ny aXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBz ZXQuCgpfXycnbGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg 4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMg YSBzZXQuCgoKClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVhbHMgb3IsIHNvbWV0aW1lcywgbWFz c2VzLCBzZXRzIGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20gdGhlIG9i amVjdHMgZnJvbSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4gQSBzZXQgaXMgYSBwdXJlbHkgbWF0 aGVtYXRpY2FsIG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQgaGFzIHByb3BlcnRpZXMgbGlrZSBj YXJkaW5hbGl0eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1c2lvbi4gQWdhaW4sIG5vdGUgdGhl IGRpZmZlcmVuY2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3MsIGFuZCB0aGUgdGhpbmdzIG9mIHdo aWNoIHRoZSBzZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1JydfXyDigJx4MSBpcyBhIHRpZ2VyL2xl b3BhcmQvamFndWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0aCBjb2F0IG1hcmtpbmdzIHgz4oCd CgonJ2xvJ2kgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcg Y2F0cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBi dXQgaW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlz IC0gdGhlcmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkg dHdvKSBnZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xvJ2UnJ19fIC0gZ2Fkcmk6IHZlcmlk aWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBh cmNoZXR5cGUgb2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xlJ2UnJ19fIC0gZ2Fkcmk6IERlc2Ny aXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhl IGRlc2NyaWJlZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcnbGUge3NlbGJyaX0nJy4KCk9mIHdo aWNoIHRoZXJlIGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoKCgpTbywgd2hhdCBpcyBhY3R1YWxs eSBtZWFudCBieSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydlIHRpcnh1JycsIGl0IGlzIGFuIGlk ZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNo IGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0 IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0 aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3Qg aGF2ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2Us IHRoZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxv dCBvZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZl IGEgdHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoK X18nJ2tha25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBj aXJjdW1zdGFuY2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZsYScnIC0g 4oCcVGhlIHR5cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr4oCdLgoKCgonJ2xlJ2UnJyB0aGVu LCBpcyB0aGUgaWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBvciBkZXNjcmliZWQgYnkgdGhlIHNw ZWFrZXIuIFRoaXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNvcnJlY3QsIGFuZCBpcyBvZnRlbiB0 cmFuc2xhdGVkIGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBldmVuIHRob3VnaCB0aGUgRW5nbGlz aCBwaHJhc2UgaGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRpdmUgY29ubm90YXRpb25zLCB3aGlj aCB0aGUgTG9qYmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVyeW9uZSBoYXMgYSBzdGVyZW90eXBp Y2FsIGFyY2hldHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVnb3J5LiBJbiBvdGhlciB3b3Jkcywg JydsbydlIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFs bCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZSdlIHJlbW5hJycgYmVzdCBl eGVtcGxpZmllcyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUgZWxldmVuIGdhZHJpIGNhbiBiZSBz ZWVuIGluIHRoZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVyaWN8TWFzc2VzfFNldHN8R2VuZXJh bGl6aW5nCgp2ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoKRGVzY3JpcHRpdmV8bGV8bGVpfGxl J2l8bGUnZQoKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6IEVhcmxp ZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBnZW5lcmljIGdhZHJpLiBIb3dl dmVyLCB0aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRyaSB3ZXJlIGNoYW5nZWQgaW4g bGF0ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVzIG9uIHRoaXMgdG9waWMsIG5p Y2tlZCDigJx4b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5vdywgJydsbycnIGlz IGdlbmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNhbCBkaWdpdCAobGVz c29uIG5pbmV0ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZpZnRlZW4gKHRo ZSBMb2piYW4gc3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNlZSB3aGF0IGhhcHBl bnMgaWYgSSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlwaWNhbCBw ZW9wbGUgd2hvIGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhlciBhYm91dCB0aGUg bGFuZ3VhZ2VzIHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDigJx4MSBpcyBhIGxh bmd1YWdlIHVzZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p4oCdCgonJ2xlJ2Ug cHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEg bGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBi YW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ugc2UgYmFu Z3Uga2UnYScnCgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2ZXJzaW9uIGlzIG11 Y2ggbG9uZ2VyIHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1c2UgdGhl IGZpcnN0LCByaWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBlYXRlZCB0d28gbW9y ZSB0aW1lcyBpbiB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNoIGNhbiByZWZlciB0 byBpdCBieSDigJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVjaCBtb3JlIGVmZmlj aWVudGx5LiBXb3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hh bmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBh IHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2EnaScn IG1lYW5pbmcg4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3ZSByZWZl ciB0byB0aGVtIGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxseSB0aGUg c2FtZSBhcyB0aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkgaW5zdGVhZCBvZiBu b3Vucy4gSW4gZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8nJyBhbmQgJydtaScn LCBidXQgdGhlcmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBGaXJzdCwg d2Ugd2FudCB0byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRoZSBvbmVz IG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFscmVhZHkgbGVhcm5l ZDoKCgoKX18nJ3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJlcHJlc2Vu dHMgYSBzdW10aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9fJyd0YScnX18gLSBz dW1rYSdpOiDigJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgc29tZSBwaHlzaWNh bCBkaXN0YW5jZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5lcuKAnQoK X18nJ3R1JydfXyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXByZXNlbnRzIGEgc3Vt dGkgcGh5c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoK CgpZb3UgY2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGlj aCBwb3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVh cmluZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRo aW5nIHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3Rz LCBjZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBi dXQgb25seSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBw bGFjZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNv bWUgYmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlz dGFuY2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3 b3JkczogJyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJvbSBib3RoIHRoZSBz cGVha2VyIGFuZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBzcGVha2VyIGFuZCBs aXN0ZW5lciBpcyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRoZSBzcGVh a2VyIHRhbGtpbmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3NlIHRvIHRoZSBsaXN0 ZW5lci4gVGhpcmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQgZGVwZW5kZW50LiBU aGVzZSB0aHJlZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4dCwgZm9y IGluc3RhbmNlLCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtlciBhbmQgbGlzdGVu ZXIgaXMgdW5rbm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdvZXMgYnku IEZ1cnRoZXJtb3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9pbnQgdG8gYW4gb2Jq ZWN0IGFuZCBleHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0aGVyZSBp cyBhIHNlcmllcyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQgJydkbycnIChhbmQg JydrbycnLCBidXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19f IC0gc3Vta2EnaTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycnX18gLSBzdW1rYSdpOiBUaGUg bWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaSdhJydf XyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMuCgpfXycn bWEnYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSwgdGhlIGxpc3Rl bmVyKHMpIGFuZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhlIGxpc3RlbmVyKHMp LgoKX18nJ2RvJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVyKHMpIGFu ZCBvdGhlcnMuCgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2lseSBncmFzcGVkIGlu IHRoZSBiZWxvdyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0aHVtYj0ieSIgcmVs PSJib3hbZ10ifQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhjbHVkZWQpLiAnJ2xl IGRyYXRhJycgaXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3RoZXIocynigJ0KCgoK SXQgaXMgcG9zc2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVha2Vyc+KA nSwgaWYgb25lIHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9mIHRoZW0u IFRoZXJlZm9yZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0aGVyICcn bWknJywgJydtaSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0ZSBvZnRl biBtZWFucyBpcyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBzaXgsIGlmIHRoZXkg cmVmZXIgdG8gbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQgbWFzc2VzLiBXaXRo aW4gYnJpZGktbG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEEg aXMgZXhhY3RseSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQiB0 byBzcGVha2VyIEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ugd2lsbCBj b21lIGJhY2sgdG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChwcm8tYnJpZGkpIGxl c3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQtc3BlY2lm aWMsIGFuZCBjYW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhl IHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2Vy aWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycn cmknJ19fIC0gc3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydyYScnX18g LSBzdW1rYSdpOiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50aW9uZWTi gJ0KCl9fJydydScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KA nQoKCgpUaGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2Vw dCBtb3N0IG90aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9zdCBvdGhlciAnJ3N1 bWthJ2knJyBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRoYXQgdGhl eSBhcmUgc28gZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9u IHRvIHRoZSBydWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBiZWNhdXNlIHlvdSBj b3VsZCBoYXZlIGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5vdCBqdXN0 IHJlcGVhdCB0aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVybWluYXRlZCBzdW10 aSwgYW5kIHRodXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW4g YWJzdHJhY3Rpb24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlvbjogJydsZSBwZW5k byBub2kga2UnYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAn J3JpJycgY2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVy bWluYXRlZCwgbm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhleSBhcmUgc3Vta2En aSwgc28gaXQgcmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQgJydydScnIGFyZSBj b250ZXh0LWRlcGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZvbGxvdyB0 aGUgcnVsZXMgbWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyByZWZlciB0byBhIG1v cmUgZGlzdGFudCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlzIG1vcmUgZGlzdGFu dCB0aGFuICcncmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2Vs bCBzdWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlp bmcgaXQgdXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxv amJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2EnJy4gJydy aScnIGlzIG5vdCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xhIC5sb2piYW4uJycu ICcncmEnJyBjb3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5seSBiZSB0aG91Z2h0 IHRvIHJlZmVyIHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywgYnV0ICcncnUnJyBp cyBhc3N1bWVkIHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUgbW9zdCBv dXRlciBvbmUufn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJlc2VudCB1 dHRlcmFuY2VzOiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhleSBuZWVkIG5vdCBi ZSByZXN0cmljdGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2FuIGJlIHNldmVyYWwg c2VudGVuY2VzLCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEndScnX18gVXR0ZXJh bmNlIHZhcmlhYmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0dGVyYW5j ZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBQcmV2aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBU aGlzIHNlbnRlbmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0IHNlbnRl bmNlCgpfXycnZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5j ZQoKX18nJ2RhJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBzZW50ZW5j ZQoKX18nJ2RvJ2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRlcmFuY2Ug dmFyaWFibGU6IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2VudHMgc2VudGVuY2Vz IGFzIHN1bXRpLCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRoZSBsZXR0 ZXJzLCBub3QgdG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJlIGFyZSBtb3JlIExv amJhbiAnJ3N1bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBm cm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRp IG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNp eHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFi bHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtlJ2EnJyBp cyBhIGxlc3MgdGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxhbmd1YWdl4oCdLiBU aGlzIGlzIGJlY2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFnZSB3aGlj aCBJIHNwZWFrIGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2YgdGhlIGJyaWRpICcn YmFuZ3UgbWknJy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRy aTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWkn JyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNp bmcgJydsZSBzdSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEgbmV3IHgx LCB0aGUgYWJzdHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFjdHMgdGhhdC4gVGhh dCBtYWtlcyBhbiBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtlIOKAnHRo YXQgc29tZXRoaW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScnLiAnJ2JlJycgaXMg YSB3b3JkIHdoaWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQgb3RoZXJz KSB0byBhIHNlbGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhhcyBubyBlZmZlY3Q6 IGluICcnbWkgbmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIs IHdoZW4gYSBzdW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwgeW91IGNhbiB1c2Ug YSBnYWRyaSBvbiB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0dGluZyBvZmY6ICcn bGUgYmFuZ3UgYmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gYWJv dmUuIExpa2V3aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRhcnhpIGtl aSBiZSBnYXUgZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNhdXNlZCBi eSB5b3XigJ0uIE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tlaScnIG1h a2VzIGl0IHBhcnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28gcHJlc2VudCwgJydi ZScnIGF0dGFjaGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBhdHRhY2hl cyB0byAnJ2RhcnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNpc2VkOiBJ cyB0aGUgaGl0dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlvdT8gSW4g dGhpcyBzcGVjaWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0IHRoZSBzYW1lIHRo aW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJy aSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMg JydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAn J2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAt IOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgbm8gc2Vu c2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0aGUgYWxs IHRoZSBvbmVzIGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3aXRoICcnYmVpJycu IFRoZSDigJxiaW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydiZSdvJycgLSBvbmUg aW5zdGFuY2Ugb2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3Vu ZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1 bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3Vy dGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZSdvJydfXyBlbmRz IGJpbmRpbmcgdG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBsb29zZWx5IGFzc29j aWF0ZSBhIHN1bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycgZm9yIHJlc3RyaWN0 aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xlIGJhbmd1 IHBlIG1pJycgaXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2XigJ0sIHNp bmNlIHRoaXMgcGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBob3cgdGhl IHR3byBhcmUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycgYW5kICcnbmUnJyBh cmUgdXNlZCBhcyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWluZyDigJxteSBjaGFp cuKAnSBhYm91dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90IHJlYWxseSB5b3Vy cywgYnV0IGhhcyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0ZSBjb25u ZWN0aW9uIGNhbiBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywgd2hpY2ggbWFrZXMgdGhlIGFz c29jaWF0aW9uIHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCcbXkgY2Fy 4oCdIGZvciBhIGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0IGtpbmQgb2YgYXNz b2NpYXRvciBpcyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQgImluYWxpZW5hYmxl IiBib25kIGJldHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5hdGUgYmV0 d2VlbiB0aGUgdHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJteSBtb3RoZXIiLCAi bXkgYXJtIiBvciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2VzaW9ucyIg Y2FuIGJlIGxvc3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0J3Mgc3RpbGwgX195 b3VyX18gYXJtKSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFsbW9zdCBhbGwgb2Yg dGhlIHRpbWVzIGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwgdGhlIHgyIG9mIHRo ZSBzZWxicmkgY29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMgY29ubmVjdGVkLCBz byAnJ2JlJycgaXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUg cGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BlJydfXyByZXN0cmlj dGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycn cG8nJ19fIHBvc3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBzcGVjaWZpYyB0by4u LiIKCl9fJydwbydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBiZWxv bmdzIHRvLi4uIgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93IGlzICcne2dhZHJp fSB7c3VtdGl9IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAnJ3tnYWRyaX0ge3Nl bGJyaX0gcGUgIHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBpcyBlcXVp dmFsZW50IHRvICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUgZGVzY3JpcHRpb24g c3VtdGkgaW5zaWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBjaW5qaWtj YSBiZSBtaSBrdSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2luamlrY2EgYmUgbWkn JyA94oCcdGhlIGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdCdz IG5vdCB2ZXJ5IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiksIGFu ZCBpcyBvZnRlbiBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJuICcndHUn YScnLCBzaW5jZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFzaWVyLiBJ dCB0YWtlcyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1bXRpIC0gYW4gZWxs aXB0aWNhbCBhYnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIGZp cnN0IHN1bXRpLiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamljYSBsbyBudSBtaSBj aXRrYSBsbyBwbGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBjb250ZXh0IHdoYXQg YWJzdHJhY3Rpb24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0IHNheSAnJ21pIGRq aWNhIHR1J2EgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFj dGlvbiB0aGUgc3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28gaXQgc2hvdWxkIG9u bHkgYmUgdXNlZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVzcy4gQW5vdGhlciBl eGFtcGxlOgoKX18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAodm9saXRp b24gbm90IGltcGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScnIC0g4oCc SSBzZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lh bGx5LCAnJ3R1J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydl JycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fu bm90IHVzZSAnJ3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJsZS4gVGhl c2Ugc2l0dWF0aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3VsdGluZyBzdW10aSB0 byBiZSBhbiBhYnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3VtdGkuIEluIHRoaXMgY2FzZSwg b25lIGNhbiB1c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2 YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUg c3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNh biBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4K Cl9fJydsdSdhJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0 byBpbmRpdmlkdWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNz L3NlcXVlbmNlL3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZlcnQgaW5kaXZpZHVh bChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29udmVydCBp bmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0aGUgb3JkZXIgaXMg bm90IHN0YXRlZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9yd2FyZGx5 OiBQbGFjaW5nIHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFrZXMgYSBu ZXcgc3VtdGkgb2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBmb3VydGgg a2luZCBvZiBzdW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlzIGlzIG5v dCB1c2VkIHZlcnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5z dGFuY2UpLCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3Qg dHdvIG1lbWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRp LCBidXQgYWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5n IHNvbWV0aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJz IHRvIGEgc3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9m IGEgYm9vaywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8g c29tZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJlZmVycyB0 byBzdW10aSBCLiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBmb3Ig4oCc SSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNo IGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCYJ2xhJ2Ug bGUgY21hbHUgbm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl4oCdLCBh bmQgbm90IHNvbWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1J2UnJyBk b2VzIHRoZSBleGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJlZmVycyB0byBhbiBv YmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScnX18gLSDigJx0aGUg dGhpbmcgcmVmZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBhIHN1bXRp IEIgd2hpY2ggcmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVy cmluZyB0b+KAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hlbiBCIHJl ZmVycyB0byBBLgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXByYWN0aWNh bGx5IGxhcmdlIHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBhbmQgdGhpcmQgaW5z dGFsbG1lbnQgY2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAoKHdhdmVsZXNzb25z Y29udGludWVkcDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhl IGxhdHRlcikpLiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9ybWVyIiBv ciAidGhlIGxhdHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5LgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2luZXVyb3RpYyBtYWls aW5nIGxpc3QKV2lraW5ldXJvdGljQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3dpa2luZXVyb3RpYwo=