Received: from localhost ([::1]:46416 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UWlNB-00064m-Ar; Mon, 29 Apr 2013 03:31:53 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:56573 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UWlN1-00064e-6b for wikineurotic@lojban.org; Mon, 29 Apr 2013 03:31:51 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 29 Apr 2013 03:31:43 -0700 From: "Apache" Date: Mon, 29 Apr 2013 03:31:43 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by gleki at 10:31 UTC Comment: format corrections in vowel section You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by gleki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMTA6 MzEgVVRDCkNvbW1lbnQ6IGZvcm1hdCBjb3JyZWN0aW9ucyBpbiB2b3dlbCBzZWN0aW9uCgpZb3Ug Y2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3Lmxv amJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2aWV3IGEgZGlmZiBi YWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRw Oi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPXdhdmVsZXNz b25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9NjEmbmV3dmVyPTYyCgoKKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNoYW5n ZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1 cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAxOC00MSBjaGFuZ2VkIHRv ICtMaW5lczogMTgtNDEgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSsKVGhlcmUgYXJlIHNpeCB2b3dlbHMgaW4gTG9qYmFuLgoKLSB8 fGEgfGFzIGluICcnZl9fYV9fdGhlcicnIChub3QgYXMgaW4gJydoX19hX190JycpPGJyIC8+ZSB8 YXMgaW4gJydnX19lX190Jyc8YnIgLz5pIHxhcyBpbiAnJ21hY2hfX2lfX25lJycgb3IgKEl0YWxp YW4pICcndl9faV9fbm8nJyAobm90IGFzIGluICcnaF9faV9fdCcnKTxiciAvPm8gfGFzIGluICcn Yl9fb19fbGQgJydvciAnJ21fX29fX3JlJydub3QgYXMgaW4gJydzX19vJydfXyAodGhpcyBzaG91 bGQgYmUgYSAncHVyZScgc291bmQuKTxiciAvPnUgfGFzIGluICcnY19fb29fX2wnJyAobm90IGFz IGluICcnYl9fdV9fdCcnKSB8fDxiciAvPlRoZXNlIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBh cyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGggdm93ZWwsIHksIGlzIGNh bGxlZCBhIF9fc2Nod2FfXyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2Vk IGxpa2UgdGhlIGZpcnN0IGFuZCBsYXN0ICcnQScnJ3MgaW4gJydBbWVyaWNhJycgKHRoYXQncyBF bmdsaXNoICcnQW1lcmljYScnLCBub3QgU3BhbmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29t ZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBsZXRlbHkgcmVsYXhlZC4KKyB8fCcnYScnIHxh cyBpbiAmcXVvdDtmX19hX190aGVyJnF1b3Q7IChub3QgYXMgaW4gJnF1b3Q7aF9fYV9fdCZxdW90 Oyk8YnIgLz4nJ2UnJyB8YXMgaW4gJnF1b3Q7Z19fZV9fdCZxdW90OzxiciAvPicnaScnIHxhcyBp biAmcXVvdDttYWNoX19pX19uZSZxdW90OyBvciAoSXRhbGlhbikgJnF1b3Q7dl9faV9fbm8mcXVv dDsgKG5vdCBhcyBpbiAmcXVvdDtoX19pX190JnF1b3Q7KTxiciAvPicnbycnIHxhcyBpbiAmcXVv dDtiX19vX19sZCZxdW90OyBvciAmcXVvdDttX19vX19yZSZxdW90OyAgbm90IGFzIGluICZxdW90 O3NfX29fXyZxdW90OyAodGhpcyBzaG91bGQgYmUgYSAncHVyZScgc291bmQuKTxiciAvPicndScn IHxhcyBpbiAmcXVvdDtjX19vb19fbCZxdW90OyAobm90IGFzIGluICZxdW90O2JfX3VfX3QmcXVv dDspIHx8PGJyIC8+VGhlc2UgYXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lIGFzIHZvd2VscyBpbiBJ dGFsaWFuIG9yIFNwYW5pc2guIFRoZSBzaXh0aCB2b3dlbCwgJyd5JycsIGlzIGNhbGxlZCBhIF9f c2Nod2FfXyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhl IGZpcnN0IGFuZCBsYXN0ICZxdW90O0EmcXVvdDsncyBpbiAmcXVvdDtBbWVyaWNhJnF1b3Q7ICh0 aGF0J3MgRW5nbGlzaCAmcXVvdDtBbWVyaWNhJnF1b3Q7LCBub3QgU3BhbmlzaC4pIEl0J3MgdGhl IHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBsZXRlbHkgcmVsYXhl ZC4KVHdvIHZvd2VscyB0b2dldGhlciBhcmUgcHJvbm91bmNlZCBhcyBvbmUgc291bmQgKF9fZGlw aHRob25nX18pLiBTb21lIGV4YW1wbGVzIGFyZToKCi0gfHxhaSB8YXMgaW4gJydoX19pZ2gnJ19f PGJyIC8+YXUgfGFzIGluICcnaF9fb3cnJ19fPGJyIC8+ZWkgfGFzIGluICcnaF9fZXknJ19fPGJy IC8+b2kgfGFzIGluICcnYl9fb3knJ19fPGJyIC8+aWEgfGxpa2UgR2VybWFuICcnX19KYScnX188 YnIgLz5pZSB8bGlrZSAnJ19feWVhaCcnX188YnIgLz5pdSB8bGlrZSAnJ19feW91JydfXzxiciAv PnVhIHxhcyBpbiAnJ19fd2FhaCEnJ19fLCBvciBGcmVuY2ggJydxX191b2knJ19fPGJyIC8+dWUg fGFzIGluICcncV9fdWVfX3N0aW9uJyc8YnIgLz51byB8YXMgaW4gJydxX191b19fdGUnJzxiciAv PnVpIHxsaWtlICcnX193ZScnX18sIG9yIEZyZW5jaCAnJ19fb3VpJydfXyB8fDxiciAvPkRvdWJs ZSB2b3dlbHMgYXJlIHJhcmUuIFRoZSBvbmx5IGV4YW1wbGVzIGFyZSBpaSwgd2hpY2ggaXMgcHJv bm91bmNlZCBsaWtlIEVuZ2xpc2ggJyd5ZScnIChhcyBpbiBPaCBjb21lIGFsbCB5ZSBmYWl0aGZ1 bCkgb3IgQ2hpbmVzZSAnJ3lpJycsIGFuZCB1dSwgcHJvbm91bmNlZCBsaWtlICcnd29vJycuCisg fHwnJ2FpJycgfGFzIGluICZxdW90O2hfX2lnaF9fJnF1b3Q7PGJyIC8+JydhdScnIHxhcyBpbiAm cXVvdDtoX19vd19fJnF1b3Q7PGJyIC8+JydlaScnIHxhcyBpbiAmcXVvdDtoX19leV9fJnF1b3Q7 PGJyIC8+JydvaScnIHxhcyBpbiAmcXVvdDtiX19veV9fJnF1b3Q7PGJyIC8+JydpYScnIHxsaWtl IEdlcm1hbiBfXyZxdW90O0phX18mcXVvdDs8YnIgLz4nJ2llJycgfGxpa2UgX18mcXVvdDt5ZWFo X18mcXVvdDs8YnIgLz4nJ2l1JycgfGxpa2UgX18mcXVvdDt5b3VfXyZxdW90OzxiciAvPicndWEn JyB8YXMgaW4gX18mcXVvdDt3YWFoIV9fJnF1b3Q7LCBvciBGcmVuY2ggJnF1b3Q7cV9fdW9pX18m cXVvdDs8YnIgLz4nJ3VlJycgfGFzIGluICZxdW90O3FfX3VlX19zdGlvbiZxdW90OzxiciAvPicn dW8nJyB8YXMgaW4gJnF1b3Q7cV9fdW9fX3RlJnF1b3Q7PGJyIC8+Jyd1aScnIHxsaWtlIF9fJnF1 b3Q7d2VfXyZxdW90Oywgb3IgRnJlbmNoIF9fJnF1b3Q7b3VpX18mcXVvdDsgfHw8YnIgLz5Eb3Vi bGUgdm93ZWxzIGFyZSByYXJlLiBUaGUgb25seSBleGFtcGxlcyBhcmUgJydpaScnLCB3aGljaCBp cyBwcm9ub3VuY2VkIGxpa2UgRW5nbGlzaCAmcXVvdDt5ZSZxdW90OyAoYXMgaW4gT2ggY29tZSBh bGwgeWUgZmFpdGhmdWwpIG9yIENoaW5lc2UgJnF1b3Q7eWkmcXVvdDssIGFuZCAnJ3V1JycsIHBy b25vdW5jZWQgbGlrZSAnJ3dvbycnLgohISEhQ29uc29uYW50cwpNb3N0IExvamJhbiBjb25zb25h bnRzIGFyZSB0aGUgc2FtZSBhcyBFbmdsaXNoLCBidXQgdGhlcmUgYXJlIHNvbWUgZXhjZXB0aW9u czoKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgohTG9qYmFu IFdhdmUgTGVzc29ucyBDb250aW51ZWQ6CgohISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGggaGVscCBm cm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2YgbGEgLmtyaWJhY3Iu IFNwcmluZyAyMDEzLgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gemVybzogRm9yZXdv cmQKClRoZXNlIGxlc3NvbnMgYXJlIGFuIGF0dGVtcHQgdG8gZXhwYW5kIG9uIHRoZSBHb29nbGUg V2F2ZSBMZXNzb25zLCBhbiBleGNlbGxlbnQgTG9qYmFuIHR1dG9yaWFsIGJ5IGtyaWJhY3IsIHhh bGJvLCBhbmQgb3RoZXJzLCB3aGljaCBzYWRseSBvbmx5IGNvdmVyZWQgdGhlIGZpcnN0IGZvdXIg Y2hhcHRlcnMgaW4gdGhpcyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50cyB0aGUgbmV3ZXN0IHJ1bGVz IG9mIExvamJhbiBub3QgY292ZXJlZCBieSBvbGRlciBtYXRlcmlhbHMgc3VjaCBhcyBXaGF0IGlz IExvamJhbj8gYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzLgoKCgpJZiB5b3UgYXJlIG5ldyB0byBM b2piYW4sIEkgcmVjb21tZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3JkaW5ncyB5b3UgY2FuIGZp bmQgb2Ygc3Bva2VuIExvamJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUgeW91IGFyZSB0YWtpbmcg dGhpcyB0dXRvcmlhbCwgaW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBmYW1pbGlhciB3aXRoIHRo ZSBzb3VuZHMgYW5kIHdvcmRzIG9mIHRoZSBsYW5ndWFnZX50Y34sIHdoaWNoIHdpbGwgbm90IGJl IGV4cGxhaW5lZCBoZXJlfi90Y34uIEZ1cnRoZXJtb3JlLCB0cnkgdG8gc2F5IHRoZSB0aGluZ3Mg eW91IHJlYWQgaW4gTG9qYmFuIGFjY2VudCBpZiBpdCdzIHJlYXNvbmFibHkgcHJhY3RpY2FsLiBU aGlzIGNhbiBoZWxwIHlvdXIgcHJvbnVuY2lhdGlvbiBhIGxvdC4KCgoKV2hlbiB0YWtpbmcgdGhp cyB0dXRvcmlhbCwgaXQncyBiZXN0IHRvIHBhdXNlIGJldHdlZW4gbGVzc29ucyBpbiBvcmRlciB0 byBpbnRlcm5hbGl6ZSB3aGF0IHlvdSBoYXZlIGxlYXJudC4gSSBoYXZlIGF0dGVtcHRlZCB0byBi dWlsZCB0aGVzZSBsZXNzb25zIGZyb20gdGhlIGJvdHRvbSB1cCBhbmQgZXhjbHVkZSBhbnkgd29y ZHMgb3IgY29uY2VwdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGV4cGxhaW5lZCBpbiBwcmV2aW91cyBs ZXNzb25zLiBPbmNlIGV4cGxhaW5lZCwgdGhleSBhcmUgdXNlZCBmcmVlbHkgdGhyb3VnaG91dCB0 aGUgcmVtYWluZGVyIG9mIHRoZSB0dXRvcmlhbC4gSSB1cmdlIHJlYWRlcnMgbm90IHRvIHBhc3Mg YW55IG1pc3VuZGVyc3Rvb2QgY29udGVudDsgaWYgeW91IGhhdmUgcXVlc3Rpb25zIG9yIGFyZSB1 bmNlcnRhaW4gYWJvdXQgc29tZXRoaW5nLCBmZWVsIGZyZWUgdG8gYXNrIHRoZSBMb2piYW4gY29t bXVuaXR5LCB3aGljaCBjYW4gYmUgZm91bmQgaW4gI2xvamJhbiBvbiB0aGUgRnJlZW5vZGUgSVJD IG5ldHdvcmsuIFRoZXkgd2lsbCBiZSBoYXBweSB0byBoZWxwLgoKCgpJbiB0aGlzIHR1dG9yaWFs LCBMb2piYW4gdGV4dCBpcyB3cml0dGVuIGluICcnaXRhbGljcycnLiBMYXRlciwgd2hlbiB1c2Vk IGFzIExvamJhbiBsb2Fud29yZHMgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHRoZXkgYXJlIG5vdCBt YXJrZWQuIEFuc3dlcnMgdG8gZXhlcmNpc2VzIGFyZSBkaXNwbGF5ZWQgYXMgYSBncmV5IGJhci4g SGlnaGxpZ2h0IHRoZSB0ZXh0IGluIG9yZGVyIHRvIHNlZSBpdC4KCgoKTGFzdGx5LCBJIGhhdmUg YXMgZmFyIGFzIHBvc3NpYmxlIGF0dGVtcHRlZCB0byB1c2UgdGhlIExvamJhbiB3b3JkcyBmb3Ig Z3JhbW1hdGljYWwgY29uc3RydWN0czogJydzdW1rYSdpJycgaW5zdGVhZCBvZiBwcm8tc3VtdGks ICcnc3VtdGNpdGEnJyBpbnN0ZWFkIG9mIG1vZGFsIGFuZCAnJ2p1ZnJhJycgaW5zdGVhZCBvZiB1 dHRlcmFuY2UuIFRoaXMgaXMgYmVjYXVzZSBJIGZlZWwgdGhlIEVuZ2xpc2ggd29yZHMgYXJlIG9m dGVuIGVpdGhlciBhcmJpdHJhcnksIGluIHdoaWNoIGNhc2UgdGhleSBhcmUganVzdCBtb3JlIHdv cmRzIHRvIGxlYXJuLCBvciBtaXNsZWFkaW5nLCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIHdvcnNl IHRoYW4gdXNlbGVzcy4gSW4gZWl0aGVyIGNhc2UsIGFzIGxvbmcgYXMgdGhlIHdvcmRzIGFyZSBz cGVjaWZpYyB0byB0aG9zZSB3aG8gYXJlIGxlYXJuaW5nIExvamJhbiBhbnl3YXksIHRoZXJlIGlz IG5vIHJlYXNvbiBmb3IgdGhlbSB0byBleGlzdCBhcyBzZXBhcmF0ZSBFbmdsaXNoIHdvcmRzLgoK CgohISFQcmVmYWNlLiBTb3VuZHMKClRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyB3aGVu IHlvdSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMgdG8gYmVjb21lIGZhbWlsaWFyIHdpdGgg dGhlIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0aGV5IGFyZSB3cml0dGVuLCBhbmQg dGhlIHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5hdGVseSwgTG9qYmFuIHNvdW5kcyAoX19w aG9uZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZC4KCiEhISFWb3dlbHMKClRoZXJl IGFyZSBzaXggdm93ZWxzIGluIExvamJhbi4KCgoKfHwnJ2EnJyB8YXMgaW4gImZfX2FfX3RoZXIi IChub3QgYXMgaW4gImhfX2FfX3QiKQoKJydlJycgfGFzIGluICJnX19lX190IgoKJydpJycgfGFz IGluICJtYWNoX19pX19uZSIgb3IgKEl0YWxpYW4pICJ2X19pX19ubyIgKG5vdCBhcyBpbiAiaF9f aV9fdCIpCgonJ28nJyB8YXMgaW4gImJfX29fX2xkIiBvciAibV9fb19fcmUiIOKAlCBub3QgYXMg aW4gInNfX29fXyIgKHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUnIHNvdW5kLikKCicndScnIHxhcyBp biAiY19fb29fX2wiIChub3QgYXMgaW4gImJfX3VfX3QiKSB8fAoKVGhlc2UgYXJlIHByZXR0eSBt dWNoIHRoZSBzYW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9yIFNwYW5pc2guIFRoZSBzaXh0aCB2 b3dlbCwgJyd5JycsIGlzIGNhbGxlZCBhIF9fc2Nod2FfXyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUs IGFuZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0IGFuZCBsYXN0ICJBIidzIGluICJBbWVy aWNhIiAodGhhdCdzIEVuZ2xpc2ggIkFtZXJpY2EiLCBub3QgU3BhbmlzaC4pIEl0J3MgdGhlIHNv dW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBsZXRlbHkgcmVsYXhlZC4K ClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5jZWQgYXMgb25lIHNvdW5kIChfX2RpcGh0 aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CgoKCnx8JydhaScnIHxhcyBpbiAiaF9faWdoX18i CgonJ2F1JycgfGFzIGluICJoX19vd19fIgoKJydlaScnIHxhcyBpbiAiaF9fZXlfXyIKCicnb2kn JyB8YXMgaW4gImJfX295X18iCgonJ2lhJycgfGxpa2UgR2VybWFuIF9fIkphX18iCgonJ2llJycg fGxpa2UgX18ieWVhaF9fIgoKJydpdScnIHxsaWtlIF9fInlvdV9fIgoKJyd1YScnIHxhcyBpbiBf XyJ3YWFoIV9fIiwgb3IgRnJlbmNoICJxX191b2lfXyIKCicndWUnJyB8YXMgaW4gInFfX3VlX19z dGlvbiIKCicndW8nJyB8YXMgaW4gInFfX3VvX190ZSIKCicndWknJyB8bGlrZSBfXyJ3ZV9fIiwg b3IgRnJlbmNoIF9fIm91aV9fIiB8fAoKRG91YmxlIHZvd2VscyBhcmUgcmFyZS4gVGhlIG9ubHkg ZXhhbXBsZXMgYXJlICcnaWknJywgd2hpY2ggaXMgcHJvbm91bmNlZCBsaWtlIEVuZ2xpc2ggInll IiAoYXMgaW4g4oCcT2ggY29tZSBhbGwgeWUgZmFpdGhmdWzigJ0pIG9yIENoaW5lc2UgInlpIiwg YW5kICcndXUnJywgcHJvbm91bmNlZCBsaWtlICcnd29vJycuCgohISEhQ29uc29uYW50cwoKTW9z dCBMb2piYW4gY29uc29uYW50cyBhcmUgdGhlIHNhbWUgYXMgRW5nbGlzaCwgYnV0IHRoZXJlIGFy ZSBzb21lIGV4Y2VwdGlvbnM6CgoKCnx8ZyB8YWx3YXlzICcnZycnIGFzIGluICcnX19nX191bScn LCBuZXZlciAnJ2cnJyBhcyBpbiAnJ19fZ19fZW0nJwoKYyB8JydzaCcnLCBhcyBpbiAnJ19fc2hf X2lwJycKCmogfGFzIGluICcnbWVhX19zX191cmUnJyBvciBGcmVuY2ggJydib25fX2pfX291cicn Cgp4IHxhcyBpbiBHZXJtYW4gJydCYV9fY2gnJ19fLCBTcGFuaXNoICcnX19KX19vc2UnJyBvciBB cmFiaWMgJydfX0toX19hbGVkJycgfHwKClRoZSBFbmdsaXNoIHNvdW5kcyAnJ2NoJycgYW5kICcn aicnIGFyZSB3cml0dGVuIGFzIHRjIGFuZCBkai4KCkxvamJhbiBkb2Vzbid0IHVzZSB0aGUgbGV0 dGVycyAnJ0gnJywgJydRJycgb3IgJydXJycuCgohISEhU3BlY2lhbCBDaGFyYWN0ZXJzCgpMb2pi YW4gZG9lcyBub3QgcmVxdWlyZSBhbnkgcHVuY3R1YXRpb24sIGJ1dCBzb21lIHNwZWNpYWwgY2hh cmFjdGVycyAobm9ybWFsbHkgdXNlZCBpbiBwdW5jdHVhdGlvbiBpbiBvdGhlciBsYW5ndWFnZXMp IGFmZmVjdCB0aGUgd2F5IExvamJhbiBpcyBwcm9ub3VuY2VkLgoKVGhlIG9ubHkgb25lIG9mIHRo ZXNlIGNoYXJhY3RlcnMgd2hpY2ggaXMgb2JsaWdhdG9yeSBpbiBMb2piYW4gaXMgdGhlIGFwb3N0 cm9waGU7IGluIGZhY3QgdGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0 dGVyIG9mIExvamJhbi4gQW4gYXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZvd2VscywgcHJldmVu dGluZyB0aGVtIGZyb20gYmVpbmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMgYSBfX2RpcGh0aG9u Z19fKTsgaXQgaXMgaXRzZWxmIHByb25vdW5jZWQgbGlrZSBhbiAnJ2gnJy4gRm9yIGV4YW1wbGUs IHVpIGlzIG5vcm1hbGx5IHByb25vdW5jZWQgJyd3ZScnLCBidXQgdSdpIGlzICcnb29oZWUnJy4K CkEgZnVsbCBzdG9wIChwZXJpb2QpIGlzIGEgc2hvcnQgcGF1c2UgdG8gc3RvcCB3b3JkcyBydW5u aW5nIGludG8gZWFjaCBvdGhlci4gVGhlIHJ1bGVzIG9mIExvamJhbiBtYWtlIGl0IGVhc2llciBm b3Igb25lIHdvcmQgdG8gcnVuIGludG8gYW5vdGhlciB3aGVuIHRoZSBzZWNvbmQgd29yZCBiZWdp bnMgd2l0aCBhIHZvd2VsOyBzbyBhbnkgd29yZCBzdGFydGluZyB3aXRoIGEgdm93ZWwgY29udmVu dGlvbmFsbHkgaGFzIGEgZnVsbCBzdG9wIHBsYWNlZCBpbiBmcm9udCBvZiBpdC4KCkNvbW1hcyBh cmUgcmFyZSBpbiBMb2piYW4sIGJ1dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1 cnJpbmcgdG9nZXRoZXIgd2hlbiB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAo d2hpY2ggd291bGQgcHV0IGEgJydoJycgYmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhh dmUgY29tbWFzLCBidXQgdGhleSdyZSBzb21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2pi YW4gbmFtZXMsIGZvciBleGFtcGxlIHBpLEVSLiAoJydQaWVycmUnJyksIGFzIG9wcG9zZWQgdG8g cGllci4gKCcnUC15ZXJyJycpLCBwaS5FUi4gKCcnUGVlOyBFaHInJyksIG9yIHBpJ0VSLiAoJydQ aWhlcnInJykuCgpDYXBpdGFsIGxldHRlcnMgYXJlIG5vdCBub3JtYWxseSB1c2VkIGluIExvamJh bi4gV2UgdXNlIHRoZW0gaW4gbm9uLUxvamJhbiB3b3JkcyAobGlrZSAnJ1BpZXJyZScnKSB3aGVu IHRoZSBzdHJlc3Mgb2YgYSB3b3JkIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBMb2piYW4gbm9ybS4g VGhlIG5vcm0gaXMgdG8gcHV0IHRoZSBzdHJlc3Mgb24gdGhlIGxhc3QtYnV0LW9uZSBzeWxsYWJs ZTsgc28sIGZvciBleGFtcGxlLCBrdXJtaWtjZSAnbnVyc2UnIGlzIGt1cl9fTUlLX19jZSwgbm90 IF9fS1VSX19taWtjZS4gVGhlIG5hbWUgJydKdWxpZXR0ZScnIHdvdWxkIGJlIHdyaXR0ZW4gREpV bGksZXQuIGlmIHByb25vdW5jZWQgaW4gYW4gRW5nbGlzaCB3YXksIGJ1dCBqdUxJRVQuIGlmIHBy b25vdW5jZWQgYXMgaW4gRnJlbmNoLgoKISEhIUFscGhhYmV0CgpJbiBtb3N0IGxhbmd1YWdlIHRl eHRib29rcywgeW91IGdldCB0aGUgYWxwaGFiZXQgb2YgdGhlIGxhbmd1YWdlIHRvZ2V0aGVyIHdp dGggaXRzIHNvdW5kcy4gTGV0dGVycyAobGVyZnUpIHR1cm4gb3V0IHRvIGJlIGV2ZW4gbW9yZSBp bXBvcnRhbnQgdGhhbiB1c3VhbCBpbiBMb2piYW4sIHNvIHdlIG1pZ2h0IGFzIHdlbGwgZ28gdGhy b3VnaCB0aGVpciBuYW1lcyBxdWlja2x5LgoKQ29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJk OiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4g U28gdGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgJydiLCBjLCBkLCBmLCBnIC4uLicn LCBhcmUgY2FsbGVkIGJ5LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuLi4uIGluIExvamJhbiAodXNpbmcg dGhlIGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pCgpWb3dlbHMgJyd3b3VsZCcn IGJlIGNhbGxlZCAuYXksIC5leSwgLml5LCBidXQgdGhhdCB3b3VsZCBiZSByYXRoZXIgZGlmZmlj dWx0IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUgaGFuZGxlZCBieSBmb2xsb3dpbmcg dGhlIHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgYnUsIHdoaWNoIGJhc2ljYWxseSBtZWFucyAn bGV0dGVyJy4gU28gdGhlIHZvd2VscyBvZiBMb2piYW4gYXJlOiAuYWJ1LCAuZWJ1LCAuaWJ1LCAu b2J1LCAudWJ1LCB5YnUuCgpUaGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBs ZXR0ZXIgaW4gTG9qYmFuLCBhbmQgaXMgY2FsbGVkIC55J3kuLiBUbyBzb21lIHBlb3BsZSwgdGhp cyBzb3VuZHMgbGlrZSBhIGNvdWdoOyB0byBvdGhlciwgbGlrZSAnJ3VoLWh1aCcnICh3aGVuIGl0 IG1lYW5zICdZZXMnIHJhdGhlciB0aGFuICdObycuKQoKTG9qYmFuIGhhcyB3YXlzIG9mIHJlZmVy aW5nIHRvIG1vc3QgbGV0dGVycyB5b3UgY2FuIHRoaW5rIG9mLiBJZiB5b3UgaGF2ZSB0aGUgdXJn ZSB0byBzcGVsbCBvdXQgeW91ciBuYW1lIGluIExvamJhbiBhbmQgaGF2ZSBhbiAnJ0gnJywgJydR JycsIG9yICcnVycnIHRvIGRlYWwgd2l0aCwgeW91IGNhbiB1c2UgLnkneS5idSwga3kuYnUgYW5k IHZ5LmJ1LiBTbyAnJ1NjaHdhcnplbmVnZ2VyJycgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOgoKc3ku IGN5LiAueSd5YnUgdnlidS4gLmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1 IHJ5LgoKQW5kIHNwZWxsaW5nICcndGhhdCcnIGlzIGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhp bmcgdGhlIFRlcm1pbmF0b3IgZXZlciBkaWQhCgoKCk5vdyBzcGVsbCB5b3VyIG5hbWUgaW4gTG9q YmFuIChvciBhdCBsZWFzdCBzb21ldGhpbmcgY2xvc2UgZW5vdWdoIHRvIGl0IHRvIHVzZSB0aGUg dHdlbnR5LXNpeCBsZXR0ZXJzIG9mIEVuZ2xpc2ggd2UgaGF2ZSBsZWFybmVkLCBhbmQgdGhlIGFw b3N0cm9waGUpLgoKCgohISEhICdDb3JyZWN0JyBwcm9udW5jaWF0aW9uCgpZb3UgZG9uJ3QgaGF2 ZSB0byBiZSB2ZXJ5IHByZWNpc2UgYWJvdXQgTG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2Ug dGhlIHBob25lbWVzIGFyZSBkaXN0cmlidXRlZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFr ZSBvbmUgc291bmQgZm9yIGFub3RoZXIuIFRoaXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUg J2NvcnJlY3QnIHByb251bmNpYXRpb24sIHRoZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBw cm9udW5jaWF0aW9u4oCUdGhlIGdlbmVyYWwgcHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMg T0sgc28gbG9uZyBhcyBpdCBkb2Vzbid0IHNvdW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVs c2UuIEZvciBleGFtcGxlLCBMb2piYW4gciBjYW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAnJ3In JyBpbiBFbmdsaXNoLCBTY290dGlzaCBvciBGcmVuY2guCgpUd28gdGhpbmdzIHRvIGJlIGNhcmVm dWwgb2YsIHRob3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJhbiBpIGFuZCB1IGxpa2UgU3RhbmRh cmQgQnJpdGlzaCBFbmdsaXNoICcnaGl0JycgYW5kICcnYnV0JycgKE5vcnRoZXJuIEVuZ2xpc2gg JydidXQnJyBpcyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFy dGljdWxhcmx5IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBw ZW9wbGUgd2hvIGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZl IHByb2JsZW1zIHNwaXR0aW5nIG91dCB0aGUgemQgaW4gemRhbmkgKGhvdXNlKSwgeW91IGNhbiBz YXkgesmqZGFuaeKAlHdoZXJlIHRoZSAnJ8mqJycgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5h bCAnJ2knJyBoYXMgdG8gYmUgbG9uZy4KCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKCldhdGNo IGFueSBmaWxtIHdoZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4g VGhleSBzdGFydCBvZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2gg aXMgYXMgZ29vZCBhIHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhl cmUgd2UgZ28uCgpfXycnbWknZSAucm9iaW4uJydfXwoKJydJLWFtLW5hbWVkIFJvYmluJycKCicn SSdtIFJvYmluJycKCicnbWknZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScs ICdtZScgYW5kIHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNl cGFyYXRpbmcgdHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICcnbWUgaGVoJycuCgpU aGlzIGd1eSBSb2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50 byBMb2piYW4gd2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVs ZXMgZm9yIExvamJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJl ICdMb2piYW5pc2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1l IGlzIGEgbmFtZeKAlGJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4 dGVudC4gRm9yIGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgJydK b3NlJycgc29tZXRoaW5nIGxpa2UgJydIb3pheScnLCBhbmQgJydNYXJnYXJldCcnIGluIENoaW5l c2UgaXMgJydNYWdlbGl0YScnLiBTb21lIHNvdW5kcyBqdXN0IGRvbid0IGV4aXN0IGluIHNvbWUg bGFuZ3VhZ2VzLCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0 aGUgbmFtZSBzbyB0aGF0IGl0IG9ubHkgY29udGFpbnMgTG9qYmFuIHNvdW5kcywgYW5kIGlzIHNw ZWx0IGluIGEgTG9qYmFuIHdheS4KCl9fTm90ZTogX19UaGUgY2F0Y2ggaGVyZSBpcywgd2hhdCB2 ZXJzaW9uIG9mIHRoZSBzb3VuZHMgd2lsbCB5b3UgYmUgdXNpbmc/IEZvciBFbmdsaXNoIGluIHBh cnRpY3VsYXIsIEJyaXRpc2ggYW5kIEFtZXJpY2FuIHZvd2VscyBjYW4gYmUgcXVpdGUgZGlmZmVy ZW50LiBUaGUgQnJpdGlzaCB2ZXJzaW9uIG9mICcnUm9iaW4nJyBpcyByZWFzb25hYmx5IGFwcHJv eGltYXRlZCBieSAucm9iaW4uOyBidXQgdGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRv ICcncmFieW4uJycgb3IgJydyYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWlu LCB0aGVyZSBpcyBhbHNvIGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0 YWtlIHRoZSB0cmFuc2xpdGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0 LgoKTGV0J3MgdGFrZSB0aGUgRW5nbGlzaCBuYW1lICcnU3VzYW4nJy4gVGhlIHR3byAnJ3MnJydz IGFyZSBwcm9ub3VuY2VkIGRpZmZlcmVudGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkg YSAnJ3onJ+KAlGFuZCB0aGUgJydhJycgaXMgbm90IHJlYWxseSBhbiAnJ2EnJyBzb3VuZCwgaXQn cyB0aGUgJ3NjaHdhJyB3ZSBqdXN0IG1lbnRpb25lZC4gU28gJydTdXNhbicnIGNvbWVzIG91dCBp biBMb2piYW4gYXMgJycuc3V6eW4uJycuCgpZb3UgbWF5IGhhdmUgbm90aWNlZCB0d28gZXh0cmEg ZnVsbCBzdG9wcyAocGVyaW9kcykgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaWYg eW91IGRpZG4ndCBwYXVzZSwgeW91IG1pZ2h0IG5vdCBrbm93IHdoZXJlIHRoZSBwcmV2aW91cyB3 b3JkIGVuZGVkIGFuZCB0aGUgbmV4dCB3b3JkIGJlZ2FuLgoKCgpZb3Ugc2hvdWxkIGFsc28gcHV0 IGEgZnVsbCBzdG9wIGluIGJldHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBuYW1lcyAo dGhvdWdoIGl0J3Mgbm90IGNvbXB1bHNvcnkpLCBzbyAnJ0ppbSBKb25lcycnIGJlY29tZXMgJydk amltLmRqb256LicnLgoKQW4gaW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlz IHRoYXQgdGhlIGxhc3QgbGV0dGVyIG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBh IGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hl cmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIg TG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRo aXM7IHNvIGluIExvamJhbiwgJydNYXJ5JycgYmVjb21lcyAubWVyaXMuICwgJydKb2UnJyBiZWNv bWVzIC5kam9zLiBhbmQgc28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUg bGFzdCB2b3dlbCwgc28gJydNYXJ5Jycgd291bGQgYmVjb21lIC5tZXIuIG9yIC5tZWlyLi4KCgoK VGhlIGZpbmFsIHBvaW50IGlzIHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFy ZSBzdHJlc3NlZCBvbiB0aGUgcGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFz IGRpZmZlcmVudCBzdHJlc3MsIHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhh dCB0aGUgRW5nbGlzaCBhbmQgRnJlbmNoIG5hbWVzICcnUm9iZXJ0JycgY29tZSBvdXQgZGlmZmVy ZW50bHkgaW4gTG9qYmFuOiB0aGUgRW5nbGlzaCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVu Z2xpc2gsIG9yICcnLnJhYixydC4nJyBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhl IEZyZW5jaCBpcyAnJy5yb0JFUi4nJy4KClRvIGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMg d29ya3MsIGhlcmUgYXJlIHNvbWUgbmFtZXMgb2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24g bGFuZ3VhZ2UgYW5kIGluIExvamJhbi4KCgoKfHxfX0VuZ2xpc2hfXwoKTWFyZ2FyZXQgVGhhdGNo ZXIgfC5tYWdyeXQudGF0Y3lyLiAobm8gJyd0aCcnIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVv cGxlIGFyb3VuZCB0aGUgd29ybGQgY2FuJ3Qgc2F5IGl0ISkKCk1pY2sgSmFnZ2VyIHwubWlrLmRq YWd5cy4gfHwKCnx8X19GcmVuY2hfXwoKTmFwb2xlb24gQm9uYXBhcnRlIHwubmFwb2xlLE9OLmJv bmFQQVJULgoKSnVsaWV0dGUgQmlub2NoZSB8Lmp1TElFVC5iaW5PQy4gfHwKCnx8X19DaGluZXNl X18KCkxhb3ppIHwubGF1ZHouCgpNYW8gWmVkb25nIHwubWF1ZHp5RFlOLiAoRmluYWwgJyduZycn IGlzIGluIExvamJhbiBjb252ZW50aW9uYWxseSB0dXJuZWQgaW50byBuLikgfHwKCnx8X19UdXJr aXNoX18KCk11c3RhZmEgS2VtYWwgfC5NVVN0YWZhcy5rZU1BTC4KCkVya2luIEtvcmF5IHwuZXJr aW4ua29yYWlzLiB8fAoKfHxfX0dlcm1hbl9fCgpGcmllZHJpY2ggTmlldHpzY2hlIHwuZnJpZHJp eC5uaXRjeXMuCgpDbGFyYSBTY2h1bWFubiB8LmtsYXJhcy5jdW1hbi4gfHwKCnx8X19TcGFuaXNo X18KCklzYWJlbCBBbGxlbmRlIHwuaXphQkVMLmFpZW5kZXMuCgpDaGUgR3VldmFyYSB8LnRjZWdl dmFyYXMuIHx8CgpfX0V4ZXJjaXNlX18uCgpXaGVyZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5udSxJ T1JLLgoKIy5yb21hcy4KCiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmth cmFzLgoKIy5BTGJla2Vya2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMu CgojLmJvbi4KCiMuZGVsaXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5r aXMuCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiBVU0F+ fgoKI35+Z3JheSxncmF5OlJvbWU6IEl0YWx5fn4KCiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+ fgoKI35+Z3JheSxncmF5OkNhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICcnQ2FyZGlmZicn IGlzICcnQ2FlcmR5ZGQnJywgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtl IGthaXJkeWQuLil+fgoKI35+Z3JheSxncmF5OkJlaWppbmc6IENoaW5hfn4KCiN+fmdyYXksZ3Jh eTpBbmthcmE6IFR1cmtleX5+Cgojfn5ncmF5LGdyYXk6QWxiZXF1ZXJxdWU6IE5ldyBNZXhpY28s IFVTQX5+Cgojfn5ncmF5LGdyYXk6VmFuY291dmVyOiBDYW5hZGF+fgoKI35+Z3JheSxncmF5OkNh cGUgVG93bjogU291dGggQWZyaWNhfn4KCiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdhbiAobm90 ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3Vu Y2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBtZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5k YXJpbiEpfn4KCiN+fmdyYXksZ3JheTpCb25uOiBHZXJtYW55fn4KCiN+fmdyYXksZ3JheTpEZWxo aTogSW5kaWEgKFRoZSBIaW5kaSBmb3IgJydEZWxoaScnIGlzICcnRGlsbMOuJycsIHdoaWNoIHdv dWxkIGdpdmUgZGlsaXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3JheTpOaWNlOiBGcmFu Y2V+fgoKI35+Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgnJ0F0aGluYScnIGluIEdyZWVrKX5+ Cgojfn5ncmF5LGdyYXk6TGVlZHM6IEVuZ2xhbmR+fgoKI35+Z3JheSxncmF5OkhlbHNpbmtpOiBG aW5sYW5kfn4KCl9fRXhlcmNpc2VfXy4KCkxvamJhbmlzZSB0aGUgZm9sbG93aW5nIG5hbWVzCgoj Sm9obgoKI01lbGlzc2EKCiNBbWFuZGEKCiNNYXR0aGV3CgojTWljaGFlbAoKI0RhdmlkIEJvd2ll CgojSmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5IFdlYXZlcgoK I1JpY2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2FuIFNhbHZhZG9y CgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTpUaGVyZSBhcmUgdXN1YWxseSBhbHRlcm5hdGl2ZSBzcGVs bGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9wbGUgcHJvbm91bmNlIHRoZSBvcmln aW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4YWN0IHNvdW5kIGRvZXNuJ3QgZXhp c3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0d28gTG9qYmFuIGxl dHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcgYXMgZXZlcnlvbmUga25vd3Mgd2hv IG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0Ln5+Cgojfn5ncmF5LGdyYXk6LmRqb24uIChv ciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMpfn4KCiN+fmdyYXksZ3JheToubWVsaXN5cy5+fgoK I35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdhaW4sIGRlcGVuZGluZyBvbiB5b3VyIGFjY2VudCwg dGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBpbml0aWFsIGEgbWF5IGJlIHksIGFuZCB0aGUgbWlk ZGxlIGEgbWF5IGJlIGUuKX5+Cgojfn5ncmF5LGdyYXk6Lm1hdGl1cy5+fgoKI35+Z3JheSxncmF5 Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVwZW5kaW5nIG9uIGhvdyB5b3Ugc2F5IGl0Ln5+Cgoj fn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG9yIC5ibyxpcy4gKGJ1dCBub3QgLmJ1LGlzLiDi gJQgdGhhdCdzIHRoZSBrbmlmZSl+fgoKI35+Z3JheSxncmF5Oi5kamVpbi5vc3Rpbi5+fgoKI35+ Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+fgoKI35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5 ci4gb3IgLnN5Z29ybmlzLnVpdnlyLn5+Cgojfn5ncmF5LGdyYXk6LnJpdGN5cmQubmlrc3luLn5+ Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiB3aXRoIEVuZ2xpc2ggc3RyZXNzLCAuSVN0YW5idWwu IHdpdGggQW1lcmljYW4sIC5pc3RhbmJ1bC4gd2l0aCBUdXJraXNoLiBMb2piYW5pc3RzIGdlbmVy YWxseSBwcmVmZXIgdG8gYmFzZSBjbWV2bGEgb24gbG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRo aXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUufn4KCiN+fmdyYXksZ3JheToubWFEUklELn5+Cgoj fn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+Z3JheSxncmF5Oi5zYW4uc2FsdmFET1IuICh3aXRo IFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+PC9odG1sPn5+CgohISEhTG9qYmFuIHdvcmRzIGFzIG5h bWVzCgpCeSBub3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1l LiBIb3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50 byBMb2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQg YSBjb21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJh bGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJl Y2F1c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5 IGRvbid0IGV4cGVjdCB0aGUgJyd3YXNpY2h1JycgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29y ZHMgaW4gTGFrb3RhLCBDaGVyb2tlZSBvciB3aGF0ZXZlciEKCkxvamJhbiB3b3JkcyAoZXhjZXB0 IGNtZXZsYSkgZW5kIGluIGEgdm93ZWwuIFlvdSBjYW4gdXNlIGxvamJhbiB3b3JkcyBhcyBuYW1l cyB0b28uIEJ1dCBpZiB5b3UgcHJlZmVyIHRoYXQgeW91ciBuYW1lIGlzIGEgY21ldmxhIGFuZCBp dCBlbmRzIGluIGEgdm93ZWwgdGhlbiB5b3UgY2FuIGVpdGhlciBhZGQgYSBjb25zb25hbnQgdG8g dGhlIGVuZCBvZiBpdCBvciBqdXN0IGNob3AgdGhlIGVuZCB2b3dlbCBvZmYuCgpIZXJlIGFyZSBh IGZldyBleGFtcGxlcyAob3JpZ2luYWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBhcyBj bWV2bGEpOgoKKkZpc2gg4oCTIGZpbnBlIOKAkyAuZmlucC4KCipCasO2cm4gKFNjYW5kaW5hdmlh biA9IGJlYXIpIOKAkyBjcmliZSDigJMgLmNyaWIuCgoqR3JlZW4g4oCTIGNyaW5vIOKAkyAuY3Jp bi4KCipNZWkgTGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgLm1lbGIuCgoq QXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg 4oCTIC5sdXJub2JsaXMuCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gb25lIChicmlkaSwg anVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCgpBICcnYnJpZGknJyBpcyB0aGUgbW9zdCBjZW50cmFs IHVuaXQgb2YgTG9qYmFuIHV0dGVyYW5jZXMuIFRoZSBjb25jZXB0IGlzIHZlcnkgY2xvc2UgdG8g d2hhdCB3ZSBjYWxsIGEgcHJvcG9zaXRpb24gaW4gRW5nbGlzaC4gQSBicmlkaSBpcyBhIGNsYWlt IHRoYXQgc29tZSBvYmplY3RzIHN0YW5kIGluIGEgcmVsYXRpb24gdG8gZWFjaCBvdGhlciwgb3Ig dGhhdCBhbiBvYmplY3QgaGFzIHNvbWUgcHJvcGVydHkuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0 IHRvICcnanVmcmEnJywgd2hpY2ggYXJlIG1lcmVseSBMb2piYW4gdXR0ZXJhbmNlcywgd2hpY2gg Y2FuIGJlIGJyaWRpIG9yIGFueXRoaW5nIGVsc2UgYmVpbmcgc2FpZC4gVGhlIGRpZmZlcmVuY2Ug YmV0d2VlbiBhIGJyaWRpIGFuZCBhIGp1ZnJhIGlzIHRoYXQgYSBqdWZyYSBkb2VzIG5vdCBuZWNl c3NhcmlseSBzdGF0ZSBhbnl0aGluZywgd2hpbGUgYSBicmlkaSBkb2VzLiBUaHVzLCBhIGJyaWRp IG1pZ2h0IGJlIHRydWUgb3IgZmFsc2UsIHdoaWxlIG5vdCBhbGwganVmcmEgY2FuIGJlIHNhaWQg dG8gYmUgc3VjaC4KClRvIGhhdmUgc29tZSBleGFtcGxlcyAoaW4gRW5nbGlzaCwgdG8gYmVnaW4g d2l0aCksIOKAnE1vemFydCB3YXMgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1l4oCd IGlzIGEgYnJpZGksIGJlY2F1c2UgaXQgbWFrZXMgYSBjbGFpbSB3aXRoIGEgdHJ1dGggdmFsdWUs IGFuZCBpdCBpbnZvbHZlcyBhbiBvYmplY3QsIE1vemFydCwgYW5kIGEgcHJvcGVydHksIGJlaW5n IHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZS4gT24gdGhlIGNvbnRyYXJ5LCDigJxP dyEgTXkgdG9lIeKAnSBpcyBub3QgYSBicmlkaSwgc2luY2UgaXQgZG9lcyBub3QgaW52b2x2ZSBh IHJlbGF0aW9uLCBhbmQgdGh1cyBkb2VzIG5vdCBzdGF0ZSBhbnl0aGluZy4gQm90aCwgdGhvdWdo LCBhcmUganVmcmEuCgpUcnkgdG8gaWRlbnRpZnkgdGhlIGJyaWRpIGFtb25nIHRoZXNlIEVuZ2xp c2gganVmcmE6CgoKCiMg4oCcSSBoYXRlIGl0IHdoZW4geW91IGRvIHRoYXQu4oCdCgojIOKAnFJ1 bnMu4oCdCgojIOKAnFdvYWgsIHRoYXQgbG9va3MgZGVsaWNpb3VzIeKAnQoKIyDigJxHZWV6LCBu b3QgYWdhaW4u4oCdCgojIOKAnE5vLCBJIG93biB0aHJlZSBjYXJz4oCdCgojIOKAnE5pbmV0ZWVu IG1pbnV0ZXMgcGFzdCBlaWdodC7igJ0KCiMg4oCcVGhpcyBTYXR1cmRheSwgeWVzLuKAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OjEsIDMgYW5kIDUgYXJlIGJyaWRpLiAyIGNvbnRhaW5zIG5vIG9i amVjdHMgYW5kIHRoZSByZXN0IGNvbnRhaW4gbm8gcmVsYXRpb24gb3IgY2xhaW0gb2YgYSBwcm9w ZXJ0eS5+fgoKCgpQdXQgaW4gTG9qYmFuIHRlcm1zLCBhIGJyaWRpIGNvbnNpc3RzIG9mIG9uZSAn J3NlbGJyaScnLCBhbmQgb25lIG9yIG1vcmUgJydzdW10aScnLiBUaGUgc2VsYnJpIGlzIHRoZSBy ZWxhdGlvbiBvciBjbGFpbSBhYm91dCB0aGUgb2JqZWN0LCBhbmQgdGhlIHN1bXRpIGFyZSB0aGUg b2JqZWN0cyB3aGljaCBhcmUgaW4gYSByZWxhdGlvbi4gTm90ZSB0aGF0IOKAnG9iamVjdOKAnSBp cyBub3QgYSBwZXJmZWN0IHRyYW5zbGF0aW9uIG9mIOKAnHN1bXRp4oCdLCBzaW5jZSDigJxzdW10 aeKAnSBjYW4gcmVmZXIgdG8gbm90IGp1c3QgcGh5c2ljYWwgb2JqZWN0cywgYnV0IGNhbiBhbHNv IHB1cmVseSBhYnN0cmFjdCB0aGluZ3MgbGlrZSDigJxUaGUgaWRlYSBvZiB3YXJmYXJl4oCdLiBB IGJldHRlciB0cmFuc2xhdGlvbiB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZSDigJxzdWJqZWN0LCBk aXJlY3Qgb3IgaW5kaXJlY3Qgb2JqZWN04oCdIGZvciBzdW10aSwgYW5kIOKAnHZlcmLigJ0gZm9y IHNlbGJyaSwgdGhvdWdoLCBhcyB3ZSB3aWxsIHNlZSwgdGhpcyBpcyBub3Qgb3B0aW1hbCBlaXRo ZXIuCgpXZSBjYW4gbm93IHdyaXRlIHRoZSBmaXJzdCBpbXBvcnRhbnQgbGVzc29uIGRvd246Cgpi cmlkaSA9IHNlbGJyaSArIG9uZSBvciBtb3JlIHN1bXRpCgpQdXQgYW5vdGhlciB3YXksIGEgYnJp ZGkgc3RhdGVzIHRoYXQgc29tZSBzdW10aSBkby9hcmUgc29tZXRoaW5nIGV4cGxhaW5lZCBieSBh IHNlbGJyaS4KCgoKSWRlbnRpZnkgdGhlIHN1bXRpIGFuZCBzZWxicmkgZXF1aXZhbGVudHMgaW4g dGhlc2UgRW5nbGlzaCBqdWZyYToKCuKAnEkgd2lsbCBwaWNrIHVwIG15IGRhdWdodGVycyB3aXRo IG15IGNhcuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCccGljayB1cCAod2l0 aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBkYXVnaHRlcnPigJ0sIOKAnG15IGNhcuKAnX5+ CgoKCuKAnEhlIGJvdWdodCBzaXh0ZWVuIG5ldyBzaGlydHMgZnJvbSBMZWEmTGV2eSdzIGZvciBq dXN0IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDi gJxib3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCcc2l4dGVlbiBuZXcg c2hpcnRz4oCdLCDigJxMZWEmTGV3aXPigJ0gYW5kIOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4K CgoKU2luY2UgdGhlc2UgY29uY2VwdHMgYXJlIHNvIGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV0 J3MgaGF2ZSBhIHRoaXJkIGV4YW1wbGU6IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3Ro aW5nIGFib3V0IHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRlLuKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQ QeKAnSwg4oCcbm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGXi gJ1+fgoKCgpOb3cgdHJ5IGJlZ2luIG1ha2luZyBMb2piYW4gYnJpZGkuIEZvciB0aGlzIHlvdSB3 aWxsIG5lZWQgdG8gdXNlIHNvbWUgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc2VsYnJpOgoKJydf X2R1bmRhX18nJyB4MSBnaXZlcyB4MiB0byB4MyAod2l0aG91dCBwYXltZW50KQoKJydfX3BlbHh1 X18nJyB4MSBpcyB5ZWxsb3cKCicnX196ZGFuaV9fJycgeDEgaXMgYSBob21lIG9mIHgyCgoKCk5v dGljZSB0aGF0IHRoZXNlIHdvcmRzIG1lYW5pbmcg4oCcZ2l2ZeKAnSwg4oCceWVsbG934oCdIGFu ZCDigJxob21l4oCdIHdvdWxkIGJlIGNvbnNpZGVyZWQgYSB2ZXJiLCBhbiBhZGplY3RpdmUgYW5k IGEgbm91biBpbiBFbmdsaXNoLiBJbiBMb2piYW4sIHRoZXJlIGFyZSBubyBzdWNoIGNhdGVnb3Jp ZXMgYW5kIG5vIHN1Y2ggZGlzdGluY3Rpb24uICcnZHVuZGEnJyBjYW4gYmUgdHJhbnNsYXRlZCDi gJxnaXZlc+KAnSAodmVyYiksIOKAnGlzIGEgZ2l2ZXLigJ0gKG5vdW4pLCDigJxpcyBnaXZpbmfi gJ0gKGFkamVjdGl2ZSkgYXMgd2VsbCBhcyB0byBhbiBhZHZlcmIgZm9ybS4gVGhleSBhbGwgYWN0 IGFzIHNlbGJyaSwgYW5kIGFyZSB1c2VkIGluIHRoZSBzYW1lIHdheS4KCgoKQXMgd2VsbCBhcyBh IGZldyB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzdW10aToKCicnX19taV9fJycg4oCcSeKAnSBv ciDigJx3ZeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIHNwZWFraW5nLgoKJydfX3Rp X18nJyDigJx0aGlz4oCdIOKAkyBhIGNsb3NlIHRoaW5nIG9yIGV2ZW50IG5lYXJieSB3aGljaCBj YW4gYmUgcG9pbnRlZCB0byBieSB0aGUgc3BlYWtlci4KCicnX19kb19fJycg4oCceW914oCdIOKA kyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgYmVpbmcgc3Bva2VuIHRvLgoKCgpTZWUgdGhlIHN0 cmFuZ2UgdHJhbnNsYXRpb25zIG9mIHRoZSBzZWxicmkgYWJvdmUgLSBlc3BlY2lhbGx5IHRoZSB4 MSwgeDIgYW5kIHgzPyBUaG9zZSBhcmUgY2FsbGVkIHN1bXRpIHBsYWNlcy4gVGhleSBhcmUgcGxh Y2VzIHdoZXJlIHN1bXRpIGNhbiBnbyB0byBmaWxsIGEgYnJpZGkuIEZpbGxpbmcgYSBzdW10aSBp biBhIHBsYWNlIHN0YXRlcyB0aGF0IHRoZSBzdW10aSBmaXRzIGluIHRoYXQgcGxhY2UuIFRoZSBz ZWNvbmQgcGxhY2Ugb2YgJydkdW5kYScnLCBmb3IgZXhhbXBsZSwgeDIsIGlzIHRoZSB0aGluZyBi ZWluZyBnaXZlbi4gVGhlIHRoaXJkIGlzIHRoZSBvYmplY3Qgd2hpY2ggcmVjZWl2ZXMgdGhlIHRo aW5nLiBOb3RpY2UgYWxzbyB0aGF0IHRoZSB0cmFuc2xhdGlvbiBvZiAnJ2R1bmRhJycgaGFzIHRo ZSB3b3JkIOKAnHRv4oCdIGluIGl0LiBUaGlzIGlzIGJlY2F1c2UsIHdoaWxlIHRoaXMgd29yZCBp cyBuZWVkZWQgaW4gRW5nbGlzaCB0byBzaWduaWZ5IHRoZSByZWNlaXZlciwgdGhlIHJlY2VpdmVy IGlzIGluIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycuIFNvIHdoZW4geW91IGZp bGwgdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJywgdGhlIHN1bXRpIHlvdSBmaWxs IGluIGlzIGFsd2F5cyB0aGUgcmVjZWl2ZXIsIGFuZCB5b3UgZG9uJ3QgbmVlZCBhbiBlcXVpdmFs ZW50IHRvIHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBz YXkgdGhlIHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1 bXRpLgoKVXN1YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gz IHN1bXRpfSB7eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4g YmUgcGxheWVkIGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1 YWwgZm9ybS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydt aSBkdW5kYSB0aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2Vz LgoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUg aW4gb3JkZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoK CuKAnFlvdSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBk dW5kYSB0aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91 IGdldCB0aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2gg b3RoZXIgYXJlIHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxl bnQgb2YgZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFk IG9mIGFmdGVyIHRoZW0uIEl0J3Mgb2Z0ZW4gbGVmdCBvdXQgYmVmb3JlIHRoZSBmaXJzdCBicmlk aSwgdGhvdWdoLCBhcyBpbiBhbGwgdGhlc2UgZXhhbXBsZXM6CgonJ19fLmlfXycnIFNlbnRlbmNl IHNlcGFyYXRvci4gU2VwYXJhdGVzIGFueSB0d28ganVmcmEgKGFuZCB0aGVyZWZvcmUgYWxzbyBi cmlkaSkuCgoKCicndGkgemRhbmkgbWkgIC5pIHRpIHBlbHh1Jycg4oCdVGhpcyBpcyBhIGhvbWUg dG8gbWUuIFRoaXMgaXMgeWVsbG93LuKAnQoKCgpCZWZvcmUgeW91IG1vdmUgb24gdG8gdGhlIG5l eHQgbGVzc29uLCBJIHJlY29tbWVuZCB0aGF0IHlvdSB0YWtlIGEgYnJlYWsgZm9yIGF0IGxlYXN0 IHNldmVuIG1pbnV0ZXMgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLgoKCgoKCiEhTG9q YmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0d28gKEZBIGFuZCB6bydlKQoKTW9zdCBzZWxicmkgaGF2 ZSBmcm9tIG9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcywgYnV0IHNvbWUgaGF2ZSBtb3JlLiBIZXJl IGlzIGEgc2VsYnJpIHdpdGggZm91ciBzdW10aSBwbGFjZXM6CgonJ19fdmVjbnVfXycnIHgxIHNl bGxzIHgyIHRvIHgzIGZvciBwcmljZSB4NAoKCgpJZiBJIHdhbnQgdG8gc2F5IOKAnEkgc2VsbCB0 aGlz4oCdLCBpdCB3b3VsZCBiZSB0b28gbXVjaCB0byBoYXZlIHRvIGZpbGwgdGhlIHN1bXRpIHBs YWNlcyB4MyBhbmQgeDQsIHdoaWNoIHNwZWNpZnkgd2hvIEkgc2VsbCB0aGUgdGhpbmcgdG8sIGFu ZCBmb3Igd2hhdCBwcmljZS4gTHVja2lseSwgSSBkb24ndCBuZWVkIHRvLiBzdW10aSBwbGFjZXMg Y2FuIGJlIGZpbGxlZCB3aXRoICcnem8nZScnLiAnJ3pvJ2UnJyBpbmRpY2F0ZXMgdG8gdXMgdGhh dCB0aGUgdmFsdWUgb2YgdGhlIHN1bXRpIHBsYWNlIGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXQn cyB1bmltcG9ydGFudCBvciBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem8n ZV9fJycg4oCcc29tZXRoaW5n4oCdIEZpbGxzIGEgc3VtdGkgcGxhY2Ugd2l0aCBzb21ldGhpbmcs IGJ1dCBkb2VzIG5vdCBzdGF0ZSB3aGF0LgoKCgpTbyB0byBzYXkg4oCcSSBzZWxsIHRvIHlvdeKA nSwgSSBjb3VsZCBzYXkgJydtaSB2ZWNudSB6bydlIGRvIHpvJ2UnJyDigJMgSSBzZWxsIHNvbWV0 aGluZyB0byB5b3UgZm9yIHNvbWUgcHJpY2UuCgpIb3cgd291bGQgeW91IHNheTog4oCcVGhhdCdz IGEgaG9tZSAoZm9yIHNvbWVib2R5KeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSB6 ZGFuaSB6bydlJyd+fgoKCgpIb3cgYWJvdXQg4oCcKHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNv bWVvbmUp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicnem8nZSBkdW5kYSB0aSB6bydlJyd+ fgoKCgpTdGlsbCwgZmlsbGluZyBvdXQgdGhyZWUgem8nZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhp bmcgaXMgYmVpbmcgc29sZCB0YWtlcyB0aW1lLiBUaGVyZWZvcmUgeW91IGRvbid0IG5lZWQgdG8g d3JpdGUgYWxsIHRoZSAnJ3pvJ2UnJyBpbiBhIGJyaWRpLiBUaGUgcnVsZSBzaW1wbHkgaXMgdGhh dCBpZiB5b3UgbGVhdmUgb3V0IGFueSBzdW10aSwgdGhleSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMg aWYgdGhleSBjb250YWluZWQgJyd6bydlJycuIElmIHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNl bGJyaSwgdGhlIHgxIGlzIHByZXN1bWVkIHRvIGJlIG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6 bydlJycuCgpUcnkgaXQgb3V0LiBXaGF0J3MgTG9qYmFuIGZvciDigJxJIHNlbGzigJ0/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydtaSB2ZWNudScnfn4KCgoKQW5kIHdoYXQgZG9lcyAnJ3pkYW5p IG1pJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21ldGhpbmcgaXMgYSBob21l IG9mIG1l4oCdIG9yIGp1c3Qg4oCcSSBoYXZlIGEgaG9tZS7igJ1+fgoKCgpBcyBtZW50aW9uZWQg ZWFybGllciwgdGhlIGZvcm0gZG9lc24ndCBoYXZlIHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0g e3gyIHN1bXRpfSB7eDMgc3VtdGl9IChlY3QuKSBJbiBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBz ZWxicmkgYW55d2hlcmUgeW91IHdhbnQsIGp1c3Qgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhl IGJyaWRpLiBJZiB5b3UgZG8gdGhhdCwgdGhlIHgxIGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5k IGZpbGxlZCB3aXRoICcnem8nZScnIGluc3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVm cmEgYXJlIGFsbCB0aGUgZXhhY3RseSBzYW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgon J21pIHRpIGR1bmRhIGRvJycKCicnbWkgdGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBp cyB1c2VkIGZvciBwb2V0aWMgZWZmZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBi ZSAnJ2RvIGRvIHZlY251JycsIHdoaWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRv JycuIE9yIGl0IGNhbiBiZSB1c2VkIGZvciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBs b25nIGFuZCB0aGVyZWZvcmUgYmV0dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGku CgoKClRoZXJlIGFyZSBhbHNvIHNldmVyYWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBv cmRlciBvZiB0aGUgc3VtdGkgaW5zaWRlIHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5 IHVzaW5nIHRoZSB3b3JkcyAnJ2ZhJycsICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUn Jy4gTm90aWNlIHRoYXQgdGhlIHZvd2VscyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2pi YW4gYWxwaGFiZXQgaW4gb3JkZXIuIFVzaW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0 IHRoZSBuZXh0IHN1bXRpIHdpbGwgZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3Bl Y3RpdmVseS4gVGhlIG5leHQgc3VtdGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZp bGwgYSBzbG90IG9uZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBs ZToKCicnZHVuZGEgZmEgZG8gZmUgdGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlz IHRoaW5nIHRvIHlvdeKAnS4gJydmYScnIG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBp cyB5b3UuICcnZmUnJyBtYXJrcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkg Y291bnRpbmcgdGhlbiBjb250aW51ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFz dCBzdW10aSBmaWxscyB4MywgdGhlIG9iamVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJh bnNsYXRlIHRoZSBmb2xsb3dpbmcgdGhyZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRp IGZlIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ug b2YgdGhpcywgeW914oCdLiBvciDigJxJIHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KA nSAocHJvYmFibHkgcG9pbnRpbmcgdG8gYSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZl IHRpJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUs IHRoZSBmZSBpcyByZWR1bmRhbnQufn4KCgoKJyd2ZWNudSB6bydlIG1pIHRpIGZhIGRvJycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3Ugc2VsbCBzb21ldGhpbmcgdG8gbWUgZm9yIHRoaXMg cHJpY2XigJ1+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0aHJlZSAodGFucnUg YW5kIGxvKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGJlY29tZSBmYW1pbGlhciB3aXRoIHRo ZSBjb25jZXB0IG9mIGEgJyd0YW5ydScnLiBBIHRhbnJ1IGlzIGZvcm1lZCB3aGVuIGEgc2VsYnJp IGlzIHB1dCBpbiBmcm9udCBvZiBhbm90aGVyIHNlbGJyaSwgbW9kaWZ5aW5nIGl0cyBtZWFuaW5n LiBBIHRhbnJ1IGlzIGl0c2VsZiBhIHNlbGJyaSwgYW5kIGNhbiBjb21iaW5lIHdpdGggb3RoZXIg c2VsYnJpIG9yIHRhbnJ1IHRvIGZvcm0gbW9yZSBjb21wbGV4IHRhbnJ1LiBUaHVzICcnemRhbmkg dmVjbnUnJyBpcyBhIHRhbnJ1LCBhcyB3ZWxsIGFzICAnJ3BlbHh1IHpkYW5pIHZlY251JycsIHdo aWNoIGlzIG1hZGUgZnJvbSB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaScnIGFuZCB0aGUgc2luZ2xl IGJyaXZsYSB3b3JkICcndmVjbnUnJy4gVG8gdW5kZXJzdGFuZCB0aGUgY29uY2VwdCBvZiB0YW5y dSwgY29uc2lkZXIgdGhlIEVuZ2xpc2ggbm91biBjb21iaW5hdGlvbiDigJxsZW1vbiB0cmVl4oCd LiBJZiB5b3UgZGlkbid0IGtub3cgd2hhdCBhIGxlbW9uIHRyZWUgd2FzLCBidXQgaGFkIGhlYXJk IGFib3V0IGJvdGggbGVtb25zIGFuZCB0cmVlcywgeW91IHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRl ZHVjZSB3aGF0IGEgbGVtb24gdHJlZSB3YXMuIFBlcmhhcHMgYSBsZW1vbi1jb2xvcmVkIHRyZWUs IG9yIGEgdHJlZSBzaGFwZWQgbGlrZSBhIGxlbW9uLCBvciBhIHRyZWUgd2hvc2UgYmFyayB0YXN0 ZXMgbGlrZSBsZW1vbi4gVGhlIG9ubHkgdGhpbmdzIHlvdSBjb3VsZCBrbm93IGZvciBzdXJlIHdv dWxkIGJlIHRoYXQgaXQgd291bGQgYmUgYSB0cmVlLCBhbmQgaXQgd291bGQgYmUgbGVtb24tbGlr ZSBpbiBzb21lIHdheS4KCkEgdGFucnUgaXMgY2xvc2VseSBhbmFsb2dvdXMgdG8gdGhpcy4gSXQg Y2Fubm90IGJlIHNhaWQgZXhhY3RseSB3aGF0IGEgJyd6ZGFuaSB2ZWNudScnIGlzLCBidXQgaXQg Y2FuIGJlIHNhaWQgdGhhdCBpdCBpcyBkZWZpbml0ZWx5IGEgdmVjbnUsIGFuZCB0aGF0IGl0J3Mg emRhbmktbGlrZSBpbiBzb21lIHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55 IHdheS4gSW4gdGhlb3J5LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVj dGlvbiB0byB6ZGFuaSB3YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNu dScnLiBIb3dldmVyLCBpdCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5 IHNlbnNlIGluIG9yZGVyIGZvciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAn J3pkYW5pIHZlY251JycgYXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3 b3JzZSBzb3VuZGluZyDigJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1 Y3R1cmUgb2YgYSB0YW5ydSBpcyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4g SXQncyBhbHNvIHNhaWQgdGhhdCB0aGUgbGVmdCBzZWxicmkgbW9kaWZpZXMgdGhlIHJpZ2h0IHNl bGJyaS4KCuKAnFJlYWxseT/igJ0sIHlvdSBhc2ssIHNjZXB0aWNhbGx5LCDigJxJdCBkb2Vzbid0 IG1hdHRlciBob3cgc2lsbHkgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGxlZnQgd29yZCBpbiBhIHRh bnJ1IGlzLCBpdCdzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3Ig Jyd6ZGFuaSB2ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkg dGhpbmsgaXQncyB6ZGFuaS1saWtlP+KAnQoKV2VsbCB5ZXMsIGJ1dCB0aGVuIHlvdSdkIGJlIGEg ZGljay4gT3IgYXQgbGVhc3QgeW91J2QgYmUgaW50ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBn ZW5lcmFsLCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4gaXQncyBvYnZpb3VzIGhvdyB0aGUg bGVmdCB3b3JkIHJlbGF0ZXMgdG8gdGhlIHJpZ2h0LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0 aGUgZm9sbG93aW5nOiAnJ3RpIHBlbHh1IHpkYW5pIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxUaGF0IGlzIGEgeWVsbG93IGhvbWUgZm9yIHlvdeKAnSBBZ2Fpbiwgd2UgZG9uJ3Qga25v dyBpbiB3aGljaCB3YXkgaXQncyB5ZWxsb3cuIFByb2JhYmx5IGl0J3MgcGFpbnRlZCB5ZWxsb3cs IGJ1dCB3ZSBkb24ndCBrbm93IGZvciBzdXJlLn5+CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc2VsbC1saWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQg bWVhbj8gTm8gaWRlYS4gSXQgY2VydGFpbmx5IGRvZXNuJ3QgbWVhbiB0aGF0IHlvdSBzb2xkIHNv bWV0aGluZywgc2luY2UsIGJ5IGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUg bm8gcGF5bWVudCBpbnZvbHZlZC4gSXQgaGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxs LWxpa2UgaW4gc29tZSBhc3BlY3Qufn4KCgoKQW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRl bHkgZGlmZmVyZW50LiBXaGF0IGlmIEkgd2FudGVkIHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/ CgonJ19fZG90Y29fXycnIHgxIGlzIEdlcm1hbi9yZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBh c3BlY3QgeDIKCgoKSSBjYW4ndCBzYXkgJydtaSB2ZWNudSB6bydlIGRvdGNvJycgYmVjYXVzZSB0 aGF0IHdvdWxkIGxlYXZlIHR3byBzZWxicmkgaW4gYSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1p dHRlZC4gSSBjb3VsZCBzYXkgJydtaSBkb3RjbyB2ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVu bmVjZXNzYXJ5IHZhZ3VlIC0gSSBjb3VsZCBzZWxsIGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2Us IGlmIEkgd2FudCB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdo YXQgc2hvdWxkIEkgc2F5PwoKJydfX3BlbmRvX18nJyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydf X21lcmtvX18nJyB4MSBpcyBBbWVyaWNhbi9yZWZsZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgy CgoKCkFnYWluLCB0aGUgb2J2aW91cyB3b3VsZCBiZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycn LCBidXQgdGhhdCB3b3VsZCBmb3JtIGEgdGFucnUsIG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlr ZSBBbWVyaWNhbuKAnSwgd2hpY2ggaXMgd3JvbmcuIFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMg dG8gdGFrZSB0aGUgc2VsYnJpICcnbWVya28nJyBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10 aSBzbyBpdCBjYW4gYmUgdXNlZCBpbiB0aGUgc2VsYnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25l IGJ5IHRoZSB0d28gd29yZHMgJydsbycnIGFuZCAnJ2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5l cmljIGJlZ2luIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNl bGJyaSB0byB1c2UgYXMgc3VtdGkuCgpfXycna3UnJ19fIOKAkyBlbmQgY29udmVydCBzZWxicmkg dG8gc3VtdGkgcHJvY2Vzcy4KCgoKWW91IHNpbXBseSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRo ZXNlIHR3byB3b3JkcywgYW5kIGl0IHRha2VzIGFueXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgx IG9mIHRoYXQgc2VsYnJpIGFuZCB0dXJucyBpdCBpbnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFu Y2UsIHRoZSB0aGluZ3MgdGhhdCBjYW4gZmlsbCB6ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdz IHdoaWNoIGFyZSBob21lcyBvZiBzb21lYm9keS4gU28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKA nGEgaG9tZSBvciBzb21lIGhvbWVzIGZvciBzb21lYm9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNh eSB0aGF0IHNvbWV0aGluZyBpcyBwZWx4dSwgaXQgbWVhbnMgaXQncyB5ZWxsb3cuIFNvICcnbG8g cGVseHUga3UnJyByZWZlcnMgdG8gc29tZXRoaW5nIHllbGxvdy4KCgoKTm93IHlvdSBoYXZlIHRo ZSBuZWNlc3NhcnkgZ3JhbW1hciB0byBiZSBhYmxlIHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0 aCBhbiBBbWVyaWNhbi7igJ0gSG93PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcGVuZG8g bG8gbWVya28ga3UnJ35+CgoKClRoZXJlIGlzIGEgZ29vZCByZWFzb24gd2h5IHRoZSAnJ2t1Jycg aXMgbmVjZXNzYXJ5LiBUcnkgdG8gdHJhbnNsYXRlIOKAnEEgR2VybWFuIHNlbGxzIHRoaXMgdG8g bWXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xvIGRvdGNvIGt1IHZlY251IHRpIG1pJycg SWYgeW91IGxlYXZlIG91dCB0aGUga3UsIHlvdSBkbyBub3QgZ2V0IGEgYnJpZGksIGJ1dCBzaW1w bHkgdGhyZWUgc3VtdGkuIFNpbmNlIGxv4oCma3UgY2Fubm90IGNvbnZlcnQgYnJpZGksIHRoZSB0 aSBpcyBmb3JjZWQgb3V0c2lkZSB0aGUgc3VtdGksIHRoZSBsby1jb25zdHJ1Y3QgaXMgZm9yY2Vk IHRvIGNsb3NlIGFuZCBpdCBzaW1wbHkgYmVjb21lcyB0aGUgdGhyZWUgc3VtdGkgb2YgJydsbyBk b3RjbyB2ZWNudSB7a3V9JycsICcndGknJyBhbmQgJydtaScnLn5+CgoKCllvdSBhbHdheXMgaGF2 ZSB0byBiZSBjYXJlZnVsIHdpdGgganVmcmEgbGlrZSAnJ2xvIHpkYW5pIGt1IHBlbHh1JycuIElm IHRoZSAnJ2t1JycgaXMgbGVmdCBvdXQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyBkb2VzIG5vdCBl bmQsIGFuZCBpdCBzaW1wbHkgYmVjb21lcyBvbmUgc3VtdGksIG1hZGUgZnJvbSB0aGUgdGFucnUg Jyd6ZGFuaSBwZWx4dScnIGFuZCB0aGVuIGNvbnZlcnRlZCB3aXRoICcnbG8nJy4KCgoKCgohIUxv amJhbiBMZXNzb25zIOKAkyBsZXNzb24gZm91ciAoYXR0aXR1ZGluYWxzKQoKQW5vdGhlciBjb25j ZXB0IHdoaWNoIGNhbiBiZSB1bmZhbWlsaWFyIHRvIEVuZ2xpc2ggc3BlYWtlcnMgaXMgdGhhdCBv ZiBhdHRpdHVkaW5hbHMuIEF0dGl0dWRpbmFscyBhcmUgd29yZHMgdGhhdCBleHByZXNzIGVtb3Rp b25zIGRpcmVjdGx5LiBUaGUgaWRlYSBvZiBhdHRpdHVkaW5hbHMgb3JpZ2luYXRlZCBpbiB0aGUg ZmVtaW5pc3QgY29uc3RydWN0ZWQgbGFuZ3VhZ2UgTGFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxl IHRydWUgZmVtYWxlIGVtb3Rpb25zLiBUaGUgaWRlYSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFs IGV4cHJlc3Npb24gd2FzIGhpbmRlcmVkIGJ5IG1hbGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQg aWYgb25seSB0aGV5IHdlcmUgYWJsZSB0byBiZSBleHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMg d291bGQgZW1wb3dlciB3b21lbiB0aHJvdWdoIGxpYmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoK SW4gTG9qYmFuLCB0aGVyZSBpcyBubyBzdWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0 IHByb2JhYmx5IGhhdmUgYmVlbiBkZXNpZ25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRo ZXkgdHVybmVkIG91dCB0byBiZSBpbmNyZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBh bGwgaGF2ZSBhIHNvLWNhbGxlZCBmcmVlIGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBj YW4gYXBwZWFyIGFsbW9zdCBhbnl3aGVyZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5n IHRoZSBicmlkaSdzIGdyYW1tYXIgb3IgYW55IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBM b2piYW4gZ3JhbW1hciwgYW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29y ZC4gSWYgdGhhdCBwcmV2aW91cyB3b3JkIGlzIGEgd29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1 Y3QgKGxpa2UgJycuaScnIG9yICcnbG8nJyksIGl0IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25z dHJ1Y3QuIExpa2V3aXNlLCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2gg ZW5kcyBhIGNvbnN0cnVjdCBsaWtlICcna3UnJywgaXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29u c3RydWN0LgoKCgpMZXQncyBoYXZlIHR3byBhdHRpdHVkaW5hbHMgdG8gbWFrZSBzb21lIGV4YW1w bGVzOgoKX18nJy51aScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBoYXBw aW5lc3MgLSB1bmhhcHBpbmVzcwoKX18nJ3phJ2EnJ19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlh bDogSSBkaXJlY3RseSBvYnNlcnZlCgoKCk5vdGUgdGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAn Jy51aScnLCB0aGVyZSBhcmUgbGlzdGVkIHR3byBlbW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhh cHBpbmVzcy4gVGhpcyBtZWFucyB0aGF0ICcnLnVpJycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3Ms IHdoaWxlIGl0cyDigJxuZWdhdGlvbuKAnSwgbWVhbnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u 4oCdIG1pZ2h0IGJlIHRoZSB3cm9uZyB3b3JkIGhlcmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIg ZGVmaW5pdGlvbiBvZiAnJy51aScnIGlzIGFub3RoZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4g TW9zdCBvZiB0aGUgdGltZSwgdGhlIHNlY29uZCBkZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAt IHRoZSBvbmVzIHN1ZmZpeGVkIHdpdGggJyduYWknJyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24g b2YgdGhlIGJhcmUgYXR0aXR1ZGluYWwuIE90aGVyIHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJydu YWknJ19fIG1pc2MuIG5lZ2F0aW9uIC0gYXR0YWNoZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFu Z2VzIHRoZSBtZWFuaW5nIGludG8gdGhlIGF0dGl0dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQg c29tZSBtb3JlIHNlbGJyaSwganVzdCBmb3IgdGhlIGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19f IOKAkyB4MSBlYXRzIHgyCgpfXycncGxpc2UnJ19fIOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJh aW4vdHlwZSB4MgoKCgpUaGUgc2VudGVuY2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywg bWVhbnMg4oCcWW91IGVhdCBhbiBhcHBsZSwgeWF5IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5n IHRoYXQgaXQgaXMgdGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0 LCBub3QgdGhlIGVhdGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNl bnRlbmNlICcnZG8gemEnYSBjaXRrYSBsbyBwbGlzZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3Rs eSBvYnNlcnZlcyB0aGF0IGl0IGlzIGluZGVlZCB0aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMg YW4gYXBwbGUgYXMgb3Bwb3NlZCB0byBzb21lb25lIGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFs IGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9v ZCB0byBhcHBseSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlp bmcgdG8gdGhlIGVudGlyZSBicmlkaToKCicnLnVpIHphJ2EgZG8gZHVuZGEgbG8gcGxpc2Uga3Ug bWknJyDigJMg4oCcWWF5LCBJIG9ic2VydmUgdGhhdCB5b3UgZ2l2ZSBhbi9zb21lIGFwcGxlIHRv IG1lIeKAnQoKCgonJ21pIHZlY251IC51aSBuYWkgbG8gemRhbmkga3UnJyDigJxJIHNlbGwgKHdo aWNoIHN1Y2tzISkgYSBob21l4oCdLgoKCgpUcnkgaXQgb3V0IHdpdGggYSBmZXcgZXhhbXBsZXMu IEZpcnN0LCB0aG91Z2gsIGhlcmUgYXJlIHNvbWUgbW9yZSBhdHRpdHVkaW5hbHM6CgpfXycnLnUn dScnX18gYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxl c3NuZXNzIC0gaW5ub2NlbmNlLgoKX18nJy5vaScnX18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVy ZSBlbW90aW9uOiBjb21wbGFpbnQgLSBwbGVhc3VyZS4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFs OiBtaXNjZWxsYW5lb3VzIHB1cmUgZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhh dCwgdHdvIHdvcmRzIHdpdGggdGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBt aWRkbGUgb25lIGlzIGFjY2Vzc2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N1J2knJy4gSXQncyBj b25zaWRlcmVkIHRoZSBtaWRwb2ludCBvZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdpJydfXyBhdHRp dHVkaW5hbCBtaWRwb2ludCBzY2FsYXI6IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0byBjaGFuZ2Ug dGhlIG1lYW5pbmcgdG8gdGhlICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rpb24uCgoKClRyeSBzYXlp bmcg4oCcSSBnaXZlIHNvbWV0aGluZyB0byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKAnQoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgZmkgbG8gZG90Y28ga3UgLml1Jycgb3IgJyd6bydl JycgaW5zdGVhZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBs ZeKAnQoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy5vaSBuYWkgbWkgY2l0a2EgbG8gcGVseHUgcGxp c2Uga3UnJ35+CgoKCkxldCdzIGhhdmUgYW5vdGhlciBhdHRpdHVkaW5hbCBvZiBhIGRpZmZlcmVu dCBraW5kIHRvIGlsbHVzdHJhdGUgc29tZXRoaW5nIHBlY3VsaWFyOgoKJycuZWknJyBBdHRpdHVk aW5hbDogY29tcGxleCBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IG9ibGlnYXRpb24gLSBmcmVlZG9t LgoKCgpTbywgcXVpdGUgZWFzeTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0g aXMgJydtaSBkdW5kYSAuZWkgbG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEg V2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQsIHRoYXQncyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxs IHRoZSBvdGhlciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhl IHNwZWFrZXIncyBmZWVsaW5nIGFib3V0IHRoZSBicmlkaSwgYnV0IHRoaXMgb25lIGFjdHVhbGx5 IGNoYW5nZXMgd2hhdCB0aGUgYnJpZGkgbWVhbnM/IFN1cmVseSwgYnkgc2F5aW5nIOKAnEkgaGF2 ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdLCB3ZSBzYXkgbm90aGluZyBhYm91dCB3aGV0aGVy IHRoZSBhcHBsZSBhY3R1YWxseSBpcyBiZWluZyBnaXZlbiBhd2F5LiBJZiBJIGhhZCB1c2VkICcn LnVpJycsIGhvd2V2ZXIsIEkgd291bGQgYWN0dWFsbHkgaGF2ZSBzdGF0ZWQgdGhhdCBJIGdhdmUg dGhlIGFwcGxlIGF3YXksIGFuZCB0aGF0IEkgd2FzIGhhcHB5IGFib3V0IGl0LiBXaGF0J3MgdGhh dCBhbGwgYWJvdXQ/CgoKClRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFu Z2UgdGhlIGNvbmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qg b2YgYSBtaW5vciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJvb2vigJ0gcnVsZSwgd2hp Y2ggcHJvYmFibHkgd29uJ3QgYmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0 aW9uIGJldHdlZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90 aW9uc+KAnS4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGgg Y29uZGl0aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJl c3MgYSBwcm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5n IHRoZSB0cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBm cm9tIHRoZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxp Y2l0bHkgY29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJy aWRpOgoKCgpfXycnZGEnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IHN1cHBvc2luZyAt IGluIGZhY3QKClNheWluZyAnJ2RhJ2knJyBpbiBhIGJyaWRpIGNoYW5nZXMgdGhlIHRydXRoIGNv bmRpdGlvbnMgdG8gaHlwb3RoZXRpY2FsLCB3aGljaCBpcyB0aGUgZGVmYXVsdCB1c2luZyBwcm9w b3NpdGlvbmFsIGF0dGl0dWRpbmFscy4gU2F5aW5nICcnZGEnaSBuYWknJyBjaGFuZ2VzIHRoZSB0 cnV0aCBjb25kaXRpb24gdG8gdGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJl IGF0dGl0dWRpbmFscy4KCgoKU28sIHdoYXQncyB0d28gd2F5cyBvZiBzYXlpbmcg4oCcSSBnaXZl IHRoZSBhcHBsZSBhd2F54oCdPyAoYW5kIGZlZWwgb2JsaWdhdGlvbiBhYm91dCBpdCkKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGxvIHBsaXNlIC5pIC5laScnICBhbmQgJydtaSBk dW5kYSBkYSdpIG5haSAuZWkgbG8gcGxpc2UnJ35+CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0 dWRpbmFsIGNhbiBiZSBzdWJzY3JpYmVkIHRvIHNvbWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBV c3VhbGx5IGluIG9yZGluYXJ5IHNwZWVjaCwgdGhlIGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQg dG8gdGhlIGxpc3RlbmVyLCBidXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNh dXNlIHRoZSB3b3JkIGlzIGdsb3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1v dGlvbnMpLCBzb21lIExvamJhbmlzdHMgbWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2Vy IG11c3Qgc2hhcmUgdGhlIGVtb3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycn ZGFpJydfXyBhdHRpdHVkaW5hbCBtb2RpZnllcjogRW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVk aW5hbCB0byBzb21lb25lIGVsc2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBsZTogJyd1J2kgLm9pIGRh aSBjaXRrYSB0aScnIC0g4oCcSGEgaGEsIHRoaXMgd2FzIGVhdGVuISBUaGF0IG11c3QgaGF2ZSBo dXJ0IeKAnQoKCgpXaGF0IG9mdGVuIHVzZWQgcGhyYXNlIGNvdWxkICcnLm9pIHUnaSBkYWknJyBt ZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoK QW5kIGFub3RoZXIgb25lIHRvIHRlc3QgeW91ciBrbm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg 4oCcSGUgd2FzIHNvcnJ5IGhlIHNvbGQgYSBob21l4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5z ZSBpcyBpbXBsaWVkIGFuZCBuZWVkIG5vdCBiZSBzcGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNv dWxkIGJlIG9idmlvdXMgZnJvbSBjb250ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndSd1 IGRhaSB2ZWNudSBsbyB6ZGFuaSBrdScnfn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFu IGF0dGl0dWRpbmFsIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2Ug Y2FuIGJlIHVzZWQgYWZ0ZXIgYW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGgg JyduYWknJyBvciAnJ2N1J2knJyBzdWZmaXhlZC4gSXQncyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVu cyB3aGVuIHlvdSBhdHRhY2ggaXQgdG8gb3RoZXIgd29yZHMsIGxpa2UgYSBzZWxicmksIG11c3Qg aXQncyBtb3N0bHkgdW5kZXJzdG9vZCBhcyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBz ZWxicmkgaW4gc29tZSB1bnNwZWNpZmllZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRl bnNpdHkgIAoKIGNhaXwgICBFeHRyZW1lCgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNw ZWNpZmllZCAobWVkaXVtKQoKIHJ1J2UgIHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4 cHJlc3NlZCB1c2luZyAnJy51J2kgbmFpIHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGlu YWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OlN0cm9uZyB3ZWFyaW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHBy ZXNzIHRoYXQgeW91IGFyZSBtaWxkbHkgcmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JycudSd1IGN1J2kgcnUnZScnfn4KCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZp dmUgKFNFKQoKQmVmb3JlIHdlIHZlbnR1cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29t cGxleCBjb25zdHJ1Y3RzLCB5b3Ugc2hvdWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciBy ZW9yZGVyaW5nIHRoZSBzdW10aSBvZiBhIHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBp cyB2ZXJ5IHVzZWZ1bCBmb3IgbWFraW5nIGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5k IG9mIHN1bXRpIHdpdGggJydsbycnKS4KCkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBh IGdpZnTigJ0sIHdoaWNoIG1pZ2h0IGJlIGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBh cHBsZS4gVG8gdHJhbnNsYXRlIHRoaXMsIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVw IGEgc2VsYnJpIG1lYW5pbmcg4oCcZ2lmdOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwg aWYgb25lIGxvb2tzIGNhcmVmdWxseSBhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgx IGdpdmVzIHgyIHRvIHgzLCBvbmUgcmVhbGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlz IHNvbWV0aGluZyBnaXZlbiDigJMgYSBnaWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5j ZSwgd2UgY2FuJ3Qgc2F5ICcnbWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1 bmRhIGt1Jycgd291bGQgYmUgdGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBv ZiBhIGdpZnQuIENhbm5pYmFsaXNtIGFzaWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBX aGF0IHdlIHdhbnQgaXMgYSB3YXkgdG8gZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlz IGlzIG9uZSBleGFtcGxlIHdoZXJlIGl0IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScn LiBXaGF0ICcnc2UnJyBkb2VzIGlzIHRvIG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgx IGFuZCB4MiBvZiB0aGF0IHNlbGJyaSB0cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydz ZScnICsgc2VsYnJpIGlzIG9uIGl0cyBvd24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0 cnkgd2l0aCBhbiBvcmRpbmFyeSBzZW50ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFu c2xhdGVzIHgyIHRvIGxhbmd1YWdlIHgzIGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2Yg dHJhbnNsYXRpb24geDXigJ0KCicndGkgc2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoK VGhpcyBpcyB0cmFuc2xhdGVkIGJ5IG1lICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0 IG5vdCBhbHdheXMsIGJyaWRpIHdpdGggJydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQg dG8gc2VudGVuY2VzIHdpdGggdGhlIHBhc3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRl biB0aGUgb2JqZWN0IHRha2luZyBhY3Rpb24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9m IHdvcmRzLiBBbGwgb2YgdGhlbSBzd2FwIGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoK fHxzZQl8c3dhcCB4MSBhbmQgeDIKCnRlCXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5k IHg0Cgp4ZQl8c3dhcCB4MSBhbmQgeDV8fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBj b25zZWN1dGl2ZSBjb25zb25hbnRzIGluIHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2lu ZyB0aGlzIGtub3dsZWRnZSwgd2hhdCB3b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAo b3IgJydmYW52YSB0aSBmdSB0aScnKX5+CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2Yg Y291cnNlIGJlIGNvbWJpbmVkIHdpdGggJydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0 IGNhbiBiZSB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286 CgpfXycna2xhbWEnJ19fID0g4oCceDEgdHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0 IHVzaW5nIHg1IGFzIHRyYW5zcG9ydGF0aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0 ZSBrbGFtYSBmZSBkbyB0aSBmYSBtaScnID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBr dScnIGFuZCBzaW5jZSAnJ3RlJycgZXhjaGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRv IG1pIGxvIHpkYW5pIGt1JycKCuKAnFRoaXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBo b21lLuKAnSBPZiBjb3Vyc2UsIG5vIG9uZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNl cHQgdG8gY29uZnVzZSBwZW9wbGUsIG9yIGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5k aW5nIG9mIExvamJhbiBncmFtbWFyLgoKQW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9p bnQgd2hlcmUgd2UgY2FuIHNheSDigJxJIGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2Ug dGhlIHN1bXRpIHBsYWNlcyBvZiAnJ2R1bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0 aGVuIGV4dHJhY3QgdGhpcyBuZXcgeDEgd2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291 bGQgeW91IHNheSBpdD8KCk9uZSAocG9zc2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBj aXRrYSBsbyBzZSBkdW5kYSBrdScnfn4KClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMg Zm9yICcnc2UnJyBhbmQgaXRzIGZhbWlseS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNz b24gc2l4IChhYnN0cmFjdGlvbnMpCgpTbyBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5n bGUgc2VudGVuY2VzIG9uZSBhdCBhIHRpbWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5n cywgaG93ZXZlciwgeW91IG9mdGVuIG5lZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5 LCB0aGVzZSBhcmUgbXVjaCBlYXNpZXIgaW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhw ZWN0LgoKV2UgY2FuIGJlZ2luIHdpdGggYW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDi gJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJy aWRpIGlzIOKAnEkgYW0gaGFwcHkgdGhhdCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCc WW91IGFyZSBteSBmcmllbmQu4oCdIExvb2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhh cHB54oCdLCB3aGljaCBpcyAnJ2dsZWtpJyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5 IGFib3V0IHgyIChldmVudC9zdGF0ZSnigJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRv IGJlIGFuIGV2ZW50IG9yIGEgc3RhdGUuIFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fu bm90IGJlIGhhcHB5IGFib3V0IGFuIG9iamVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBz dGF0ZSB0aGUgb2JqZWN0IGlzIGluLiBCdXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBh IHN0YXRlIG9yIGFuIGV2ZW50LCBhbmQgb25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydn bGVraScnIQoKQXMgeW91IG1pZ2h0IGhhdmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4g VGhlIHdvcmRzICcnc3UndScnLi4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlk aSB0byBzZWxicmnigJ0gZnVuY3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydr dScnLiBFeGFtcGxlOgoKX18nJ21yb2JpJ28nJ19fIOKAnHgxIGRpZXMgdW5kZXIgY29uZGl0aW9u IHgy4oCdCgpfXycnc3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0 eXBlIHgyCgpfXycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCicnbWkgc3UndSBkbyBtcm9iaSdv IGtlaScnIOKAkyDigJxJIGFtIHlvdXIgZGVhdGjigJ0uCgpJdCdzIGhhcmQgdG8gZmluZCBnb29k IHVzZXMgb2YgYSBicmlkaSBhcyBhIHNlbGJyaSwgYW5kIHRoZSBhYm92ZSBleGFtcGxlIHNlZW1z IGEgbGl0dGxlIHVuY29udmluY2luZy4gSG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScn IGlzIGEgc2VsYnJpLCBvbmUgY2FuIGNvbnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycu Li4nJ2t1JycuCgpOb3cgd2UgaGF2ZSB0aGUgZXF1aXBtZW50IHRvIGV4cHJlc3Mg4oCcSSBhbSBo YXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5k4oCdLiBUcnkgaXQgb3V0IQoKX18nJ3BlbmRvJydf XyDigJx4MSBpcyBhIGZyaWVuZCBvZiB4MuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkg Z2xla2kgbG8gc3UndSBkbyBwZW5kbyBtaSBrZWkga3UnJ35+CgoKCkhvd2V2ZXIsICcnc3UndScn 4oCmJydrZWknJyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRo ZSBtb3JlIHNwZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2VpJycgYW5kICcnZHUndScn4oCmJydr ZWknJy4gVGhleSB3b3JrIHRoZSBzYW1lIHdheSwgYnV0IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVu dC4gJydudeKApmtlaScnIHRyZWF0cyB0aGUgYnJpZGkgaW4gYmV0d2VlbiBhcyBhbiBldmVudCBv ciBzdGF0ZSwgYW5kICcnZHUndeKApmtlaScnIHRyZWF0cyBpdCBhcyBhbiBhYnN0cmFjdCBicmlk aSwgZm9yIGV4cHJlc3NpbmcgdGhpbmdzIGxpa2UgaWRlYXMsIHRob3VnaHRzIG9yIHRydXRocy4g QWxsIHRoZXNlIHdvcmRzIChleGNlcHQgJydrZWknJykgYXJlIGNhbGxlZCBhYnN0cmFjdG9ycy4g VGhlcmUgYXJlIG1hbnkgb2YgdGhlbSwgYW5kIG9ubHkgZmV3IGFyZSB1c2VkIG11Y2guICcnc3Un deKApmtlaScnIGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBj YXNlcy4KCgoKVXNlICcnbnUnJyB0byBzYXkg4oCcSSdtIGhhcHB5IGFib3V0IHRhbGtpbmcgdG8g eW91LuKAnQoKX18nJ3RhdmxhJydfXyB4MSB0YWxrcyB0byB4MiBhYm91dCBzdWJqZWN0IHgzIGlu IGxhbmd1YWdlIHg0LgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gbnUgdGF2 bGEgZG8ga2VpIGt1JycgKG5vdGljZSBib3RoIHRoZSBFbmdsaXNoIGFuZCB0aGUgTG9qYmFuIGlz IHZhZ3VlIGFzIHRvIHdobyBpcyBkb2luZyB0aGUgdGFsa2luZykufn4KCgoKT3RoZXIgaW1wb3J0 YW50IGFic3RyYWN0b3JzIGluY2x1ZGU6ICcna2EuLi5rZWknJyAocHJvcGVydHkvYXNwZWN0IGFi c3RyYWN0aW9uKSwgJydzaSdvLi4ua2VpJycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcn bmkuLi5rZWknJyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFtb25nIG90aGVycy4gVGhlIG1lYW5p bmdzIG9mIHRoZXNlIGlzIGEgY29tcGxpY2F0ZWQgbWF0dGVyLCBhbmQgd2lsbCBiZSBkaXNjdXNz ZWQgbXVjaCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS1uaW5lLiBGb3Igbm93LCB5b3UnbGwgaGF2 ZSB0byBkbyB3aXRob3V0IHRoZW0uCgoKCkl0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCBz b21lIGFic3RyYWN0b3JzIGhhdmUgc2V2ZXJhbCBzdW10aSBwbGFjZXMuIEFzIGFuIGV4YW1wbGUs ICcnZHUndScnIGNhbiBiZSBtZW50aW9uZWQuICcnZHUndScnIGlzIGRlZmluZWQ6CgonJ2R1J3Un JyA9IOKAnGFic3RyYWN0b3IuIHgxIGlzIHRoZSBwcmVkaWNhdGUvYnJpZGkgb2Yge2JyaWRpfSBl eHByZXNzZWQgaW4gc2VudGVuY2UgeDLigJ0uCgpUaGUgb3RoZXIgc3VtdGkgcGxhY2VzIGJlc2lk ZXMgeDEgaXMgcmFyZWx5IHVzZWQsIGJ1dCAnJ2xvIHNlIGR1J3Uge2JyaWRpfSBrZWkga3UnJyBp cyBzb21ldGltZXMgdXNlZCBhcyBhIHN1bXRpIGZvciBpbmRpcmVjdCBxdW90YXRpb246IOKAnEkg c2FpZCB0aGF0IEkgd2FzIGdpdmVuIGEgZG9n4oCdIGNhbiBiZSB3cml0dGVuICcnbWkgY3Vza3Ug bG8gc2UgZHUndSBtaSB0ZSBkdW5kYSBsbyBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwg cGFyZG9uIHRoZSB3ZWlyZCBleGFtcGxlLgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIg dG8geDMgdGhyb3VnaCBtZWRpdW0geDQKCl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFj ZSB4MgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdy ZSBhdCBpdCwgdGhlcmUncyBhbm90aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNl IGFyZSBjYWxsZWQgcmVsYXRpdmUgY2xhdXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFk ZCBzb21lIGRlc2NyaXB0aW9uIHRvIGEgc3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGlu IHRoZSBwcmV2aW91cyBzZW50ZW5jZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZl IGNsYXVzZSBpbiBFbmdsaXNoIGRlc2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFu LCB0aGV5IGNvbWUgaW4gdHdvIGZsYXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5n dWlzaGluZyB0aGUgdHdvIGtpbmRzIGJlZm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVt LgoKVGhlIHR3byBraW5kcyBhcmUgY2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3Rp dmUgKG9yIGluY2lkZW50aWFsKSByZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJl IGdvb2QgaGVyZToKCuKAnE15IGJyb3RoZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEg cG9saXRpY2lhbi7igJ0gVGhpcyBjYW4gYmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3Vs ZCBoYXZlIHNldmVyYWwgYnJvdGhlcnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBt ZXRlcnMgdGFsbCB3aWxsIGxldCB5b3Uga25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBh Ym91dC4gT3IgSSBtaWdodCBoYXZlIG9ubHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBh bSBzaW1wbHkgZ2l2aW5nIHlvdSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNo IGFzIHdlbGwgYXMgTG9qYmFuIHdlIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRz IOKAkyB0aGUgZmlyc3QgaW50ZXJwcmV0YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhl bHBzIHJlc3RyaWN0IHRoZSBwb3NzaWJsZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJv dXQpLCB0aGUgc2Vjb25kIG5vbi1yZXN0cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBj b250ZXh0IGFuZCB0b25lIG9mIHZvaWNlIChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0 aW9uKSBoZWxwcyB1cyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBp biBMb2piYW4uIExvamJhbiB1c2VzIHRoZSBjb25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAn J25vaeKApmt1J28nJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2 ZSBjbGF1c2VzLCByZXNwZWN0aXZlbHkuCgpMZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwg d2hpY2ggY2FuIGFsc28gZXhwbGFpbiBvdXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIg aW4gdGhlIGV4YW1wbGUgaW4gbGVzc29uIGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVz dHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycn cG9pJydfXyBiZWdpbiByZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFj aCB0byBzdW10aSkKCl9fJydrdSdvJydfXyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0 a2EgbG8gc2UgZHVuZGEga3UgcG9pIHBsaXNlIGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNo IHRoYXQgKHNvbWV0aGluZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdv JycgaXMgcGxhY2VkIGp1c3QgYWZ0ZXIgJydsbyBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVz IHRvIHRoZSBnaWZ0LiBUbyBiZSBzdHJpY3QsIHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qg c3BlY2lmeSB3aGF0IGl0IGlzLCB3aGljaCBpcyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxh dGl2ZSBjbGF1c2UgYXBwbGllcyB0byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhh dCBpdCBtZWFucyB0aGF0IHRoZSBnaWZ0IGlzIGFuIGFwcGxlLiBBZnRlciBhbGwsIGluIHRoZSBj b250ZXh0IG9mIGxlc3NvbiBmaXZlLCB0aGlzIHNlZW1zIHJlYXNvbmFibGUuIElmIHdlIHdhbnQg dG8gYmUgYWJzb2x1dGVseSBzdXJlIHRoYXQgaXQgaW5kZWVkIHdhcyB0aGUgZ2lmdCB0aGF0IHdh cyBhbiBhcHBsZSwgd2UgdXNlIHRoZSB3b3JkICcna2UnYScnLCB3aGljaCBpcyBhICcnc3Vta2En aScnIChhIExvamJhbiBwcm9ub3VuLCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0 aGUgc3VtdGkgd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydr ZSdhJydfXyBzdW1rYSdpOyByZWZlcnMgdG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRp dmUgY2xhdXNlIGl0IGF0dGFjaGVkLgoKCgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBw b2kga2UnYSBwbGlzZSBrdSdvJycgPSDigJxZYXksIEkgZWF0IGEgZ2lmdCB3aGljaCBpcyBhbiBh cHBsZeKAnS4KClRvIHVuZGVybGluZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZl IGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgaGVyZSdzIGFub3RoZXIgZXhh bXBsZToKCgoKX18nJ2xvamJvJydfXyDigJx4MSByZWZsZWN0cyBMb2piYW5pYyBjdWx0dXJlL2Nv bW11bml0eSBpcyBhc3BlY3QgeDI7IHgxIGlzIExvamJhbmljLuKAnQoKCgonJ21pIG5vaSBsb2pi byBrdSdvIGZhbnZhIGZvIGxvIGxvamJvIGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5pYywg dHJhbnNsYXRlIGZyb20gc29tZSBMb2piYW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUgaXMg bm90IG11bHRpcGxlIHRoaW5ncyB3aGljaCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0aGUg ZmFjdCB0aGF0IEkgYW0gbG9qYmFuaWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24g bm90IG5lZWRlZCB0byBpZGVudGlmeSBtZS4gVGhlcmVmb3JlICcnbm9p4oCma3UnbycnIGlzIGFw cHJvcHJpYXRlLgoKU2VlIGlmIHlvdSBjYW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0 aCBhIG1hbiB3aG8gaXMgYmVhdXRpZnVsL2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4 MSBpcyBhIG1hbuKAnQoKX18nJ21lbGJpJydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4g YXNwZWN0IChrYSkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEg ZmxpcnRzL2NvdXJ0cyB4MiwgZXhoaWJpdGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTi gJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7 a2UnYX0gbWVsYmkga3Unbycnfn4KCgoKT24gYSBtb3JlIHRlY2huaWNhbCBzaWRlIG5vdGUsIGl0 IG1pZ2h0IGJlIHVzZWZ1bCB0byBrbm93IHRoYXQgJydsbyB7c2VsYnJpfSBrdScnIGlzIG9mdGVu IHNlZW4gZGVmaW5lZCBhcyAnJ3pvJ2Ugbm9pIGtlJ2Ege3NlbGJyaX0ga3UnbycnLgoKCgoKCiEh TG9qYmFuIExlc3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVybWluYXRvciBlbGlzaW9uKQoKJycu YXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBr dV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBr ZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCiAtICDigJxJIHdpc2ggdGhlIEFt ZXJpY2FuLCB3aG8gaXMgbXkgc2libGluZywgd291bGQgdW5kZXJzdGFuZCB0aGF0IEkgZG9uJ3Qg bGlrZSB0aGF0IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFib3Zl IHNlbnRlbmNlIGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBzaG91bGRuJ3QsIGFzIGl0IGNvbnRh aW5zIHdvcmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0 aGluZyBzdGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxl YXJuZWQsIG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBnZXQgZmlsbGVkIHdpdGggJydr dScnLCAnJ2tlaScnLCAnJ2t1J28nJyBhbmQgb3RoZXIgb2YgdGhvc2Ugd29yZHMgd2hpY2ggYnkg dGhlbXNlbHZlcyBjYXJyeSBubyBtZWFuaW5nLgoKCgpUaGUgZnVuY3Rpb24gb2YgYWxsIHRoZXNl IHdvcmRzIGlzIHRvIHNpZ25hbCB0aGUgZW5kIG9mIGEgY2VydGFpbiBncmFtbWF0aWNhbCBjb25z dHJ1Y3QsIGxpa2UgZm9yIGluc3RhbmNlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdIGlu IHRoZSBjYXNlIG9mICcna3UnJy4gVGhlIEVuZ2xpc2ggd29yZCBmb3IgdGhpcyBraW5kIG9mIHdv cmQgaXMg4oCcdGVybWluYXRvcuKAnSwgdGhlIExvamJhbiB3b3JkIGlzICcnZmEnb3JtYSdvJycu IFRoZXkgYXJlIHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBsZSBhYm92ZS4KCk5vdGU6IFRo ZSAnJ3ZhdScnIGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUgZmEnb3JtYSdvIGZvciDigJxl bmQgYnJpZGnigJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24geW91IGhhdmUgbm90IHlldCBzZWVu IGl0LCBzdGF5IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3JtYSdvOiBUZXJtaW5hdGVzIGJyaWRp LgoKCgpJbiBtb3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2piYW4sIG1vc3QgZmEnb3JtYSdvIGFy ZSBza2lwcGVkIChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMgc3lsbGFibGVzIGluIHNwZWVj aCBhbmQgc3BhY2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25lIG11c3QgYWx3YXlzIGJlIGNhcmVm dWwgd2hlbiBlbGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNpbXBsZSBleGFtcGxlICcnbG8gbWVy a28ga3Uga2xhbWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAnJ2t1Jycgd291bGQgeWllbGQg JydsbyBtZXJrbyBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmdsZSBzdW10aSBtYWRlIGZyb20gdGhl IHRhbnJ1ICcnbWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg4oCcYW4gQW1lcmljYW4gdHJh dmVsZXLigJ0gaW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2ZWxz4oCdLiBmYSdvcm1hJ28g ZWxpc2lvbiBjYW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMgaWYgZG9uZSBpbmNvcnJlY3Rs eSwgd2hpY2ggaXMgd2h5IHlvdSBoYXZlbid0IGxlYXJuZWQgYWJvdXQgaXQgdW50aWwgbm93LgoK CgpUaGUgcnVsZSBmb3Igd2hlbiBmYSdvcm1hJ28gY2FuIGJlIGVsaWRlZCBpcyB2ZXJ5IHNpbXBs ZSwgYXQgbGVhc3QgaW4gdGhlb3J5OiDigJxZb3UgY2FuIGVsaWRlIGEgZmEnb3JtYSdvLCBfX2lm IGFuZCBvbmx5IGlmX18gZG9pbmcgc28gZG9lcyBub3QgY2hhbmdlIHRoZSBncmFtbWF0aWNhbCBj b25zdHJ1Y3RzIGluIHRoZSBzZW50ZW5jZS7igJ0KCk1vc3QgZmEnb3JtYSdvIGNhbiBiZSBzYWZl bHkgZWxpZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLiBFeGNlcHRpb25zIGFyZSB0aGUgb2J2 aW91cyBvbmVzIGxpa2Ug4oCcZW5kIHF1b3Rl4oCdLWZhJ29ybWEnbyBhbmQg4oCcZW5kIGJyaWRp IGdyb3VwaW5n4oCdLWZhJ29ybWEnby4gVGhpcyBpcyB3aHkgJyd2YXUnJyBpcyBhbG1vc3QgbmV2 ZXIgdXNlZCDigJMgc2ltcGx5IGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aXRoICcnLmknJyB3aWxs IGFsbW9zdCBhbHdheXMgdGVybWluYXRlIHRoZSBwcmVjZWRpbmcgYnJpZGkgYW55d2F5LiBJdCBo YXMgb25lIGZyZXF1ZW50IHVzZSwgaG93ZXZlci4gU2luY2UgYXR0aXR1ZGluYWxzIGFsd2F5cyBh cHBseSB0byB0aGUgcHJlY2VkaW5nIHdvcmQsIGFwcGx5aW5nIGl0IHRvIGEgZmEnb3JtYSdvIGFw cGxpZXMgaXQgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qgd2hpY2ggaXMgdGVybWluYXRlZC4gVXNp bmcgJyd2YXUnJywgb25lIGNhbiB0aGVuIHVzZSBhdHRpdHVkaW5hbHMgYWZ0ZXJ0aG91Z2h0IGFu ZCBhcHBseSB0aGVtIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJ3phJ2EgZG8gZHVuZGEgbG8gemRh bmkge2t1fSBsbyBwcmVudSB7a3V9Li4uIHZhdSBpJ2UnJyAtIOKAnEkgc2VlIHRoYXQgeW91IGdp dmUgYSBob21lIHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHigJ0KCl9fJydwcmVudScnX18geDEg aXMgYSBwZXJzb247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpLbm93aW5nIHRoZSBiYXNpYyBy dWxlcyBmb3IgZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0aHVzIHJldHVybiB0byB0aGUgb3Jp Z2luYWwgc2VudGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZhJ29ybWEnbzoKCgoKJycuYXUgZGEn aSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGpp bXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3Ug dmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCgoKV2UgY2FuIHNlZSB0aGF0IHRoZSBmaXJz dCAnJ3ZhdScnIGlzIGdyYW1tYXRpY2FsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UgdGhlIG5leHQg bm9uLWZhJ29ybWEnby13b3JkIGlzICcnamltcGUnJywgd2hpY2ggaXMgYSBzZWxicmkuIFNpbmNl IHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBzZWxicmkgcGVyIGJyaWRpLCAnJ3ZhdScnIGlzIG5vdCBu ZWVkZWQuIFNpbmNlICcnamltcGUnJyBhcyBhIHNlbGJyaSBjYW5ub3QgYmUgaW4gdGhlIHJlbGF0 aXZlIGNsYXVzZSBlaXRoZXIgKG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBz ZWxicmkgaW4gZWFjaCBicmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcn amltcGUnJyBjYW5ub3QgYmUgYSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcn bGUgbWVya28gcG9pey4uLn0nJywgc28gdGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4g RnVydGhlcm1vcmUsIGFsbCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2Vu dGVuY2UgY2FuIGJlIGVsaWRlZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxs IHRlcm1pbmF0ZSBhbGwgb2YgdGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1 cCB3aXRoOgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkg amltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pJycg4oCTIHdpdGgg bm8gZmEnb3JtYSdvIGF0IGFsbCEKCgoKV2hlbiBlbGlkaW5nIGZhJ29ybWEnbywgaXQgaXMgYSBn b29kIGlkZWEgdG8gYmUgYWNxdWFpbnRlZCB3aXRoICcnY3UnJy4gJydjdScnIGlzIG9uZSBvZiB0 aG9zZSB3b3JkcyB3aGljaCBjYW4gbWFrZSB5b3VyIChMb2piYW5pYykgbGlmZSBhIGxvdCBlYXNp ZXIuIFdoYXQgaXQgZG9lcyBpcyB0byBzZXBhcmF0ZSBhbnkgcHJldmlvdXMgc3VtdGkgZnJvbSB0 aGUgc2VsYnJpLiBPbmUgY291bGQgc2F5IHRoYXQgaXQgZGVmaW5lcyB0aGUgbmV4dCB3b3JkIHRv IGJlIGEgc2VsYnJpLCBhbmQgdGVybWluYXRlcyBleGFjdGx5IGFzIG11Y2ggYXMgaXQgbmVlZHMg dG8gaW4gb3JkZXIgdG8gZG8gdGhhdC4KCl9fJydjdScnX18gZWxpZGFibGUgbWFya2VyOiBzZXBh cmF0ZXMgc2VsYnJpIGZyb20gcHJlY2VkaW5nIHN1bXRpLCBhbGxvd3MgcHJlY2VkaW5nIGZhJ29y bWEnbyBlbGlzaW9uLgoKCgpfXycncHJhbWknJ19fID0g4oCceDEgbG92ZXMgeDLigJ0KCgoKJyds byBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX192YXUga2VpIGt1IHZhdSBr ZWkga3VfXyBzZSBkamljYSBtaScnID0KCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRv IHByYW1pIG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3Ug bG92ZSBtZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92 ZWQgbWXigJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMg bm90IHRpZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRv IGVsaWRlIG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMg b2YgJydjdScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkg dW5kZXJzdGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRo ZSBzdHJ1Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3Jl IHNlbGJyaS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNh biBicm90aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2Ug dGhlIG1lYW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0 IGVhc2llciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAn J2N1Jycgd2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlk ZWQgaWYgcG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBj dXJseSBicmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycn dmFqbmknJ19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycn amltcGUnJ19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR1J3UtYWJzdHJhY3Rpb24pIGlz IHRydWUgYWJvdXQgeDPigJ0KCl9fJydhJ28nJ19fIC0gQXR0aXR1ZGluYWw6IFNpbXBsZSBwcm9w b3NpdGlvbmFsIGVtb3Rpb246IEhvcGUgLSBkZXNwYWlyCgoKCicnYSdvIGRvIG5vaSBrZSdhIGxv amJvIC5pJ2Uge2t1J299IHtrdX0gY3UgamltcGUgbG8gZHUndSBsbyBmYSdvcm1hJ28ge2t1fSBj dSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQgZG8gSSBzdGF0ZT8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIGEgcHJvdWQgTG9qYmFuaXN0LCB1 bmRlcnN0YW5kcyB0aGF0IGZhJ29ybWEnbyBhcmUgaW1wb3J0YW504oCdfn4KCgoKRnVuIHNpZGUg bm90ZTogTW9zdCBwZW9wbGUgd2VsbC12ZXJzZWQgaW4gZmEnb3JtYSdvLWVsaXNpb24gZG8gaXQg c28gaW5zdGluY3RpdmVseSB0aGF0IHRoZXkgb2Z0ZW4gbXVzdCBiZSByZW1pbmRlZCBob3cgaW1w b3J0YW50IHVuZGVyc3RhbmRpbmcgZmEnb3JtYSdvIGFyZSB0byB0aGUgdW5kZXJzdGFuZGluZyBv ZiBMb2piYW4uIFRoZXJlZm9yZSwgZWFjaCBUdWVzZGF5IGhhdmUgYmVlbiBkZXNpZ25hdGVkIOKA nFRlcm1pbmF0b3IgRGF54oCdIG9yICcnZmEnb3JtYSdvIGRqZWRpJycgb24gdGhlIExvamJhbiBJ UkMgY2hhdHJvb20uIER1cmluZyBUZXJtaW5hdG9yIERheSwgbWFueSBwZW9wbGUgdHJ5IChhbmQg b2Z0ZW4gZmFpbCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQgYWxsIGZhJ29ybWEnbyB3aXRoIHNv bWUgdmVyeSB2ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1bHQuCgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNvIGZhciB3ZSBoYXZlIGJlZW4gZG9p bmcgcHJldHR5IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUgaGFkIGF0IGhhbmQuIEhvd2V2 ZXIsIHRoZXJlIGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZpbmVkIHNlbGJyaSBvdXQgdGhlcmUs IGFuZCBpbiBtYW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMgYXJlIG5vdCB1c2VmdWwgZm9yIHdo YXQgd2UgaGFkIGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3YW50IHRvIHNheSB0aGF0IEkgYW0g dHJhbnNsYXRpbmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUgaXMgbm8gcGxhY2UgaW4gdGhlIHN0 cnVjdHVyZSBvZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0IHRvb2wgSSB0cmFuc2xhdGUgd2l0 aCwgc2luY2UsIG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90IG5lY2Vzc2FyeS4gTm90IHRv IHdvcnJ5LCB0aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRkIGFkZGl0aW9uYWwgc3VtdGkgcGxh Y2VzIHRvIHRoZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2ljIHdheSB0byBhZGQgc3VtdGkgcGxh Y2VzIGFyZSB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnICh5ZXMsIGFub3RoZXIgZXhhbXBsZSBv ZiBhIGZhJ29ybWEnbywgJydmZSd1JycuIEl0J3MgYWxtb3N0IG5ldmVyIG5lY2Vzc2FyeSwgc28g dGhpcyBtaWdodCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNlZSBpdC4pCgpJbiBiZXR3ZWVu IHRoZXNlIHR3byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlrZSAnJ2xvIFNFTEJSSSBrdScn LCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyBleHRyYWN0cyB0aGUgeDEgb2YgdGhlIHNlbGJyaSBwdXQg aW50byBpdC4gSG93ZXZlciwgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgdGhlIHNlbGJyaSBw bGFjZSBpcyBjb252ZXJ0ZWQsIG5vdCB0byBhIHN1bXRpLCBidXQgdG8gYSAnJ3N1bXRjaXRhJycs IG1lYW5pbmcg4oCcc3VtdGktbGFiZWzigJ0sIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiB0 aGUgeDEgb2YgdGhlIHNlbGJyaSBpdCBjb252ZXJ0ZWQuIFRoaXMgJydzdW10Y2l0YScnIHRoZW4g YWJzb3JicyB0aGUgbmV4dCBzdW10aS4gT25lIGNvdWxkIHNheSB0aGF0IHVzaW5nIGEgJydzdW10 Y2l0YScnLCB5b3UgaW1wb3J0IGEgc3VtdGkgcGxhY2UgZnJvbSBhbm90aGVyIHNlbGJyaSwgYW5k IGFkZCBpdCB0byB0aGUgYnJpZGkgYmVpbmcgc2FpZC4KCk5vdGU6IFNvbWV0aW1lcywgZXNwZWNp YWxseSBpbiBvbGRlciB0ZXh0cywgdGhlIHRlcm0g4oCcdGFn4oCdIG9yIOKAnG1vZGFs4oCdIGlz IHVzZWQgZm9yICcnc3VtdGNpdGEnJy4gSWdub3JlIHRob3NlIHB1bnkgRW5nbGlzaCBleHByZXNz aW9ucy4gV2UgdGVhY2ggcHJvcGVyIExvamJhbiBoZXJlLgoKCgpXaGlsZSBpdCBpcyBoYXJkIHRv IGdyYXNwIHRoZSBwcm9jZXNzIGZyb20gcmVhZGluZyBhYm91dCBpdCwgYW4gZXhhbXBsZSBjYW4g cGVyaGFwcyBzaG93IGl0cyBhY3R1YWwgc2ltcGxpY2l0eToKCl9fJydza2FtaScnX18g4oCceDEg aXMgYSBjb21wdXRlciBmb3IgcHVycG9zZSB4MuKAnQoKX18nJ3BpbG5vJydfXyDigJx4MSB1c2Vz IHgyIGFzIGEgdG9vbCBmb3IgZG9pbmcgeDPigJ0KCgoKJydtaSBmYW52YSB0aSBmaSdvIHNlIHBp bG5vIHtmZSd1fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0 aCBhIGNvbXB1dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdoaWNoIGlzIHRoZSB4MSBvZiAn J3NlIHBpbG5vJycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEgdG9vbCBiZWluZyB1c2VkIGJ5 IHNvbWVvbmUuIFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1cmVkIGJ5ICcnZmknbyBTRUxC UkkgZmUndScnLCBhZGRlZCB0byB0aGUgbWFpbiBzZWxicmksIGFuZCB0aGVuIGZpbGxlZCBieSAn J2xvIHNrYW1pJycuIFRoZSBpZGVhIG9mICcnc3VtdGNpdGEnJyBpcyBzb21ldGltZXMgZXhwcmVz c2VkIGluIEVuZ2xpc2ggdXNpbmcgdGhlIGZvbGxvd2luZyB0cmFuc2xhdGlvbjoKCuKAnEkgdHJh bnNsYXRlIHRoaXMgd2l0aC10b29sOiBBIGNvbXB1dGVy4oCdCgoKCkEgJydzdW10Y2l0YScnIGNh biBvbmx5IGFic29yYiBvbmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9u ZS4gQWx0ZXJuYXRpdmVseSwgdGhlICcnc3VtdGNpdGEnJyBjb25zdHJ1Y3QgY2FuIGJlIHRlcm1p bmF0ZWQgd2l0aCAnJ2t1JycsIGluIHdoaWNoIGNhc2UgYSAnJ3pvJ2UnJyBpcyBpbXBsaWVkIHRv IGZpbGwgdGhlICcnc3VtdGNpdGEnJy4gT3IsIG9uZSBjb3VsZCBpbWFnaW5lIGFuIGVsaWRlZCBz dW10aSBiZWluZyB0ZXJtaW5hdGVkIHdpdGggdGhlICcna3UnJy4KCl9fJyd6dWt0ZScnX18g4oCc eDEgaXMgYSB2b2xpdGlvbmFsIGVudGl0eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZvciBwdXJw b3NlIHgz4oCdCgoKCicnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8gc2thbWkge2t1fSBjdSBwaWxu byBsbyBsb2pibyB7a3V9e3ZhdX0nJyAtIOKAnFdpdGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNl ZCBzb21ldGhpbmcgTG9qYmFuaWPigJ0gKHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmlj IGNvbXB1dGVyIHdlbnQgc2VudGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhh ZCB2b2xpdGlvbi4gSXQgY291bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1l ZCB0aGUgY29tcHV0ZXIgLSBob3cgYm9yaW5nLikKCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkg bGEgbG9qYmFuIHtrdX0gZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bv a2VuIHRvIG1l4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250 IG9mIHRoZSBzZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNp dGEgb25seSBjYW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwg YmUgb2YgaW1wb3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRs eSwgJydmaSdvJycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0 eS4gV2hhdCBJUyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xh c3Mgb2YgTG9qYmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRh JycuIEFuIGV4YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScn LiBHcmFtYXRpY2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1 JycuIFRodXMsIHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Ug a3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4 aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVz ZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAn J3NlJycgYW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAn J2ZpJ28gc2UgenVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3Jl IEJBSS4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEs IFpFaEEsIFZFaEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFu Z3VhZ2UgTG9qYmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9m IExvamJhbiBncmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVj YXVzZSwgdW5saWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBv bmVzLCBmb3IgaW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNh eWluZyAnJ21pIGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2Xi gJ0gb3Ig4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCd IG9yIOKAnEluIGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVl c2XigJ0uIENvbnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252 ZXJzYXRpb24sIHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQn cyBuZWVkZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUs IExvamJhbiB0ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNw YWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcg dGltZSBhZ28gaXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29y ayBmYXIgYXdheSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUg TG9qYmFuIHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9m IHRoZSBsYW5ndWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBw ZXJmZWN0bHkgcmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2ls bCBub3QgaW52b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkg b3IgYW55dGhpbmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBz eXN0ZW0sIGFsbCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRs eSBqdXN0IG1hZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2Fs bHksIHRlbnNlcyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1 dCB0aGlzIGRpZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3aWxsIGJlIHdv bid0IGJlIGV4cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRoZXkgYXJlIGxp a2UgYWxsIG90aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgbWFr aW5nIGl0IGV4cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1JycuCgpUaGVyZSBh cmUgbWFueSBkaWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxldCdzIHN0YXJ0 IGF0IHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScn X18gLSBzdW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQg dGhlIHNhbWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtz dW10aX0KCgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCd LCDigJxub3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291 bGQgYXJndWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0 bHkgc2ltdWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBl eHRlbmRzIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVz dCDigJxhYm91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9uJ3QgcGVy Y2VpdmUgdGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVu c2Ugc3lzdGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1 Z2dlc3RlZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0 IGlkZWEsIGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0 aXZlLCBhbmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUg dG8gbGVhcm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291 bGQgeW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50 aW5nIHRvIGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBs byBudSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpIHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hl biBzcGVha2luZywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCB0aGlzIGFj dGlvbiBpcyBpbiB0aGUgcGFzdCByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVy IGF3YXnigJ0sIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZl IHRvIOKAnG5vd+KAnSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3Vt dGNpdGEsIGJlY2F1c2UgaXQncyBvYnZpb3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7 a3V9IHt2YXV9Jycgb3IKCicnbWkgZHVuZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycg b3IsIG1vcmUgY29tbW9ubHkKCicnbWkgcHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9 JycuIFRoZSBzdW10aSB3aGljaCBmaWxscyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pv J2UnJywgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRvIHRo ZSBzcGVha2VyJ3MgdGltZSBhbmQgcGxhY2UgKHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQg d2hlbiBzcGVha2luZyBhYm91dCBsZWZ0IGFuZCByaWdodCkuIElmIHNwZWFraW5nIGFib3V0IHNv bWUgZXZlbnRzIHRoYXQgaGFwcGVuZWQgc29tZSBvdGhlciB0aW1lIHRoYW4gdGhlIHByZXNlbnQs IGl0IGlzIHNvbWV0aW1lcyBhc3N1bWVkIHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8g dGhhdCBldmVudCB3aGljaCBpcyBiZWluZyBzcG9rZW4gYWJvdXQuIEluIG9yZGVyIHRvIGNsYXJp ZnkgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQg cG9zaXRpb24sIHRoZSB3b3JkICcnbmF1JycgY2FuIGJlIHVzZWQgYXQgYW55IHRpbWUuIEFub3Ro ZXIgd29yZCwgJydraScnIG1hcmtzIGEgdGVuc2Ugd2hpY2ggaXMgdGhlbiBjb25zaWRlcmVkIHRo ZSBuZXcgc3RhbmRhcmQuIFRoYXQgd2lsbCBiZSB0YXVnaHQgd2F5IGxhdGVyLgoKX18nJ25hdScn X18gdXBkYXRlcyB0ZW1wb3JhbCBhbmQgc3BhY2lhbCBmcmFtZSBvZiByZWZlcmVuY2UgdG8gdGhl IHNwZWFrZXIncyBjdXJyZW50IGhlcmUgYW5kIG5vdy4KCgoKX18nJ2d1Z2RlJydfXyA9IOKAnHgx IGlzIHRoZSBjb3VudHJ5IG9mIHBlb3BsZSB4MiB3aXRoIGxhbmQvdGVycml0b3J5IHgz4oCdCgoK CkFsc28gbm90ZSB0aGF0ICcnbWkgcHUge2t1fSBrbGFtYSBsbyBtZXJrbyBndWdkZSB7a3V9IHt2 YXV9JycsIOKAnEkgd2VudCB0byBBbWVyaWNh4oCdLCBkb2VzIG5vdCBpbXBseSB0aGF0IEknbSBu b3Qgc3RpbGwgdHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUgc29t ZSB0aW1lIGluIHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoKQXMg bWVudGlvbmVkLCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBtdWNo IGFsaWtlLiBDb250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0aGVz ZSBmb3VyIHNwYWNpYWwgdGVuc2VzOgoKX18nJ3p1J2EnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtz dW10aX0KCl9fJydjYSd1JydfXyBzdW10Y2l0YTogaW4gZnJvbnQgb2Yge3N1bXRpfQoKX18nJ3Jp J3UnJ19fIHN1bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnUndScnX18gc3VtdGNpdGE6 IGF0IHRoZSBzYW1lIHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2Nh JycpCgoKCl9fJydvJ28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBh dGllbmNlIC0gdG9sZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5vJ29uYWkgcmkndSB7 a3V9IG51IGxvIHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUge2t1fSB7a3V9IHt2YXV9 IHtrZWl9IHt2YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxpZGVkIGt1ISkKCl9fJydk YXJ4aScnX18geDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQgeDMgYXQgbG9jdXMgeDQK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUgcmlnaHQgKG9mIHNvbWV0 aGluZywgcHJvYmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29tZSBldmVudCksIHNvbWV0 aGluZyBpcyBhbiBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9nLuKAnSBvciDigJxBIG1h biBoaXQgYSBkb2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVu c2Ugc3VtdGNpdGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0IHlvdSByZWFkIHRoZW0g ZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNhbGxlZCDigJxpbWFnaW5h cnkgam91cm5leeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxpZWQgcG9pbnQgaW4gdGlt ZSBhbmQgc3BhY2UgKGRlZmF1bHQ6IHRoZSBzcGVha2VyJ3Mgbm93IGFuZCBoZXJlKSwgYW5kIHRo ZW4gZm9sbG93IHRoZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4K CkV4YW1wbGUKCicnbWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEn byB7a3V9IHt2YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIEkgd2lsbCBiZSBh Ym91dCB0byBrbm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgonJ21pIGJhIHtrdX0gcHUge2t1fSBq aW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnIOKAnEF0IHNvbWUgcG9pbnQg aW4gdGhlIGZ1dHVyZSwgSSB3aWxsIGhhdmUgdW5kZXJzdG9vZCBhYm91dCBmYSdvcm1hJ29zLuKA nQoKU2luY2Ugd2UgZG8gbm90IHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIHdlIG1vdmUgYmFj ayBvciBmb3J0aCwgdGhlIHVuZGVyc3RhbmRpbmcgY291bGQgaW4gYm90aCBjYXNlcyBoYXBwZW4g aW4gdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlLgoKCgpB bHNvLCBpZiBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZXMgYXJlIG1peGVkLCB0aGUgcnVsZSBp cyB0byBhbHdheXMgcHV0IHRlbXBvcmFsIGJlZm9yZSBzcGFjaWFsLiBJZiB0aGlzIHJ1bGUgaXMg dmlvbGF0ZWQsIGl0IGNhbiBzb21ldGltZXMgcmVzdWx0IGluIHN5bnRhY3RpY2FsIGFtYmlndWl0 eSwgd2hpY2ggTG9qYmFuIGRvZXMgbm90IHRvbGVyYXRlLgoKCgpTdXBwb3NlIHdlIHdhbnQgdG8g c3BlY2lmeSB0aGF0IHRoZSBhIG1hbiBoaXQgYSBkb2cganVzdCBhIG1pbnV0ZSBhZ28uIFRoZSB3 b3JkcyAnJ3ppJycsICcnemEnJyBhbmQgJyd6dScnIHNwZWNpZmllcyBhIHNob3J0LCB1bnNwZWNp ZmllZCAocHJlc3VtYWJseSBtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHRpbWUuIE5vdGlj ZSB0aGUgdm93ZWwgb3JkZXIgJydpJycsICcnYScnIGFuZCAnJ3UnJy4gVGhpcyBvcmRlciBhcHBl YXJzIGFnYWluIGFuZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBtaWdodCBiZSB3b3J0aCB0byBtZW1v cml6ZS4g4oCcU2hvcnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4gYXJlIGFsd2F5cyBjb250ZXh0IGRl cGVuZGVudCwgcmVsYXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3byBodW5kcmVkIHllYXJzIGlzIGEg c2hvcnQgdGltZSBmb3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwgYnV0IGEgbG9uZyB0aW1lIHRvIHdh aXQgZm9yIHRoZSBidXMuCgpfXycnemknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwg ZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18n J3phJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFu Y2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3p1Jydf XyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUg ZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1pbGFybHksIHNwYWNpYWwgZGlzdGFu Y2UgaXMgbWFya2VkIGJ5ICcndmknJywgJyd2YScnIGFuZCAnJ3Z1JycgZm9yIHNob3J0LCB1bnNw ZWNpZmllZCAobWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiBzcGFjZS4KCl9fJyd2aScnX18g c3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNl IGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydfXyBzdW10Y2l0YTogT2N1cnJpbmcg dGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9t IHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBm YXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVu Y2UgCgpfXycnZ3Vua2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgyIHdpdGggb2JqZWN0aXZlIHgz4oCd CgoKClRyYW5zbGF0ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1IHtrdX0gZ3Vua2Ege3ZhdX0nJwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLCBJIHdpbGwg d29yayBhIHBsYWNlIGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQZW9wbGUgcmFyZWx5IHVzZSAnJ3pp JycsICcnemEnJyBvciAnJ3p1Jycgd2l0aG91dCBhICcncHUnJyBvciAnJ2JhJycgaW4gZnJvbnQg b2YgaXQuIFRoaXMgaXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5 IHBhc3Qgb3IgZnV0dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gV2hlbiB5b3UgdGhpbmsg YWJvdXQgaXQgTG9qYmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0aW1lIHRoZSB0aW1lLWRpcmVjdGlv biBpcyBvYnZpb3VzLCBhbmQgdGhlICcncHUnJyBvciAnJ2JhJycgc3VwZXJmbHVvdXMhCgoKClRo ZSBvcmRlciBpbiB3aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEgYW5kIGRpc3RhbmNlLXN1bXRjaXRh IGFyZSBzYWlkIG1ha2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1iZXIgdGhhdCB0aGUgbWVhbmluZ3Mg b2Ygc2V2ZXJhbCB0ZW5zZSB3b3JkcyBwbGFjZWQgdG9nZXRoZXIgYXJlIHBpY3R1cmVkIGJ5IGFu IGltYWdpbmFyeSBqb3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUg enUnJyBpcyDigJxhIGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRo ZSBwYXN0IG9mIHNvbWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQg dGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAn J3B1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBp dCBpcyBhIGxvbmcgdGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScn IHNob3dzIHRoYXQgd2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20g bm93LCAnJ3B1JycgdGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQu IFRodXMgJydwdSB6dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJl IGluIHRoZSBmdXR1cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBp biB0aGlzIHdheSBpcyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNp dGEgYW5kIG90aGVyIHN1bXRjaXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJl IG5vdCBhbHRlcmVkIGJ5IHRoZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEg YnJpZGkuCgoKCkFzIGJyaWVmbHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0 cyBiYXNpY2FsbHkgdHJlYXQgYnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGlt ZSBhbmQgc3BhY2UuIEluIGFjdHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNw YW4gb2YgdGltZSBhbmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdl IHdpbGwgbGVhcm4gaG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoK CgpfXycnemUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHRpbWUgb2Yg e3N1bXRpfQoKX18nJ3plJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNp ZmllZCAobWVkaXVtKSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSd1JydfXyBzdW10Y2l0YTogc3Bh bm5pbmcgb3ZlciB0aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3ZlJ2knJ19fIHN1bXRj aXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUnYScn X18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHNwYWNl IG9mIHtzdW10aX0KCl9fJyd2ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9u ZyBzcGFjZSBvZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJl bWVtYmVyaW5nIHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGlu aXRpYWwgbGV0dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5z ZXMgbWlnaHQgaGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6 IHBhaW4gLSBwbGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2ZSd1IHtrdX0ga2xh bWEgbG8gZG90Y28gZ3VnZGUge2t1fSB6ZSd1IHtrdX0ge3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnE91Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGltZSB0cmF2ZWxpbmcgYSBsb25nIHNw YWNlIHRvIEdlcm1hbnnigJ0gfn4KCgoKVGhvdWdoIG1vc3QgcGVvcGxlIGFyZSBub3QgZmFtaWxp YXIgd2l0aCBzcGFjaWFsIHRlbnNlcywgdGhlc2UgbmV3IHdvcmRzIGNhbiBvcGVuIHVwIGZvciBz b21lIHByZXR0eSBzd2VldCB1c2VzLiBPbmUgY291bGQsIGZvciBpbnN0YW5jZSwgdHJhbnNsYXRl IOKAnFRoYXQncyBhIGJpZyBkb2figJ0gYXMgJyd0aSB2ZSd1IHtrdX0gZ2Vya3Uge3ZhdX0nJy4g U2F5aW5nOiDigJxUaGlzIHRoaW5nIGRvZ3MgZm9yIGEgbG9uZyBzcGFjZeKAnSBtYWtlcyB5b3Ug c291bmQgcmV0YXJkZWQgaW4gRW5nbGlzaCwgYnV0IHdlbGwtc3Bva2VuIGluIExvamJhbiEKCgoK Jyd6ZSd1JycgYW5kIGl0cyBicm90aGVycyBhbHNvIGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMg dG8gZm9ybSBjb21wb3VuZCB0ZW5zZXMuIFRoZSBydWxlIGZvciAnJ3plJ3UnJyBhbmQgdGhlIG90 aGVycyBhcmUgdGhhdCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBv ZiB0aGUgcHJvY2VzcyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFu eSB0ZW5zZXMgY29taW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2 ZSB0byB0aGUgZmlyc3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxl IG9mIGV4YW1wbGVzOgoKJycubydvY3UnaSBkbyBjaXRrYSBwdSB7a3V9IHplJ3Uge2t1fSBiYSB7 a3V9IHp1IHtrdX0ge3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGlu IHRoZSBwYXN0IGFuZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGlu dG8gdGhlIGZ1dHVyZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUg Zm9yIGEgbG9uZyB0aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHpl J2kge2t1fSBwdSB7a3V9IGtsYW1hIHt2YXV9Jycgd2l0aCAnJ2RvIHB1IHtrdX0gemUnaSB7a3V9 IGNhIHtrdX0ga2xhbWEge3ZhdX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMg b25lIGVuZHBvaW50IGluIHRoZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMg dGhlIHBhc3QsIHdoaWxlIHRoZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUg cGFzdCBhbmQgZXh0ZW5kcyBvbmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGlu dG8gdGhlIHBhc3Qgb3IgZnV0dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDi gJx4MSBpcyBhbGl2ZSBieSBzdGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUg e2t1fSB6aSB7a3V9IHplJ3Uge2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhl IHBhc3QgYW5kIGEgbG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNs eSB0aGUgZnV0dXJlLCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5 b3VuZywgYW5kIGhhdmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVz dCB0byB1bmRlcmxpbmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV0J3Mg aGF2ZSBhbm90aGVyIGV4YW1wbGUsIHRoaXMgdGltZSB3aXRoIHNwYWNpYWwgdGVuc2VzOgoKX18n Jy51J2UnJ19fIGF0dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy51J2UgemEn YSB7a3V9IGJ1J3Uge2t1fSB2ZSd1IHtrdX0gY2EndSB7a3V9IHpkYW5pIHt2YXV9JycgLSBXaGF0 IGRvZXMgaXQgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCce3dvbmRlcn0ge0kgb2Jz ZXJ2ZSF9IEV4dGVuZGluZyBhIGxvbmcgc3BhY2UgZnJvbSBoZXJlIHRvIG15IGZyb250IGlzIGEg aG9tZS7igJ0gb3Ig4oCcV293LCB0aGlzIGhvbWUgZXh0ZW5kaW5nIGFoZWFkIGlzIGh1Z2Uh4oCd fn4KCgoKQmVmb3JlIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBzeW50YXgtaGVhdnkgdGVuc2Ugc3lz dGVtLCBpIHJlY29tbWVuZCBzcGVuZGluZyBhdCBsZWFzdCB0ZW4gbWludXRlcyBkb2luZyBzb21l dGhpbmcgd2hpY2ggZG9lc24ndCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhl IGluZm9ybWF0aW9uIHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNs b3dseSAtIHdoYXRldmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbid0IGdv IHRocm91Z2ggYWxsIExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3csIHRoZXJlIGlzIG9u ZSBvdGhlciBraW5kIG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUgdGF1Z2h0IG5vdy4g VGhlc2UgYXJlIGNhbGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJlcHJlc2VudCBhIHZl cnkgZGlmZmVyZW50IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUgc2VlbiBzbyBm YXIuIFNvIGxldCdzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZlIGxlYXJu ZWQgc28gZmFyLCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwgYW5kIHdl IHRoZW4gcGxhY2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCcbm934oCd LiBXaXRoIGV2ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQgYXMgYSBw cm9jZXNzLCB3aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQgdW5mb2xk cywgYSB0aW1lIHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9jZXNzLCBh IHRpbWUgd2hlbiBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4gRXZlbnQg Y29udG91cnMgdGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudCdzIHByb2Nlc3Mg d2FzIGhhcHBlbmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5z ZXMuIFdlIG5lZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHUnbycnX18gLSBz dW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVuZWQgZHVyaW5n IHtzdW10aX0KCl9fJydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBp cyBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBzdW10Y2l0YTogZXZl bnQgY29udG91cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9 CgoKClRoaXMgbmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXQn cyAnJy51aSBtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoKCgpBbnN3ZXI6IOKA nFlheSwgSSdsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywg d2h5IG5vdCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2 ZW4gc2F2ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdp bGwgaGF2ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5 b3UgaGF2ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ugc2F5IHRoYXQg eW91IGFyZSBub3cgaW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhhdmluZyBhIGhv bWUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRo ZSB3YXksIHRoYXQgJydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMgc2ltaWxhciB0byAn J21pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2JhJ28n JyBhbmQgJydwdScnLiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNhdXNlIGV2ZW50IGNv bnRvdXJzIHZpZXcgdGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgdGhl IHByb2Nlc3MsIHdoZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20g dGhlIHByZXNlbnQuCgoKCk9mdGVuLCBldmVudCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRo YXQgb3RoZXIga2luZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGlldmVkIGJ5 IGNvbWJpbmluZyBzZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6aSB7a3V9IGJhJ28g e2t1fSBndW5rYSB7dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5pc2hlZCB3b3JraW5n LuKAnQoKCgpJbiBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50J3Mg4oCcbmF0 dXJhbCBiZWdpbm5pbmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCc bmF0dXJhbOKAnSBpcyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5h dHVyYWwgZW5kIHJlZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hv dWxkIGVuZC4gWW91IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRo YXQgaXRzIHByb2Nlc3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0 cyBuYXR1cmFsIGVuZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5 LCBpcyBiZWluZyBlYXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJlZ2lubmluZy4g VGhlIGV2ZW50IGNvbnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6 CgoKCl9fJyd6YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBw cm9jZXNzIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0KCl9fJyd4YSdvJydf XyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nl c3MgZHVyaW5nIHtzdW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2gg aXMgZWRpYmxlIGZvciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHphJ28gbG8g bnUgZG8gYmEnbyB7a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3Unb30g e3ZhdX0ge2tlaX0ge2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVw IGVhdGluZyB3aGVuIHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRo aW5nIGVkaWJsZSHigJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2dd In0KCkltYWdlIGFib3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2Vz IGFib3ZlIHRoZSBsaW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBh bW91bnQgb2YgdGltZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0 YWdlcyB3aGljaCBhcmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJl ZW4gZGVzY3JpYmluZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAo YXMgc2hvd24gb24gdGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50 IGxpa2UpLiBCdXQgbWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxp a2Ugc3RhZ2VzIGluIHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUg b2YgJydjYScnIGFuZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50 byB0aGUgcGFzdCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBw cmVjaXNlLgoKCgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91 cnMgYXJlOgoKX18nJ2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlz IGF0IGl0cyBiZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1JydfXyAtIHN1bXRjaXRh OiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoK CkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVy YWxseSBjb21wbGV0ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21v J3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBuYXR1cmFs IGVuZGluZyBkdXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBwcm9jZXNz ZXMgYWN0dWFsbHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdoYXQgbWFr ZXMgaXQgbmF0dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVvcGxlIHVz dWFsbHkgcmV0cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoKCgpTaW5j ZSBhIHByb2Nlc3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBwb2ludHMg aGF2ZSBlYXJuZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZSdhJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7c3VtdGl9 CgpfXycnZGknYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1p bmcgZHVyaW5nIHtzdW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgx IHBheXMgYXR0ZW50aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQgJydkaSdhIGp1bmRp JycgYXJlIGNvbW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFuZCDigJxiYWNr 4oCdLiBPbmUgY291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBjb250b3VycyBieSB0 aGVtc2VsdmVzIGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoKRmluYWxseSwgb25l IGNhbiB0cmVhdCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5k IGFzIG9uZSBzaW5nbGUgcG9pbnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVubWknJ19fIOKAnHgx IG1lZXRzIHgyIGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjbydpIHtr dX0gcGVubWkgbG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0bGUgd2hpbGUg YWdvLCBJIHdhcyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBhIEdlcm1hbiBwZXJz b27igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAob3JkZXJzIGFuZCBx dWVzdGlvbnMpCgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGggc3ludGF4IGhlYXZ5 IExvamJhbiBnaXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBhYm91dC4gRXNwZWNp YWxseSBiZWNhdXNlIGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4gU28gbGV0J3MgdHVy biB0byBzb21ldGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoK CldoYXQgdGhlLi4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4 cHJlc3Mgb3JkZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRo ZSBjbGF1c2UsIHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtp bmcgdG8sIGFuZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0 aW9uIHNvbWVvbmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJz dGFuZHMgdGhhdCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVj dGVkIHRvd2FyZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJq ZWN0IGlzIG5vdCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWll bGRzICcnem8nZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVz LiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2 ZSBmb3JtIG9mICcnZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lzZSwgaXQncyBlcXVp dmFsZW50IHRvICcnZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1hbnRpY3MsIHNpbmNl IGl0IHR1cm5zIGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBpbnRvIGFuIG9yZGVy LiDigJxEbyBzdWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9JydrbycnIeKA nSBGb3IgdGhlIHNhbWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5nbGlz aCBzZW50ZW5jZXMsIHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBv dGhlciBzdW10aSB0aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28g ZmFyIGF3YXkgZm9yIGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2Vs YnJpPykKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+fgoKKCcnLmkg emEnYSBkYWkgYSdvIG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5pIGtvIGppbXBlIHZh dSAudWknJykgLSBsb29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGlu IExvamJhbiBhcmUgdmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5k czogRmlsbCBpbiB0aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV0J3MgYmVn aW4gd2l0aCB0aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdzIHByZXR0eSBvdmVy Y29tZWFibGUsIHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUn JyB3b3JrcyBsaWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBh bnl3aGVyZSwgYW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1 Y3QpLiBJdCB0aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNr aW5nIHdoZXRoZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNp bXBseSByZXBlYXQgdGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycgJycuaSB2ZSd1IHpk YW5pIG1pJycsIG9yIHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhl IGJyaWRpIHdpdGggYWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoK VGhlcmUgaXMgYW4gZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBicmlrYSdpLCBidXQg dGhvc2UgYXJlIGEgdGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig 4oCcZmFsc2XigJ0sIHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRo YXQgdG9vLCB3aWxsIGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVl c3Rpb24gYW5zd2VyaW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhl IGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNl ZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBh cmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tp bmcgYWJvdXQ6CgpfXycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxi cmkgcXVlc3Rpb24KCl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9fJydjdSdlJydfXyAt IHRlbnNlIHF1ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBh IHN1bXRpLCB5b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3 YW50IHlvdXIgYW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8g YmUgZmlsbGVkIHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KA nS4gVGhlIGNvbWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1 bCBpbmRlZWQ6CgpfXycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0 cmFjdGlvbiBvZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kgbWEnJyAtIOKAnE95 LCB3aHkgZG8geW91IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVyIG9uZS4gVGhpcyB0 aW1lLCB5b3UgdHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8nJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5n IGFsbCB0aGlzIGxvbmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBh bHNvIG1lYW4g4oCcd2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcn LnVhIG5haSBsaSdhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBpcyBqdXN0IGJlaW5n IGluY3JlZGlibHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0b25lIG9mIHZvaWNl IG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhlciBhIHNlbnRlbmNl IGlzIGEgcXVlc3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBxdWVzdGlvbiB3 b3JkLiBUaGVyZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUgb24gd29yZHMg aW4gdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQncyB1c3VhbGx5 IHdvcnRoIHRoZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28gdGhhdCB0aGUgcXVl c3Rpb24gd29yZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBub3QgZmVhc2FibGUs ICcncGF1JycgaXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBzZW50ZW5jZSBpcyBh IHF1ZXN0aW9uLiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBtYXJrcyBhbnkgcXVl c3Rpb24gYXMgYmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRoZSB0b3BpYyBv ZiBxdWVzdGlvbnMsIGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcn a2F1JycsIHdoaWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hh dCdzIGFuIGluZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9vayBhdCB0aGUg c2VudGVuY2U6ICcnbWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8nJyAtIOKAnEkga25v dyB3aGF0IGlzIHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g4oCceDEga25vd3MgZmFjdChz KSB4MiBhcmUgdHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9uZSBjYW4gdGhp bmsgaXQgYXMgdGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBkbycnLiBNb3Jl IHJhcmVseSwgb25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAnJ2thdScnLCBp biB3aGljaCBjYXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5zd2VyIHRvIGEg cXVlc3Rpb246ICcnbWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25v dyB3aGF0IHlvdSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoK QmFjayB0byBtb3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVu J3QgYWxyZWFkeSwgSSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBMb2piYW5pYyByZWNv cmRpbmcgY2FsbGVkICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8g c29tZW9uZSBzcGVhayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFjdGljZSB5b3VyIHBy b251bmNpYXRpb24uIEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24gaW4geW91ciBoZWFk IGluIExvamJhbiBpcyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhlIHdyb25nIHNv dW5kcywgYW5kIGxlYXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3cml0dGVuIHRleHQgaXMgaGFy ZC4gVGhlcmVmb3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5k cywgaG93ZXZlciBpbXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0 aW9uIHRvIHRoZSBMb2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUg d29yZCBpcyBkZXJpdmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz 4oCdLCBhbmQgaW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRz IGZyb20gbGV0dGVycyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVkIHdpdGggc3ludGF4IC0gaG93 IHdlIG1ha2Ugc2VudGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRlcyB3aXRoIGRpZmZl cmVudCBtb3JwaG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5 IHRoZWlyIG1vcnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhv dWdoLCB3b3JkcyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBt b3JwaG9sb2dpY2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1ci4KCnx8ICAgQ2xh c3N8TWVhbmluZ3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRzOnwgICB8ICAg fCAgIAoKICAgQnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChl eGNsdWRpbmcg4oCcIOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93 ZWwuICAgfCAgIEFjdHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNl IHN0cnVjdHVyZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZv cm0gQ1ZDQ1Ygb3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMg YmFzaWMgY29uY2VwdHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4gRGVyaXZlZCBmcm9t IGZyb20g4oCcbHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKAnSB8ICAgTWluLiA2 IGxldHRlcnMuIE1hZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGggYmluZGluZyBs ZXR0ZXJzIGlmIG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBjb25jZXB0cyB0aGFu IGdpc211LgoKICAgLS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxhLCBidXQgZG8gbm90 IG1lZXQgZGVmaW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScn ICB8ICAgQ292ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNlcyBvciBvcmdh bmlzbXMuCgogICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBhbmQgZW5kaW5nIHdp dGggcGF1c2UgKGZ1bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEgY29uc29uYW50Lnwg ICBBbHdheXMgYWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAg IENtYXZvfCAgIEdyYW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1lYW5pbmcg4oCcc21h bGwgd29yZOKAnXwgT25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQgdGhlIGJlZ2lubmlu Zy4gRW5kcyBpbiBhIHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgog ICBXb3JkLWZyYWdtZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMs IENWJ1YsIC1DVkNDViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBhY3R1YWwgd29y ZHMsIGJ1dCBjYW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8fAoKCgoKCl9f JydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2lu IGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5n LCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEgY2FuJ3QgaGF2ZSBh bnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3RoZXIg aGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2piYW4g d2l0aG91dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3RlIHdv cmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcgdGhl IGxldHRlcnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAnJy5p b2hBTi4nJyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChNYXR0 KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90IGVu ZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSks IG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpf XycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBi eSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29y ZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVu IHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFy bHkgaW1wb3NzaWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQg YWxtb3N0IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5k IGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBj YXB0dXJlZCBieSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJl ZSBzdWJjYXRlZ29yaWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qgd29yZHMgb2YgdGhl IGxhbmd1YWdlLiBPbmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcgbmV3IG9uZXMg YXJlIGFkZGVkLiBUaGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxpa2Ug4oCcY2ly Y2xl4oCdLCDigJxmcmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCdLiBFeGFtcGxl cyBpbmNsdWRlICcnemRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9fJydsdWp2bycn X18gYXJlIG1hZGUgYnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFmc2kpLCByZXNwcmVz ZW50aW5nIGdpc211LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRvd24gdGhlIG1l YW5pbmcgb2YgdGhlIHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0ZSBhbGdvcml0 aG0sIHNvIG1ha2luZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1wb3NzaWJsZSwg d2l0aCBmZXcgZXhjZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcnc2UgcHJhbWknJywg d2hpY2ggY2FuIG9ubHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1h ZGUgb25jZSwgaXRzIHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmlu aXRpb24gaXMgbWFkZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVk ZSBicml2bGEgKGJyaWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9 IGZsaXJ0aW5nKSBhbmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18n J2Z1J2l2bGEnJ19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRl ZmluaXRpb24gZm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVu ZCB0byBjb3ZlciBjb25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIgYnkgbHVqdm8sIGZv ciBpbnN0YW5jZSBuYW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkgY3VsdHVyYWwgc3Bl Y2lmaWMgY29uY2VwdHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3VyaW8nJyAoS29yZWEp ICcnY2lkanJwaXRzYScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwpLgoKCgpfXycnY21h dm8nJ19fIGFyZSBzbWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFudHMuIFRoZXkg dGVuZCB0byBub3Qgc2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29ybGQsIGJ1dCB0 byBoYXZlIG9ubHkgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2NjdXIsIGFuZCBp dCdzIGRlYmF0YWJsZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFt bWF0aWNhbCBmdW5jdGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2Yg dGhlIGNsYXNzIEdPaEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUg c2V2ZXJhbCBjbWF2byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMs IHRoYXQgd29uJ3QgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlv bmFsIHVuaXRzLCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywg JycudWlwdXp1dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVy c3Rvb2QgYXMgJycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4g d29yZHMsIG9uZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9w IGJlZm9yZSBhbnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBm b3JtIHhWViwgQ1YnVlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdo aWNoIGFyZSBub3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFk ZGVkIGJ5IExvamJhbiB1c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycn cmFmc2knJ19fIGFyZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9u ZS4gSG93ZXZlciwgc2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3Jt IGx1anZvLiBUaGVzZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9u LCBmb3IgaW5zdGFuY2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBh IGNvbnNvbmFudCAod2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaSdla2VpJycgaXMg aW52YWxpZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3Rlciwg YW5kIGlzIHRodXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4s IGEgMy00IGxldHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcn enUnZScnLCB3aGljaCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBmb3IgJyd6dWt0ZScn LiBOb3RlIHRoYXQgdGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2byBhbmQgYSByYWZz aSB3b3VsZCBiZSBncmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIGhvbW9w aG9uZXMuIEFsbCBnaXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFyZSBwcmVmaXhl ZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBvZiBhIGdpc211IHN1 ZmZpeGVkIHdpdGggYW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0aGV5IGFyZSBz dWZmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2FuIG9ubHkgYXBwZWFy IGluIGx1anZvIG9yIGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0aW9ucyBhcmU6 IENWViwgQ1YnViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNp bmcgd2hhdCB5b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRl c3QgaSB0aHVzIHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3Jk cyBhcyBjbWV2bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdpdmxhJycgKGYpIG9y IGNtYXZvIChjKToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBI ICkgLmknaQoKQyApIGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4gICAgICAgIEogKSBw bGFqdmEKCkUgKSBwbydlICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCAp IC5lcnRzYQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBm LWwsIGctQywgaC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3Rv cHMgYmVmb3JlIGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0b28gZWFzeS4KCk5v dGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0 aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3Rp bGwgbWFrZXMgaXQgYSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5lZCBnaXNtdS4gU2lt aWxhcmx5IHdpdGggJycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBm b3VydGVlbiAodGhlIExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3UgaGF2ZSByZWFk IGFuZCB1bmRlcnN0b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1bnRpbCBub3cs IHlvdSBoYXZlIGFtYXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9mIExvamJhbiBzbyB0 aGF0IGl0IGRvZXNuJ3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVzdC4g QXMgYSByZXN1bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBtaXh0 dXJlIG9mIHNvcnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBpbXBv cnRhbmNlIGluIG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUgYmln Z2VzdCBjb25zdHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93bGVk Z2Ugb24gaG93IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycgYW5k ICcnbG8gU0VMQlJJJycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhv dyBpbXBvcnRhbnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0 aGUgZm9sbG93aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3cs IHdlIGZvY3VzIG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdp dGggYXJ0aWNsZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcn Z2FkcmknJywgYW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRl cm1pbmF0ZWQgYnkgJydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xhIENNRVZMQScn LCAnJ2xhaSBDTUVWTEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxsIGJlZ2luIGJ5IGRl c2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRpLCBhbmQgdGhl biBpbW1lZGlhdGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6 CgpfXycnbG8nJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0 eS9tYXNzLW5lc3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0 byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFtaW5nIGFy dGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp 4oCdLiBUcmVhdCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJlYWR5IGZh bWlsaWFyIHdpdGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMgaXQgbWVh biwg4oCcdmVyaWRpY2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFs aXR5L21hc3MtbmVzc+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFscyBhbmQgbWFzc2Vz LCBJJ2xsIGNvbWUgYmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs4oCdIGluIHRo aXMgY29udGV4dCBtZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1YWxpZnkgYmVn aW4gbGFiZWxsZWQgYXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFsbHkgJydrbGFtYScn LiBUaHVzLCB2ZXJpZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBv ciBmYWxzZSAtIHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhl IHgxIG9mIHRoZSBzZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkgYmUgY29udHJhc3Rl ZCB3aXRoICcnbGUnJywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5vdCB2ZXJpZGlj YWwuIFNheWluZyAnJ2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBvciBtb3JlIHNw ZWNpZmljIG9iamVjdHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAnJ2dlcmt1Jycg dG8gZGVzY3JpYmUgaXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVudGlmeSB0aG9zZSBz cGVjaWZpYyBvYmplY3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3byBpbXBvcnRh bnQgZGlmZmVyZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5vdCByZWZlciB0byBv YmplY3RzIGluIGdlbmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNpZmljIG9iamVjdHMu IFNlY29uZGx5LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBk b2dzLCAnJ2xlIGdlcmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55 dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxs IGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtl ciBpcyByZWZlcnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVt IGFuZCB0aGluayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJl IHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFz aXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBp cyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJl IGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1l ZCB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0 cmFuc2xhdGlvbiwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29t ZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUg ZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCc ZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJl IGlzICcnbGEnJywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRp b25hbGx5IGNhbGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMg dGhhdCBpdCdzIG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwgc2luY2UgaXQgcmVm ZXJzIHRvIGEgcHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0byBhIHBlcnNvbiBj YWxsZWQgSW5ub2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmliZSBoZXIgYXMgYmVp bmcgaW5ub2NlbnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkgc3RhdGUgdGhh dCBieSBjb252ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBieSB0aGF0IHNlbGJy aSBvciBjbWV2bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBkZXJpdmVkIGZyb20g aXQgY2FuIGNvbnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScn LiBBbHNvOiBCZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRpb24gdGhhdCBuYW1l cyBjYW4gYmUgZm9ybWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBnYWRyaSAnJ2xh JycuIEJ1dCB0aG9zZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBhcmUgYXMgZ29v ZCBhcyB0aGV5IGdldCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0aGVtLgoKJyds YScnLCBhcyB3ZWxsIGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJpdCBlY2NlbnRyaWMs IHNpbmNlIHRoZXkgX19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmFtZS4gVW5s aWtlIHRoZSBvdGhlciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1hdGljYWxseSBw bGFjZWQgYWZ0ZXIgJydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9m IHRoZSBuYW1lLiBGb3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJteSBkb2ciLCBidXQg JydsYSBtaSBnZXJrdScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoKCgpUaGVzZSB0aHJl ZSBiYXNpYyAnJ2dhZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUgbW9yZSwgd2hpY2gg Y29ycmVzcG9uZHMgdG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAtIGdhZHJpOiB2ZXJp ZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNz KGVzKS4KCl9fJydsZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9fJydsYWknJ19fIC0g Z2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9y IGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKCgpUaGVzZSBh cmUgdGhlIHNhbWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhl IHN1bXRpIGV4cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3Qg aW4gcXVlc3Rpb24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBv YmplY3QgYXJlIGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNv bmNlcHRzIGxpZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2Yg aW5kaXZpZHVhbHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUg c2FpZCB0byBmaXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJz IG9mIHRoZSBncm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2Ny aWJlIGEgcGFjayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBi ZWluZyBibGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBh cmUgYmxhY2suIEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxi cmkgd2hpY2ggaXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8g c3BlYWsuIEhvd2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBt dXN0IGJlIGRvZ3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5v dGlvbiBvZiAibWFzc2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVpcmVzIHNvbWUgZXhh bXBsZXMgdG8gZGVtb25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4gaGF2ZToKCl9fJydz cnVyaScnX186IOKAnHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFu ZS9kaXJlY3Rpb25zIHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFuaScnIC0g4oCc VGhlIHBlb3BsZSBzdXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2libGUsIGV2ZW4gdGhv dWdoLCB5byBtb21hIGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBsZXRlbHkgaW1wbGF1 c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFs b25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFs bHBveCBpbiB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQg dGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUg aW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1h c3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z 4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFu LiBBbm90aGVyIGV4YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBhIGJpb2xvZ2ljYWwg Y2VsbCBvZiBvcmdhbmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBhIGh1bWFuIgoKJyds b2kgbWl2eXNsZSBjdSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFyZSBodW1hbiIu IEFnYWluLCBub25lIG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwgdGhlIGNlbGxzIGhh dmUgdmVyeSBmZXcgaHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNpZGVyZWQgYXMgYSB3 aG9sZSBtYWtlcyB1cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcnbGVpJycsIHN1Y2gg YXMgJydsZWkgZ2Vya3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBncm91cCBvZiBz cGVjaWZpYyBpbmRpdmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtlciByZWZlcnMgdG8g YXMgJydsZSBnZXJrdScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkgJydsYWknJyBhcmUg b25seSBhcHByb3ByaWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1lZCBzdWNoLCBh bmQgbm90IGp1c3QgaWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBob3dldmVyIGJl IHVzZWQgaWYgdGhlIGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBvZiB0aGF0IGdy b3VwLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycgYW5kICcnbGUn JyBjYW4gYmUgdXNlZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFuZCBtYXNzZXMuIExl dCdzIHNheSBhIHBhY2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3MgbmVlZHMgZGVzY3Jp cHRpb24uIEkgbWlnaHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1Jycgb3IgJyds byBnZXJrdScnLiBJZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRvIGNvcnJlY3RseSBz dGF0ZSBzb21ldGhpbmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24sIGJ1dCByZWFs bHkgaXNuJ3Q6ICcnbG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3MgYXJlIG5vdCBkb2dz Ii4gU2luY2UgaXQncyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0aGUgbWFueSBk b2dzIGNvbnNpZGVyZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCByYXRoZXIgYSBwYWNr IG9mIGRvZ3MuCgpZb3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgbm8gd29yZCB3 aGljaCB1bmFtYmlndW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlkdWFsKHMpLiBJbiBv cmRlciB0byBiZSBleHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25lIG5lZWRzICcnbG8n JywgJydsZScnIG9yICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIuIFRoZSBzdWJqZWN0 IG9mIHF1YW50aWZpZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4gbGVzc29uIHR3ZW50 eS10d28uIFdoYXQgaXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJydsZScnIHZhZ3VlLCBh bmQgbm90IGV4cGxpY2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVpciB2YWd1ZW5l c3MgZW5hYmxlcyB0aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdpdGhvdXQgdGhlIHNw ZWFrZXIgaGF2aW5nIHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBhcyBhIG1hc3Mg b3IgYSBncm91cCBvZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJpZXMsIHRoZXJl IGFyZSB0aHJlZSBzZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydpJydfXyAtIGdhZHJp OiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBh cyBhIHNldC4KCl9fJydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xhJ2knJ19fIC0g Z2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9y IGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3Jv dXBzIG9mIGluZGl2aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0 YWtlIGFueSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhl IHNldCBpcyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2Fs IGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNo aXAgYW5kIHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4g YSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1l ZDoKCl9fJyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVj aWVzL2JyZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydpIHRpcnh1IGN1IGNt YWx1Jycgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNtYWxsICh3aGlj aCBpcywgYnkgdGhlIHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQgc2F5IHRoYXQg dGhlIHNldCBvZiBiaWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFyZSBmZXcgb2Yg dGhlbS4KCgoKTGFzdGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2VuZXJhbGl6aW5nICcn Z2FkcmknJzoKCl9fJydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBlIG9mICcnbG8ge3Nl bGJyaX0nJy4KCl9fJydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVk IGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xh JyctZXF1aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hl dHlwZT8gRm9yICcnbG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNh dCwgd2hpY2ggaGFzIGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJp ZyBjYXRzLiBJdCB3b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmlu ZyBhIHN0cmlwZWQgZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBt ZW1iZXJzIG9mIHRoZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRo ZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBk b2VzIG5vdCBsaXZlIGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dl dmVyLCBpZiBzdWZmaWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFu Y2UgYmVpbmcgYWJsZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgx IGlzIGNhcGFibGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgon J2xvJ2UgcmVtbmEgY3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFu IGJlaW5nIGNhbiBzcGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVj dCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90 IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCc c3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1 bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5v dC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGlt YWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRo ZSBhcmNoZXR5cGUgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGls ZSB0aGUgYXJjaGV0eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUg cmVtbmEnJy4KCgoKVGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBi ZWxvdy4KCnx8IHxHZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxv fGxvaXxsbydpfGxvJ2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFp fGxhJ2l8ZG9lcyBub3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3Jk ICcneG8nZScnIGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBk ZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBj dXJyZW50IHNldCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFz IHJlcGxhY2VkIHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydl JycgaXMgdXNlZCBhcyBhIGVsbGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVlbikuCgoKCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDI6IEtP aEEzLCBLT2hBNSBhbmQgS09oQTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5IHRvIHRyYW5z bGF0ZSB0aGUgc2VudGVuY2U6IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBjYW4gc3BlYWsg TG9qYmFuIHNwZWFrIHRvIGVhY2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0aGV5IGNhbiBz cGVha+KAnToKCl9fJydiYW5ndScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1c2VkIGJ5IHgyIHRv IGV4cHJlc3MgeDMgKGFic3RyYWN0aW9uKeKAnQoKJydsZSdlIHByZW51IHBvaSBrZSdhIGtha25l IGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIGxlJ2UgcHJlbnUgcG9pIGtlJ2Eg a2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gbG8gYmFuZ3UgcG9pIGxvIHByZW51IHBv aSBrZSdhIHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHNlIGJhbmd1IGtlJ2EnJwoKCgpXaGF0IHdl IHNlZSBpcyB0aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBF bmdsaXNoLiBUaGlzIGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5 IGxvbmcgc3VtdGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4gdGhlIExvamJh biB0ZXh0LCB3aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhl cuKAnSBhbmQg4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4gV291bGRuJ3QgaXQg YmUgY2xldmVyIGlmIExvamJhbiBzb21laG93IGhhZCBtZWNoYW5pc21zIGZvciBkb2luZyB0aGUg c2FtZT8KCgoKSXQgdHVybnMgb3V0IGl0IGRvZXMsIHdoYXQgYSBzdXJwcmlzZSEgTG9qYmFuIGhh cyBhIHJhbmdlIG9mIHdvcmRzIGNhbGxlZCAnJ3N1bWthJ2knJyBtZWFuaW5nIOKAnHN1bXRpLXJl cHJlc2VudGF0aXZlc+KAnS4gSW4gRW5nbGlzaCwgd2UgcmVmZXIgdG8gdGhlbSBhcyBwcm8tc3Vt dGksIGJlY2F1c2UgdGhleSBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgdGhlIEVuZ2xpc2gg cHJvbm91bnMsIGJ1dCB3aXRoIHN1bXRpIGluc3RlYWQgb2Ygbm91bnMuIEluIGZhY3QsIHlvdSBh bHJlYWR5IGtub3cgJyd0aScnLCAnJ2RvJycgYW5kICcnbWknJywgYnV0IHRoZXJlIGFyZSBtYW55 IG1vcmUsIHNvIGxldCdzIGdldCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGlu dG8gc3lzdGVtLiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVu Z2xpc2gsIGFuZCB3aGF0IHlvdSd2ZSBhbHJlYWR5IGxlYXJuZWQ6CgoKCl9fJyd0aScnX18gLSBz dW1rYSdpOiDigJxpbW1lZGlhdGUg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxs eSBuZWFyIHRoZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vta2EnaTog4oCcbmVhcmJ5IOKA mGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHNvbWUgcGh5c2ljYWwgZGlzdGFuY2UgZnJvbSB0aGUg c3BlYWtlciBPUiBjbG9zZSB0byB0aGUgbGlzdGVuZXLigJ0KCl9fJyd0dScnX18gLSBzdW1rYSdp OiDigJxkaXN0YW50IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgZmFyIGZy b20gdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci7igJ0KCgoKWW91IGNhbiBhZ2FpbiByZWNv Z25pemUgdGhlIOKAnGksIGEsIHXigJ0tc2VxdWVuY2Ugd2hpY2ggcG9wcyB1cCBvdmVyIGFuZCBv dmVyLiBTb21lIHRoaW5ncyBtaWdodCB0YWtlIHNvbWUgY2xlYXJpbmcgdXAsIHRob3VnaC4gRmly c3RseSwgdGhlc2Ugc3VtdGkgY2FuIHJlcHJlc2VudCBhbnl0aGluZyB3aGljaCBjYW4gYmUgc2Fp ZCB0byBvY2N1cHkgYSBwaHlzaWNhbCBzcGFjZS4gT2JqZWN0cywgY2VydGFpbmx5LiBJZGVhcywg Y2VydGFpbmx5IG5vdC4gRXZlbnRzIGFyZSBhY2NlcHRlZCwgYnV0IG9ubHkgdG8gdGhlIGV4dGVu dCB0aGV5IGFyZSByZXN0cmljdGVkIHRvIGEgc3BlY2lmaWMgcGxhY2UgLSB0aGUgSmFzbWluIFJl dm9sdXRpb24gY2Fubm90IGJlIHBvaW50ZWQgYXQsIGJ1dCBzb21lIGJhci1maWdodCBvciBhIGtp c3MgbWlnaHQuIFNlY29uZGx5LCBub3RlIHRoYXQgdGhlIGRpc3RhbmNlIGlzIHJlbGF0aXZlIHRv IGRpZmZlcmVudCB0aGluZ3MgZm9yIHRoZSBkaWZmZXJlbnQgd29yZHM6ICcndHUnJyBvbmx5IGFw cGxpZXMgaWYgaXQncyBkaXN0YW50IGZyb20gYm90aCB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3Rl bmVyLiBJbiBjYXNlcyB3aGVyZSB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgZmFyIGFwYXJ0 IGFuZCB0aGUgbGlzdGVuZXIgY2Fubm90IHNlZSB0aGUgc3BlYWtlciB0YWxraW5nLCAnJ3RhJycg cmVmZXJzIHRvIHNvbWV0aGluZyBjbG9zZSB0byB0aGUgbGlzdGVuZXIuIFRoaXJkbHksIGl0J3Mg YWxsIHJlbGF0aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhyZWUgd29yZHMgYXJl IGFsbCBwcm9ibGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5jZSwgYmVjYXVzZSB0 aGUgcG9zaXRpb24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVua25vd24gdG8gZWFj aCBvdGhlciwgYW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVybW9yZSwgdGhlIGF1 dGhvciBvZiBhIGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQgZXhwcmVzcyB0aGUg cG9pbnRpbmcgaW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJpZXMgY2FsbGVkIEtP aEEzLCB0byB3aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcna28nJywgYnV0IEkgd29uJ3Qg d3JpdGUgdGhhdCBoZXJlKSBiZWxvbmdzOgoKX18nJ21pJydfXyAtIHN1bWthJ2k6IFRoZSBzcGVh a2VyKHMpLgoKX18nJ21pJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIo cykgYW5kIHRoZSBsaXN0ZW5lcihzKSAuCgpfXycnbWknYScnX18gLSBzdW1rYSdpOiBUaGUgbWFz cyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgb3RoZXJzLgoKX18nJ21hJ2EnJ19fIC0gc3Vta2EnaTog VGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocyksIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoK X18nJ2RvJydfXyAtIHN1bWthJ2k6IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydkbydvJydfXyAtIHN1 bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKCgpUaGVzZSBz aXggc3Vta2EnaSBhcmUgbW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cgVmVubiBkaWFn cmFtOgoKCgp7aW1nIGZpbGVJZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KClZlbm4gZGlh Z3JhbSBvZiBLT2hBMyAoJydrbycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlzIG5vdCBhIEtP aEEzLCBidXQgbWVhbnMg4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3NpYmxlIGZvciBz ZXZlcmFsIHBlb3BsZSB0byBiZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBzdGF0ZW1lbnQg aXMgbWFkZSBvbiB0aGUgYmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUsIHdoaWxlIOKA nHdl4oCdIGNhbiBiZSB0cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21pJycsICcnbWknbycnLCAnJ21p J2EnJyBvciAnJ21hJ2EnJywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMgcmVhbGx5IGp1 c3QgJydtaScnLiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1vcmUgdGhhbiBv bmUgaW5kaXZpZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxvZ2ljLCB0aGUg YnJpZGkgJydtaSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0bHkgZXF1aXZhbGVu dCB0byAnJ2RvIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtlciBBLCBhbmQgYXJl IGNvbnNpZGVyZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRvIHRoaXMgbGF0 ZXIsIGluIHRoZSAnJ2JyaWthJ2knJyAocHJvLWJyaWRpKSBsZXNzb24uCgoKCkFsbCBvZiB0aGVz ZSAnJ3N1bWthJ2knJyBhcmUgdmVyeSBjb250ZW50LXNwZWNpZmljLCBhbmQgY2Fubm90IGJlIHVz ZWQsIGZvciBpbnN0YW5jZSwgdG8gaGVscCB1cyB3aXRoIHRoZSBzZW50ZW5jZSB3aGljaCB0aGlz IGxlc3NvbiBiZWdhbiB3aXRoLiBUaGUgZm9sbG93aW5nIHNlcmllcyBjYW4gaW4gcHJpbmNpcGxl IGJlIHVzZWQgdG8gcmVmZXIgdG8gYW55IHN1bXRpOgoKX18nJ3JpJydfXyAtIHN1bWthJ2k6IOKA nExhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncmEnJ19fIC0gc3Vta2EnaTog4oCcQSByZWNl bnQsIGJ1dCBub3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vt a2EnaTog4oCcQSBzdW10aSBtZW50aW9uZWQgbG9uZyBhZ2/igJ0KCgoKVGhlc2Ugc3VtdGkgd2ls bCByZWZlciB0byBhbnkgdGVybWluYXRlZCBzdW10aSBleGNlcHQgbW9zdCBvdGhlciAnJ3N1bWth J2knJy4gVGhlIHJlYXNvbiB0aGF0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycgY2Fubm90IGJlIHJl ZmVycmVkIHRvIGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kgdG8ganVz dCByZXBlYXQgYnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBhcmUgJyd0 aScnLCAnJ3RhJycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFuZ2VkIHdo YXQgeW91IHBvaW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdvcmQuIFRo ZXkgd2lsbCBvbmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNhbm5vdCwg Zm9yIGluc3RhbmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlmIHRoZSB3 b3JkIGluIGlzIHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtlJ2EgcGVuZG8gbWkg Y3UgZGppY2EgbG8gbnUgcmkgc2UgemRhbmknJyAtIGhlcmUgJydyaScnIGNhbm5vdCByZWZlciB0 byB0aGUgYWJzdHJhdGlvbiwgc2luY2UgaXQgaXMgbm90IHRlcm1pbmF0ZWQsIG5vciB0byAnJ21p Jycgb3IgJydrZSdhJycsIHNpbmNlIHRoZXkgYXJlIHN1bWthJ2ksIHNvIGl0IHJlZmVycyB0byAn J2xlIHBlbmRvJycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1kZXBlbmRlbnQgaW4g d2hhdCB0aGV5IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1lbnRpb25lZCBh Ym92ZSwgYW5kICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQgc3VtdGkgdGhh biAnJ3JhJycsIHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3JpJycuCgoKCicn cmknJyBhbmQgaXQncyBicm90aGVycyBhcmUgcHJldHR5IHdlbGwgc3VpdGVkIGZvciBkZWFsaW5n IHdpdGggdGhlIG9yaWdpbmFsIHNlbnRlbmNlLiBUcnkgc2F5aW5nIGl0IHVzaW5nIHR3byBpbnN0 YW5jZXMgb2YgJydzdW1rYSdpJychCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSdlIHByZW51 IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIHJ1IGxv IGJhbmd1IHBvaSBydSBjdSBzZSBiYW5ndSBrZSdhJycuICcncmknJyBpcyBub3QgY29ycmVjdCwg YmVjYXVzZSBpdCByZWZlcnMgdG8gJydsYSAubG9qYmFuLicnLiAnJ3JhJycgY291bGQgYmUgdXNl ZCwgYnV0IGNvdWxkIGJlIG1pc3Rha2VubHkgYmUgdGhvdWdodCB0byByZWZlciB0byAnJ2xvIG51 IHRhdmxhIGZvIGxhIC5sb2piYW4uJycsIGJ1dCAnJ3J1JycgaXMgYXNzdW1lZCB0byByZWZlciB0 byB0aGUgbW9zdCBkaXN0YW50IHN1bXRpIC0gdGhlIG1vc3Qgb3V0ZXIgb25lLn5+CgoKCkxhc3Rs eSwgdGhlcmUgYSBzdW10Y2l0YSB3aGljaCByZXByZXNlbnQgdXR0ZXJhbmNlczogU28gY2FsbGVk IHV0dGVyYW5jZSB2YXJpYWJsZXMuIFRoZXkgbmVlZCBub3QgYmUgcmVzdHJpY3RlZCB0byBvbmUg c2VudGVuY2UgKGp1ZnJhKSwgYnV0IGNhbiBiZSBzZXZlcmFsIHNlbnRlbmNlcywgaWYgdGhlIGNv bnRleHQgYWxsb3dzIGl0OgoKX18nJ2RhJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3Rl IHBhc3Qgc2VudGVuY2UKCl9fJydkZSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlY2VudCBz ZW50ZW5jZQoKX18nJ2RpJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUHJldmlvdXMgc2VudGVu Y2UKCl9fJydkZWknJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogVGhpcyBzZW50ZW5jZQoKX18nJ2Rp J2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBzZW50ZW5jZQoKX18nJ2RlJ2UnJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogTmVhciBmdXR1cmUgc2VudGVuY2UKCl9fJydkYSdlJydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IFJlbW90ZSBmdXR1cmUgc2VudGVuY2UKCl9fJydkbydpJydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IEVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDigJxTb21lIHNl bnRlbmNl4oCdCgpUaGVzZSByZXByZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10aSwgYW5kIHJlZmVy IG9ubHkgdG8gdGhlIHNwb2tlbiB3b3JkcyBvciB0aGUgbGV0dGVycywgbm90IHRvIHRoZSBtZWFu aW5nIGJlaGluZCB0aGVtLgoKCgpUaGVyZSBhcmUgbW9yZSBMb2piYW4gJydzdW1rYSdpJycsIGJ1 dCBmb3Igbm93IHlvdSBwcm9iYWJseSBuZWVkIGEgYnJlYWsgZnJvbSB0aGVtLiBUaGUgbmV4dCBs ZXNzb24gd2lsbCBiZSBvbiBkZXJpdmVkIHN1bXRpLCBzdW10aSBtYWRlIGZyb20gb3RoZXIgc3Vt dGkuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzaXh0ZWVuICh0aGUgTG9qYmFuIHN1 bXRpIDM6IGRlcml2ZWQgc3VtdGkpCgpZb3UgY2FuIHByb2JhYmx5IHNlZSB0aGF0IHRoZSBzdW10 aSAnJ2xlIGJhbmd1IHBvaSBtaSBzZSBiYW5ndSBrZSdhJycgaXMgYSBsZXNzIHRoYW4gZWxlZ2Fu dCBleHByZXNzaW9uIGZvciDigJxteSBsYW5ndWFnZeKAnS4gVGhpcyBpcyBiZWNhdXNlIGl0J3Mg cmVhbGx5IGEgd29yayBhcm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBjYW4gYmUgc2Fp ZCB0byBmaWxsIGludG8gdGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycuIFdlIGNhbid0 IGNvbnZlcnQgdGhhdCB0byBhIHN1bXRpIHVzaW5nIGEgZ2Fkcmk6ICcnbGUgYmFuZ3Uge2t1fSBt aScnIGlzIHR3byBzdW10aSwgYmVjYXVzZSAnJ2Jhbmd1IG1pJycgaXMgYSBicmlkaSwgbm90IGEg c2VsYnJpLiBOZWl0aGVyIGNhbiB3ZSBjb252ZXJ0IGl0IHVzaW5nICcnbGUgc3UndScnLCBiZWNh dXNlIHRoZSBzdSd1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFic3RyYWN0aW9uLCBh bmQgdGhlICcnbGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4gYWJzdHJhY3Rp b24gc3VtdGkgbWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0aGluZyBpcyBteSBs YW5ndWFnZeKAnS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3aGljaCBiaW5kcyBj b25zdHJ1Y3RzIChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBzZWxicmkuIFVzaW5n IGl0IGluIG9yZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5lbGNpIGJlIGRv JycsIHRoZSAnJ2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEgc3VtdGkgaXMgYm91 bmQgdG8gYSBzZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24gdGhlIHNlbGJy aSB3aXRob3V0IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJlIG1pJycgaXMg YSBjb3JyZWN0IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lzZSwgeW91IGNh biBhdHRhY2ggYSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRvJyc6IOKAnFRo ZSBldmVudCBvZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCdLiBOb3RlIHRoYXQg dGhlIHByZXNlbmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBwYXJzZSBkaWZmZXJl bnRseTogV2l0aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRhY2hlcyB0byAnJ251 JycsIHdpdGhvdXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4aScnLiBTbyBp dCBkZWNpZGVzIHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhpdHRpbmcsIG9yIHRo ZSBldmVudCBvZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3BlY2lmaWMgY2FzZSwg dGhvdWdoLCB0aGF0J3MganVzdCBhYm91dCB0aGUgc2FtZSB0aGluZy4KCgoKV2hhdCBpZiBJIHdh bnQgdG8gYXR0YWNoIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmkgaW5zaWRlIGEgZ2Fkcmk/IOKA nFRoZSBnaXZlciBvZiB0aGUgYXBwbGUgdG8geW914oCdIGlzICcnbGUgZHVuZGEgYmUgbG8gcGxp c2UgYmUgZG8nJywgcmlnaHQ/IE5vcGUuIFRoZSBzZWNvbmQgJydiZScnIGF0dGFjaGVzIHRvIHRo ZSBhcHBsZSwgbWVhbmluZyAnJ2xlIHBsaXNlIGJlIGRvJycgLSDigJxUaGUgYXBwbGUgb2YgdGhl IHN0cmFpbiBvZiB5b3XigJ0sIHdoaWNoIG1ha2VzIG5vIHNlbnNlLiBJbiBvcmRlciB0byBzdHJp bmcgc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSwgdGhlIGFsbCB0aGUgb25lcyBmb2xsb3dpbmcg dGhlIGZpcnN0IG11c3QgYmUgYm91bmQgd2l0aCAnJ2JlaScnLiBUaGUg4oCcYmluZGluZ+KAnSBj YW4gYmUgdGVybWluYXRlZCB3aXRoICcnYmUnbycnIC0gb25lIGluc3RhbmNlIG9mICcnYmUnbycn IGZvciBlYWNoIHNlbGJyaSB3aGljaCBoYXMgc3VtdGkgYm91bmQgYnkgJydiZScnLgoKVG8gbGlz dCB0aGVtOgoKX18nJ2JlJydfXyBiaW5kcyBzdW10aSBvciBzdW10Y2l0YSB0byBzZWxicmkKCl9f JydiZWknJ19fIGJpbmRzIGEgc2Vjb25kLCB0aGlyZCwgZm91cnRoIChlY3QpIHN1bXRpIG9yIHN1 bXRjaXRhIHRvIGEgc2VsYnJpCgpfXycnYmUnbycnX18gZW5kcyBiaW5kaW5nIHRvIHNlbGJyaQoK CgpUaGVyZSBpcyBhbHNvIHdheXMgdG8gbG9vc2VseSBhc3NvY2lhdGUgYSBzdW10aSB3aXRoIGFu b3RoZXIuICcncGUnJyBhbmQgJyduZScnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0 aXZlIGFzc29jaWF0aW9uLiBBY3R1YWxseSwgJydsZSBiYW5ndSBwZSBtaScnIGlzIGEgYmV0dGVy IHRyYW5zbGF0aW9uIG9mIOKAnG15IGxhbmd1YWdl4oCdLCBzaW5jZSB0aGlzIHBocmFzZSwgbGlr ZSB0aGUgRW5nbGlzaCwgaXMgdmFndWUgYXMgdG8gaG93IHRoZSB0d28gYXJlIGFzc29jaWF0ZWQg d2l0aCBlYWNoIG90aGVyLgoKJydwZScnIGFuZCAnJ25lJycgYXJlIHVzZWQgYXMgbG9vc2UgYXNz b2NpYXRpb24gb25seSwgbGlrZSBzYXlpbmcg4oCcbXkgY2hhaXLigJ0gYWJvdXQgYSBjaGFpciB3 aGljaCB5b3Ugc2l0IG9uLiBJdCdzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5n IGRvIHRvIHdpdGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJs aXNoZWQgd2l0aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5k IGJpbmRpbmcgdG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5 b3UgYWN0dWFsbHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycs IHdoaWNoIG1ha2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRp LCBtZWFuaW5nIHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4g U29tZSBleGFtcGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUg Y291bnRyeSI7IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlm IHlvdSBzYXcgb2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUg dGhlcmVmb3JlIGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScn IGlzIGFwcHJvcHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRo ZSBvbmUgdG8gd2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4K Cl9fJyduZScnX18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFz c29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNl LiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVs YXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5h bGllbmFibGUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5 IHVzZWZ1bCBjb25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScn LiB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9Jycu IEZvciBpbnN0YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1 IHBlIG1pJycuIE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlw dGlvbiBzdW10aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywg PSAnJ2xlIGdlcmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhl IG1hbiBJJ20gZmxpcnRpbmcgd2l0aOKAnSwgYnV0IHRoYXQncyBub3QgdmVyeSBlYXN5IHRvIHJl YWQgKG9yIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4pLCBhbmQgaXMgb2Z0ZW4gYmVpbmcgYXZv aWRlZC4KCgoKT25lIG5lZWQgYWxzbyB0byBsZWFybiAnJ3R1J2EnJywgc2luY2UgaXQgd2lsbCBt YWtlIGEgbG90IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10aSBhbmQg Y29udmVydHMgaXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24g d2hpY2ggaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9yIGV4YW1w bGUsIEkgY291bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2UnJywgb3Ig SSBjb3VsZCBsZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFib3V0IHRo ZSBhcHBsZSBJIGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamljYSB0dSdhIGxvIHBsaXNlJycu IE9uZSBhbHdheXMgaGFzIHRvIGd1ZXNzIHdoYXQgYWJzdHJhY3Rpb24gdGhlIHNwZWFrZXIgbWVh bnMgYnkgJyd0dSdhIFNVTVRJJycsIHNvIGl0IHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBjb250 ZXh0IG1ha2VzIGl0IGVhc3kgdG8gZ3Vlc3MuIEFub3RoZXIgZXhhbXBsZToKCl9fJydnYXNudScn X18g4oCceDEgZG9lcy9icmluZ3MgYWJvdXQgeDIgKHZvbGl0aW9uIG5vdCBpbXBsaWVkKeKAnQoK Jyd6YSdhIGRvIGdhc251IHR1J2EgbG8gc2thbWknJyAtIOKAnEkgc2VlIHRoYXQgeW91IG1ha2Ug dGhlIGNvbXB1dGVyIGRvIHNvbWV0aGluZ+KAnS4gT2ZmaWNpYWxseSwgJyd0dSdhIFNVTVRJJycg aXMgZXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZScnLiBWYWd1ZSwgYnV0IHVzZWZ1 bC4gVGhlcmUgYXJlIHNpdHVhdGlvbnMgd2hlcmUgeW91IGNhbm5vdCB1c2UgJyd0dSdhJycsIGV2 ZW4gdGhvdWdoIGl0IHdvdWxkIHNlZW0gc3VpdGFibGUuIFRoZXNlIHNpdHVhdGlvbnMgYXJlIHdo ZW4gSSBkb24ndCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8gYmUgYW4gYWJzdHJhY3Rpb24s IGJ1dCBhIGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9uZSBjYW4gdXNlICcnem8nZSBw ZScnLgoKX18nJ3R1J2EnJ19fIGNvbnZlcnQgc3VtdGkgdG8gdmFndWUgYWJzdHJhY3Rpb24gaW52 b2x2aW5nIHRoZSBzdW10aS4gRXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZSBrZWkg a3UnJwoKCgpGaW5hbGx5LCBvbmUga2luZCBvZiBzdW10aSBjYW4gYmUgdHVybmVkIGludG8gYW5v dGhlciBieSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIExBaEUuCgpfXycnbHUnYScnX18gLSBDb252 ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVhbHMuCgpfXycn bHUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gYSBz ZXQuCgpfXycnbHUnbycnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9z ZXQgdG8gbWFzcy4KCl9fJyd2dSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3Nl cXVlbmNlL3NldCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQuCgpUaGUgdXNl IG9mIHRoZXNlIHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0aGVtIGJlZm9y ZSBhIHN1bXRpIG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9mIGEgbmV3IHR5 cGUuIE5vdGljZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3VtdGksIGEgc2Vx dWVuY2UgaGFzIGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIChp dCBkb2Vzbid0IGhhdmUgaXRzIG93biBnYWRyaSwgZm9yIGluc3RhbmNlKSwgYnV0IGp1c3QgaW5j bHVkZWQgaGVyZSBmb3IgY29tcGxldGlvbi4KClRoZSBsYXN0IHR3byBtZW1iZXJzIG9mIExBaEUg ZG8gbm90IGNvbnZlcnQgYmV0d2VlbiB0eXBlcyBvZiBzdW10aSwgYnV0IGFsbG93cyB5b3UgdG8g c3BlYWsgb2YgYSBhIHN1bXRpIGJ5IG9ubHkgbWVudGlvbmluZyBzb21ldGhpbmcgd2hpY2ggcmVm ZXJlbmNlcyB0byBpdDoKCklmIG9uZSBzdW10aSBBIHJlZmVycyB0byBhIHN1bXRpIEIsIGZvciBp bnN0YW5jZSBiZWNhdXNlIHN1bXRpIEEgaXMgYSB0aXRsZSBvZiBhIGJvb2ssIG9yIGEgbmFtZSwg b3IgYSBzZW50ZW5jZSAod2hpY2ggYWx3YXlzIHJlZmVyIHRvIHNvbWV0aGluZywgYXQgbGVhc3Qg YSBicmlkaSksIOKAmCdsYSdlIFNVTVRJIEEnJyByZWZlcnMgdG8gc3VtdGkgQi4gRm9yIGluc3Rh bmNlLCDigJgnbWkgbmVsY2kgbGEnZSBkaSd1JycgZm9yIOKAnEkgbGlrZSB3aGF0IHlvdSBqdXN0 IHNhaWTigJ0gKG5vdCAnJ21pIG5lbGNpIGRpJ3UnJyB3aGljaCBqdXN0IG1lYW5zICJJIGxpa2Ug eW91ciBwcmV2aW91cyBzZW50ZW5jZSIpIG9yIOKAmCdsYSdlIGxlIGNtYWx1IG5vbHRydScnIGZv ciB0aGUgYm9vayDigJxUaGUgTGl0dGxlIFByaW5jZeKAnSwgYW5kIG5vdCBzb21lIGxpdHRsZSBw cmluY2UgaGltc2VsZi4gVGhlIGNtYXZvIOKAmCdsdSdlJycgZG9lcyB0aGUgZXhhY3QgcmV2ZXJz ZSDigJMg4oCYJ2x1J2UgU1VNVEknJyByZWZlcnMgdG8gYW4gb2JqZWN0IHdoaWNoIHJlZmVycyB0 byB0aGUgc3VtdGkuIAoKX18nJ2xhJ2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVkIHRvIGJ5 4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVycyB0byBB LiAKCl9fJydsdSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJpbmcgdG/igJ0gLSBleHRyYWN0 cyBhIHN1bXRpIEIgZnJvbSBhIHN1bXRpIEEsIHdoZW4gQiByZWZlcnMgdG8gQS4KCgoKCgohISFF bmQgb2YgcGFydCBvbmUKCkR1ZSB0byB0aGUgaW1wcmFjdGljYWxseSBsYXJnZSBzaXplIG9mIHRo ZXNlIGxlc3NvbnMsIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGluc3RhbGxtZW50IGNhbiBiZSBmb3Vu ZCBvbiBwYWdlcyBkZWRpY2F0ZWQgdG8gKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRoZSBmb3Jt ZXIpKSBhbmQgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZSBsYXR0ZXIpKS4gTm8gd29ycmll cywgdGhvdWdoLCBjbGlja2luZyBvbiAidGhlIGZvcm1lciIgb3IgInRoZSBsYXR0ZXIiIHdpbGwg dGFrZSB5b3UgdGhlcmUgcGFpbmxlc3NseS4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3Rp Y0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtp bmV1cm90aWMK