Received: from localhost ([::1]:57613 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1Vjxx2-0005Go-GP; Fri, 22 Nov 2013 13:07:44 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49557 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1Vjxwt-0005Gh-86 for wikichanges@lojban.org; Fri, 22 Nov 2013 13:07:42 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Fri, 22 Nov 2013 13:07:34 -0800 From: "Apache" Date: Fri, 22 Nov 2013 13:07:34 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 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 wavelessonscontinuedp2 was changed by guskant at 21:07 UTC Comment: changes on zo'oi and la'oi You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 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 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by guskant X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBndXNrYW50IGF0 IDIxOjA3IFVUQwpDb21tZW50OiBjaGFuZ2VzIG9uIHpvJ29pIGFuZCBsYSdvaQoKWW91IGNhbiB2 aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4u b3JnL3Rpa2kvd2F2ZWxlc3NvbnNjb250aW51ZWRwMgoKWW91IGNhbiB2aWV3IGEgZGlmZiBiYWNr IHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRwOi8v d3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPXdhdmVsZXNzb25z Y29udGludWVkcDImY29tcGFyZT0xJm9sZHZlcj0zMiZuZXd2ZXI9MzMKCgoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdl cyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3Vy cmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDk4LTExNyBjaGFuZ2VkIHRv ICtMaW5lczogOTgtMTMzIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rCl9fJydwbGl4YXUnJ19fIHgxIGlzIHVzZWZ1bCBmb3IgeDIg dG8gZG8gcHVycG9zZSB4MwoKLSBMb2piYW4gdXNlcnMgaGF2ZSBmb3VuZCBpdCB1c2VmdWwgdG8g c3VwcGxlbWVudCB3aXRoIGZvdXIgYWRkaXRpb25hbCBxdW90ZSB3b3Jkcy4gVGhleSBhcmUgYWxs IGV4cGVyaW1lbnRhbCwgYW5kIHRoZSBmb3JtYWwgZ3JhbW1hciBkb2VzIG5vdCBzdXBwb3J0IGl0 LiBOb25ldGhlbGVzcywgdGhleSBhcmUgdXNlZCBvZnRlbiwgYW5kIGl0J3MgZ29vZCB0byBiZSBh YmxlIHRvIHJlY29nbml6ZSB0aGVtLiBUaGUgbW9zdCB1c2VkIGlzOgorIFNvbWUgTG9qYmFuIHVz ZXJzIGhhdmUgZm91bmQgaXQgdXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0aCBmb3VyIGFkZGl0aW9u YWwgcXVvdGUgd29yZHMuIFRoZXkgYXJlIGFsbCBleHBlcmltZW50YWwsIG5vdCBzdXBwb3J0ZWQg YnkgdGhlIGZvcm1hbCBncmFtbWFyLCBhbmQgd2hhdCBpcyB3b3JzZSwgW2h0dHBzOi8vZ3JvdXBz Lmdvb2dsZS5jb20vZC90b3BpYy9sb2piYW4vRlkybTRrcUpfdGcvZGlzY3Vzc2lvbnxtdWNoIHBy b2JsZW1hdGljIGluIHBhcnNpbmcgd2l0aCBhbiBleHBlcmltZW50YWwgZ3JhbW1hcl0uIE5vbmV0 aGVsZXNzLCB0aGV5IGFyZSB1c2VkIG9mdGVuLCBhbmQgaXQncyBnb29kIHRvIGJlIGFibGUgdG8g cmVjb2duaXplIHRoZW0uIFRoZSBtb3N0IHVzZWQgaXM6CgotIF9fJyd6bydvaScnX18gUXVvdGUg bmV4dCB3b3JkIG9ubHkuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVl Y2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgorIF9fJyd6bydvaScnX18gUXVvdGUgbmV4dCB3 b3JkIG9ubHkuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Ig d2hpdGVzcGFjZS9kb3QgaW4gd3JpdGluZzoKCkV4YW1wbGU6ICcncmkgcHUgY3Vza3Ugem8nb2kg RG9oISAudSdpJycg4oCcSGEgaGEsIGhlIHNhaWQg4oCcRG9oIeKAnSDigJwKCi0gSXQncyB2ZXJ5 IGVhc3kgdG8gdXNlLiBBZ2Fpbiwgbm90ZSB0aGF0IGFsbCBncmFtbWFyIGJvdHMgd2lsbCBjb25z aWRlciB0aGUgc2VudGVuY2Ugbm90IGdyYW1tYXRpY2FsLCBiZWNhdXNlIHRoZXNlIHdvcmRzIGRv IG5vdCBleGlzdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIuCisgSXQgaXMgYXBwYXJlbnRseSB2ZXJ5 IGVhc3kgdG8gdXNlLCBidXQgYXMgYSBtYXR0ZXIgb2YgZmFjdCwgZ2VuZXJhbCB1c2Ugb2YgdGhl bSBpcyB2ZXJ5IHByb2JsZW1hdGljLiBVc2VycyBzaG91bGQgYmUgYXdhcmUgdGhhdCB0aGUgd29y ZCBmb2xsb3dpbmcgJyd6bydvaScnIHNob3VsZCBub3QgaW5jbHVkZSBhIHBlcmlvZCwgYSBnbG90 dGFsIHN0b3Agb3IgYSBwYXVzZS4gRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgc2VudGVuY2Vz IGFyZSBub3QgcGFyc2VkIGV2ZW4gd2l0aCBhbiBleHBlcmltZW50YWwgZ3JhbW1hciEKCi0gQW5h bG9nb3VzIHRvICcnem8nb2knJyBhbmQgJydsYSdvJycsIHRoZXJlIGlzIGFsc28gdGhlIHdvcmQg JydsYSdvaScnLCB3aGljaCB3b3JrcyBqdXN0IGxpa2UgJyd6bydvaScnLCBidXQgdHJlYXRzIHRo ZSBxdW90ZSBhcyBhIG5hbWU6PGJyIC8+X18nJ2xhJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25s eSwgdXNlIGFzIG5hbWUuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVl Y2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgorIEV4YW1wbGUgb2Ygd3JpdHRlbiB0ZXh0OiAn J2tvIGlrbGtpIHNlZGknbyB6bydvaSBodHRwOi8vd3d3LmxvamJhbi5vcmcvJycgLS0tIF9fRXJy b3JfXywgYmVjYXVzZSAnJ3pvJ29pJycgc2NvcGVzIG92ZXIgdGhlIHBhcnQgJnF1b3Q7aHR0cDov L3d3dyZxdW90OyBvbmx5LgoKLSBIb3cgd291bGQgeW91IHNheTogTXkgRW5nbGlzaCBuYW1lIGlz IFNhZmk/CisgRXhhbXBsZSBvZiBzcG9rZW4gdGV4dDogJydsbyBzYWxwbyAoa3UpIGZhJ3UgbG8g ZmludGkgY3Ugc211bmkgem8nb2kgc2FrYSBmYSd1IHpvJ29pIHNhLmthIGxvIHBvbmpvJycgLS0t IF9fRXJyb3JfXywgYmVjYXVzZSB0aGUgc2Vjb25kICcnem8nb2knJyBzY29wZXMgb3ZlciB0aGUg cGFydCAmcXVvdDtzYSZxdW90OyBvbmx5LjxiciAvPihUaGlzICZxdW90O2t1JnF1b3Q7IGlzIGVs aWRhYmxlIG9uIGEgcGVnIHBhcnNlci4pPGJyIC8+PGJyIC8+QW5hbG9nb3VzIHRvICcnem8nb2kn JyBhbmQgJydsYSdvJycsIHRoZXJlIGlzIGFsc28gdGhlIHdvcmQgJydsYSdvaScnLCB3aGljaCB3 b3JrcyBqdXN0IGxpa2UgJyd6bydvaScnLCBidXQgZm9ybXMgYSBzbXV0aSB0aGF0IHJlZmVycyB0 byBzb21ldGhpbmcgY2FsbGVkICcnd29yZCcnOjxiciAvPl9fJydsYSdvaScnX18gU2NvcGUgb3Zl ciB0aGUgbmV4dCB3b3JkIG9ubHk7ICZxdW90O3NvbWV0aGluZyBjYWxsZWQgYnkgdGhlIG5hbWUu Li4mcXVvdDsuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Ig d2hpdGVzcGFjZS9kb3QgaW4gd3JpdGluZzo8YnIgLz48YnIgLz5Ib3cgd291bGQgeW91IHNheTog U2FmaSBpcyBhbiBFbmdsaXNoIGd1eS4gSXQncyBoaXMgbmFtZT8KX18nJ2dsaWNvJydfXyB4MSBp cyBFbmdsaXNoL3BlcnRhaW5zIHRvIEVuZ2xpc2ggY3VsdHVyZSBpbiBhc3BlY3QgeDIKX18nJ2Nt ZW5lJydfXyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBhcyB1c2VkIGJ5IHgzCgotIEFuc3dlcjogfn5n cmV5LGdyZXk6JydtaSBnbGljbyBzZSBjbWVuZSBsYSdvaSBTYWZpJycuIE5vdGljZSB0aGUgbmVj ZXNzYXJ5IHNlLiBXZSBkb24ndCB3aGF0IHRvIHNheSB0aGF0IHdlJ3JlIGEgbmFtZSF+fgorIEFu c3dlcjogfn5ncmV5LGdyZXk6JydsYSdvaSBTYWZpIGdsaWNvIC5pIGx1J2UgcmkgY21lbmUgcmkn J35+PGJyIC8+PGJyIC8+JydsYSdvaScnIGhhcyB0aGUgc2FtZSBwcm9ibGVtIGFzICcnem8nb2kn JzogdGhlIHdvcmQgZm9sbG93aW5nICcnbGEnb2knJyBzaG91bGQgbm90IGluY2x1ZGUgYSBwZXJp b2QsIGEgZ2xvdHRhbCBzdG9wIG9yIGEgcGF1c2UuIEZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5n IHNlbnRlbmNlcyBhcmUgbm90IHBhcnNlZCBldmVuIHdpdGggYW4gZXhwZXJpbWVudGFsIGdyYW1t YXIhPGJyIC8+PGJyIC8+RXhhbXBsZSBvZiB3cml0dGVuIHRleHQ6ICcnLnUnYSBtaSB0ZSB2ZWNu dSBsbyB6Z2lrZSBkYXRuaSBwZSBsYSdvaSB0LkEuVC51JycgLS0tIF9fRXJyb3JfXywgYmVjYXVz ZSAnJ2xhJ29pJycgc2NvcGVzIG92ZXIgdGhlIHBhcnQgJnF1b3Q7dCZxdW90OyBvbmx5LjxiciAv PigmcXVvdDt0LkEuVC51JnF1b3Q7IHdhcyBhIG11c2ljYWwgZ3JvdXAuKTxiciAvPjxiciAvPkV4 YW1wbGUgb2Ygc3Bva2VuIHRleHQ6ICcnbGEnb2kgLnVsaS51bGkgemdpa2UgdHV0Y2knJyAtLS0g X19FcnJvcl9fLCBiZWNhdXNlICcnbGEnb2knJyBzY29wZXMgb3ZlciB0aGUgZmlyc3QgJnF1b3Q7 dWxpJnF1b3Q7IG9ubHkuPGJyIC8+KCZxdW90O2B1bGlgdWxpJnF1b3Q7IGlzIGEgSGF3YWlpYW4g bXVzaWNhbCBpbnN0cnVtZW50Lik8YnIgLz48YnIgLz5FeGFtcGxlIG9mIHNwb2tlbiB0ZXh0OiAn J2p1J2kgbGEnb2kganVnZW11anVnZW11Z29rb3Vub3N1cmlraXJla2FpamFyaXN1aWdpb25vLSBz dWlnaW91bWF0c3UsdW5yYWltYXRzdWZ1dXJhaW1hdHN1a3UsdW5lcnV0b2tvcm9uaXN1bXV0b2tv cm8saWFidXJha291amlub2J1cmFrb3VqaS0gcGFpcG9wYWlwb3BhaXBvbm9zaXUsdXJpbmdhbnNp dSx1cmluZ2FuLG5vZ3UsdXJpbmRhaWd1LHVyaW5kYWlub3BvbnBva29waSxpbm9wb25wb2tvLSBu YSxhbm90Y291a2l1LHVtZWlub3Rjb3VzdWtlIG1pJ28ga28nb2kga2xhbWEgbG8gY2t1bGUnJyAt LS0gRG9uJ3QgdGFrZSBhIGJyZWF0aGluZyBpbiB0aGUgbmFtZSwgb3IgaXQgd2lsbCByZXN1bHQg aW4gYW4gX19FcnJvcl9fLjxiciAvPigmcXVvdDsmcXVvdDsgaXMgYSBmYW1vdXMgSmFwYW5lc2Ug bmFtZSBvZiBhIGJveS4pCgpUaGlyZGx5LCAnJ3JhJ29pJycgcXVvdGVzIHRoZSBuZXh0IHJhZnNp LiBTaW5jZSByYWZzaSBhcmUgbm90IHdvcmRzLCB0aGV5IHdvdWxkIHVzdWFsbHkgaGF2ZSB0byBi ZSBxdW90ZWQgYnkgJyd6b2knJy4gRnVydGhlcm1vcmUsIHNldmVyYWwgcmFmc2kgYXJlIGFsc28g Y21hdm8uIFRvIGF2b2lkIGNvbmZ1c2lvbiBvZiB3aGljaCBpcyBtZWFudCwgJydyYSdvaScnIGFs d2F5cyByZWZlciB0byBhIHJhZnNpLCBhbmQgaXMgd3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQg c3RyaW5nIHdoaWNoIGFyZSBub3QgcmFmc2kuCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDEyOS0xMzMgY2hhbmdl ZCB0byArTGluZXM6IDE0NS0xNDggQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKCihPbmUgcG9zc2libGUpIEFuc3dlcjogIH5+Z3Jl eSxncmV5Oicnem8gcHUgY21hdm8gbWEnb2kgYmEnJ35+Ci0gCgohIUxvamJhbiBMZXNzb25zIC0g TGVzc29uIG5pbmV0ZWVuIChudW1iZXJzKQoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9s bG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKCiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZCAocGFydCB0d28p OgoKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJpb3VzIGxvamJhbmlzdHMu IEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcgMjAxMy4KCgoKVGhpcyBp cyB0aGUgc2Vjb25kIGluc3RhbGxtZW50IG9mIHRoZSBXYXZlIExlc3NvbnMgQ29udGludWVkLiBJ ZiB5b3UgZGlkbid0IGNhdGNoIHRoZSBmaXJzdCBwYXJ0LCBvciB3YW50IHRvIGdvIGJhY2sgZm9y IHNvbWUgcmVhc29uLCBqdXN0IGNsaWNrICgod2F2ZWxlc3NvbnNjb250aW51ZWR8b24gdGhlc2Ug Zm91ciB3b3Jkcy4pKS4gWW91IGNhbiBhbHNvIGdvIHRvIHRoZSB0aGlyZCBwYXJ0IGJ5IGNsaWNr aW5nICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGlzIGxpbmspKSwgaWYgeW91IGZlZWwgbGlr ZSBkb2luZyB0aGF0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNldmVudGVlbiAoY3V0 ZSBhc3NvcnRlZCB3b3JkcykKCkFuZCB3aXRoIHRoYXQsIHRoaXJkIGNoYXB0ZXIsIHlvdSBrbm93 IGEgbG90IGFib3V0IExvamJhbiBzdW10aS4gQWZ0ZXIgc3VjaCBhIGxvbmcgdGltZSBvZiByaWdv cm91cyBzeXN0ZW1hdGljIGxlYXJuaW5nLCB3aGF0IGNvdWxkIGJlIG1vcmUgZml0dGluZyB0aGF0 IHRoaXMgbGVzc29uIHdoZXJlIEkgc3BlYWsgYWJvdXQgc29tZSB3b3JkcyB3aGljaCBJIGNvdWxk IG5vdCwgb3Igd2FudGVkIG5vdCB0byBmaXQgaW50byBhbnkgb3RoZXIgbGVzc29ucz8gU28gaGVy ZSBhcmUgYSBmZXcgc21hbGwgYW5kIHJlYWxseSB1c2VmdWwgd29yZHM6CgoKClRoZSBmb2xsb3dp bmcgY21hdm8gYXJlIGFsbCBlbGxpcHRpY2FsIHdvcmRzLiBZb3Ugc2hvdWxkIGFscmVhZHkgYmUg ZmFtaWxpYXIgd2l0aCB0aGUgZmlyc3QuCgpfXycnem8nZScnX18gLSBlbGxpcHRpY2FsIHN1bXRp CgpfXycnY28nZScnX18gLSBlbGxpcHRpY2FsIHNlbGJyaQoKX18nJ2RvJ2UnJ19fIC0gZWxsaXB0 aWNhbCBzdW10Y2l0YQoKX18nJ2p1J2EnJ19fIC0gZWxsaXB0aWNhbCBldmlkZW50aWFsCgpfXycn ZG8naScnX18gLSBlbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZQoKX18nJ2dlJ2UnJ19fIC0g ZWxsaXB0aWNhbCBhdHRpdHVkaW5hbAoKCgpBbGwgb2YgdGhlc2UgYWN0IGdyYW1tYXRpY2FsbHkg YXMgYSBjbWF2byBvZiB0aGUga2luZCB0aGV5IHJlcHJlc2VudCwgYnV0IHRoZXkgY29udGFpbiBu byBpbmZvcm1hdGlvbiwgYW5kIGNhbiBiZSBxdWl0ZSBoYW5keSB3aGVuIHlvdSdyZSBsYXp5IGFu ZCBkb24ndCBuZWVkIHRvIGJlIHNwZWNpZmljIGFueXdheS4gVGhlcmUgYXJlLCBob3dldmVyLCBh IGZldyB0aGluZ3Mgd2hpY2ggbmVlZCB0byBiZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6bydlJycg aGF2ZSB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgY2xhaW1lZCB0byBoYXZlIGEgdmFs dWUuIOKAnHplcm8gY2Fyc+KAnSBvciDigJxub3RoaW5n4oCdLCBmb3IgaW5zdGFuY2UsIGhhcyBu byB2YWx1ZSwgYW5kIHRoZXJlZm9yZSBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgJyd6bydlJycu IFRoaXMgaXMgYmVjYXVzZSwgaWYgaXQgY291bGQgbWVhbiDigJxub3RoaW5n4oCdIGJ5ICcnem8n ZScnLCB0aGVuIGFueSBzZWxicmkgY291bGQgYmUgaWRlbnRpY2FsIHRvIGl0cyBuZWdhdGlvbiwg aWYgb25lIG9mIHRoZSBlbGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQgd2l0aCBhICcnem8nZScnIHdp dGggbm8gdmFsdWUuCgogICAgJydnZSdlJycgZG9lcyBub3QgbWVhbiB0aGF0IHlvdSBmZWVsIG5v IGVtb3Rpb24sIGp1c3QgdGhhdCB5b3UgZmVlbCBub3RoaW5nIHNwZWNpYWwgb3Igd29ydGggdG8g bWVudGlvbiBhdCB0aGUgbW9tZW50LiBJdCdzIHNpbWlsYXIgdG8g4oCcSSdtIGZpbmUu4oCdLiAn J2dlJ2UgcGVpJycgYXNrIGFib3V0IGFuIGVsbGlwdGljYWwgZW1vdGlvbiBhbmQgaXMgYSBnb29k IHRyYW5zbGF0aW9uIGZvcjog4oCcSG93IGFyZSB5b3UgZmVlbGluZz/igJ0uCgogICAgJydjbydl JycgaXMgaGFuZHkgd2hlbiBuZWVkaW5nIGEgc2VsYnJpIGluIGEgY29uc3RydWN0IGZvciBncmFt bWF0aWNhbCByZWFzb25zLCBsaWtlIGluIHRoZSBkZWZpbml0aW9uIG9mICcndHUnYScnIGluIHRo ZSBwcmV2aW91cyBsZXNzb24uCgogICAgJydqdSdhJycgZG9lcyBub3QgY2hhbmdlIHRoZSB0cnV0 aCB2YWx1ZSBvciBzdWJqZWN0aXZlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGJyaWRpIG9yIGFueXRo aW5nIGxpa2UgdGhhdC4gSW4gZmFjdCwgaXQncyBtb3N0bHkgZG9lcyBub3RoaW5nLiBIb3dldmVy LCAnJ2p1J2EgcGVpJycsIOKAnFdoYXQgaXMgeW91ciBiYXNpcyBmb3Igc2F5aW5nIHRoYXQ/4oCd IGlzIGhhbmR5LgoKICAgICcnZG8naScnIGlzIHJlYWxseSB1c2VmdWwuIEEgbG90IG9mIHRpbWVz IHdoZW4geW91IHJlZmVyIHRvIHV0dGVyYW5jZXMgb3IgY29udmVyc2F0aW9ucyBieSB3b3JkcyBs aWtlIOKAnHRoaXPigJ0gb3Ig4oCcdGhhdOKAnSwgeW91IHdhbnQgJydkbydpJycuCgogICAgSWYg eW91IGZpbGwgaW4gbW9yZSBzdW10aSB0aGFuIGEgc2VsYnJpIGhhcyBwbGFjZXMgZm9yLCB0aGUg bGFzdCBzdW10aSBoYXZlIGltcGxpZWQgJydkbydlJycgc3VtdGNpdGEgaW4gZnJvbnQgb2YgdGhl bS4KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgd29yZCwgJyd6aSdvJycsIHRoYXQgeW91IGNh biBmaWxsIGEgc3VtdGkgcGxhY2Ugd2l0aCB0byBkZWxldGUgaXQgZnJvbSBhbnkgc2VsYnJpLiAn J2xvIG1lbGJpIGJlIHppJ28nJywgZm9yIGluc3RhbmNlLCBpcyBqdXN0IOKAnFNvbWV0aGluZyBi ZWF1dGlmdWzigJ0sIGFuZCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB1c3VhbCB4MiBvZiAnJ21lbGJp JycsIHdoaWNoIGlzIHRoZSBvYnNlcnZlciB3aG8ganVkZ2VzIHNvbWV0aGluZyB0byBiZSBiZWF1 dGlmdWwuIFRodXMsIGl0IGNhbiBtZWFuIHNvbWV0aGluZyBsaWtlIOKAnE9iamVjdGl2ZWx5IGJl YXV0aWZ1bC7igJ0gSXQgZG9lcyBub3Qgc3RhdGUgdGhhdCBub3RoaW5nIGZpbGxzIHRoZSBzdW10 aSBwbGFjZSB3aGljaCBpcyBiZWluZyBkZWxldGVkLCBqdXN0IHRoYXQgdGhlIHN1bXRpIHBsYWNl IGlzIG5vdCBiZWluZyBjb25zaWRlcmVkIGluIHRoZSBzZWxicmkuIFVzaW5nICcnemknbycnIHdp dGggYSBzdW10Y2l0YSBnaXZlcyB3ZWlyZCByZXN1bHRzLiBGb3JtYWxseSwgdGhleSBzaG91bGQg Y2FuY2VsIGVhY2ggb3RoZXIgb3V0LiBQcmFjdGljYWxseSwgaXQgd291bGQgcHJvYmFibHkgYmUg dW5kZXJzdG9vZCBhcyBhbiBleHBsaWNpdCB3YXkgb2Ygc2F5aW5nIHRoYXQgdGhlIHN1bXRjaXRh IGRvZXMgbm90IGFwcGx5LCBhcyBpbjogJydtaSBkYXJ4aSBkbyBtdSdpIHppJ28nJyAtIOKAnEkg aGl0IHlvdSwgd2l0aCBvciB3aXRob3V0IG1vdGl2YXRpb24u4oCdCgoKClRoZW4gdGhlcmUgaXMg dGhlIHdvcmQgJydqYWknJy4gSXQncyBvbmUgb2YgdGhvc2UgY29vbCwgc21hbGwgd29yZHMgd2hp Y2ggYXJlIGhhcmQgdG8gZ3Jhc3AsIGJ1dCBlYXN5IHRvIHdvcmsgd2l0aCBvbmNlIHlvdSBrbm93 IGl0LiBJdCBoYXMgdHdvIGRpc3RpbmN0LCBidXQgc2ltaWxhciBmdW5jdGlvbnMuIEJvdGggaGF2 ZSBzb21ldGhpbmcgdG8gZG8gd2l0aCBjb252ZXJ0aW5nIHRoZSBzZWxicmksIGxpa2UgJydzZScn IGRvZXMuCgpfXycnamFpJydfXyBTZWxicmkgY29udmVyc2lvbjogQ29udmVydHMgc3VtdGNpdGEg b3IgdW5zcGVjaWZpZWQgYWJzdHJhY3Rpb24gdG8geDEuIFVzZSB3aXRoICcnZmFpJycKCl9fJydm YWknJ19fIE1hcmtzIHN1bXRpIHBsYWNlLiBXb3JrcyBsaWtlICcnZmEnJy4gVG8gYmUgdXNlZCB3 aXRoICcnamFpJycuCgpUaGUgZmlyc3QgZ3JhbW1hdGljYWwgY29uc3RydWN0aW9uIGl0IGNhbiBt YWtlIGlzICInJ2phaScnIHtzdW10Y2l0YX0ge3NlbGJyaX0iLiBJdCBjaGFuZ2VzIHRoZSBzdW10 aSBwbGFjZXMgc3VjaCB0aGF0IHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEgYmVjb21l cyB0aGUgc2VsYnJpJ3MgeDEsIGFuZCB0aGUgc2VsYnJpJ3Mgb2xkIHgxIGlzIHJlbW92ZWQsIGFu ZCBvbmx5IGFjY2Vzc2libGUgYnkgdXNpbmcgJydmYWknJywgd2hpY2ggd29ya3MgbGlrZSAnJ2Zh JycuIFlvdSBjYW4gc2VlIGl0IHdpdGggdGhpcyBleGFtcGxlOgoKX18nJ2dhdScnX18gLSBzdW10 Y2l0YSAoZnJvbSAnJ2dhc251JycpIOKAnGJyaWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJvdXQgYnkv d2l0aCBhY3RpdmUgYWdlbnQge3N1bXRpfeKAnQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRpIGZhaSBt aScnLiAtIOKAnFlvdSBicmluZyBhYm91dCBhdHRlbnRpb24gdG8gdGhpcyBieSBtZeKAnS4gVGhl IG5ldyBzZWxicmksICcnamFpIGdhdSBqdW5kaScnLCBoYXMgdGhlIHBsYWNlIHN0cnVjdHVyZSBv ZiDigJx4MSBicmluZ3MgYWJvdXQgYXR0ZW50aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNlIGFyZSB0 aGVuIGZpbGxlZCBieSAnJ2RvJycgYW5kICcndGknJy4gVGhlICcnZmFpJycgdGhlbiBtYXJrcyB0 aGUgcGxhY2UgZm9yIHRoZSBvbGQgeDEsIHRoZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0ZW50aW9u LCBhbmQgaXQgaXMgZmlsbGVkIHdpdGggJydtaScnLiBUaGlzIHdvcmQgY2FuIGJlIHZlcnkgY29u dmVuaWVudCBhbmQgaGFzIHRvbnMgb2YgdXNlcy4gQSBnb29kIGV4YW1wbGUgaXMgZGVzY3JpcHRp dmUtbGlrZSBzdW10aS4gT25lIGNhbiwgZm9yIGluc3RhbmNlLCByZWZlciB0byDigJx0aGUgbWV0 aG9kIG9mIHZvbGl0aW9uYWwgYWN0aW9u4oCdIGJ5ICcnbG8gamFpIHRhJ2kgenVrdGUnJy4KCl9f Jyd0YSdpJydfXzogc3VtdGNpdGEgKGZyb20gJyd0YWRqaScnKSDigJxCcmlkaSBpcyBkb25lIHdp dGggdGhlIG1ldGhvZCBvZiB7c3VtdGl94oCdCgpDYW4geW91IGRlZHVjZSB3aGF0IHRoZSBvcmRp bmFyeSBMb2piYW4gcGhyYXNlICcnZG8gamFpIGdhdSBtbycnIG1lYW5zPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFdoYXQgYXJlIHlvdSBkb2luZz/igJ1+fgoKCgpUaGUgb3RoZXIgZnVuY3Rp b24gb2YgJydqYWknJyBpcyBlYXNpZXIgdG8gZXhwbGFpbi4gSXQgc2ltcGx5IGNvbnZlcnRzIHRo ZSBzZWxicmkgc3VjaCB0aGF0IHRoZSBzdW10aSBpbiB0aGUgeDEgZ2V0cyBhICcndHUnYScnIGlu IGZyb250IG9mIGl0ICgnJ2tvJ2EgamFpIGJyb2RhJycgX189X18gJyd0dSdhIGtvJ2EgYnJvZGEn JykuIEluIG90aGVyIHdvcmRzLCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEgd2F5IHN1Y2gg dGhhdCBpdCBidWlsZHMgYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRoZSBzdW10aSBp biB0aGUgeDEsIGFuZCB0aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9uIGluc3RlYWQg b2YgdGhlIGFjdHVhbCBzdW10aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBwbGFjZSBpcyBh Y2Nlc3NpYmxlIGJ5ICcnZmFpJycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMtdXNlciBvZnRl biBzYXlzICcnbGUgZ2Vya3UgcGUgZG8gamFpIHNlIHN0aWRpIG1pJycsIHRvIHVzZSBhIHJhbmRv bSBleGFtcGxlIG9mIGEgc3VtdGkgaW4geDEuIFdoYXQncyBoZSBzYXk/CgpfXycnc3RpZGknJ19f IHgxIGluc3BpcmVzL3N1Z2dlc3RzIHgyIGluL3RvIHgz4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcSSBzdWdnZXN0IChzb21ldGhpbmcgYWJvdXQpIHlvdXIgZG9nLuKAnX5+CgoKClNvIGZh ciB5b3UndmUgbGVhcm5lZCBob3cgdG8gY29udmVydCBicmlkaSB0byBzZWxicmksIHNlbGJyaSB0 byBzdW10aSwgYW5kIHNlbGJyaSBpbnRvIGJyaWRpLCBzaW5jZSBhbGwgc2VsYnJpIGJ5IHRoZW1z ZWx2ZXMgYXJlIGFsc28gYnJpZGkuIFlvdSBvbmx5IG5lZWQgb25lIGxhc3QgZnVuY3Rpb246IGNv bnZlcnQgc3VtdGkgdG8gc2VsYnJpLiBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgd29yZCAnJ21lJycu IEl0IGFjY2VwdHMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgaW50byBhIHNlbGJyaS4KCl9fJydt ZScnX186IEdlbmVyaWMgY29udmVydCBzdW10aSB0byBzZWxicmkuIHgxIGlzL2FyZSBhbW9uZyB0 aGUgcmVmZXJlbnRzIG9mIFNVTVRJCgoKCldoZW4gc2NyZXdpbmcgYSBzZW50ZW5jZSB1cCwga25v d2luZyBob3cgdG8gY29ycmVjdCB5b3Vyc2VsZiBpcyBhIGdvb2QgaWRlYS4gVGhlcmUgYXJlIHRo cmVlIHdvcmRzIGluIExvamJhbiB3aGljaCB5b3UgY2FuIHVzZSB0byBkZWxldGUgeW91ciBwcmV2 aW91cyB3b3JkKHMpCgpfXycnc2knJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgbGFzdCB3b3JkIG9u bHkuCgpfXycnc2EnJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgYmFjayB1bnRpbCBuZXh0IGNtYXZv IHNwb2tlbi4KCl9fJydzdScnX18gLSBkZWxldGlvbjogRGVsZXRlcyBlbnRpcmUgZGlzY291cnNl LgoKVGhlIGZ1bmN0aW9uIG9mIHRoZXNlIHdvcmRzIGFyZSBvYnZpb3VzOiBUaGV5IGRlbGV0ZSB3 b3JkcyBhcyBpZiB0aGV5IGhhdmUgbmV2ZXIgYmVlbiBzcG9rZW4uIFRoZXkgZG8gbm90IHdvcmsg aW5zaWRlIGNlcnRhaW4gcXVvdGVzIChhbGwgcXVvdGVzIGV4Y2VwdCAnJ2x1Li5saSd1JycpLCB0 aG91Z2gsIGFzIHRoYXQgd291bGQgbGVhdmUgaXQgaW1wb3NzaWJsZSB0byBxdW90ZSB0aGVzZSB3 b3Jkcy4gU2V2ZXJhbCAnJ3NpJycgaW4gYSByb3cgZGVsZXRlcyBzZXZlcmFsIHdvcmRzLgoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWlnaHRlZW4gKHF1b3RlcykKCk9uZSBvZiB0aGUg a2V5IGRlc2lnbiBmZWF0dXJlcyBvZiBMb2piYW4gaXMgdGhhdCBpdCdzIHN1cHBvc2VkIHRvIGJl IGF1ZGlvLXZpc3VhbCBpc29tb3JwaGljLCBtZWFuaW5nIHRoYXQgZXZlcnl0aGluZyBleHByZXNz ZWQgaW4gdGV4dCBzaG91bGQgYWxzbyBiZSBleHByZXNzZWQgaW4gc3BlZWNoIGFuZCB2aWNlIHZl cnNhLiBUaGVyZWZvcmUsIHRoZXJlIGNhbm5vdCBiZSBhbnkgcHVuY3R1YXRpb24gd2hpY2ggaXMg bm90IHByb25vdW5jZWQuIFRoaXMgbWVhbnMgdGhhdCBMb2piYW4gaGFzIGEgd2lkZSByYW5nZSBv ZiB3b3JkcyB0byBxdW90ZSBvdGhlciB3b3Jkcy4gQWxsIExvamJhbiBxdW90ZXMgdGFrZSBzb21l IGlucHV0IG9mIHRleHQgYW5kIGNvbnZlcnRzIGl0IHRvIGEgc3VtdGkuIExldCdzIGJlZ2luIHdp dGggdGhlIG1vc3Qgc2ltcGxlOgoKCgpfXycnbHUnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3Rl IG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250ZW50CgpfXycnbGkndScnX18gUXVvdGUgd29yZDog RW5kIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lk ZSB0aGlzIGNvbnN0cnVjdCBtdXN0IGJ5IGl0c2VsZiBiZSBncmFtbWF0aWNhbC4gSXQgY2FuIHF1 b3RlIGFsbCBMb2piYW4gd29yZHMgd2l0aCBzb21lIGZldyBleGNlcHRpb25zLCBtb3N0IG5vdGFi bHksIG9idmlvdXNseSwgJydsaSd1JycuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2lu ZyBzZW50ZW5jZS4gVGFrZSB5b3VyIHRpbWUuCgonJ21pIHN0aWRpIGxvIGRyYXRhIGJlIHR1J2Eg bHUga28gamFpIGdhdSBtbyBsaSd1JycKCl9fJydkcmF0YScnX18geDEgaXMgZGlmZmVyZW50IGZy b20geDIgYnkgc3RhbmRhcmQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qgc29t ZXRoaW5nIGRpZmZlcmVudCB0aGFuIHNvbWV0aGluZyBhYm91dCDigJxrbyBqYWkgZ2F1IG1v4oCd LuKAnX5+CgoKClRoZXNlIHF1b3RlIHdvcmRzIGNhbm5vdCBxdW90ZSB1bmdyYW1tYXRpY2FsIHRl eHQuIFRoaXMgaXMgc29tZXRpbWVzIHVzZWZ1bCwgd2hlbiB5b3Ugd2FudCB0byBvbmx5IHBpY2sg b3V0IHBhcnQgb2YgYSBzZW50ZW5jZSwgYXMgaW46IOKAnCBpcyDigJxnaSdl4oCdIGEgTG9qYmFu IHN1bXRjaXRhP+KAnQoKCgpGb3IgdGhpcywgeW91IG5lZWQgdGhlc2UgdHdvIGNtYXZvCgpfXycn bG8ndScnX18gUXVvdGUgd29yZDogQmVnaW4gcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9q YmFuIGNvbnRlbnQKCl9fJydsZSd1JydfXyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgdW5ncmFt bWF0aWNhbCBidXQgTG9qYmFuIGNvbnRlbnQKCgoKVGhlIHRleHQgaW5zaWRlIG11c3QgYmUgTG9q YmFuIHdvcmRzLCBidXQgbmVlZCBub3QgYmUgZ3JhbW1hdGljYWwuIFRyeSB0byB0cmFuc2xhdGUg dGhlIGFib3ZlIGV4YW1wbGUgKHRoZSBvbmUgd2l0aCAnJ2dpJ2UnJykgaW50byBMb2piYW4KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ3h1IGxvJ3UgZ2knZSBsZSd1IGxvamJvIHN1bXRjaXRhJyd+ fgoKCgpUaGlzIHF1b3RlIGNhbiBiZSB1c2VkIHRvIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgZXhj ZXB0ICcnbGUndScnLiBIb3dldmVyLCB0aGlzIGlzIG5vdCBlbm91Z2guIElmIHdlIHdhbnQgdG8g dHJhbnNsYXRlIOKAnGlzIOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0cmFuc2xhdGlvbiBvZiDigJxX aGF0J3MgdXA/4oCd4oCdLCB3ZSBtaWdodCBiZSBzbGlnaHRseSB3cm9uZyBhYm91dCB3aGF0IHdl IGhlcmUgc3RhdGUsIHNpbmNlICcnZG8gbW8nJyBhbHNvIGNhbiBtZWFuIOKAnFdoYXQgYXJlIHlv dT/igJ0sIGJ1dCBsZXQncyByb2xsIHdpdGggaXQgZm9yIGEgc2Vjb25kLiBXaGF0IHdlIG5lZWQg aGVyZSBpcyB0aGUgd29yZCAnJ3pvaScnLgoKCgonJ3pvaScnIE5leHQgY21hdm8gaXMgYmVnaW4g YWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlLgoKCgpXaGVuIHVz aW5nICcnem9pJycsIHlvdSBwaWNrIGFueSBtb3JwaG9sb2dpY2FsbHkgY29ycmVjdCBsb2piYW4g d29yZCBhdCB3aWxsIChjYWxsZWQgdGhlIGRlbGltaXRlciksIHdoaWNoIHRoZW4gb3BlbnMgYSBx dW90ZS4gVG8gY2xvc2UgaXQsIHVzZSB0aGF0IHdvcmQgYWdhaW4uIFRoaXMgd2F5LCB5b3UgY2Fu IHF1b3RlIGFueXRoaW5nIGV4Y2VwdCB0aGUgZGVsaW1pdGVyLCB3aGljaCBzaG91bGRuJ3QgYmUg YSBwcm9ibGVtIGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJzZWxmLiBVc3VhbGx5LCB0aGUg d29yZCBwaWNrZWQgaXMgZWl0aGVyICcnem9pJycgaXRzZWxmLCBvciBhIGxldHRlciB3aGljaCBz dGFuZHMgZm9yIHRoZSBsYW5ndWFnZSB3aGljaCB0aGUgcXVvdGUgaXMgd3JpdHRlbiBpbi4gRXhh bXBsZTog4oCcSSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmHigJ0gaXMgJydtaSBwdSBu ZWxjaSBsYSdlIHpvaSB6b2kuIFRoZSBQaGFudG9tIG9mIHRoZSBPcGVyYSAuem9pJycgTm90aWNl IHR3byB0aGluZ3M6IEZpcnN0bHksIEkgbmVlZCBhICcnbGEnZScnLCBzaW5jZSBJIGRpZG4ndCBs aWtlIHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJlZmVycmVkIHRvLiBTZWNvbmRseSwg YmV0d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhlIHF1b3RlLCB0aGVyZSBhcmUgcGF1 c2VzLCBvcHRpb25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcuIFRo aXMgcGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgZGVsaW1pdGVy LgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBzZW50ZW5jZSBjb25jZXJuaW5nIOKAnFdo YXQncyB1cD/igJ0KCgoKX18nJ2RyYW5pJydfXyB4MSBpcyBjb3JyZWN0L3Byb3BlciBpbiBhc3Bl Y3QgeDIgaW4gc2l0dWF0aW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6Jyd4dSBsdSBkbyBtbyBsaSd1IGRyYW5pIHhlIGZhbnZhIHpvaSBneS4gV2hhdCdzIHVwPyAu Z3knJy4gSGVyZSB0aGUgZGVsaW1pdGVyICcnZ3knJyBpcyBjaG9zZW4gYmVjYXVzZSBpdCdzIHNo b3J0IGZvciAnJ2dsaWNvJycsIG1lYW5pbmcgIkVuZ2xpc2gifn4KCgoKQ2xvc2VseSBhbmFsb2dv dXNseSwgdGhlcmUgaXMgJydsYSdvJycuIEl0IHdvcmtzIGV4YWN0bHkgbGlrZSAnJ3pvaScnLCBi dXQgdHVybnMgdGhlIHJlc3VsdGluZyBxdW90ZSBpbnRvIGEgbmFtZS4gSXQgaXMgbmVlZGVkIGJl Y2F1c2Ugbm9ybWFsbHksIG9ubHkgc2VsYnJpIGFuZCBjbWV2bGEgY2FuIGJlIG5hbWVzLCBub3Qg cXVvdGVzLgoKX18nJ2xhJ28nJ19fIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVv dGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlIOKAkyB1c2UgYXMgbmFtZS4KCgoKTGFzdCBv ZiB0aGUgb2ZmaWNpYWwgcXVvdGUgd29yZHMsIHRoZXJlIGlzICcnem8nJy4gJyd6bycnIGFsd2F5 cyBxdW90ZXMgdGhlIG5leHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3aGF0IGl0IGlzLiBJdCdz IHByZXR0eSBoYW5keS4KCicnem8nJyBRdW90ZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIg d2hhdC4KCkV4YW1wbGU6ICcnem8gem8gem8nbyBwbGl4YXUnJyA9IOKAnCDigJx6b+KAnSBpcyB1 c2VmdWwsIGhlaGXigJ0KCl9fJyd6bydvJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSHVt b3JvdXNseSwg4oCca2lkZGluZyB5b3XigJ0KCl9fJydwbGl4YXUnJ19fIHgxIGlzIHVzZWZ1bCBm b3IgeDIgdG8gZG8gcHVycG9zZSB4MwoKCgpTb21lIExvamJhbiB1c2VycyBoYXZlIGZvdW5kIGl0 IHVzZWZ1bCB0byBzdXBwbGVtZW50IHdpdGggZm91ciBhZGRpdGlvbmFsIHF1b3RlIHdvcmRzLiBU aGV5IGFyZSBhbGwgZXhwZXJpbWVudGFsLCBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBmb3JtYWwgZ3Jh bW1hciwgYW5kIHdoYXQgaXMgd29yc2UsIFtodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2QvdG9w aWMvbG9qYmFuL0ZZMm00a3FKX3RnL2Rpc2N1c3Npb258bXVjaCBwcm9ibGVtYXRpYyBpbiBwYXJz aW5nIHdpdGggYW4gZXhwZXJpbWVudGFsIGdyYW1tYXJdLiBOb25ldGhlbGVzcywgdGhleSBhcmUg dXNlZCBvZnRlbiwgYW5kIGl0J3MgZ29vZCB0byBiZSBhYmxlIHRvIHJlY29nbml6ZSB0aGVtLiBU aGUgbW9zdCB1c2VkIGlzOgoKCgpfXycnem8nb2knJ19fIFF1b3RlIG5leHQgd29yZCBvbmx5LiBO ZXh0IHdvcmQgaXMgaWRlbnRpZmllZCBieSBwYXVzZXMgaW4gc3BlZWNoIG9yIHdoaXRlc3BhY2Uv ZG90IGluIHdyaXRpbmc6CgoKCkV4YW1wbGU6ICcncmkgcHUgY3Vza3Ugem8nb2kgRG9oISAudSdp Jycg4oCcSGEgaGEsIGhlIHNhaWQg4oCcRG9oIeKAnSDigJwKCgoKSXQgaXMgYXBwYXJlbnRseSB2 ZXJ5IGVhc3kgdG8gdXNlLCBidXQgYXMgYSBtYXR0ZXIgb2YgZmFjdCwgZ2VuZXJhbCB1c2Ugb2Yg dGhlbSBpcyB2ZXJ5IHByb2JsZW1hdGljLiBVc2VycyBzaG91bGQgYmUgYXdhcmUgdGhhdCB0aGUg d29yZCBmb2xsb3dpbmcgJyd6bydvaScnIHNob3VsZCBub3QgaW5jbHVkZSBhIHBlcmlvZCwgYSBn bG90dGFsIHN0b3Agb3IgYSBwYXVzZS4gRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgc2VudGVu Y2VzIGFyZSBub3QgcGFyc2VkIGV2ZW4gd2l0aCBhbiBleHBlcmltZW50YWwgZ3JhbW1hciEKCgoK RXhhbXBsZSBvZiB3cml0dGVuIHRleHQ6ICcna28gaWtsa2kgc2VkaSdvIHpvJ29pIGh0dHA6Ly93 d3cubG9qYmFuLm9yZy8nJyAtLS0gX19FcnJvcl9fLCBiZWNhdXNlICcnem8nb2knJyBzY29wZXMg b3ZlciB0aGUgcGFydCAiaHR0cDovL3d3dyIgb25seS4KCgoKRXhhbXBsZSBvZiBzcG9rZW4gdGV4 dDogJydsbyBzYWxwbyAoa3UpIGZhJ3UgbG8gZmludGkgY3Ugc211bmkgem8nb2kgc2FrYSBmYSd1 IHpvJ29pIHNhLmthIGxvIHBvbmpvJycgLS0tIF9fRXJyb3JfXywgYmVjYXVzZSB0aGUgc2Vjb25k ICcnem8nb2knJyBzY29wZXMgb3ZlciB0aGUgcGFydCAic2EiIG9ubHkuCgooVGhpcyAia3UiIGlz IGVsaWRhYmxlIG9uIGEgcGVnIHBhcnNlci4pCgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5k ICcnbGEnbycnLCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGEnb2knJywgd2hpY2ggd29ya3Mg anVzdCBsaWtlICcnem8nb2knJywgYnV0IGZvcm1zIGEgc211dGkgdGhhdCByZWZlcnMgdG8gc29t ZXRoaW5nIGNhbGxlZCAnJ3dvcmQnJzoKCl9fJydsYSdvaScnX18gU2NvcGUgb3ZlciB0aGUgbmV4 dCB3b3JkIG9ubHk7ICJzb21ldGhpbmcgY2FsbGVkIGJ5IHRoZSBuYW1lLi4uIi4gTmV4dCB3b3Jk IGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlL2RvdCBpbiB3 cml0aW5nOgoKCgpIb3cgd291bGQgeW91IHNheTog4oCc4oCcU2FmaeKAnSBpcyBhbiBFbmdsaXNo IGd1eS4gSXQncyBoaXMgbmFtZeKAnT8KCl9fJydnbGljbycnX18geDEgaXMgRW5nbGlzaC9wZXJ0 YWlucyB0byBFbmdsaXNoIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgpfXycnY21lbmUnJ19fIHgxIGlz IHRoZSBuYW1lIG9mIHgyIGFzIHVzZWQgYnkgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xh J29pIFNhZmkgZ2xpY28gLmkgbHUnZSByaSBjbWVuZSByaScnfn4KCgoKJydsYSdvaScnIGhhcyB0 aGUgc2FtZSBwcm9ibGVtIGFzICcnem8nb2knJzogdGhlIHdvcmQgZm9sbG93aW5nICcnbGEnb2kn JyBzaG91bGQgbm90IGluY2x1ZGUgYSBwZXJpb2QsIGEgZ2xvdHRhbCBzdG9wIG9yIGEgcGF1c2Uu IEZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIHNlbnRlbmNlcyBhcmUgbm90IHBhcnNlZCBldmVu IHdpdGggYW4gZXhwZXJpbWVudGFsIGdyYW1tYXIhCgoKCkV4YW1wbGUgb2Ygd3JpdHRlbiB0ZXh0 OiAnJy51J2EgbWkgdGUgdmVjbnUgbG8gemdpa2UgZGF0bmkgcGUgbGEnb2kgdC5BLlQudScnIC0t LSBfX0Vycm9yX18sIGJlY2F1c2UgJydsYSdvaScnIHNjb3BlcyBvdmVyIHRoZSBwYXJ0ICJ0IiBv bmx5LgoKKCJ0LkEuVC51IiB3YXMgYSBtdXNpY2FsIGdyb3VwLikKCgoKRXhhbXBsZSBvZiBzcG9r ZW4gdGV4dDogJydsYSdvaSAudWxpLnVsaSB6Z2lrZSB0dXRjaScnIC0tLSBfX0Vycm9yX18sIGJl Y2F1c2UgJydsYSdvaScnIHNjb3BlcyBvdmVyIHRoZSBmaXJzdCAidWxpIiBvbmx5LgoKKCJgdWxp YHVsaSIgaXMgYSBIYXdhaWlhbiBtdXNpY2FsIGluc3RydW1lbnQuKQoKCgpFeGFtcGxlIG9mIHNw b2tlbiB0ZXh0OiAnJ2p1J2kgbGEnb2kganVnZW11anVnZW11Z29rb3Vub3N1cmlraXJla2FpamFy aXN1aWdpb25vLSBzdWlnaW91bWF0c3UsdW5yYWltYXRzdWZ1dXJhaW1hdHN1a3UsdW5lcnV0b2tv cm9uaXN1bXV0b2tvcm8saWFidXJha291amlub2J1cmFrb3VqaS0gcGFpcG9wYWlwb3BhaXBvbm9z aXUsdXJpbmdhbnNpdSx1cmluZ2FuLG5vZ3UsdXJpbmRhaWd1LHVyaW5kYWlub3BvbnBva29waSxp bm9wb25wb2tvLSBuYSxhbm90Y291a2l1LHVtZWlub3Rjb3VzdWtlIG1pJ28ga28nb2kga2xhbWEg bG8gY2t1bGUnJyAtLS0gRG9uJ3QgdGFrZSBhIGJyZWF0aGluZyBpbiB0aGUgbmFtZSwgb3IgaXQg d2lsbCByZXN1bHQgaW4gYW4gX19FcnJvcl9fLgoKKCLjgZjjgoXjgZLjgoDjgZjjgoXjgZLjgoDj gZTjgZPjgYbjga7jgZnjgorjgY3jgozjgYvjgYTjgZjjgoPjgorjgZnjgYTjgY7jgofjga7jgZnj gYTjgY7jgofjgYbjgb7jgaTjgYbjgpPjgonjgYTjgb7jgaTjgbXjgYbjgonjgYTjgb7jgaTjgY/j gYbjga3jgovjgajjgZPjgo3jgavjgZnjgoDjgajjgZPjgo3jgoTjgbbjgonjgZPjgYbjgZjjga7j gbbjgonjgZPjgYbjgZjjgbHjgYTjgb3jgbHjgYTjgb3jgbHjgYTjgb3jga7jgZfjgoXjg7zjgorj gpPjgYzjgpPjgZfjgoXjg7zjgorjgpPjgYzjgpPjga7jgZDjg7zjgorjgpPjgaDjgYTjgZDjg7zj gorjgpPjgaDjgYTjga7jgb3jgpPjgb3jgZPjgbTjg7zjga7jgb3jgpPjgb3jgZPjgarjg7zjga7j gaHjgofjgYbjgY3jgoXjgYbjgoHjgYTjga7jgaHjgofjgYbjgZnjgZEiIGlzIGEgZmFtb3VzIEph cGFuZXNlIG5hbWUgb2YgYSBib3kuKQoKCgpUaGlyZGx5LCAnJ3JhJ29pJycgcXVvdGVzIHRoZSBu ZXh0IHJhZnNpLiBTaW5jZSByYWZzaSBhcmUgbm90IHdvcmRzLCB0aGV5IHdvdWxkIHVzdWFsbHkg aGF2ZSB0byBiZSBxdW90ZWQgYnkgJyd6b2knJy4gRnVydGhlcm1vcmUsIHNldmVyYWwgcmFmc2kg YXJlIGFsc28gY21hdm8uIFRvIGF2b2lkIGNvbmZ1c2lvbiBvZiB3aGljaCBpcyBtZWFudCwgJydy YSdvaScnIGFsd2F5cyByZWZlciB0byBhIHJhZnNpLCBhbmQgaXMgd3JvbmcgaW4gZnJvbnQgb2Yg YW55IHRleHQgc3RyaW5nIHdoaWNoIGFyZSBub3QgcmFmc2kuCgoKCldoYXQgZG9lcyAnJ3JhJ29p IHp1J2UgcmFmc2kgem8genVrdGUgLmlrdSdpIHpvJ29pIHp1J2Ugc3VtdGNpdGEnJyBtZWFuPwoK X18nJ2t1J2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBIb3dldmVyIC8gdGhvdWdoIChj b250cmFzdHMgdG8gc29tZXRoaW5nIHByZXZpb3VzbHkgc2FpZCkKCl9fJydyYWZzaScnX18geDEg YW4gYWZmaXggZm9yIHdvcmQvY29uY2VwdCB4MiB3aXRoIHByb3BlcnRpZXMvb2YgZm9ybSB4MyBp biBsYW5ndWFnZSB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoZSByYWZzaSDigJx6dSdl 4oCdIGlzIGEgcmFmc2kgZm9yIOKAnHp1a3Rl4oCdLiBCdXQg4oCcenUnZeKAnSBpcyBhIHN1bXRj aXRh4oCdfn4KCgoKQW5kIGZpbmFsbHkgdGhlIHVzZWZ1bCB3b3JkICcnbWEnb2knJy4gJydtYSdv aScnIHF1b3RlcyBhbnkgY21hdm8sIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZSBmb3Ig dGhlIHdvcmQgY2xhc3MgKHNlbG1hJ28pIHRvIHdoaWNoIHRoYXQgd29yZCBiZWxvbmdzLiBTbywg Zm9yIGluc3RhbmNlLCBiYSdvIGJlbG9uZ3MgdG8gdGhlIHdvcmRjbGFzcyBjYWxsZWQgWkFoTywg c28gJydtYSdvaSBiYSdvJycgaXMgdW5vZmZpY2lhbCBMb2piYW4gZm9yIOKAnFphaE/igJ0KCgoK VHJ5IGl0IG91dC4gU2F5IHRoYXQgJydwdScnIGFuZCAnJ2JhJycgYXJlIGluIHRoZSBzYW1lIHNl bG1hJ28hCgpfXycnY21hdm8nJ19fIHgxIGlzIGEgZ3JhbW1hdGljYWwgd29yZCBvZiBjbGFzcyB4 MiBpbiBsYW5ndWFnZSB4MwoKCgooT25lIHBvc3NpYmxlKSBBbnN3ZXI6ICB+fmdyZXksZ3JleTon J3pvIHB1IGNtYXZvIG1hJ29pIGJhJyd+fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5p bmV0ZWVuIChudW1iZXJzKQoKV2hlbiBsZWFybmluZyBhIGxhbmd1YWdlLCBvbmUgb2YgdGhlIHRo aW5ncyB3aGljaCBhcmUgdXN1YWxseSB0YXVnaHQgdmVyeSBlYXJseSBvbiBpcyBob3cgdG8gY291 bnQuIFRoaXMgcmVhbGx5IG1ha2VzIGxpdHRsZSBzZW5zZSwgYmVjYXVzZSBpdCdzIG5vdCBuZWNl c3NhcnkgdG8ga25vdyBudW1iZXJzIGlmIHlvdSBkb24ndCBrbm93IGhvdyB0byBzcGVhayBhYm91 dCB0aG9zZSB0aGluZ3MgdG8gd2hpY2ggdGhleSBhcHBseS4gVGhpcyBpcyBwYXJ0bHkgdGhlIHJl YXNvbiB3aHkgSSBoYXZlIGxlZnQgaXQgZm9yIGxlc3NvbiBudW1iZXIgbmluZXRlZW4uIFRoZSBv dGhlciByZWFzb24gaXMgdGhhdCB3aGlsZSB0aGUgbnVtYmVycyB0aGVtc2VsdmVzIGFyZSBlYXN5 IHRvIGxlYXJuLCBob3cgdGhleSBhcHBseSB0byBzdW10aSBjYW4gZ2V0IHZlcnkgY29uZnVzaW5n IGluZGVlZC4gVGhhdCwgaG93ZXZlciwgd2Ugd2lsbCBzYXZlIGZvciBhIGxhdGVyIGxlc3Nvbi4K CkJlZm9yZSBsZWFybmluZyB0aGUgd29yZHMgdGhlbXNlbHZlcywgeW91IHNob3VsZCBrbm93IHRo YXQgbnVtYmVycyBkbyBub3QgaGF2ZSBhbnkgaW50ZXJuYWwgZ3JhbW1hci4gVGhpcyBtZWFucyB0 aGF0IGFueSByb3cgb2YgbnVtYmVyIHdvcmRzIChoZW5jZWZvcnRoIHJlZmVycmVkIHRvIGFzIGEg Im51bWJlciBzdHJpbmciKSBhcmUgdHJlYXRlZCBpZGVudGljYWxseSB0byBhbnkgb3RoZXIgbnVt YmVyIHN0cmluZyB0byB0aGUgTG9qYmFuIGdyYW1tYXIsIGV2ZW4gaWYgdGhlIHN0cmluZyBtYWtl cyBubyBzZW5zZS4gVGhlcmVmb3JlLCBvbmUgY2FuIG5ldmVyIGFuc3dlciB1bmFtYmlndW91c2x5 IHdoZXRoZXIgYSBudW1iZXIgY29uc3RydWN0IG1ha2VzIHNlbnNlIG9yIG5vdC4gVGhlcmUgYXJl LCBob3dldmVyLCBpbnRlbmRlZCB3YXlzIG9mIHVzaW5nIHRoZSBudW1iZXIgd29yZHMsIGFuZCBj b25mdXNpb24gd2lsbCBwcm9iYWJseSByZXN1bHQgaWYgeW91IGRldmlhdGUgZnJvbSB0aGUgc3Rh bmRhcmQuCgpMZWFybmluZyBhbGwgdGhlIG51bWJlciB3b3JkcyBvZiBMb2piYW4gYXJlIHdheSBi ZXlvbmQgdGhlIHNjb3BlIG9mIHRoaXMgbGVzc29uLCBzbyB5b3Ugd2lsbCBvbmx5IGJlIGludHJv ZHVjZWQgdG8gd2hhdCBpcyBub3JtYWxseSB1c2VkIGluIHRleHQuIFRoZSB3aWRlIHJhbmdlIG9m IExvamJhbiBtYXRoZW1hdGljYWwgY21hdm8gYXJlIGNhbGxlZCAnJ21la3NvJycgKExvamJhbiBm b3IgIm1hdGhlbWF0aWNhbCBleHByZXNzaW9uIiksIGFuZCBpcyB3aWRlbHkgZGlzcmVnYXJkZWQg YmVjYXVzZSBvZiBpdHMgY29tcGxleGl0eSBhbmQgcXVlc3Rpb25hYmxlIGFkdmFudGFnZSBvdmVy IHNvLWNhbGxlZCBicmlkaSBtYXRoLgoKTGV0J3MgYmVnaW4gd2l0aCB0aGUgb3JkaW5hcnkgTG9q YmFuIG51bWJlcnMsIGZyb20gemVybyB0byBuaW5lOgoKfHx6ZXJvfG9uZXx0d298dGhyZWV8Zm91 cnxmaXZlfHNpeHxzZXZlbnxlaWdodHxuaW5lCgpub3xwYXxyZXxjaXx2b3xtdXx4YXx6ZXxiaXxz b3x8CgpOb3RpY2UgaG93IHRoZSB2b3dlbHMgYXJlIGFsdGVybmF0aW5nICh3aXRoIHRoZSBleGNl cHRpb24gb2YgJydubycnKSwgYW5kIGhvdyBubyBjb25zb25hbnQgaXMgdXNlZCBmb3IgdHdvIGRp Z2l0cy4KCkluIG9yZGVyIHRvIGV4cHJlc3MgbnVtYmVycyBoaWdoZXIgdGhhbiBuaW5lLCB0aGUg bnVtYmVycyBhcmUganVzdCBzdHJ1bmcgdG9nZXRoZXI6CgonJ3ZvIG11IGNpJycg4oCTIGZvdXIg aHVuZHJlZCBhbmQgZmlmdHkgdGhyZWUgKDQ1MykKCicncGEgbm8gbm8gbm8gbm8nJyB0ZW4gdGhv dXNhbmQgKDEwIDAwMCkKClRoZXJlIGlzIGFsc28gYSDigJxxdWVzdGlvbi1kaWdpdOKAnSwgd2hp Y2ggaXMgdXNlZCBsaWtlIG90aGVyIGZpbGwtaW4tdGhlLWJsYW5rIHF1ZXN0aW9uIHdvcmRzLiBJ dCdzICcneG8nJy4gVGhlIGFuc3dlciB0byBzdWNoIGEgcXVlc3Rpb24gbWF5IGJlIGp1c3QgdGhl IHJlbGV2YW50IGRpZ2l0KHMpIGJ5IGl0c2VsZiwgb3IgdGhleSBjYW4gYmUgbnVtZXJpY2FsIGNv bnN0cnVjdHMsIGFzIHNob3duIGxhdGVyLgoKJydjaSB4byB4byB4bycnIOKAkyAiVGhyZWUgdGhv dXNhbmQgYW5kIGhvdyBtYW55PyIgKDM/Pz8pCgpfXycneG8nJ19fIHF1ZXN0aW9uIGRpZ2l0IOKA kyB1c2UgbGlrZSBhbnkgb3RoZXIgZGlnaXQgdG8gYXNrIGZvciB0aGUgY29ycmVjdCBkaWdpdC4K ClRoZSBleHBlcmltZW50YWwgd29yZCAnJ3hvJ2UnJyBpcyBzb21ldGltZXMgdXNlZCB0byBtZWFu IGFuIHVuc3BlY2lmaWVkLCBlbGxpcHRpY2FsIGRpZ2l0LiBJdHMgZGVmaW5pdGlvbiBpcyBub3Qg b2ZmaWNpYWwsIHRob3VnaC4KCicnY2kgeG8nZSB4bydlIHhvJ2UnJyDigJMgVGhyZWUgdGhvdXNh bmQgYW5kIHNvbWV0aGluZwoKX18nJ3hvJ2UnJ19fIGVsbGlwdGljYWwgZGlnaXQuCgpTaW5jZSBh bGwgbnVtYmVyIHN0cmluZ3MgYXJlIHRyZWF0ZWQgZ3JhbW1hdGljYWxseSB0aGUgc2FtZSwgb25l IG1pZ2h0IGFsc28gYW5zd2VyIHNldmVyYWwgZGlnaXRzIHRvIG9uZSAnJ3hvJ2UnJwoKCgpGdXJ0 aGVybW9yZSwgdGhlcmUgaXMgYWxzbyBhIHNldCBvZiBoZXhhZGVjaW1hbCBkaWdpdHMgQSB0aHJv dWdoIEYuIEJ5IGRlZmF1bHQsIExvamJhbiBvcGVyYXRlcyBpbiBiYXNlIDEwLCBidXQgd2hlbiB1 c2luZyBoZXhhZGVjaW1hbCBkaWdpdHMsIGl0IGNhbiBiZSBzYWZlbHkgYXNzdW1lZCB0aGF0IHlv dSB1c2UgYmFzZSBzaXh0ZWVuOgoKfHxkYXV8ZmVpfGdhaXxqYXV8cmVpfHhlaSB8dmFpfAoKMTAo QSl8MTEoQil8MTIoQyl8MTMoRCl8MTQoRSl8MTQoRSl8MTUoRil8fAoKWWVzLCBJIGtub3cgdGhl cmUgYXJlIHR3byB3b3JkcyBmb3IgRS4gVGhlIG9mZmljaWFsIG9uZSBpcyAnJ3JlaScnIChhbGwg dGhyZWUtbGV0dGVyIGNtYXZvIGJlZ2lubmluZyB3aXRoIHggaXMgZXhwZXJpbWVudGFsKS4gJyd4 ZWknJyB3YXMgaW52ZW50ZWQgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggJydyZScnLgoKVGhlIGJh c2UgY2FuIGJlIGV4cGxpY2l0bHkgc3RhdGVkIHVzaW5nICcnanUndScnOiBBbnkgbnVtYmVyIGJl Zm9yZSAnJ2p1J3UnJyB0aGUgbnVtYmVyIGJlaW5nIHNwb2tlbiBvZiwgYW55IG51bWJlciBhZnRl ciBpcyB0aGUgYmFzZSBvZiB0aGUgbnVtYmVyOgoKJydkYXUgc28gZmVpIG5vIGp1J3UgcGEgcmUn JyDigJMgQTlCMCBpbiBiYXNlIDEyIChub3RpY2UgaGVyZSB0aGF0IGJhc2UgMTIgaXMgYWx3YXlz IGluIGRlY2ltYWwuIEl0IGlzIHBvc3NpYmxlIHRvIHBlcm1hbmVudGx5IGNoYW5nZSB0aGUgYmFz ZSB5b3Ugc3BlYWsgaW4sIGJ1dCBzaW5jZSBpdCBoYXMgbmV2ZXIgYmVlbiB1c2VkIGluIHByYWN0 aWNlLCBpdCBoYXMgbm90IGJlZW4gc3RhbmRhcmRpemVkIGhvdyBvbmUgc2hvdWxkIGRvIGl0KQoK RnJhY3Rpb25zIGFyZSBhbHNvIHVzZWZ1bCB0byBsZWFybiBob3cgdG8gZXhwcmVzcy4gVGhleSBh cmUgdXN1YWxseSBleHByZXNzZWQgdmlhIGEgZGVjaW1hbCBwb2ludCwgJydwaScnLgoKX18nJ3Bp JydfXyBEZWNpbWFsIHBvaW50IChvciBwb2ludCBpbiB3aGljaGV2ZXIgYmFzZSB5b3UgYXJlIHRh bGtpbmcgaW4pCgonJ3BhIHJlIHBpIHJlIG11Jycg4oCTIHR3ZWx2ZSBwb2ludCB0d28gZml2ZSAo MTIuMjUpLiAKCkxpa2UgaW4gbWF0aGVtYXRpY3MsIHdoZW4gbm8gbnVtYmVyIHN0cmluZyBpcyBw bGFjZWQgYmVmb3JlIG9yIGFmdGVyICcncGknJywgemVybyBpcyBhc3N1bWVkLiAKClJlbGF0ZWQg dG8gdGhpcywgdGhlIG51bWJlciBzZXBhcmF0b3IgJydwaSdlJycgaXMgdXNlZCB0byBzZXBhcmF0 ZSBudW1iZXJzLCBlaXRoZXIgdG8gc2VwYXJhdGUgZGlnaXRzIHdoZW4gc3BlYWtpbmcgaW4gYSBi YXNlIGxhcmdlciB0aGFuIHNpeHRlZW4sIG9yIHdoZW4gYSBkZWNpbWFsIHBvaW50IGlzIG5vdCBh cHBsaWNhYmxlLCBmb3IgaW5zdGFuY2UsIHdoZW4gdGFsa2luZyBhYm91dCB0aW1lIGluIGhvdXJz LCBtaW51dGVzLCBzZWNvbmRzOgoKJydwYSBzbyBwaSdlIHJlIG11IHBpJ2Ugbm8ganUndSByZSB6 ZScnIOKAkyBOaW5ldGVlbiwgdHdlbnR5LWZpdmUsIHplcm8gaW4gYmFzZSAyNyAoSlAwIGJhc2Ug MjcpCgonJ3JlIHJlIHBpJ2Ugdm8gYmknJyDigJMgdHdlbnR5LXR3bywgZm91cnR5IGVpZ2h0ICgy Mjo0OCkKCgoKVGhlcmUgaXMgYWxzbyBhIHJhbmdlIG9mIG51bWJlciB3b3JkcyB3aGljaCBhcmUg bm90IG1hdGhlbWF0aWNhbGx5IGV4YWN0IGJ1dCByYXRoZXIgc3ViamVjdGl2ZSBvciByZWxhdGl2 ZS4gVGhlIGJlaGF2aW9ycyBvZiB0aGVzZSB3b3JkcyBhcmUgYWxtb3N0IGV4YWN0bHkgbGlrZSB0 aGUgYmVoYXZpb3Igb2YgZGlnaXRzLCBleGNlcHQgdGhleSBjYW5ub3QgYmUgY29tYmluZWQgdG8g bWFrZSBiaWdnZXIgbnVtYmVycyB0aGUgd2F5IGRpZ2l0cyBjYW46Cgp8fCByb3xzbydhfHNvJ2V8 c28naXxzbydvfHNvJ3V8CgphbGx8YWxtb3N0IGFsbHxtb3N0fG1hbnl8c29tZXxmZXd8fAoKV2hl biBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgZGlnaXRzLCB0aGVzZSB3b3JkcyBhcmUgYXNzdW1l ZCB0byBnaXZlIGEgc2Vjb25kIHZlcmRpY3QgYWJvdXQgdGhlIHNpemUgb2YgdGhlIG51bWJlcjoK CicnbXUgYmkgc28naSBzYWknJyDigJNGaWZ0eSBlaWdodCwgd2hpY2ggaXMgcmVhbGx5IG1hbnku CgpUaGV5IHNob3VsZCB0aGVyZWZvcmUgbm90IGJlIHBsYWNlZCBpbiB0aGUgbWlkZGxlIG9mIGEg bnVtYmVyIHN0cmluZy4gV2hlbiBwbGFjZWQgYWZ0ZXIgJydwaScnLCB0aGV5IGFyZSBhc3N1bWVk IHRvIGNvbnZleSB0aGUgc2l6ZSBvZiBhIGZyYWN0aW9uOgoKJydwaSBzbyd1Jycg4oCTIGEgc21h bGwgcGFydCBvZiBpdAoKJydwaSBzbydvJycg4oCTIHNvbWUgb2YgaXQgCgonJ3BpIHNvJ2knJyDi gJMgYSBsYXJnZSBwYXJ0IG9mIGl0IAoKJydwaSBzbydlJycg4oCTIG1vc3Qgb2YgaXQKCicncGkg c28nYScnIOKAkyBhbG1vc3QgYWxsIG9mIGl0CgoKClRoZXNlIGFyZSBzb21lIGhpZ2h0bHkgc3Vi amVjdGl2ZSBudW1iZXJzIC0gdGhleSB3b3JrIGp1c3QgbGlrZSB0aGUgcHJldmlvdXMgb25lcy4K Cnx8ZHUnZXxtbydhfHJhdQoKdG9vIG1hbnl8dG9vIGZld3xlbm91Z2h8fAoKVGhlIGZvbGxvd2lu ZyBmaXZlIGFyZSBjb250ZXh0LWJhc2VkIG51bWJlcnMg4oCTIHRoZXNlIHdvcmsgbGlrZSB0aGUg cHJldmlvdXMgb25lcywgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhleSB0YWtlIHRoZSBuZXh0 IG51bWJlciBpbiBvcmRlciB0byBhc3NpZ24gdGhlbSBtZWFuaW5nOgoKfHxkYSdhfHN1J2V8c3Un b3x6YSd1fG1lJ2kKCmFsbCBleGNlcHQgbiB8QXQgbW9zdCBufEF0IGxlYXN0IG58bW9yZSB0aGFu IG58bGVzcyB0aGFuIG58fAoKSWYgbm8gbnVtYmVyIHN0cmluZyBmb2xsb3cgdGhlbSwg4oCcb25l 4oCdIGlzIGFzc3VtZWQuCgonJ3NvJ2kgcGEgcmUgZGEnYSBtdScnIOKAkyBNYW55LCB3aGljaCBp cyB0d2VsdmUsIHdoaWNoIGlzIGFsbCBidXQgZml2ZS4KClRoZSB0d28gbGFzdCBudW1iZXIgd29y ZHMgeW91IHNob3VsZCBrbm93IGhhdmUgc2xpZ2h0bHkgbW9yZSBjb21wbGljYXRlZCBncmFtbWFy OgoKX18nJ2ppJ2knJ19fIC0gbnVtYmVyIHJvdW5kaW5nIG9yIG51bWJlciBhcHByb3hpbWF0aW9u CgpXaGVuICcnamknaScnIGlzIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIsIHRoZSBlbnRpcmUgbnVt YmVyIGlzIGFwcHJveGltYXRlZDoKCicnamknaSB6ZSBubyB6YSd1IHJhdSBqdSdvJycg4oCTICJB Ym91dCBzZXZlbnR5LCB3aGljaCBpcyBtb3JlIHRoYW4gZW5vdWdoLCBjZXJ0YWlubHnigJ0KClBs YWNlZCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBudW1iZXIsIG9ubHkgdGhlIGZvbGxvd2luZyBkaWdp dHMgYXJlIG5vbi1leGFjdC4gQXQgdGhlIGVuZCBvZiBhIG51bWJlciwgaXQgc2lnbmlmaWVzIHRo YXQgdGhlIG51bWJlciBoYXMgYmVlbiByb3VuZGVkIG9mZi4gCgpfXycna2knbycnX18gTnVtYmVy IGNvbW1hICAtIHNlcGFyYXRlcyBkaWdpdHMgd2l0aGluIG9uZSBzdHJpbmc7IFRob3VzYW5kcy4K Ckl0IGlzIG5vdCBpbmNpZGVudGlhbCB0aGF0ICcna2knbycnIHNvdW5kcyBsaWtlIOKAnGtpbG/i gJ0uIEF0IGl0cyBzaW1wbGVzdCwgJydraSdvJycgaXMgdXNlZCB0byBzZXBhcmF0ZSB0aHJlZSBk aWdpdHMgYXQgYSB0aW1lIGluIGxhcmdlIG51bWJlcnMsIG11Y2ggbGlrZSBjb21tYXMgYXJlIHVz ZWQgaW4gRW5nbGlzaDoKCicncGEga2knbyBzbyBzbyBzbyBraSdvIGJpIHhhIHplJycg4oCTIDEs OTk5LDg2NwoKSWYgbGVzcyB0aGFuIHRocmVlIGRpZ2l0cyBhcmUgcHV0IGJlZm9yZSBhICcna2kn bycnLCB0aGUgZGlnaXRzIGFyZSBhc3N1bWVkIHRvIGJlIHRoZSBsZWFzdCBzaWduaWZpY2FudCBv bmVzLCBhbmQgemVyb3MgYXJlIGFzc3VtZWQgdG8gZmlsbCBpbiB0aGUgcmVzdDoKCicndm8ga2kn byBjaSBiaSBraSdvIHBhIGtpJ28ga2knbycnIOKAkyA0LDAzOCwwMDEsMDAwLDAwMAoKJydraSdv JycgaXMgdXNlZCBzaW1pbGFybHkgYWZ0ZXIgYSBkZWNpbWFsIHBvaW50LgoKCgpUaGF0IGNvbmNs dWRlcyB0aGUgY29tbW9uIExvamJhbiBudW1iZXJzIHRoZW1zZWx2ZXMuIEhvdyB0aGV5IGFwcGx5 IHRvIHN1bXRpIGlzIGEgc2NpZW5jZSBpbiBpdHNlbGYsIGFuZCB3ZSBsZWF2ZSB0aGF0IGZvciBs ZXNzb24gdHdlbnR5LXR3by4gTm93IHdlIGZvY3VzIG9uIGhvdyB0aGVzZSBudW1iZXJzIGNhbiBi ZSB1c2VkIGluIGEgYnJpZGkuCgpBIHN0cmluZyBvZiBudW1iZXIgd29yZHMgYnkgdGhlbXNlbHZl cyBhcmUgZ3JhbW1hdGljYWwsIHNpbmNlIHRoZXkgY2FuIGFjdCBhcyBhbiBhbnN3ZXIgdG8gYSAn J3hvJyctdHlwZSBvZiBxdWVzdGlvbi4gSW4gdGhpcyBjYXNlLCBob3dldmVyLCB0aGV5IGNhbm5v dCBiZSBjb25zaWRlcmVkIHBhcnQgb2YgYW55IGJyaWRpLiBJbiBnZW5lcmFsLCBpZiBudW1iZXJz IGZpbGwgcGFydCBvZiBhIGJyaWRpLCB0aGV5IGRvIHNvIGluIG9uZSBvZiB0d28gZm9ybXM6IFB1 cmUgbnVtYmVycyBhbmQgcXVhbnRpZmllcnMuIFdlIHdpbGwgcmV0dXJuIHRvIHF1YW50aWZpZXJz IGluIGEgbGF0ZXIgbGVzc29uLiBGb3Igbm93LCB3ZSB3aWxsIGxvb2sgYXQgcHVyZSBudW1iZXJz LgoKQSBwdXJlIG51bWJlciBpcyBhbnkgcm93IG9mIG51bWJlciB3b3JkcyBwcmVmaXhlZCB3aXRo ICcnbGknJy4gVGhpcyBtYWtlcyBhIHN1bXRpIGRpcmVjdGx5IGZyb20gdGhlIG51bWJlciwgYW5k IHJlZmVycyB0byB0aGUgbWF0aGVtYXRpY2FsIGNvbmNlcHQgb2YsIGZvciBpbnN0YW5jZSwg4oCc dGhlIG51bWJlciBzaXjigJ0uIEl0cyBmYSdvcm1hJ28gaXMgJydsbydvJycKCl9fJydsaScnX18g Y29udmVydCBudW1iZXIvbWVrc28tZXhwcmVzc2lvbiB0byBzdW10aS4KCl9fJydsbydvJydfXyBm YSdvcm1hJ286IGVuZCBjb252ZXJ0IG51bWJlci9tZWtzby1leHByZXNzaW9uIHRvIHN1bXRpLgoK VGhlc2UgcHVyZSBzdW10aSBhcmUgdXN1YWxseSB3aGF0IGZpbGxzIHRoZSB4MiBvZiBicml2bGEg c3VjaCBhcyAnJ21pdHJlJycgb3IgJydjYWNyYScnCgpfXycnbWl0cmUnJ19fIHgxIGlzIHgyIG1l dHJlcyBpbiBkaW1lbnNpb24geDMgYnkgc3RhbmRhcmQgeDQKCl9fJydjYWNyYScnX18geDEgaXMg eDIgaG91cnMgaW4gZHVyYXRpb24gKGRlZmF1bHQgMSkgYnkgc3RhbmRhcmQgeDMKCgoKVHJ5IHRv IHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOgoKJydsZSB0YSBudSBjaW5qaWtjYSBjdSBjYWNyYSBs aSBjaSBqaSdpIHUnaSBuYWknJwoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCdKnNpZ2gqIFRoYXQg ZmxpcnRpbmcgaGFzIGJlZW4gZ29pbmcgb24gZm9yIGFyb3VuZCB0aHJlZSBob3Vycy7igJ0gfn4K CkhvdyBkbyB5b3UgY291bnQgdG8gdGhyZWUgaW4gTG9qYmFuPwoKQW5zd2VyOiB+fmdyZXksZ3Jl eTogJydsaSBwYSBsaSByZSBsaSBjaScnIH5+CgoKClRoZSBsYXN0IHRoaW5nIHdlJ2xsIGdvIHRo cm91Z2ggaW4gdGhpcyBsZXNzb24gaXMgdGhlIHdvcmRzIG9mIHRoZSBzZWxtYSdvIE1BSSBhbmQg dGhvc2Ugb2YgTU9JLgoKTUFJIG9ubHkgY29udGFpbnMgdHdvIHdvcmRzLCAnJ21haScnIGFuZCAn J21vJ28nJy4gQm90aCBvZiB0aGVzZSBjb252ZXJ0IGFueSBudW1iZXIgc3RyaW5nIHRvIGFuIG9y ZGluYWwsIHdoaWNoIGhhcyB0aGUgZ3JhbW1hciBvZiBhdHRpdHVkaW5hbHMuIE9yZGluYWxzIGFy ZSB1c2VkIHRvIGRpdmlkZSBhIHRleHQgaW50byBudW1iZXJlZCBzZWdtZW50cywgbGlrZSBjaGFw dGVycyBvciBwYXJ0cy4gVGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuICcnbWFpJycgYW5kICcn bW8nbycnIGlzIHRoYXQgJydtbydvJycgcXVhbnRpZmllcyBsYXJnZXIgc3ViZGl2aXNpb25zIG9m IHRleHQsIGFsbG93aW5nIHlvdSB0byBkaXZpZGUgYSB0ZXh0IG9uIHR3byBkaWZmZXJlbnQgbGV2 ZWxzLCBmb3IgZXhhbXBsZSBlbnVtZXJhdGluZyBjaGFwdGVycyB3aXRoICcnbW8nbycnIGFuZCBz ZWN0aW9ucyB3aXRoICcnbWFpJycuIE5vdGljZSB0aGF0IHRoZXNlIGFzIHdlbGwgYXMgdGhlIE1P SSB0YWtlIGFueSBudW1iZXIgc3RyaW5nIGRpcmVjdGx5LCB3aXRob3V0IGFueSBuZWVkIGZvciAn J2xpJycuCgpfXycnbWFpJydfXzogTG93ZXItb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQg bnVtYmVyIHRvIG9yZGluYWwKCl9fJydtbydvJydfXzogSGlnaGVyIG9yZGVyIG9yZGluYWwgbWFy a2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsLgoKCgpUaGVyZSBhcmUgZml2ZSBNT0ksIGFu ZCB0aGV5IGFsbCBjb252ZXJ0IGFueSBudW1iZXIgc3RyaW5nIHRvIHNlbGJyaS4gV2UnbGwgdGFr ZSB0aGVtIG9uZSBhdCBhIHRpbWU6CgpfXycnbW9pJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8g c2VsYnJpOiB4MSBpcyB0aGUgbid0aCBtZW1iZXIgb2Ygc2V0IHgyIGJ5IG9yZGVyIHgzCgpFeGFt cGxlOiAnJ2xhIGx1dGNpbWluIGNpIG1vaSBsbydpIG5pbm11IHBlbmRvIGJlIG1pIGxlIHN1J3Ug bG8gY2xhbmkgem1hZHUgY3UgbGlkbmUgbG8gY2xhbmkgbWxlY2EnJyDigJMg4oCcTHVpLUNoaSBN aW4gaXMgdGhpcmQgYW1vbmcgbXkgZmVtYWxlIGZyaWVuZHMgYnkgdGhlIG9yZGVyOiBUaGUgbW9y ZSB0YWxsIG9uZXMgcHJlY2VkZXMgdGhlIGxlc3MgdGFsbCBvbmVz4oCdLgoKKFdoZW4gc3BlY2lm eWluZyBhIHNlcXVlbmNlLCBpdCBpcyB3aWRlbHkgdW5kZXJzdG9vZCB0aGF0IGlmIGEgJydrYScn LWFic3RyYWN0aW9uIChsZXNzb24gdHdlbnR5LW5pbmUpIGlzIHVzZWQgYXMgYSBzdW10aSwgdGhl IG1lbWJlcnMgb2YgdGhlIHNldCBhcmUgb3JkZXJlZCBmcm9tIHRoZSBvbmUgd2l0aCBtb3N0IG9m IHRoZSBwcm9wZXJ0eSB0byB0aGUgb25lIHdpdGggbGVzcyBvZiB0aGUgcHJvcGVydHksIHNvIHRo ZSB4MyBvZiB0aGUgZm9sbG93aW5nIHNlbnRlbmNlIGNvdWxkIGhhdmUgYmVlbiBzaG9ydGVuZWQg dG8gJydsbyBrYSBjbGFuaScnKQoKX18nJ2xpZG5lJydfXyB4MSBpcyBiZWZvcmUgeDIgaW4gc2Vx dWVuY2UgeDMKCl9fJydjbGFuaScnX18geDEgaXMgbG9uZyBpbiBkaW1lbnNpb24geDIgYnkgc3Rh bmRhcmQgeDMKCl9fJyd6bWFkdScnX18geDEgZXhjZWVkcyB4MiBpbiBwcm9wZXJ0eS9hc3BlY3Qg eDMgYnkgYW1vdW50IHg0CgpfXycnbWxlY2EnJ19fIHgxIGlzIGxlc3MgdGhhbi9pcyBsZXNzIGNo YXJhY3Rlcml6ZWQgdGhhbiB4MiBieSBwcm9wZXJ0eS9hc3BlY3QgeDMgYnkgYW1vdW50IHg0CgoK Cl9fJydtZWknJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBtYXNz IGZvcm1lZCBmcm9tIHRoZSBzZXQgeDIsIHdoaWNoIGhhcyB0aGUgbiBtZW1iZXJzIG9mIHgzCgpO b3RpY2UgaGVyZSB0aGF0IHgzIGFyZSBzdXBwb3NlZCB0byBiZSBpbmRpdmlkdWFscywgeDIgYSBz ZXQgYW5kIHgxIGEgbWFzcy4KCldoYXQgd291bGQgJydtaSBjaSBtZWknJyBtZWFuPyAKCkFud2Vy OiB+fmdyZXksZ3JleTrigJxXZSBhcmUgZ3JvdXAgb2YgdGhyZWUu4oCdfn4KCgoKX18nJ3NpJ2Un J19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIG4gdGltZXMgeDIKCkV4YW1w bGU6ICcnbGUgdmkgcGxpc2UgY3UgbWUnaSBwaSBwYSBzaSdlIGxlaSBtaSBjaWRqYSBiZSB6ZSdh IGxvIGRqZWRpJycg4oCTIOKAnFRoaXMgYXBwbGUgaGVyZSBpcyBsZXNzIHRoYW4gb25lIHRlbnRo IG9mIG15IGZvb2QgZm9yIG9uZSBkYXnigJ0KClBsZWFzZSBub3RlIHRoYXQgdGhlIGRlZmluaXRp b24gb2YgJydzaSdlJycgd2hlbiBsb29rZWQgdXAgd2lsbCB0ZWxsIHlvdSB0aGF0IGl0J3MgIngx IGlzIGFuIG50aCBvZiB4MiIsIGluc3RlYWQgb2YgIngxIGlzIG4gdGltZXMgeDIiLiBCdXQgcGVv cGxlIG9ubHkgdXNlIGl0IGFzIEkgaGF2ZSBkZWZpbmVkIGl0LCBzbyB0aGUgZGVmaW5pdGlvbiBp biB0aGUgZGljdGlvbmFyaWVzIHdpbGwgcHJvYmFibHkgY2hhbmdlLgoKCgpfXycnY3UnbycnX18g LSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaGFzIG4gcHJvYmFiaWxpdHkgb2Ygb2Nj dXJyaW5nIHVuZGVyIGNvbmRpdGlvbnMgeDIKCkV4YW1wbGU6ICcnbG8gbnUgbWkgbXJvYmknbyBj dSBwYSBjdSdvIGxvIG51IG1pIGRlbnBhIHJpJycg4oCTIOKAnUFuIGV2ZW50IG9mIG1lIGR5aW5n IGhhcyBwcm9iYWJpbGl0eSAxIHVuZGVyIHRoZSBjb25kaXRpb25zOiBJIHdhaXQgZm9yIGl04oCd ID0g4oCdTWUgZHlpbmcgaXMgY29tcGxldGVseSBjZXJ0YWluIGlmIEkgd2FpdCBsb25nIGVub3Vn aC7igJ0KCl9fJydkZW5wYScnX18geDEgd2FpdHMgZm9yIHgyLCBiZWluZyBpbiBzdGF0ZSB4MyB1 bnRpbCByZXN1bWluZy9kb2luZyB4NAoKX18nJ3ZhJ2UnJ19fIC0gQ29udmVydCBudW1iZXIgbiB0 byBzZWxicmk6IHgxIGlzIGF0IHRoZSBuJ3RoIHBvc2l0aW9uIG9uIHRoZSBzY2FsZSB4MgoKRXhh bXBsZTogJydsaSBwYSBubyBjdSBybyB2YSdlIGxhIHRvcmlub24nJyDigJMg4oCcMTAgaXMgdGhl IGhpZ2hlc3QgdmFsdWUgb24gdGhlIFRvcmluby1zY2FsZeKAnQoKCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gdHdlbnR5IChibywga2UsIGNvIGFuZCBtb3JlIGN1dGVuZXNzKQoKU2F5IHlv dSdyZSBhbiBpbXBvcnRhbnQgQW1lcmljYW4gYnV5ZXIgb2YgY29tcHV0ZXJzLiBIb3cgZG8geW91 IGV4cHJlc3MgdGhpcz8gRm9yIGNvbnN0cnVjdHMgbGlrZSB0aGVzZSwgdGFucnUgYXJlIGlkZWFs OiAnJ21pIHZham5pIG1lcmtvIHNrYW1pIHRlIHZlY251JycuIE5vIHdhaXQsIHRoYXQncyBub3Qg cmlnaHQuIFRhbnJ1IGFyZSBncm91cGVkIGZyb20gbGVmdCB0byByaWdodCwgc28gdGhpcyB0YW5y dSBpcyB1bmRlcnN0b29kOiAoKCcndmFqbmkgbWVya28nJykgJydza2FtaScnKSAnJ3RlIHZlY251 JycsIGEgYnV5ZXIgb2YgY29tcHV0ZXJzIGZvciBpbXBvcnRhbnQgQW1lcmljYW5zLiBZb3UgY2Fu J3QgY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgc2VsYnJpIHRvIGdldCBhIHVzZWZ1bCB0YW5ydS4g TmVpdGhlciBjYW4gdGhpcyBiZSBzb2x2ZWQgd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCB3aGlj aCB5b3Ugd2lsbCBmaXJzdCBsZWFybiBhYm91dCBsYXRlciBhbnl3YXkuIFRoZSBvbmx5IHdheSB0 byBtYWtlIGEgZml0dGluZyB0YW5ydSBpcyB0byBmb3JjZSB0aGUgc2VsYnJpIHRvIGdyb3VwIGRp ZmZlcmVudGx5LgoKCgpUbyBiaW5kIHR3byBzZWxicmkgY2xvc2UgdG9nZXRoZXIgaW4gYSB0YW5y dSwgdGhlIHdvcmQgJydibycnIGNhbiBiZSBwbGFjZWQgYmV0d2VlbiB0aGVtOiAnJ21pIHZham5p IGJvIG1lcmtvIHNrYW1pIGJvIHRlIHZlY251JycgaXMgcmVhZCAnJ21pJycgKCcndmFqbmkgYm8g bWVya28nJykgKCcnc2thbWkgYm8gdGUgdmVjbnUnJyksIHdoaWNoIGlzIHVzZWZ1bCBpbiB0aGlz IGNvbnRleHQuIElmIGJvIGlzIHBsYWNlZCBiZXR3ZWVuIHNldmVyYWwgc2VsYnJpIGluIGEgcm93 LCB0aGV5IGFyZSBncm91cGVkIGZyb20gcmlnaHQgdG8gbGVmdCBpbnN0ZWFkIG9mIHRoZSB1c3Vh bCBsZWZ0IHRvIHJpZ2h0OiAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251Jycg aXMgcmVhZCAnJ3Zham5pJycgKCcnbWVya28gYm8nJyAoJydza2FtaSBibyB0ZSB2ZWNudScnKSkg YW4g4oCcaW1wb3J0YW50IChBbWVyaWNhbiBjb21wdXRlci1idXllcinigJ0sIHdoaWNoIGlzIGV2 ZW4gbW9yZSBhcHByb3ByaWF0ZSBpbiB0aGUgc2l0dWF0aW9uLgoKX18nJ2JvJydfXyBCaW5kcyB0 d28gc2VsYnJpIHRvZ2V0aGVyIHN0cm9uZ2x5LgoKCgpIb3cgd291bGQgeW91IHNheSDigJxUaGF0 J3MgYSB0YXN0eSB5ZWxsb3cgYXBwbGXigJ0/CgpfXycna3VrdGUnJ19fIHgxIGlzIHRhc3R5IGZv ciB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkga3VrdGUgcGVseHUgYm8gcGxpc2UnJ35+ CgoKCldoYXQgYWJvdXQg4oCdVGhhdCdzIGEgYmlnLCB0YXN0eSB5ZWxsb3cgYXBwbGXigJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIGJhcmRhIGt1a3RlIGJvIHBlbHh1IGJvIHBsaXNlJyd+ fgoKCgpBbm90aGVyIGFwcHJvYWNoIHRvIHRoaXMgaXMgdG8gdXNlIHRoZSB3b3JkcyAnJ2tl4oCm a2UnZScnLiBUaGVzZSBjYW4gYmUgY29uc2lkZXJlZCBhcyBlcXVpdmFsZW50IHRvIHRoZSBwYXJl bnRoZXNpc2VzIHVzZWQgaW4gdGhlIHBhcmFncmFwaCBhYm92ZS4gJydrZScnIGJlZ2lucyBzdHJv bmcgc2VsYnJpIGdyb3VwaW5nLCAnJ2tlJ2UnJyBlbmRzIGl0LgoKX18nJ2tlJydfXyDigJMgYmVn aW4gc3Ryb25nIHNlbGJyaSBncm91cGluZy4KCl9fJydrZSdlJydfXyDigJMgZW5kIHN0cm9uZyBz ZWxicmkgZ3JvdXBpbmcuCgpUaGUgc3RyZW5ndGggb2YgdGhlIGJpbmRpbmcgaXMgdGhlIHNhbWUg YXMgdGhhdCBvZiAnJ2JvJycuIFRoZXJlZm9yZSwgJydtaSB2YWpuaSBtZXJrbyBibyBza2FtaSBi byB0ZSB2ZWNudScnIGNhbiBiZSB3cml0dGVuICcnbWkgdmFqbmkga2UgbWVya28ga2Ugc2thbWkg dGUgdmVjbnUge2tlJ2V9IHtrZSdlfScnLgoKSG93IGNvdWxkIHlvdSBzYXkg4oCcSSdtIGEgR2Vy bWFuIHNlbGxlciBvZiB5ZWxsb3cgaG9tZXM/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSBkb3RjbyBrZSBwZWx4dSB6ZGFuaSB2ZWNudScnfn4KCgoKV2hpbGUgd2UncmUgYXQgbWVzc2lu ZyB3aXRoIHRoZSBvcmRpbmFyeSB0YW5ydSBzdHJ1Y3R1cmUsIHRoZXJlIGlzIGFub3RoZXIgd29y ZCB3b3J0aCBwYXlpbmcgYXR0ZW50aW9uIHRvLiBJZiBJIHdhbnQgdG8gc2F5IHRoYXQgSSdtIGEg cHJvZmVzc2lvbmFsIHRyYW5zbGF0b3IsIEkgY291bGQgc2F5ICcnbWkgZmFudmEgc2Ugamlicmkn Jy4KCl9fJydqaWJyaScnX18geDEgaXMgYSBqb2Igb2YgeDIKCl9fJydkb3R5YmF1JydfXyB4MSBp cyBHZXJtYW4gdXNlZCBieSB4MiB0byBzYXkgeDMKCl9fJydnbGliYXUnJ19fIHgxIGlzIEVuZ2xp c2ggdXNlZCBieSB4MiB0byBzYXkgeDMKCklmIEkgd2FudGVkIHRvIHNheSB0aGF0IEknbSBhIHBy b2Zlc3Npb25hbCB0cmFuc2xhdGVyIGZyb20gRW5nbGlzaCB0byBHZXJtYW4sIEknZCBoYXZlIHRv IG1lc3MgYXJvdW5kIHdpdGggJydiZScnIGFuZCAnJ2JlaScnOiAnJ21pIGZhbnZhIGJlIGxlIGRv dHliYXUgYmVpIGxlIGdsaWJhdSBiZSdvIHNlIGppYnJpJycsIGFuZCB0aGUgZmFjdCB0aGF0IGl0 IHdhcyBhIHRhbnJ1IGNvdWxkIHF1aWNrbHkgYmUgbG9zdCBpbiBzcGVlY2ggZHVlIHRvIHRoZSBj b21wbGljYXRlZCBzdHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlLiBIZXJlLCB3ZSBjYW4gdXNlIHRo ZSB3b3JkICcnY28nJy4gaXQgaW52ZXJ0cyB0aGUgdGFucnUsIG1ha2luZyB0aGUgcmlnaHRtb3N0 IHNlbGJyaSBtb2RpZnkgdGhlIGxlZnRtb3N0IGluc3RlYWQgb2YgdGhlIG90aGVyIHdheSBhcm91 bmQ6CgonJ21pIHNlIGppYnJpIGNvIGZhbnZhIGxlIGRvdHliYXUgbGUgZ2xpYmF1JycgaXMgdGhl IHNhbWUgYnJpZGkgYXMgdGhlIHByZXZpb3VzIExvamJhbiBvbmUsIGJ1dCBtdWNoIG1vcmUgZWFz eSB0byB1bmRlcnN0YW5kLiBOb3RpY2UgdGhhdCBhbnkgc3VtdGkgYmVmb3JlIHRoZSB0YW5ydSBm aWxscyAnJ3NlIGppYnJpJycsIHdoaWxlIGFueSBmb2xsb3dpbmcgaXQgb25seSBmaWxscyB0aGUg bW9kaWZ5aW5nIHNlbGJyaTogJydmYW52YScnLgoKX18nJ2NvJydfXyBJbnZlcnQgdGFucnUuIEFu eSBwcmV2aW91cyBzdW10aSBmaWxsIHRoZSBtb2RpZmllZCwgYW55IGZvbGxvd2luZyBmaWxsIHRo ZSBtb2RpZmllci4KCgoKVGhlIHN0cmVuZ3RoIGJ5IHdoaWNoIHR3byBzZWxicmkgYXJlIGJvdW5k IHRvZ2V0aGVyIHdpdGggY28gaXMgdmVyeSB3ZWFrIOKAkyBldmVuIHdlYWtlciB0aGFuIG5vcm1h bCB0YW5ydSBncm91cGluZyB3aXRob3V0IGFueSBncm91cGluZyB3b3Jkcy4gVGhpcyBtYWtlcyBz dXJlIHRoYXQsIGluIGEgY28tY29uc3RydWN0LCB0aGUgbGVmdG1vc3Qgc2VsYnJpIGlzIGFsd2F5 cyB0aGUgc2VsYnJpIGJlaW5nIG1vZGlmaWVkLCBhbmQgdGhlIHJpZ2h0bW9zdCBhbHdheXMgbW9k aWZpZXMsIGV2ZW4gaWYgYW55IG9mIHRob3NlIHBhcnRzIGFyZSB0YW5ydS4gVGhpcyBtYWtlcyBh IGNvLWNvbnN0cnVjdCBlYXN5IHRvIHBhcnNlOgoKJyd0aSBwZWx4dSBwbGlzZSBjbyBrdWt0ZScn IGlzIHJlYWQgJyd0aScnICgnJ3BlbHh1IHBsaXNlJycpICcnY28ga3VrdGUnJywgd2hpY2ggaXMg dGhlIHNhbWUgYXMgJyd0aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnLiBUaGlzIGFsc28gbWVhbnMg dGhhdCBhICcna2XigKZrZSdlJycgY2Fubm90IGVuY29tcGFzcyBhICcnY28nJy4KClRoZSBjbWF2 byBvZiB0aGUgc2VsbWEnbyBHSWhBLCB0aGUgYnJpZGktdGFpbCBhZnRlcnRob3VnaHQgbG9naWNh bCBjb25uZWN0aXZlcywgaG93ZXZlciwgYmluZHMgZXZlbiBsb29zZXIgdGhhbiAnJ2NvJycuIFRo aXMgaXMgaW4gb3JkZXIgdG8gdG90YWxseSBhdm9pZCBjb25mdXNpb24gYWJvdXQgd2hpY2ggc2Vs YnJpIGJpbmRzIHRvIHdoaWNoIGluIGEgR0loQS1jb25zdHJ1Y3QuIFRoZSBhbnN3ZXIgaXMgc2lt cGxlOiBUaGUgR0loQSBuZXZlciBlbWNvbXBhc3NlcyBhbnkgc2VsYnJpLWdyb3Vwcy4KCgoKSG93 IGNhbiB5b3UgZXhwcmVzcyDigJ1JIGFtIGFuIGltcG9ydGFudCBBbWVyaWNhbiBidXllciBvZiBj b21wdXRlcnPigJ0gdXNpbmcgYSAnJ2NvJyc/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBz a2FtaSB0ZSB2ZWNudSBjbyB2YWpuaSBtZXJrbycnfn4KCgoKSWYgaXQncyBvZiBhbnkgdXNlLCB0 aGlzIGlzIHRoZSBsaXN0IG9mIGRpZmZlcmVudCBraW5kIG9mIHNlbGJyaSBncm91cGVycyByYW5r ZWQgYnkgc3RyZW5ndGg6CgoKCjEuICAgICcnYm8nJyBhbmQgJydrZS4ua2UnZScnCgoKCjIuICAg IGxvZ2ljYWwgY29ubmVjdGl2ZXMgb3RoZXIgdGhhbiBicmlkaS10YWlsIGFmdGVydGhvdWdodCBs b2dpY2FsIGNvbm5lY3RpdmVzIChleHBsYWluZWQgaW4gbGVzc29uIHR3ZW50eS1maXZlKQoKCgoz LiAgICBubyBncm91cGluZyB3b3JkcwoKCgo0LiAgICAnJ2NvJycKCgoKNS4gICAgYnJpZGktdGFp bCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoYWxzbyBpbiBsZXNzb24gdHdlbnR5 LWZpdmUpCgoKClRoZSByZXN0IG9mIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHNlbGJyaSBn cm91cGluZywgYnV0IG11Y2ggbGlrZSBsZXNzb24gc2V2ZW50ZWVuIG1lbnRpb24gYXNzb3J0ZWQg d29yZHMsIHdoaWNoIGNhbiBiZSBvZiB1c2UuCgoKCicnYm8nJyBoYXMgYW5vdGhlciB1c2UsIHdo aWNoIHNlZW1zIHNlcGFyYXRlIGZyb20gc2VsYnJpIGdyb3VwaW5nOiBJdCBjYW4gYWxzbyBiaW5k IGEgc3VtdGNpdGEgdG8gYW4gZW50aXJlIGJyaWRpLCBzbyB0aGF0IHRoZSBjb250ZW50IG9mIHRo ZSBzdW10Y2l0YSBpcyBub3QgYSBzdW10aSwgYnV0IHRoZSBmb2xsb3dpbmcgYnJpZGkuIFRoaXMg aXMgYmVzdCBleHBsYWluZWQgd2l0aCBhbiBleGFtcGxlLgoKX18nJ3hlYm5pJydfXyB4MSBoYXRl cyB4MgoKJydtaSBkYXJ4aSBkbyAuaSBtdSdpIGJvIG1pIGRvIHhlYm5pJycg4oCTIOKAnEkgaGl0 IHlvdSwgd2l0aCBtb3RpdmF0aW9uIHRoYXQgSSBoYXRlIHlvdS7igJ0gSGVyZSB0aGUgJydibycn IGJpbmRzICcnbXUnaScnIHRvIHRoZSBmb2xsb3dpbmcgYnJpZGkuCgpUaGlzIGlzIHdoZXJlIHRo ZSB0ZWNobmljYWwgZGlmZmVyZW5jZSBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBz dW10Y2l0YSBpcyByZWxldmFudC4gWW91IHNlZSwgd2hlbiBiaW5kaW5nIGEgbm9ybWFsIHN1bXRj aXRhIHRvIGEgYnJpZGkgd2l0aCAnJ2JvJycsIGl0IG1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyBi cmlkaSBzb21laG93IGZpdHMgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhLiBG b3IgdGhlIHJlYXNvbiBvZiBHb2QgS25vd3MgV2h5LCBiaW5kaW5nIG9uZSBvZiB0aGUgd29yZHMg JydiYScnIG9yICcncHUnJyB0byBhIGJyaWRpIGhhcyB0aGUgZXhhY3Qgb3Bwb3NpdGUgZWZmZWN0 LiBGb3IgZXhhbXBsZSwgaW4gdGhlIGJyaWRpICcnbWkgZGFyeGkgZG8gLmkgYmEgYm8gZG8gY2lu amlrY2EnJywgb25lIHdvdWxkIGFzc3VtZSB0aGF0IHRoZSBzZWNvbmQgYnJpZGkgaXMgc29tZWhv dyBmaWxsZWQgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgJydiYScnLCBtZWFuaW5nIHRoYXQgdGhl IGJyaWRpIGZpcnN0IHV0dGVyZWQgdG9vayBwbGFjZSBpbiB0aGUgZnV0dXJlIG9mIHRoZSBzZWNv bmQgYnJpZGkuIFRoYXQncyBub3QgdGhlIGNhc2UsIGhvd2V2ZXIsIGFuZCB0aGUgY29ycmVjdCB0 cmFuc2xhdGlvbiBvZiB0aGF0IHV0dGVyYW5jZSB3b3VsZCBiZSAiSSBoaXQgeW91LiBBZnRlcndh cmRzLCB5b3UgZmxpcnQiLiBUaGlzIHdlaXJkIHJ1bGUgaXMgYWN0dWFsbHkgb25lIG9mIHRoZSBt YWluIG9ic3RhY2xlcyB0byBhIHVuaWZpY2F0aW9uIG9mIGFsbCBzdW10Y2l0YSBpbnRvIG9uZSBz aW5nbGUgd29yZCBjbGFzcy4gQW5vdGhlciBkaWZmZXJlbmNlIGlzIHRoYXQgdGVuc2Utc3VtdGNp dGEgY2FuIGJlIGVsaWRlZCwgZXZlbiB0aG91Z2ggdGhleSBhcHBseS4gVGhpcyBydWxlIG1ha2Vz IG1vcmUgc2Vuc2UsIHNpbmNlIHdlIG9mdGVuIGNhbiBhc3N1bWUgYnJpZGkgaXMgcGxhY2VkIGlu IGEgdGltZSBhbmQgc3BhY2UsIGJ1dCB3ZSBjYW4ndCBhc3N1bWUgdGhhdCB0aGUgc3VtdGNpdGEg b2YgQkFJIGFwcGxpZXMuCgoKClRoZSB1bm9mZmljaWFsIHdvcmQgJydtZSdvaScnIGlzIGVxdWl2 YWxlbnQgdG8gbWUgbGEnZSAnJ3pvJ29pJycsIHdoaWNoIG1lYW5zIHRoYXQgaXQgY29udmVydHMg dGhlIGNvbnRlbnQgb2YgdGhlIG5leHQgd29yZCBpbnRvIGEgc2VsYnJpLiBJdCBpcyB1c2VkIHRv IGludmVudCBicml2bGEgb24gdGhlIGZseTogJydtaSBjYSB6Z2FuYSBsYSBtZSdvaSBYLWZpbGVz JycgZm9yIOKAnEkgbm93IHdhdGNoIFgtZmlsZXPigJ0uIExpa2UgYWxsIHF1b3RlIG5leHQgd29y ZC1jbWF2bywgaXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgb2ZmaWNpYWwgZ3JhbW1hciwgYnV0 IHRvIHRoZSBsYXp5IExvamJhbmlzdCwgaXQncyBpbnZhbHVhYmxlLgoKCgpUaGUgd29yZCAnJ2dp JycgaXMgc3RyYWdlIGtpbmQgb2YgYnJpZGkgc2VwYXJhdG9yLCBhbmFsb2dvdXMgdG8gJycuaScn LCBidXQgdG8gbXkga25vd2xlZGdlLCBpdCBpcyB1c2VkIGluIG9ubHkgdHdvIGRpZmZlcmVudCBr aW5kcyBvZiBjb25zdHJ1Y3RzOiBNb3N0IG9mdGVuIHdpdGggbG9naWNhbCBjb25uZWN0aXZlcywg ZXhwbGFpbmVkIGluIGxlc3NvbiB0d2VudHktZml2ZSwgYnV0IGFsc28gd2l0aCBzdW10Y2l0YS4g V2l0aCBzdW10Y2l0YSBpdCBjcmVhdGVzIGEgdXNlZnVsLCBidXQgaGFyZGx5IHNlZW4sIGNvbnN0 cnVjdDoKCicnbXUnaSBnaSBCUklESS0xIGdpIEJSSURJLTInJywgd2hpY2ggaXMgZXF1aXZhbGVu dCB0byAnJ0JSSURJLTIgLmkgbXUnaSBibyBCUklESS0xJycuIFRoZXJlZm9yZSwgdGhlIGV4YW1w bGUgYWJvdmUsIHdoaWNoIGV4cGxhaW5lZCB3aHkgSSBoaXQgeW91LCBjYW4gYmUgd3JpdHRlbiAn J211J2kgZ2kgbWkgeGVibmkgZG8gZ2kgbWkgZGFyeGkgZG8nJywgb3IgdG8gcHJlc2VydmUgdGhl IHNhbWUgb3JkZXIgYXMgdGhlIG9yaWdpbmFsIHNlbnRlbmNlLCB3ZSBjYW4gY29udmVydCAnJ211 J2knJyB3aXRoICcnc2UnJzogJydzZSBtdSdpIGdpIG1pIGRhcnhpIGRvIGdpIG1pIHhlYm5pIGRv JycuCgpJdCBpcyBpbiBleGFtcGxlcyBsaWtlIHRoaXMgdGhhdCAnJ2dpJycgcmVhbGx5IGNhbiBz aG93IGl0cyB2ZXJzYXRpbGl0eS4gSXQgZG9lcyBub3QganVzdCBzZXBhcmF0ZSB0d28gYnJpZGkg bGlrZSAnJy5pJycgZG9lcywgYnV0IGNhbiBhbHNvIHNlcGFyYXRlIHR3byBjb25zdHJ1Y3RzIHdp dGhpbiBhIGJyaWRpLCBtYWtpbmcgYWxsIGNvbnN0cnVjdHMgb3V0c2lkZSB0aGUgc2NvcGUgb2Yg JydnaScnIGFwcGx5IHRvIGJvdGggYnJpZGksIGFzIHRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXM6 CgpfXycnY2luYmEnJ19fIHgxIGtpc3NlcyB4MiBhdCBsb2N1cyB4MwoKCgpfXycn4oCiIFtOb3Rl IGZyb20gSWxtZW46IGdpLi4uZ2kuLi4gY29uc3RydWN0IGlzIG9ubHkgdmFsaWQgd2l0aCBzdW10 Y2l0YSwgc28gSSBoYWQgdG8gY29ycmVjdCB0aGUgZXhhbXBsZXMgb2YgdGhlIHBhcmFncmFwaCBi ZWxvdyAoYnkgcmVwbGFjaW5nIHRoZSBmaXJzdCAiZ2kiIHdpdGggImdlIikuIFBlcmhhcHMgdGhp cyBwYXJhZ3JhcGggc2hvdWxkIGJlIHNpbXBseSByZW1vdmVkP10nJ19fCgonJ21pIGdlIHByYW1p IGRvIGdpIGNpbmJhIGRvJycgbGVhdmVzIG1pIG91dHNpZGUgdGhlIGNvbnN0cnVjdCwgbWFraW5n IGl0IGFwcGx5IHRvIGJvdGggYnJpZGkuIFRoaXMgY2FuIGFsc28gYmUgZG9uZSB3aXRoICcnZG8n Jywgd2hpY2ggaXMgYWxzbyBwcmVzZW50IGluIGJyb3RoIGJyaWRpOiAnJ21pIGdlIHByYW1pIGdp IGNpbmJhIHZhdSBkbycnLiBOb3RlIHRoYXQgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBkbyBh cHBlYXIgb3V0c2lkZSB0aGUgc2Vjb25kIGJyaWRpLgoKCgpUaHVzLCB3ZSBjYW4gd3JpdGUgdGhl IG9yaWdpbmFsIHNlbnRlbmNlIHNob3J0ZXI6ICcnbWkgbXUnaSBnaSB4ZWJuaSBnaSBkYXJ4aSB2 YXUgZG8nJywgb3IsIHRvIG9taXQgZXZlbiB0aGUgJyd2YXUnJywgd2UgY2FuIHdyaXRlIGl0IGV2 ZW4gc2hvcnRlciBhbmQgbW9yZSBlbGVnYW50bHk6ICcnbWkgZG8gbXUnaSBnaSB4ZWJuaSBnaSBk YXJ4aScnCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktb25lIChDT0kpCgpJ biB0aGlzIGxlc3NvbiwgeW91IHdpbGwgZmFtaWxpYXJpemUgeW91cnNlbGYgd2l0aCB2b2NhdGl2 ZXMsIG9yICcnbWEnb2kgY29pJycuIFRoZXkgZ2V0IHRoZWlyIG93biBsZXNzb24sIG5vdCBiZWNh dXNlIHVuZGVyc3RhbmRpbmcgdGhlc2UgcHJvdmlkZXMgYSBiYXNpcyBmb3IgdW5kZXJzdGFuZGlu ZyBMb2piYW4gZ3JhbW1hciBpbiBnZW5lcmFsLCBvciBiZWNhdXNlIHRoZXkgYXJlIGhhcmQgdG8g dW5kZXJzdGFuZCwgYnV0IHJhdGhlciBiZWNhdXNlIHRoZXkgYXJlIHZlcnkgb2Z0ZW4gdXNlZCBp biBjYXN1YWwgc3BlZWNoLCBhbmQgdGhlcmUgYXJlIGEgbG90IG9mIHRoZW0uCgpBIHZvY2F0aXZl IGlzIHVzZWQgcGFydGx5IHRvIGRlZmluZSB3aG8gJydkbycnIHJlZmVycyB0by4gSWYgdGhlIHZv Y2F0aXZlIGlzIGZvbGxvd2VkIGJ5IGEgY21ldmxhLCB0aGUgY21ldmxhIGdldHMgYW4gaW1wbGll ZCBsYSBpbiBmcm9udCBvZiBpdC4gSWYgYSBzZWxicmkgZm9sbG93cywgYSAnJ2xlJycgaXMgdXNl ZCBhcyBhIGdhZHJpIGluc3RlYWQuCgpJbiB0aGVzZSBleGFtcGxlcywgSSB3aWxsIHVzZSB0aGUg dm9jYXRpdmUgJydjb2knJywgd2l0aCBtZWFucyDigJxIaeKAnSBvciDigJxIZWxsb+KAnS4KCklm IGEgcGVyc29uIGlzIGNhbGxlZCAnJ2xhICsgU0VMQlJJJycsIHVzaW5nIGEgdm9jYXRpdmUgd2l0 aCBvbmx5IHRoZSBzZWxicmkgdG8gYWRkcmVzcyB0aGF0IHBlcnNvbiB3aWxsIG1lYW4geW91IHJl ZmVyIHRvIGhlciBhcyBhY3R1YWxseSBiZWluZyB0aGUgeDEgb2YgdGhhdCBzZWxicmksIHdoaWNo IGlzIG9mdGVuIHdyb25nLiBJZiwgZm9yIGluc3RhbmNlLCBhIHBlcnNvbiBpcyBjYWxsZWQgJyds YSB0c2FuaScnLCDigJxTa3nigJ0sIHNheWluZyAnJ2NvaSB0c2FuaScnIHJlZmVycyB0byBoZXIg YXMgYSAnJ2xlIHRzYW5pJycsIG1lYW5pbmcg4oCcSGksIHlvdSBza3nigJ0sIHdoaWxlICcnY29p IGxhIHRzYW5pIGNvcnJlY3RseScnIHJlZmVycyB0byBoZXIgYXMgc29tZW9uZSBjYWxsZWQgIlNr eSIsIG1lYW5pbmcg4oCcSGkgU2t54oCdLiBUaGlzIGlzIGEgZnJlcXVlbnQgbWlzdGFrZSwgZXNw ZWNpYWxseSBhbW9uZyBuZXcgTG9qYmFuaXN0cy4KCkFsbCB2b2NhdGl2ZXMgaGF2ZSBhIGZhJ29y bWEnbyB3aGljaCBpcyBzb21ldGltZXMgcmVxdWlyZWQuIFRoaXMgaXMgJydkbyd1JycuIEl0J3Mg bW9zdGx5IHVzZWQgaWYgYm90aCB0aGUgZmlyc3Qgd29yZCBhZnRlciB0aGUgdm9jYXRpdmUgcGhy YXNlIGFuZCB0aGUgbGFzdCB3b3JkIG9mIHRoZSBwaHJhc2UgaXMgYSBzZWxicmksIHNvIHRoYXQg aXQgcHJldmVudHMgZm9ybWluZyBhIHRhbnJ1OgoKCgpfXycnZG8ndScnX18gRW5kIHZvY2F0aXZl IHBocmFzZS4gVXN1YWxseSBlbGlkYWJsZS4KCl9fJydrbGFrdScnX18geDEgY3JpZXMgeDIgKHRl YXJzKSBmb3IgcmVhc29uIHgzCgonJ2NvaSBsYSBnbGVraSBkbyd1IGtsYWt1IGZpIG1hJycg4oCd SGVsbG8gSGFwcHkuIFdoeSBjcnk/4oCdCgoKClRoZSBnZW5lcmljIHZvY2F0aXZlLCAnJ2RvaScn LCBkb2VzIG5vdGhpbmcgZXhjZXB0IGRlZmluaW5nIHdobyBpcyBiZWluZyByZWZlcnJlZCB0byBi eSAnJ2RvJyc6CgonJ2RvaSAuZXJuc3l0LiB4dSBkbyBkb3RjbyBtZXJrbycnIOKAnEVybnN0OiBB cmUgeW91IGEgR2VybWFuLUFtZXJpY2FuP+KAnQoKCgpBbGwgdGhlIG90aGVyIHZvY2F0aXZlcyBo YXZlIHNvbWUgY29udGVudCBiZXNpZGUgZGVmaW5pbmcgJydkbycnLiAnJ2NvaScnLCB3aGljaCB5 b3Uga25vdywgYWxzbyBtZWFucyDigJxIZWxsb+KAnSwgZm9yIGV4YW1wbGUuIE1hbnkgb2YgdGhl IHZvY2F0aXZlcyBoYXZlIHR3byBvciB0aHJlZSBkZWZpbml0aW9ucyBsaWtlIHRoZSBhdHRpdHVk aW5hbHMuIExpa2UgYXR0aXR1ZGluYWxzLCB0aGlzIGlzIGJlY2F1c2UgdGhleSBjYW4gYmUgbW9k aWZpZWQgd2l0aCAnJ2N1J2knJyBhbmQgJyduYWknJywgdGhvdWdoIG9ubHkgb25lIHZvY2F0aXZl IGhhcyB0aGUgJydjdSdpJyctZm9ybSBkZWZpbmVkLgoKU29tZSBpbXBvcnRhbnQgdm9jYXRpdmVz IGFyZSBsaXN0ZWQgaW4gdGhlIHRhYmxlIGJlbG93LiBUaGVyZSBhcmUgb3RoZXJzLCBidXQgdGhv c2UgYXJlIG5vdCB1c2VkIG11Y2guCgp8fHZvY2F0aXZlfFdpdGhvdXQgc3VmZml4fC1jdSdpfC1u YWkKCmNvaXxIZWxsb3wtfC0KCmNvJ298R29vZGJ5ZQl8LXwtCgpqZSdlfFVuZGVyc3Rvb2QgLyBP S3wtfE5vdCB1bmRlcnN0b29kCgpmaSdpfFdlbGNvbWV8LXxOb3Qgd2VsY29tZSBoZXJlCgpwZSd1 fFBsZWFzZXwtfC0KCmtpJ2V8VGhhbmtzfC18RGlzYXBwcmVjaWF0aW9uCgpyZSdpfFJlYWR5IHRv IHJlY2lldmV8LXxOb3QgcmVhZHkKCmp1J2l8SGV5IXxBdCBlYXNlfElnbm9yZSBtZQoKdGEnYXxJ bnRlcnJ1cHRpb258LXwtCgp2aSdvfFdpbGwgZG98LXxXaWxsIG5vdCBkbwoKa2Unb3xQbGVhc2Ug cmVwZWF0fC18Tm8gcmVwZWF0IG5lZWRlZAoKZGknYWl8d2VsbC13aXNofC18Y3Vyc2V8fAoKTm90 aWNlIHRoYXQgJydkaSdhaScnIGlzIGV4cGVyaW1lbnRhbAoKCgoKCldoYXQgd291bGQgJydjb2kg Y28nbycnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcR3JlZXRpbmdzIGluIHBhc3Np bmfigJ0gb3Ig4oCcSGVsbG8gYW5kIEdvb2RieWXigJ1+fgoKCgonJ2plJ2UnJyBpcyB1c2VkIGFz IOKAnE9L4oCdLCBidXQgYWxzbyB0aGUgYXBwcm9wcmlhdGUgcmVzcG9uc2Ugd2hlbiByZWNlaXZp bmcgcHJhaXNlIG9yIHRoYW5rcyAoYXQgbGVhc3QsIGlmIHlvdSB3YW50IHRvIGJlIG1vZGVzdCks IGFzIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwcmFpc2Ugb3IgdGhhbmtzIHdhcyBzdWNjZXNzZnVs bHkgdW5kZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcna2knZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFq bmkgLmkgamUnZSAuamVuaWZ5bi4nJwoKX18nJ3NpZGp1JydfXyB4MSBoZWxwcyB4MiBkbyB4MwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYW5rcywgeW91IGhlbHBlciBvZiBtZSB0byBkbyBz b21ldGhpbmcgaW1wb3J0YW50LuKAnSDigJxObyBwcm9ibGVtLCBKZW5uaWZlcuKAnX5+CgoKCkFu ZCAnJ2ZpJ2kgdGUgdmVjbnUgLmkgcGUndSBrbyBjaXRrYScnCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCdV2VsY29tZSwgYnV5ZXIuIFBsZWFzZSBlYXQh4oCdfn4KCgoKJydyZSdpJycgaXMgdXNl ZCB0byBzaWduYWwgdGhhdCB5b3UgYXJlIHJlYWR5IHRvIGJlIHNwb2tlbiB0by4gSXQgY2FuIGJl IHVzZWQgYXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIOKAnFdoYXQgY2FuIEkgZG8gZm9yIHlv dT/igJ0gb3IgcGVyaGFwcyByZXBsYWNlIOKAnEhlbGxv4oCdLCB3aGVuIHNwZWFraW5nIG9uIGEg cGhvbmUuICcncmUnaSBuYWknJyBjYW4gbWVhbiDigJxBRkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMg YSBzZWNvbmQu4oCdCgoKClRyYW5zbGF0ZTog4oCcSGVsbG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlv dSwgSW50ZXJwcmV0ZXIvVHJhbnNsYXRlcj/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2Nv aSByZSdpIGxhIGZhbnZhJyd+fgoKCgonJ3RhJ2EnJyBpcyB1c2VkIHdoZW4gYXR0ZW1wdGluZyB0 byBwb2xpdGVseSBpbnRlcnJ1cHQgc29tZW9uZSBlbHNlLiBXaGF0IHdvdWxkIGJlIGdvb2QgcmVz cG9uc2VzIHRvIHRoaXM/CgoKClRyYW5zbGF0ZTogJyd0YSdhIHJvIGRvIG1pIGNvJ2EgY2xpdmEn JwoKX18nJ2NsaXZhJydfXyB4MSBsZWF2ZXMgeDIgdmlhIHJvdXRlIHgzCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcRXhjdXNlIG1lIGZvciBpbnRlcnJ1cHRpbmcsIGV2ZXJ5b25lLiBJIGJlZ2lu IHRvIGxlYXZlIG5vd+KAnSBOb3RpY2UgdGhhdCBubyBmYSdvcm1hJ28gb3IgJycuaScnIGlzIG5l ZWRlZC5+fgoKCgonJ2tlJ28nJyBpcyB1c2VkIGEgbG90IHdoZW4gaW5leHBlcmllbmNlZCBMb2pi YW5pc3RzIHNwZWFrIHRvZ2V0aGVyIHZvY2FsbHkuIEl0J3MgcXVpdGUgYSBoYW5keSB3b3JkCgpf Xycnc3V0cmEnJ19fIHgxIGlzIHF1aWNrIGF0IGRvaW5nIHgyCgoKClRyYW5zbGF0ZTogJycueSBr ZSdvIHN1dHJhIHRhdmxhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxVaCwgUGxlYXNlIHJl cGVhdCwgeW91IHF1aWNrIHNwZWFrZXIu4oCdfn4KCgoKQW5kIOKAnE9rYXkgb2theSwgSSBnb3Qg aXQgYWxyZWFkeSEgSSdsbCBkbyBpdCHigJ0KCgoKQW4gYW5zd2VyOiB+fmdyZXksZ3JleTonJ2tl J28gbmFpIC51aSBuYWkgdmknbycnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2Vu dHktdHdvIChxdWFudGlmeWluZyBzdW10aSkKCk1vc3Qgb3RoZXIgbGVhcm5pbmcgbWF0ZXJpYWxz IHN1Y2ggYXMgVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFnZSBhbmQgTG9qYmFuIGZvciBCZWdp bm5lcnMgd2VyZSB3cml0dGVuIGJlZm9yZSB0aGUgb2ZmaWNpYWwgYWRvcHRhdGlvbiAieG9ybG8i LCBhIGNoYW5nZSBpbiB0aGUgcnVsZXMgYWJvdXQgZ2FkcmkgZGVmaW5pdGlvbiBhbmQgZ2Fkcmkg cXVhbnRpZmljYXRpb24uIFRoZSBvYnNvbGV0ZW5lc3Mgb2Ygc29tZSBvZiB0aGUgdGV4dCBpbiB0 aGUgb2xkZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHdhcyBhIG1ham9yIGNhdXNlIGZvciB0aGUgbW90 aXZhdGlvbiB0byB3cml0ZSB0aGVzZSBsZXNzb25zLiBVbmZvcnR1bmF0ZWx5IGZvciBtZSwgcXVh bnRpZmljYXRpb24gb2Ygc3VtdGkgY2FuIGJlY29tZSBhIHZlcnkgY29tcGxleCB0b3BpYyB3aGVu IHRoZSBpbXBsaWNhdGlvbnMgb2YgY2VydGFpbiBydWxlcyBhcmUgZGlzY3Vzc2VkIGluIGRldGFp bC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB0aGUgZ29hbCBvZiB0aGlzIHRleHQgYmVpbmcgYWNjdXJh dGUgZW5vdWdoIHRvIHJlcHJlc2VudCB0aGUgb2ZmaWNpYWwgImdvbGQgc3RhbmRhcmQiIEJQRksg cnVsZXMsIHRoaXMgY2hhcHRlciB3YXMgYW1vbmcgdGhlIGxhc3Qgb25lcyBmaW5pc2hlZCBhbmQg dGhlIG9uZXMgbW9zdCBmcmVxdWVudHkgcmV3cml0dGVuLiBJIHN0cm9uZ2x5IGVuY291cmFnZSBh bnlvbmUgd2hvIGZpbmRzIG1pc3Rha2VzIGluIHRoaXMgdGV4dCB0byBjb250YWN0IG1lIGluIG9y ZGVyIGZvciB0aGVtIHRvIGJlIGNvcnJlY3RlZC4KCkhhdmluZyBzYWlkIHRoYXQgZGlzY2xhaW1l ciwgbGV0J3MgZ2V0IHN0YXJ0ZWQ6CgpUaGUgZmlyc3QgY29uY2VwdCB5b3Ugc2hvdWxkIGtub3cg YWJvdXQgaXMgImRpc3RyaWJ1dGl2aXR5Ii4gSW4gbGVzc29uIGZvdXJ0ZWVuIGkgdXNlZCB0aGUg d29yZCAiaW5kaXZpZHVhbHMiIGFib3V0IGEgZ3JvdXAgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIGRp c3RyaWJ1dGl2ZWx5LiBBIGRpc3RyaWJ1dGl2ZSBncm91cCAnJ2tvJ2EnJyBpcyBmb3IgYW55IHNl bGJyaSAnJ2Jyb2RhJycgYSBncm91cCBzdWNoIHRoYXQsIGlmICcna28nYSBicm9kYScnIGlzIHRy dWUsIGl0IG1lYW5zIHRoYXQgZXZlcnkgbWVtYmVyIG9mIHRoZSBncm91cCBhbHNvIGlzIGNoYXJh Y3Rlcml6ZWQgYnkgJydicm9kYScnLiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byBub24tZGlz dHJpYnV0aXZpdHkgKHdoaWNoIG1hc3NlcyBoYXZlKSwgaW4gd2hpY2ggdGhlIGdyb3VwIGhhcyBv dGhlciBwcm9wZXJ0aWVzIHRoYW4gZWFjaCBvZiB0aGUgaW5kaXZpZHVhbHMgZG8uIFRoZSBkaXN0 aW5jdGlvbiBiZXR3ZWVuIGRpc3RyaWJ1dGl2aXR5IChpbmRpdmlkdWFsLWxpa2UpIGFuZCBub24t ZGlzdHJpYnV0aXZpdHkgKG1hc3MtbGlrZSkgaXMgb2YgcmVsZXZhbmNlIHdoZW4gcXVhbnRpZnlp bmcgc3VtdGkuCgpMZXQgdXMgZmlyc3QgY29uc2lkZXIgaG93IG9uZSBjYW4gcXVhbnRpZnkgZGVj cmlwdGlvbiBzdW10aSwgd2hpY2ggYXJlIHN1bXRpIG9mIHRoZSBmb3JtIEdBRFJJIEJSSVZMQS4g VGhlIG51bWJlciBzdHJpbmcgd2hpY2ggZG9lcyB0aGUgcXVhbnRpZmljYXRpb24gY2FuIGJlIHBs YWNlZCBiZWZvcmUgdGhlIGdhZHJpLCBpbiB3aGljaCBjYXNlIGl0IGlzIHJlZmVycmVkIHRvIGFz IGFuIF9fb3V0ZXIgcXVhbnRpZmllcl9fLCBhbmQgaXQgY2FuIGJlIHBsYWNlZCBiZXR3ZWVuIHRo ZSBnYWRyaSBhbmQgdGhlIGJyaXZsYSwgaW4gd2hpY2ggY2FzZSBpdCdzIGFuIF9faW5uZXIgcXVh bnRpZmllcl9fLiBBbnkga2luZCBvZiBudW1iZXIgc3RyaW5nIGNhbiBhY3QgYXMgYSBxdWFudGlm aWVyLgoKVGhlIHJ1bGVzIGZvciBob3cgaW5uZXIgYW5kIG91dGVyIHF1YW50aWZpZXJzIGFmZmVj dHMgc3VtdGkgZGVwZW5kIG9uIHRoZSBraW5kIG9mIGdhZHJpIHdoaWNoIGlzIHVzZWQ6CgoKCi0g LScnbG8nJyBhbmQgJydsZScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgdGVsbHMgdXMgaG93IG1h bnkgb2JqZWN0cyBhcmUgYmVpbmcgc3Bva2VuIG9mIC0gaG93IG1hbnkgb2JqZWN0cyBhcmUgaW4g dGhlIGRpc2NvdXJzZSB0b3RhbC4gSWYgYW4gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCB0 aGUgc3VtdGkgaXMgZGlzdHJpYnV0ZWQgb3ZlciB0aGF0IGFtb3VudCBvZiBvYmplY3RzLiBBcyBz dGF0ZWQgZWFybGllciwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCBpdCdzIHZh Z3VlIGhvdyBtYW55IG9iamVjdHMgdGhlIHNlbGJyaSBhcHBsaWVzIHRvICh0aG91Z2ggbm90IG5v bmUpLCBhbmQgd2hldGhlciBpdCBkb2VzIHNvIGRpc3RyaWJ1dGl2ZWx5IG9yIG5vbi1kaXN0cmli dXRpdmVseS4gRXhhbXBsZXMgYXJlIGFsd2F5cyBhIGdvb2QgaWRlYSwgc28gaGVyZSB0aGV5IGFy ZToKCicnbXUgbG8gbXUgYmFrbmkgY3Ugc2UgamlybmEnJyAtIFRoZSBpbm5lciBxdWFudGlmaWVy IG9mIGZpdmUgdGVsbHMgdXMgdGhhdCB3ZSBzcGVhayBhYm91dCBmaXZlIHBpZWNlcyBvZiBjYXR0 bGUsIGFuZCB0aGUgb3V0ZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxzIHVzIHRoYXQgdGhlIHNl bGJyaSBpcyB0cnVlIGZvciBlYWNoIG9mIHRoZSBmaXZlLiBUaGVyZWZvcmUsIGl0IG1lYW5zICJB bGwgdGhlIGZpdmUgY293cyBoYWQgaG9ybnMiLiAKCl9fJydiYWtuaScnX18geDEgaXMgYSBjb3cv b3gvY2F0dGxlL2NhbGYgZXRjIG9mIGJyZWVkIHgyCgpfXycnamlybmEnJ19fIHgxIGlzIHRoZSBo b3JuIG9mIHgyIChtZXRhcGhvcjogYW55IHBvaW50ZWQgZXh0cmVtaXR5KQoKCgpXaGF0IGRvZXMg dGhlIGZvbGxvd2luZyBicmlkaSBtZWFuPwoKJydsbyBydSd1cmd1YnVwdSBiZSBsaSByZSBwaSB6 ZSBtdSBjdSBqZGltYSBsbyBwYSByZSBzb3ZkYScnCgpfXycncnUndXJndWJ1cHUnJ19fIHgxIGlz IG1lYXN1cmVzIHRvIGJlIHgyIEJyaXRpc2ggcG91bmRzIChHQlApCgpfXycnamRpbWEnJ19fIHgx IGlzIHRoZSBwcmljZSBvZiB4MiB0byBidXllciB4MyBzZXQgYnkgdmVuZG9yIHg0CgpfXycnc292 ZGEnJ19fIHgxIGlzIGEgZ2FtZXRlIChlZ2cvc3Blcm0pIG9mIHgyCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OiAiVHdlbHZlIGVnZ3MgY29zdCAyLjc1IEJyaXRpc2ggcG91bmRzIiB3aGljaCwgYXMgdGhl IEVuZ2xpc2ggdHJhbnNsYXRpb24sIGNvdWxkIG1lYW4gYm90aCB0aGF0IHRoZXkgY29zdCAyLjc1 IGVhY2ggKGRpc3RyaWJ1dGl2ZWx5KSBvciB0aGF0IGFsbCB0d2VsdmUgdG9nZXRoZXIgY29zdCAy Ljc1IChub24tZGlzdHJpYnV0aXZlbHkpfn4KCgoKJydzbyBsZSB0YSBwYSBwYSBjaSdlcmtlaSBj dSBjbGFtYXUgbWknJyAobm90aWNlIHRoYXQgdGhlICcndGEnJyBnb2VzIGJlZm9yZSB0aGUgaW5u ZXIgcXVhbnRpZmllcikKCl9fJydjaSdlcmtlaScnX18geDEgcGxheXMgZ2FtZSB4MiBnb3ZlbmVy ZCBieSBydWxlcyB4MyBpbnRlcnJlbGF0aW5nIGdhbWUgcGFydHMgeDQge3RoaXMgaXMgdXNlZCB0 byB0cmFuc2xhdGUgInBsYXkiIGluIHRoZSBzZW5zZSAicGxheSBhIGdhbWUiIHJhdGhlciB0aGFu LCBmb3IgaW5zdGFuY2UgInBsYXlpbmcgcHJldGVuZCIgb3IgInBsYXlpbmcgSG91c2UifQoKX18n J2NsYW1hdScnX18geDEgaXMgdGFsbGVyL2xvbmdlciB0aGFuIHgyIGluIGRpcmVjdGlvbiB4MyBt eSBtYXJpZ2luIHg0CgpBbnN3ZXI6IH5+Z3JleSxncmV5OlRoZSBpbm5lciBzdGF0ZXMgdGhlcmUg YXJlIDExIHBsYXllcnMgaW4gdGhlIGRpc2NvdXJzZSwgYW5kIHRoZSBvdXRlciBzdGF0ZXMgdGhh dCB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gbmluZSBvZiB0aGVtIGRpc3RyaWJ1dGl2ZWx5LiBUaHVz IGl0IG1lYW5zICJOaW5lIG9mIHRoZSBlbGV2ZW4gcGxheWVycyBhcmUgdGFsbGVyIHRoYW4gbWUi fn4KCgoKVGhlcmUgYXJlIGEgZmV3IHBvaW50cyB0aGF0IG5lZWRzIHRvIGJlIHJhaXNlZCByZWdh cmRpbmcgcXVhbnRpZmljYXRpb24gb2YgJydsbycnLycnbGUnJzoKCkZpcnN0bHksICcnbG8nJyBp cyB1bmlxdWUgaW4gdGhhdCAie251bWJlcn0ge3NlbGJyaX0iIGlzIGRlZmluZWQgYXMgIntudW1i ZXJ9ICcnbG8nJyB7c2VsYnJpfSIuIFRoZXJlZm9yZSwgJydjaSBnZXJrdSBjdSBiYXRjaSByZSBu YW5tdScnIGlzIGRlZmluZWQgdG8gYmUgJydjaSBsbyBnZXJrdSBjdSBiYXRjaSByZSBsbyBuYW5t dScnLCB3aGljaCBjb25zaWRlcnMgYm90aCB0aGUgZ3JvdXAgb2YgZG9ncyBhbmQgdGhlIGdyb3Vw IG9mIG1lbiBkaXN0cmlidXRpdmVseS4gVGhlcmVmb3JlLCBlYWNoIG9mIHRoZSB0aHJlZSBkb2dz IGJpdCBlYWNoIG9mIHRoZSB0d28gbWVuLCB3aXRoIHNpeCBiaXRpbmcgZXZlbnRzIGluIHRvdGFs LgoKX18nJ2JhdGNpJydfXyB4MSBiaXRlcy9waW5jaGVzIHgyIGF0IGxvY3VzIHgzIHVzaW5nIHg0 IGFzIHBpbmNoaW5nIHRvb2wuCgpTZWNvbmRseTogV2hhdCBpZiB0aGVyZSBpcyBubyBvdXRlciBx dWFudGlmaWVyPyBEb2VzIHRoaXMgbWVhbiB0aGF0IGl0IF9faXNfXyB0aGVyZSwgYnV0IGl0J3Mg ZWxpZGVkPyBOb3BlLiBJZiB0aGVyZSBpcyBhbnkga2luZCBvZiBvdXRlciBxdWFudGlmaWVyLCBl bGlkZWQgb3Igbm90LCBpdCB3b3VsZCBmb3JjZSB0aGUgc3VtdGkgdG8gYmUgZGlzdHJpYnV0aXZl LCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgbmVpdGhlciAnJ2xvJycgbm9yICcnbGUnJyBjb3VsZCBi ZSB1c2VkIHRvIGRlc2NyaWJlIG1hc3Nlcy4gVGhlcmVmb3JlLCBpZiBubyBvdXRlciBxdWFudGlm aWVyIGlzIHByZXNlbnQsIGl0J3Mgbm90IG9ubHkgZWxpZGVkIC0gaXQncyBzaW1wbHkgbm90IHRo ZXJlLiBTdW10aSB3aXRob3V0IGFuIG91dGVyIHF1YW50aWZpZXIgY2FuIGJlIHJlZmVycmVkIHRv IGFzICJjb25zdGFudHMiLCBldmVuIHRob3VnaCBJIHdvbid0LgoKVGhpcmRseSwgaXQgbWFrZXMg bm8gc2Vuc2UgdG8gaGF2ZSBhbiBvdXRlciBxdWFudGlmaWVyIHdoaWNoIGlzIGxhcmdlciB0aGFu IHRoZSBpbm5lciBvbmUuIEl0IG1lYW5zIHRoYXQgdGhlIHNlbGJyaSBob2xkcyB0cnVlIGZvciBt b3JlIHN1bXRpIHRoYW4gYXJlIHByZXNlbnQgaW4gdGhlIGRpc2NvdXJzZSAtIGJ1dCBzaW5jZSB0 aGV5IGFwcGVhciBpbiBhIGJyaWRpLCB0aGV5IF9fYXJlX18gcGFydCBvZiB0aGUgZGlzY291cnNl LiBJdCdzIGdyYW1tYXRpY2FsIHRvIGRvIGl0LCB0aG91Z2guCgpMYXN0bHksIHBsYWNpbmcgYSAn J2xvJycgb3IgYSAnJ2xlJycgaW4gZnJvbnQgb2YgYSBzdW10aSBpcyBncmFtbWF0aWNhbCwgaWYg dGhlcmUgaXMgYW4gaW5uZXIgcXVhbnRpZmllciBwcmVzZW50LiAiJydsbycnLycnbGUnJyB7bnVt YmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICInJ2xvJycvJydsZScnIHtudW1iZXJ9ICcnbWUn JyB7c3VtdGl9Ii4KClNvIHdoYXQgd291bGQgdGhpcyBtZWFuPyAnJ21pIG5lbGNpIGxvaSBtaSBi cmlqdSBrYW5zYSAuaSBrdSdpIGNpIGxvIHJlIG11IGppJ2kgcmkgY3UgbGF6bmknJwoKX18nJ2Jy aWp1JycnX18geDEgaXMgYW4gb2ZmaWNlIGZvciB3b3JrZXIgeDIgYXQgbG9jYXRpb24geDMKCl9f JydrYW5zYScnX18geDEgYWNjb21wYW5pZXMgeDIgaW4gYWN0aW9uL3N0YXRlL2VudGVycHJpc2Ug eDMKCl9fJydsYXpuaScnX18geDEgaXMgbGF6eSwgYXZvaWRpbmcgd29yayBjb25jZXJuaW5nIHgy CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiJJIGxpa2UgbXkgY28td29ya2VycywgYnV0IHRocmVlIG91 dCBvZiBhYm91dCB0d2VudHkgZml2ZSBvZiB0aGVtIGFyZSBsYXp5In5+CgoKCi0gLScnbGEnJy0g LSBBbiBpbm5lciBxdWFudGlmaWVyIGlzIGdyYW1tYXRpY2FsIGlmIHRoZSBuYW1lIGlzIGEgc2Vs YnJpIC0gaW4gdGhpcyBjYXNlLCBpdCdzIGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgbmFtZS4gQW4g b3V0ZXIgcXVhbnRpZmllciBpcyB1c2VkIHRvIHF1YW50aWZ5IGRpc3RyaWJ1dGl2ZWx5IG92ZXIg c3VjaCBpbmRpdmlkdWFscyAobXVjaCBsaWtlICcnbG8nJy8nJ2xlJycpIEl0J3MgZ3JhbW1hdGlj YWwgd2hlbiBwbGFjZWQgaW4gZnJvbnQgb2Yge251bWJlcn0ge3N1bXRpfSwgaW4gd2hpY2ggY2Fz ZSwgdGhlIGJvdGggdGhlIG51bWJlciBhbmQgdGhlIHN1bXRpIGlzIGNvbnNpZGVyZWQgdGhlIG5h bWUuCgoKClRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGxhIGNpIGJhcmd1IGN1IGppYm5pIGxlIG1pIHpk YW5pJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6IFR3byAiVGhlIFRocmVlIEFyY2hlcyIgYXJlIGxv Y2F0ZWQgY2xvc2UgdG8gbXkgaG91c2UiIChQZXJoYXBzIFRoZSBUaHJlZSBBcmNoZXMgYXJlIGEg a2luZCBvZiByZXN0YXVyYW50Pyl+fgoKCgotIC0nJ2xvaScnIGFuZCAnJ2xlaScnLSAtIEFuIGlu bmVyIHF1YW50aWZpZXIgdGVsbHMgdXMgaG93IG1hbnkgbWVtYmVycyB0aGVyZSBhcmUgaW4gdGhl IG1hc3MvbWFzc2VzIGluIHF1ZXN0aW9uLiBBbiBvdXRlciBxdWFudGlmaWVyIHF1YW50aWZpZXMg ZGlzdHJpYnV0aXZlbHkgeyF9IG92ZXIgdGhlc2UgbWFzc2VzCgpOb3RpY2UgaGVyZSB0aGF0IHdo aWxlIG1hc3NlcyBjb25zaXN0IG9mIGEgbnVtYmVyIG9mIG9iamVjdHMgY29uc2lkZXJlZCBub24t ZGlzdHJpYnV0aXZlbHksIGFuIG91dGVyIHF1YW50aWZpZXIgYWx3YXlzIHRyZWF0cyBlYWNoIG9m IHRoZXNlIG1hc3NlcyBhcyBhbiBpbmRpdmlkdWFsLgoKV2hlbiBwbGFjZWQgYmVmb3JlIGEgbnVt YmVyIHN0cmluZywgdGhlbiBhIHN1bXRpLCAnJ2xvaScnLycnbGVpJycgaXMgZGVmaW5lZCBhcyAi JydsbyBndW5tYSBiZSBsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUgbWFzcyBj b25zaXN0aW5nIG9mIHRoZSB7bnVtYmVyfSBvZiB7c3VtdGl9Ii4KCgoKQXR0ZW1wdCB0byB0cmFu c2xhdGUgdGhpczogJydyZSBkZWkgZ3VubWEgcmUgbG9pIHplIHZhbHNpIC5pIGNhJ2UgcGEgZGVp IGphaSBnYXUgamV0bnUnJwoKX18nJ2d1bm1hJydfXyB4MSBpcyBhIG1hc3Mgb2YgdGhlIGluZGl2 aWR1YWxzIHgyCgpfXycndmFsc2knJ19fIHgxIGlzIGEgd29yZCwgbWVhbmluZyB4MiBpbiBsYW5n dWFnZSB4MwoKX18nJ2NhJ2UnJ19fIEF0dGl0dWRpbmFsOiBFdmlkZW50aWFsOiBJIGRlZmluZQoK X18nJ2pldG51JydfXyB4MSBpcyB0cnVlIGFjY29yZGluZyB0byBtZXRhcGh5c2ljcy9lcGlzdGVt b2xvZ3kgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGVzZSB0d28gdXR0ZXJhbmNlcyBhcmUg YSBtYXNzLCBjb25zaXN0aW5nIG9mIHR3byBpbmRpdmlkdWFsIG1hc3NlcyBlYWNoIG9mIHNldmVu IHdvcmRzLiBJIGRlZmluZTogVGhpcyBvbmUgdXR0ZXJhbmNlIGNhdXNlcyB7aXR9IHRvIGJlIHRy dWUuIn5+CgoKCi0gLScnbGFpJyctIC0gTXVjaCBsaWtlICcnbGEnJywgYW4gaW5uZXIgcXVhbnRp ZmllciAod2hlbiBuYW1lIGlzIGEgc2VsYnJpKSBpcyBwYXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRl ciBvbmUgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseS4gQmVmb3JlIGEgbnVtYmVyK3N1bXRpLCBi b3RoIHRoZSBzdW10aSBhbmQgdGhlIG51bWJlciBtYWtlIHVwIHRoZSBuYW1lLgoKV2hlbiBhIGZy YWN0aW9uIGlzIHVzZWQgYXMgYW4gb3V0ZXIgcXVhbnRpZmllciB0byBxdWFudGlmeSAnJ2xvaScn LCAnJ2xlaScnIG9yICcnbGFpJycsIG9uZSBzcGVha3MgYWJvdXQgb25seSBwYXJ0IG9mIHRoZSBt YXNzIChmb3IgaW5zdGFuY2UsICJoYWxmIG9mIHRoZSBKb2huc29ucyIgLSAnJ3BpIG11IGxhaSAu ZGphbnN5bi4nJykuCgoKCi0gLScnbG8naScnIGFuZCAnJ2xlJ2knJy0gLSBBbiBpbm5lciBxdWFu dGlmaWVyIGRlc2NyaWJlcyB0aGUgYW1vdW50IG9mIG1lbWJlcnMgb2YgdGhlIHNldC4gQW4gb3V0 ZXIgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseSBvdmVyIHNldmVyYWwgb2Ygc3VjaCBzZXRzLiBX aGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgYW5kIGEgc3VtdGksIGl0J3MgZGVmaW5lZCBhcyAi JydsbyBzZWxjbWkgYmUgJydsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUgc2V0 IG9mIHtudW1iZXJ9IHtzdW10aX0iLgoKCgpUcmFuc2xhdGUgJydsbydpIHJvIHNlIGNpbmtpIGN1 IGJyYW1hdSBsYSdhIHBhIG5vIG5vIGxvJ2kgcm8gc2UgYm9neWthbWp1IGp1dHNpJycKCl9fJydj aW5raScnX18geDEgaXMgYW4gaW5zZWN0IG9mIHNwZWNpZXMgeDIKCl9fJydsYSdhJydfXyBBdHRp dHVkaW5hbDogRGlzY3Vyc2l2ZTogUHJvYmFibHkKCl9fJydicmFtYXUnJ19fIHgxIGlzIGJpZ2dl ciB0aGFuIHgyIGluIGRpbWVuc2lvbiB4MyBieSBtYXJpZ2luIHg0CgpfXycnYm9neWthbWp1Jydf XyB4MSBpcyB0aGUgc3BpbmUgb2YgeDIKCl9fJydqdXRzaScnX18geDEgaXMgdGhlIHNwZWNpZXMg b2YgZ2VudXMgeDIsIGZhbWlseSB4MyAuLi4gKG9wZW4gZW5kZWQgY2xhc3NpZmljYXRpb24pCgpB bnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIHNldCBvZiBhbGwgdGhlIHNwZWNpZXMgb2YgaW5zZWN0 cyBpcyBwcm9iYWJseSBiaWdnZXIgdGhhbiBvbmUgaHVuZHJlZCBzZXRzIG9mIGFsbCBzcGVjaWVz IG9mIHZlcnRlYnJhdGVzIn5+CgoKCi0gLScnbGEnaScnLSAtIEFzIHdpdGggJydsYWknJwoKTGlr ZSB3aXRoIHRoZSBtYXNzIGdhZHJpLCBhbiBvdXRlciBxdWFudGlmaWVyIGJlZm9yZSBhIHNldCBn YWRyaSBlbmFibGVzIG9uZSB0byBzcGVhayBhYm91dCBhIGZyYWN0aW9uIG9mIGEgc2V0LiBJbiBm cm9udCBvZiBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNlbGNt aSBiZSBsYScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBzZXQgY29uc2lzdGluZyBvZiBUaGUg e051bWJlcn0ge1N1bXRpfSIgKGNvbnNpZGVyZWQgYSBuYW1lKQoKCgotIC0nJ2xvJ2UnJyBhbmQg JydsZSdlJyctIC0gQXJlIGZvciBzb21lIHJlYXNvbiBub3QgaW5jbHVkZWQgaW4gdGhlIGN1cnJl bnRseSBhY2NlcHRlZCBnYWRyaSBwcm9wb3NhbC4gSWYgb25lIHdlcmUgdG8gZXh0ZW5kIHRoZSBy dWxlcyBvZiBhbm90aGVyIGdhZHJpLCAnJ2xvJycvJydsZScnIHdvdWxkIHByb2JhYmx5IGJlIHRo ZSBiZXN0IGNob2ljZSAoc2luY2UgYm90aCBvcGVyYXRlcyB3aXRoIGluZGl2aWR1YWxzIHJhdGhl ciB0aGFuIGdyb3VwcyksIGFuZCBzbyBvbmUgd291bGQgZXhwZWN0IHRoZSBvdXRlciBxdWFudGlm aWVyIHRvIGZvcmNlIGRpc3RyaWJ1dGl2aXR5IG92ZXIgdGhlIGFtb3VudCBvZiB0eXBpY2FsL3N0 ZXJlb3R5cGljYWwgdGhpbmdzIGdpdmVuIGJ5IHRoZSBpbm5lciBxdWFudGlmaWVyLgoKCgpXaGVu IHF1YW50aWZ5aW5nIHN1bWthJ2kgcmVwcmVzZW50aW5nIHNldmVyYWwgb2JqZWN0cywgaXQgaXMg dXNlZnVsIHRvIHJlbWVtYmVyIHRoYXQgdGhleSBhcmUgdXN1YWxseSBtYXNzZXMuIEJ5IGRlZmlu aXRpb24sICJ7bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2RhIHBv aSBrZSdhIG1lJycge3N1bXRpfSIuIFlvdSB3aWxsIG5vdCBiZSBmYW1pbGlhciB3aXRoICcnZGEn JyB1bnRpbCBhIGZldyBsZXNzb25zIGxhdGVyLCBzbyB0YWtlIGl0IG9uIGZhaXRoIHRoYXQgaXQg bWVhbnMgInNvbWV0aGluZyIgaW4gdGhpcyBjb250ZXh0LiBUaGVyZWZvcmUsICcnY2kgbWknJyBt ZWFucyAiVHdvIG9mIHRob3NlIHdobyBiZWxvbmcgdG8gInVzIiIuIFdoZW4gcXVhbnRpZnlpbmcg c3VjaCBtYXNzZXMsIGl0IGNhbiBzYWZlbHkgYmUgYXNzdW1lZCB0aGF0IHRoZSByZWxhdGlvbiBp bXBsaWVkIGJ5ICcnbWUnJyBpcyBtZW1iZXJzaGlwIG9mIHRoZSBtYXNzLCBhbmQgdGhlcmVmb3Jl ICcnY2kgbWknJyBpcyAiVGhyZWUgb2YgdXMiLgoKCgpTb21lIGltcG9ydGFudCB1c2VzIG9mIHF1 YW50aWZpY2F0aW9uIHJlcXVpcmVzIHlvdSB0byBiZSBxdWFudGlmeSBzZWxicmkgb3Igb2JqZWN0 cyB3aG9zZSBpZGVudGl0eSBpcyB1bmtub3duLiBUaGlzIGlzIGRvbmUgYnkgImxvZ2ljYWxseSBx dWFudGlmaWVkIHZhcmlhYmxlcyIuIFRoZXNlLCBhcyB3ZWxsIGFzIGhvdyB0byBxdWFudGlmeSB0 aGVtIHdpbGwgYmUgY292ZXJlZCBpbiBsZXNzb25zIHR3ZW50eS1zZXZlbi4KCgoKTGFzdGx5LCBo b3cgY2FuIHlvdSBxdWFudGlmeSB1bmNvdW50YWJsZSBzdWJzdGFuY2VzIGxpa2Ugc3VnYXIgb3Ig d2F0ZXI/IE9uZSBzb2x1dGlvbiBpcyB0byBxdWFudGlmeSBpdCB1c2luZyBpbmV4YWN0IG51bWJl cnMuIFRoaXMgdXNlIGlzIHZhZ3VlLCBub3Qgb25seSBiZWNhdXNlIHRoZSB2YWx1ZSBvZiB0aGUg bnVtYmVyIGlzIHZhZ3VlLCBidXQgYWxzbyBiZWNhdXNlIGl0J3Mgbm90IHNwZWNpZmllZCBvbiB3 aGF0IHNjYWxlIHlvdSdyZSBjb3VudGluZzogVGhlIHN1Z2FyIGNvdWxkIGJlIGNvbnNpZGVyZWQg YSBncm91cCBvZiBtYW55IGNyeXN0YWxzLCBjb3VudGVkIG9uZSBhdCBhIHRpbWUsIGFuZCB0aGUg d2F0ZXIgY291bGQgYmUgcXVhbnRpZmllZCBieSB0aGUgYW1vdW50cyBvZiByYWluZHJvcHMgaXQg dG9vayB0byBtYWtlIHRoZSBib2R5IG9mIHdhdGVyIGluIHF1ZXN0aW9uLiBXaGlsZSB0aGlzIHdh eSBvZiBjb3VudGluZyBpcyBsZWdpdGltYXRlLCBpdCdzIG5vdCB2ZXJ5IGV4YWN0IGFuZCBjYW4g ZWFzaWx5IGNvbmZ1c2Ugb3IgbWlzbGVhZC4KCkEgd2F5IHRvIGJlIGV4cGxpY2l0IGFib3V0IG5v bi1jb3VudGFiaWxpdHkgaXMgdG8gdXNlIHRoZSBudWxsIG9wZXJhbmQgJyd0dSdvJycgYXMgYW4g aW5uZXIgcXVhbnRpZmllci4KCl9fJyd0dSdvJydfXyBOdWxsIG9wZXJhbmQgKCDDmCApLiBVc2Vk IGluIHVuYXJ5IG1la3NvLgoKVGhpcyBzb2x1dGlvbiBpcyBlbGVnYW50IGFuZCBpbnR1aXRpdmUs IGFuZCBhbHNvIGdpdmVzIG1lIGFuIGV4Y3VzZSB0byBxdW90ZSB0aGlzIGhvcnJpZnlpbmcsIHll dCBjb21pY2FsIGV4YW1wbGUgZnJvbSB0aGUgb3JpZ2luYWwgJyd4b3JsbycnLXByb3Bvc2FsOgoK JydsZSBuYW5tdSBjdSBzZSBzbnV0aSAuaSBqYSdlIGJvIGxvIHR1J28gZ2Vya3UgY3Uga3VzcGUg bGUga2xhamknJwoKX18nJ3NudXRpJydfXyB4MSBpcyBhbiBhY2NpZGVudCBvbiB0aGUgcGFydCBv ZiB4MgoKX18nJ2phJ2UnJ19fIHN1bXRjaXRhOiBCQUk6IChmcm9tICcnamFsZ2UnJyk6IEJyaWRp IHJlc3VsdHMgaW4ge3N1bXRpfSAKCl9fJydrdXNwZScnX18geDEgc3BhbnMvZXh0ZW5kcyBvdmVy IHgyCgpfXycna2xhamknJ19fIHgxIGlzIGEgcm9hZC9hdmVudWUvc3RyZWV0IGF0IHgyIGFjY2Vz c2luZyB4MwoKCgpXaGF0IGRvZXMgaXQgbWVhbj8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGUg bWFuIGhhZCBhbiBhY2NpZGVudCBhbmQgc28gdGhlcmUgd2FzIGRvZyBhbGwgb3ZlciB0aGUgcm9h ZCJ+fgoKCgpBIHNlY29uZCBtZXRob2Qgb2YgcXVhbnRpZnlpbmcgc3Vic3RhbmNlcyBpcyB0byB1 c2UgdGhlIHRlbnNlcyAnJ3ZlJ2knJywgJyd2ZSdhJycgYW5kICcndmUndScnIGFzIG1lbnRpb25l ZCBpbiBsZXNzb24gdGVuOgoKJyd0aSB2ZSdpIGRqYWN1JycgLSBUaGlzIGlzIGEgc21hbGwgYW1v dW50IG9mIHdhdGVyCgpfXycnZGphY3UnJ19fIHgxIGlzIGFuIGV4cGFuc2Ugb2Ygd2F0ZXIvaXMg bWFkZSBvZiB3YXRlci9jb250YWlucyB3YXRlcgoKCgpUaGlyZGx5LCBvZiBjb3Vyc2UsIHlvdSBj b3VsZCB1c2UgYSBicml2bGEgdG8gZ2l2ZSBhbiBleGFjdCBtZWFzdXJlbWVudDoKCicnbGUgdGEg ZGphY3UgY3Uga2knb2dyYSBiZSBsaSByZSBwaSBraSdvIGtpJ28nJyAtICJUaGF0IHdhdGVyIGhh cyBhIG1hc3Mgb2YgMi4wMDAgMDAwIGtpbG9ncmFtcyIKCl9fJydraSdvZ3JhJydfXyB4MSBtZWFz dXJlcyBpbiBtYXNzIHgyIGtpbG9ncmFtcyBieSBzdGFuZGFyZCB4MwoKCgohIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIHR3ZW50eS10aHJlZSAobmVnYXRpb24pCgpTb21ldGltZXMsIGp1c3Qgc2F5 aW5nIHdoYXQncyB0aGUgdHJ1dGggaXMgbm90IGVub3VnaC4gT2Z0ZW4sIHdlIHdhbnQgdG8gc3Bl Y2lmeSB3aGF0J3Mgbm90IHRoZSB0cnV0aCwgYW5kIHdlIGRvIHRoaXMgYnkgdXNpbmcgbmVnYXRp b24uCgpOZWdhdGlvbiBpbiBFbmdsaXNoIG1vc3RseSBpbnZvbHZlcyDigJxub3TigJ0sIGFuZCBp cyBjb21wbGV0ZWx5IGFyYml0cmFyeSBhbmQgYW1iaWd1b3VzLiBXZSwgYXMgTG9qYmFuaXN0cywg Y2FuJ3QgaGF2ZSB0aGF0LCBvZiBjb3Vyc2UsIHNvIExvamJhbiBjb250YWlucyBhbiBlbGVnYW50 IGFuZCB1bmFtYmlnaW91cyBzeXN0ZW0gZm9yIG5lZ2F0aW5nLiBXaGF0IHdpbGwgYmUgcHJlc2Vu dGVkIGhlcmUgYXJlIHRoZSBvZmZpY2lhbCBnb2xkLXN0YW5kYXJkIHJ1bGVzLiBEaXNhcHByb3Zh bCBvZiB0aGVzZSAiZ29sZGVuIHJ1bGVzIiBjb25jZXJuaW5nICcnbmEnJyBpcyBncm93aW5nLCBh bmQgdGhlcmUgaXMgZGlzYWdyZWVtZW50IGFib3V0IHdoYXQgcnVsZSBzZXQgc2hvdWxkIHJlcGxh Y2UgaXQuIEZvciBub3csIEkgd2lsbCBzdGljayB3aXRoIHRoZSBvZmZpY2lhbCBydWxlcywgYW5k IHRoZXJlZm9yZSwgc28gd2lsbCB5b3UsIGRlYXIgcmVhZGVyLgoKVGhlIGZpcnN0IHlvdSBuZWVk IHRvIGtub3cgYWJvdXQgaXMgYnJpZGkgbmVnYXRpb24sIHNvIGNhbGxlZCBiZWNhdXNlIGl0IG5l Z2F0ZXMgdGhlIGJyaWRpIGl0J3MgaW4sIHNheWluZyBpdCdzIG5vdCB0cnVlLiBUaGUgd2F5IHRv IG5lZ2F0ZSBhIGJyaWRpIGlzIHRvIHBsYWNlICcnbmEnJyBmaXJzdCBpbiB0aGUgc2VudGVuY2Ug d2l0aCBhICcna3UnJyBhZnRlciBpdCwgb3IganVzdCBiZWZvcmUgdGhlIHNlbGJyaS4gCgpfXycn c3BlbmknJ19fIHgxIGlzIG1hcnJpZWQgdG8geDIgdW5kZXIgY29udmVudGlvbiB4MwoKVGh1czog JyduYSBrdSBsZSBtaSBzcGVuaSBjdSBuaW5tdScnIHN0YXRlcyB0aGF0IOKAnE15IHNwb3VzZSBp cyBub3QgYSB3b21hbuKAnS4gSXQgc3RhdGVzIG5vdGhpbmcgYWJvdXQgd2hhdCBteSB3aWZlIGlz LCBvciBpZiBJIGV2ZW4gaGF2ZSBhIHdpZmUuIEl0IG9ubHkgc3RhdGVzIHRoYXQgSSBkbyBub3Qg aGF2ZSBhIHdpZmUgd2hvIGlzIGFsc28gYSB3b21hbi4gVGhpcyBoYXMgYW4gaW1wb3J0YW50IGlt cGxpY2F0aW9uOiBJZiB0aGUgbmVnYXRpb24gb2YgYSBicmlkaSBpcyBmYWxzZSwgdGhlIGJyaWRp IG11c3QgYmUgdHJ1ZTogJyduYSBrdSBsZSBtaSBzcGVuaSBjdSBuYSBuaW5tdScnIG11c3QgbWVh biB0aGF0IEkgaGF2ZSBib3RoIGEgc3BvdXNlLCBhbmQgdGhhdCBzaGUgaXMgYSBzaGUuCgpJdCBp cyBwb3NzaWJsZSB0byB1c2UgYnJpZGkgbmVnYXRpb25zIGluIGFsbCBicmlkaSwgZXZlbiB0aGUg aW1wbGljaXQgYnJpZGkgb2YgZGVzY3JpcHRpdmUgc3VtdGkuICcnbG8gbmEgcHJlbnUnJyBjYW4g cmVmZXIgdG8gYW55dGhpbmcgbm9uLWh1bWFuLCB3aGV0aGVyIGl0IGJlIGEgc3BoaW54LCBhIGJh c2ViYWxsIG9yIHRoZSBwcm9wZXJ0eSBvZiBhcHByb3ByaWF0ZW5lc3MuCgoKCl9fJydiYXUnJ19f IHN1bXRjaXRhLCBmcm9tIGJhbmd1OiB1c2luZyB0aGUgbGFuZ3VhZ2Ugb2Yge3N1bXRpfQoKX18n J3NlIGphJ2UnJ19fIHN1bXRjaXRhLCBmcm9tIHNlIGphbGdlOiBiZWNhdXNlIG9mIHtzdW10aX0K CgoKT2Z0ZW4gd2hlbiB1c2luZyAnJ25hJycsIGl0J3MgYSBwcm9ibGVtIHRoYXQgaXQgbmVnYXRl cyB0aGUgZW50aXJlIGJyaWRpLiBJZiBJIHNheSAnJ21pIG5hIHN1dHJhIHRhdmxhIGJhdSBsZSBn bGliYXUgc2UgamEnZSBsZSBudSBtaSBkb3RjbycnLCBJIGVuZCB1cCBuZWdhdGluZyB0b28gbXVj aCwgYW5kIGl0IGlzIG5vdCBjbGVhciB0aGF0IEkgd2FudGVkIHRvIG9ubHkgbmVnYXRlIHRoYXQg SSBzcGVhayBmYXN0LiBUaGUgc2VudGVuY2UgY291bGQgc3VnZ2VzdCB0aGF0IEkgaW4gZmFjdCBz cGVhayBmYXN0IGJlY2F1c2Ugb2Ygc29tZSBvdGhlciByZWFzb24sIGZvciBpbnN0YW5jZSB0aGF0 IEkgc3BlYWsgZmFzdCBpbiBGcmVuY2ggYmVjYXVzZSBJJ20gR2VybWFuLiBUbyBleHByZXNzIHRo ZSBzZW50ZW5jZSBtb3JlIHByZWNpc2VseSwgSSBuZWVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBz cGVhayBmYXN0LCBhbmQgbm90IHRoZSBvdGhlciB0aGluZ3MuCgpUbyBvbmx5IG5lZ2F0ZSBwYXJ0 IG9mIGEgYnJpZGksICcnbmEga3UnJyBjYW4gYmUgbW92ZWQgYXJvdW5kIHRoZSBicmlkaSBhbmQg cGxhY2VkIGFueXdoZXJlIGEgc3VtdGkgY2FuIGdvLiBJdCB0aGVuIG5lZ2F0ZXMgYW55IHN1bXRp LCBzZWxicmkgYW5kIHN1bXRjaXRhIHBsYWNlZCBhZnRlciBpdC4gV2hlbiBwbGFjZWQgaW1tZWRp YXRlbHkgYmVmb3JlIHRoZSBzZWxicmksIHRoZSAnJ2t1JycgY2FuIGJlIGVsaWRlZC4KCk1vdmlu ZyAnJ25hIGt1JycgZnJvbSB0aGUgbGVmdCBlbmQgb2YgdGhlIGJyaWRpIGFuZCByaWdodHdhcmRz IGVmZmVjdHMgYW55IHF1YW50aWZpZXJzIGluIGEgY2VydGFpbiB3YXksIGFzIGNhbiBiZSBzZWVu IGJ5IHRoaXMgZXhhbXBsZToKCgoKVGhlcmUgYXJlIGZvcmNlcyB3aXRoaW4gdGhlIExvamJhbiBj b21tdW5pdHkgd2hvLCBwZXJoYXBzIHJpZ2h0bHksIHRoaW5rIHRoYXQgdGhlcmUgaXMgbm8gZ29v ZCByZWFzb24gdGhhdCBhICcnbmEnJyBwbGFjZWQgYmVmb3JlIGEgc2VsYnJpIG5lZ2F0ZXMgdGhl IGVudGlyZSBicmlkaSwgd2hlcmVhcyBhICcnbmEga3UnJyBhbnkgb3RoZXIgcGxhY2UgbmVnYXRl cyBvbmx5IHdoYXQgaXMgdHJhaWxpbmcgYmVoaW5kIGl0LiBIb3dldmVyLCBpbiB0aGVzZSBsZXNz b25zIHlvdSB3aWxsIGJlIHRhdWdodCB3aGF0IGlzIHN0aWxsIHRoZSBvZmZpY2lhbCBzdGFuY2Us IG5hbWVseSB0aGF0ICcnbmEnJyBiZWZvcmUgdGhlIHNlbGJyaSBuZWdhdGVzIHRoZSBicmlkaS4K CgoKVGhlIHVzZSBvZiAnJ25hIGt1JycgaXMgZXhlbXBsaWZpZWQgd2l0aCB0aGUgZm9sbG93aW5n IGV4YW1wbGVzLgoKJyduYSBrdSBybyByZW1uYSBjdSB2ZXJiYScnIOKAnEl0J3Mgbm90IHRydWUg dGhhdDogQWxsIGh1bWFucyBhcmUgY2hpbGRyZW7igJ0KCicnc3UnbyByZW1uYSBuYSBrdSBjdSB2 ZXJiYScnIOKAnEZvciBhdCBsZWFzdCBvbmUgaHVtYW4gaXQncyBub3QgdHJ1ZSB0aGF0OiBJdCdz IGEgY2hpbGTigJ0uIFNlZSB0aGF0IHRoZSAnJ25hIGt1JycgaXMgcGxhY2VkIGJlZm9yZSAnJ2N1 JycsIHNpbmNlIGEgc3VtdGkgY2FuIGdvIG9ubHkgYmVmb3JlLCBub3QgYWZ0ZXIgdGhlICcnY3Un Jy4gSGFkIEkgb25seSB1c2VkICcnbmEnJywgaXQgd291bGQgaGF2ZSB0byBnbyBhZnRlciAnJ2N1 JycgLSBidXQgdGhhdCB3b3VsZCBoYXZlIG5lZ2F0ZWQgdGhlIGVudGlyZSBicmlkaSwgbWVhbmlu ZyAiSXQncyBub3QgdHJ1ZSB0aGF0OiBBdCBsZWFzdCBvbmUgaHVtYW4gaXMgYSBjaGlsZCIuCgoK CldoZW4gdGhlICcnbmEga3UnJyBpcyBtb3ZlZCByaWdodHdhcmRzLCBhbnkgcXVhbnRpZmllciBp cyBpbnZlcnRlZCAtIHRoYXQgaXM6ICcncm8nJyBpcyB0dXJuZWQgaW50byAnJ3N1J28nJy4gVGhp cyBpcywgb2YgY291cnNlLCBvbmx5IGlmIHRoZSBtZWFuaW5nIG9mIHRoZSBicmlkaSBoYXMgdG8g YmUgcHJlc2VydmVkLiBUaGlzIG1lYW5zIHRoYXQgd2hlbiB0aGUgJyduYSBrdScnIGlzIHBsYWNl ZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaSwgb25seSB0aGUgc2VsYnJpIGlzIG5lZ2F0ZWQgYnV0 IGFsbCB0aGUgc3VtdGkgYW5kIHN1bXRjaXRhIGFyZSBwcmVzZXJ2ZWQsIGFzIGNhbiBiZSBzZWVu IGJ5IHRoZXNlIHRocmVlIGlkZW50aWNhbCBicmlkaToKCl9fJydja3VsZScnX18geDEgaXMgYSBz Y2hvb2wgYXQgbG9jYXRpb24geDIgdGVhY2hpbmcgeDMgdG8gc3R1ZGVudHMgeDQgYW5kIG9wZXJh dGVkIGJ5IHg1CgoKCicnbmEga3Ugcm8gdmVyYmEgY3UgdmUgY2t1bGUgZm8gc3UnbyBja3VsZScn IOKAkyDigJxJdCdzIG5vdCB0cnVlIHRoYXQgYWxsIGNoaWxkcmVuIGFyZSBzdHVkZW50cyBpbiBh IHNjaG9vbC7igJ0KCicnc3UnbyB2ZXJiYSBjdSB2ZSBja3VsZSBuYSBrdSBmbyBzdSdvIGNrdWxl Jycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIHN0dWRlbnRzIGluIG5vdCBhIHNpbmdsZSBzY2hv b2wu4oCdCgonJ3N1J28gdmVyYmEgY3UgdmUgY2t1bGUgZm8gcm8gY2t1bGUgbmEga3UnJyDigJMg 4oCcU29tZSBjaGlsZHJlbiBhcmUgZm9yIGFsbCBzY2hvb2xzIG5vdCBzdHVkZW50cyBpbiB0aGVt LuKAnQoKCgpUaGUgb3Bwb3NpdGUgb2YgJyduYScnIGlzICcnamEnYScnLiBUaGlzIGlzIGJhcmVs eSBldmVyIHVzZWQsIHNpbmNlIGl0IGlzIGRlZmF1bHQgaW4gbW9zdCBicmlkaS4gT25lIGV4Y2Vw dGlvbiBpcyByZXBlYXRlZCBicmlkaSAobmV4dCBsZXNzb24pLiBTb21ldGltZXMgaXQncyB1c2Vk IHRvIHB1dCBtb3JlIHdlaWdodCBvbiB0aGUgdHJ1dGggb2YgdGhlIGJyaWRpLCBhcyBpbiAnJ2xh IC5iYWIuIGphJ2EgbWVsYmknJyA9ICJCb2IgaXMgaW5kZWVkIGJlYXV0aWZ1bCIuCgoKCldoaWxl IHRoZSBtZWNoYW5pc20gb2YgJyduYSBrdScnIHJlc2VtYmxlcyBuYXR1cmFsIGxhbmd1YWdlIG5l Z2F0aW9uLCBpdCBjYW4gYmUgZGlmZmljdWx0IHRvIGtlZXAgdHJhY2sgb2YgZXhhY3RseSB3aGF0 IGlzIG5lZ2F0ZWQgYW5kIGhvdyB0aGF0IGFmZmVjdHMgdGhlIGJyaWRpLiBGb3IgdGhhdCByZWFz b24sIHRoZSBjb25zdHJ1Y3QgJyduYSBrdScnIGlzIHJhcmVseSBzZWVuIGFueXdoZXJlIG90aGVy IHRoYW4gdGhlIGJlZ2lubmluZyBvZiBhIGJyaWRpLiBJbiBtb3N0IGNhc2VzIHdoZXJlIG1vcmUg c3BlY2lmaWMgbmVnYXRpb24gaXMgbmVlZGVkIHBlb3BsZSByZXNvcnQgdG8gYSBkaWZmZXJlbnQg bWV0aG9kLiBUaGlzIG1ldGhvZCwgY2FsbGVkIHNjYWxhciBuZWdhdGlvbiwgaXMgYW4gZWxlZ2Fu dCBhbmQgaW50dWl0aXZlIHRvb2wuIFVzaW5nIGl0LCB5b3UgZWZmZWN0IG9ubHkgdGhlIHNlbGJy aSwgc2luY2UgdGhlIHdvcmRzIHVzZWQgaW4gc2NhbGFyIG5lZ2F0aW9uIGJpbmRzIHRvIHRoZSBz ZWxicmkgbXVjaCBsaWtlIHRoZSB3b3JkICcnc2UnJy4KClRoZSBuYW1lIOKAnHNjYWxhciBuZWdh dGlvbuKAnSBpcyBkZXJpdmVkIGZyb20gdGhlIGZhY3QgdGhhdCB0aGUgd29yZHMgd2hpY2ggYmlu ZCB0byB0aGUgc2VsYnJpIGNhbiBiZSBwbGFjZWQgYWxvbmcgYSBzY2FsZSBmcm9tIGFmZmlybWF0 aW9uIG92ZXIgbmVnYXRpb24gYW5kIHRvIHN0YXRpbmcgdGhhdCB0aGUgb3Bwb3NpdGUgY2FzZSBp cyB0cnVlOgoKfHxXb3JkfE1lYW5pbmcKCmplJ2F84oCcSW5kZWVk4oCdOyBzY2FsYXIgYWZmaXJt ZXIKCm5vJ2V84oCcTm90IHJlYWxseeKAnSwgc2NhbGFyIG1pZHBvaW50CgpuYSdlfOKAnE5vbi3i gJwsIHNjYWxhciBuZWdhdG9yCgp0bydlfOKAnEls4oCdLCDigJxEaXMt4oCcLCDigJxNaXPigJ0g ZWN0OyBzY2FsYXIgb3Bwb3Nlcnx8CgoKClRoZXNlIHdvcmRzIGFyZSBub3QgbmVnYXRvcnMgaW4g dGhlIHNhbWUgc2Vuc2UgYXMgJyduYScnLiBUaGV5IGRvIG5vdCBzdGF0ZSB0aGF0IGEgYnJpZGkg aXMgZmFsc2UsIGJ1dCBtYWtlcyBhIHBvc2l0aXZlIHN0YXRlbWVudCB0aGF0IGEgYnJpZGkgaXMg dHJ1ZSDigJMgdGhlIHNhbWUgYnJpZGksIGJ1dCB3aXRoIGEgZGlmZmVyZW50IHNlbGJyaS4gVGhp cyBkaXN0aW5jdGlvbiBpcyBtb3N0bHkgYWNhZGVtaWMsIHRob3VnaC4gSWYsIGZvciBleGFtcGxl LCBJIHN0YXRlIHRoYXQgJydtaSBuYSdlIHNlIG5lbGNpJycgIkkgYW0gbm9uLWxpa2VkIiwgSSBh Y3R1YWxseSBzdGF0ZSB0aGF0IHNvbWUgc2VsYnJpIGFwcGxpZXMgdG8gbWUsIHdoaWNoIGlzIGFs c28gb24gYSByZWxldmFudCBzY2FsZSB3aXRoIHRoZSBzZWxicmkgJyduZWxjaScnLiBNb3N0IG9m IHRoZSB0aW1lLCB3ZSBhc3N1bWUgYSBzY2FsZSB3aGVyZSB0aGUgcG9zaXRpb25zIGFyZSBtdXR1 YWxseSBleGNsdXNpdmUgKGxpa2UgbG92ZS1saWtlLWRpc2xpa2UtaGF0ZSksIHNvICcnbWkgbmEn ZSBzZSBuZWxjaScnIGltcGxpZXMgJydtaSBuYSBzZSBuZWxjaScnCgpUaGVyZWZvcmUsIHRoZSB3 b3JkcyAnJ25vJ2UnJyBhbmQgJyd0bydlJycgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBz ZWxicmkgaXMgcGxhY2VkIG9uIHNvbWUgb2J2aW91cyBzY2FsZToKCicnbGUgbWkgc3BlbmkgY3Ug dG8nZSBtZWxiaScnIOKAkyDigJ1NeSBzcG91c2UgaXMgdWdseeKAnSBtYWtlcyBzZW5zZSwgc2lu Y2Ugd2UgaW1tZWRpYXRlbHkga25vdyB3aGF0IHRoZSBvcHBvc2l0ZSBvZiBiZWF1dGlmdWwgaXMs IHdoaWxlCgonJ21pIGtsYW1hIGxlIG1pIHRvJ2UgemRhbmknJyDigJMg4oCdSSBnbyB0byBteSBv cHBvc2l0ZSB0aGluZyBvZiBob21l4oCdLCB3aGlsZSBncmFtbWF0aWNhbCwgbGVhdmVzIHRoZSBs aXN0ZW5lciBndWVzc2luZyB3aGF0IHRoZSBzcGVha2VyJ3Mg4oCcb3Bwb3NpdGUtaG9tZeKAnSBp cyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQuCgoKClNvIGhvdyBjYW4geW91IG5lZ2F0ZSBvbmx5IHRo ZSBzZWxicmkgd2l0aG91dCBhbHNvIGltcGx5aW5nIHRoYXQgdGhlIHNlbGJyaSBpcyBjb3JyZWN0 IGF0IHNvbWUgb3RoZXIgcG9zaXRpb24gb24gYSB0cnV0aC1zY2FsZT8gU2ltcGxlOiBNb3Zpbmcg dGhlICcnbmEga3UnJyB0byB0aGUgcmlnaHRtb3N0IGVuZCBvZiB0aGUgYnJpZGksIGFzIGRlbW9u c3RyYXRlZCBhIGZldyBsaW5lcyBhYm92ZS4gVGhpcyBmZWF0dXJlIGlzIHZlcnkgdXNlZnVsLiBT b21lIGxvamJhbmlzdHMgcHJlZmVyIHRvIHByZWZpeCB0aGUgcmFmc2kgJyduYXInJyAodGhlIHJh ZnNpIG9mICcnbmEnJykgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSAtIHRoaXMgaGFzIHRoZSBzYW1l IGVmZmVjdCwgYnV0IEkgYWR2aXNlIGFnYWluc3QgaXQsIGJlY2F1c2UgaXQgbWFrZXMgZmFtaWxp YXIgYnJpdmxhIHNlZW0gYWxpZW4sIGFuZCBpdCdzIGhhcmRlciB0byB1bmRlcnN0YW5kIHdoZW4g c3Bva2VuIGNhc3VhbGx5LgoKSWYgYSBzaXR1YXRpb24gYXJpc2VzIHdoZXJlIHlvdSBuZWVkIHRv IG5lZ2F0ZSBvbmx5IHRoZSBzZWxicmksIGJ1dCB3YW50IGl0IHRvIGJlIGNsZWFyIGJlZm9yZSB0 aGUgZW5kIG9mIHRoZSBicmlkaSwgdGhlIGV4cGVyaW1lbnRhbCBjbWF2byAnJ25hJ2VpJycsIHdo aWNoIGdyYW1tYXRpY2FsbHkgd29ya3MgbGlrZSAnJ25hJ2UnJywgY2FuIGJlIHVzZWQKCl9fJydu YSdlaScnX186IE5lZ2F0ZXMgdGhlIGZvbGxvd2luZyBzZWxicmkgb25seQoKCgpUcnkgdG8gdHJh bnNsYXRlIHRoZXNlIHNlbnRlbmNlczoKCuKAnE15IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnSAo bWVhbmluZyB0aGF0IGhlIGlzIGEgbWFsZSkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlIG1p IHNwZW5pIGN1IG5hJ2UgLyB0bydlIG5pbm11JycuIFVzaW5nIHNjYWxhciBuZWdhdGlvbiBoZXJl IGltcGxpZXMgdGhhdCBoZSBleGlzdHMsIHdoaWNoIG5hIGRpZCBub3Qufn4KCgoK4oCcTXkgc3Bv dXNlIGlzIG5vdCByZWFsbHkgYSB3b21hbuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUg bWkgc3BlbmkgY3Ugbm8nZSBuaW5tdScnLiBUaGUgc2NhbGUgaGVyZSBpcyBwcmVzdW1lZCB0byBi ZSBmcm9tIHdvbWFuIHRvIG1hbi5+fgoKCgrigJxJIGRvbid0IHNwZWFrIGZhc3QgaW4gRW5nbGlz aCBiZWNhdXNlIEknbSBHZXJtYW7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5hJ2Ug c3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBzZSBqYSdlIGxlIG51IG1pIGRvdGNvJyd+fgoKCgpB bHNvLCBub3RlIHRoYXQgd2hlbmV2ZXIgdGhlc2Ugd29yZHMgYXJlIHVzZWQgdG9nZXRoZXIgd2l0 aCBhIHRhbnJ1LCB0aGV5IG9ubHkgYWZmZWN0IHRoZSBsZWZ0bW9zdCBzZWxicmkuIEluIG9yZGVy IHRvIG1ha2UgaXQgYmluZCB0byB0aGUgd2hvbGUgdGFucnUgb3IgcGFydHMgb2YgdGhlIHRhbnJ1 LCB0aGUgdXN1YWwgdGFucnUtZ3JvdXBpbmcgd29yZHMgY2FuIGJlIHVzZWQuCgoKClRyeSB0byBz YXkg4oCcSSBzZWxsIHNvbWV0aGluZyB3aGljaCBpcyBub3QgeWVsbG93IGhvbWVz4oCdIHVzaW5n IHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pIHZlY251JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J21pIG5hJ2Uga2UgcGVseHUgemRhbmkga2UnZSB2ZWNudSBvciBtaSBuYSdlIHBlbHh1IGJvIHpk YW5pIHZlY251Jyd+fgoKCgpXaGVuIGF0dGVtcHRpbmcgdG8gYW5zd2VyOiDigJxJcyB0aGUga2lu ZyBvZiB0aGUgVVNBIGZhdD/igJ0sIGFsbCBvZiB0aGVzZSBuZWdhdGlvbnMgZmFpbC4gV2hpbGUg aXQncyB0ZWNobmljYWxseSBjb3JyZWN0IHRvIG5lZ2F0ZSBpdCB3aXRoICcnbmEnJywgc2luY2Ug aXQgbWFrZXMgbm8gYXNzdW1wdGlvbnMgb2YgdGhhdCBpcyB0cnVlLCBpdCdzIG1pbGRseSBtaXNs ZWFkaW5nIHNpbmNlIGl0IGNvdWxkIGxlYWQgdGhlIGxpc3RlbmVyIHRvIGJlbGlldmUgdGhlcmUg aXMgYSBraW5nIG9mIHRoZSBVU0EuIEZvciB0aGVzZSBzY2VuYXJpb3MsIHRoZXJlIGlzIGEgbWV0 YWxpbmd1aXN0aWMgbmVnYXRvciwgJyduYSdpJycuCgonJ25hJ2knJyBNZXRhbGluZ3Vpc3RpYyBu ZWdhdG9yLiBTb21ldGhpbmcgaXMgd3Jvbmcgd2l0aCBhc3NpZ25pbmcgYSB0cnV0aCB2YWx1ZSB0 byB0aGUgYnJpZGkuCgpCZWNhdXNlICcnbmEnaScnIGNhbiBiZSBuZWVkZWQgYW55d2hlcmUgaXQg aGFzIGJlZW4gZ2l2ZW4gdGhlIGdyYW1tYXIgb2YgdGhlIGF0dGl0dWRpbmFscywgd2hpY2ggbWVh bnMgaXQgY2FuIGFwcGVhciBhbnl3aGVyZSwgYW5kIGl0IGF0dGFjaGVzIHRvIHRoZSBwcmV2aW91 cyB3b3JkIG9yIGNvbnN0cnVjdC4KCgoKX18nJ3BhbGNpJydfXyB4MSBpcyBldmlsIGJ5IHN0YW5k YXJkIHgyCgonJ2xlIG5hJ2kgcHUgdGUgenVrdGUgYmUgbGUgc2thbWkgY3UgcGFsY2knJyDigJMg 4oCdVGhlIHNvdWdodCBnb2FsIHttaXN0YWtlIX0gb2YgdGhlIGNvbXB1dGVyIHdhcyBldmls4oCd LCBwcm9iYWJseSBwcm90ZXN0cyB0aGF0IGNvbXB1dGVycyBjYW4gc2VlayBhIGdvYWwgdm9saXRp b25hbGx5LgoKCgpTaW5jZSB0aGlzIGlzIGEgbGVzc29uIG9uIG5lZ2F0aW9uLCBJIGJlbGlldmUg dGhlIHdvcmQgJyduYWknJyBkZXNlcnZlcyBhIHNob3J0IG1lbnRpb24uIEl0IGlzIHVzZWQgdG8g bmVnYXRlIG1pbm9yIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMsIGFuZCBjYW4gYmUgdXNlZCBpbiBj b21iaW5hdGlvbiB3aXRoIGF0dGl0dWRpbmFscywgYWxsIHN1bXRjaXRhIGluY2x1ZGluZyB0ZW5z ZXMsIHZvY2F0aXZlcyBhbmQgbG9naWNhbCBjb25uZWN0aXZlcy4gVGhlIHJ1bGVzIGZvciBuZWdh dGluZyB1c2luZyAnJ25haScnIGRlcGVuZCBvbiB0aGUgY29uc3RydWN0LCBhbmQgc28gdGhlIGVm ZmVjdCBvZiAnJ25haScnIGhhcyBiZWVuIGRpc2N1c3NlZCB3aGVuIG1lbnRpb25pbmcgdGhlIGNv bnN0cnVjdCB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIGlzIHN1bXRjaXRhLCB3aGVyZSB0aGUg cnVsZXMgZm9yIG5lZ2F0aW9uIGFyZSBtb3JlIGNvbXBsZXgsIGFuZCB3aWxsIG5vdCBiZSBkaXNj dXNzZWQgaGVyZS4KCl9fTm90ZTpfXyBBdCB0aGUgdGltZSBvZiB3cml0aW5nLCBpdCBoYXMgYmVl biBwcm9wb3NlZCB0byBtb3ZlICcnbmFpJycgdG8gdGhlIHNlbG1hJ28gQ0FJLCB3aGljaCBtZWFu cyB0aGUgc2VtYW50aWNzIG9mICcnbmFpJycgZGVwZW5kIG9uIHdoaWNoIHNlbG1hJ28gaXQgZm9s bG93cy4gCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZm91ciAoYnJpa2En aS9wcm8tYnJpZGkgYW5kIGtvJ2EpCgpJZiBJIHNheSB0aGF0IEknbSBjYWxsZWQgTWlraGFpbCwg Jyd6byAubWlrYWlsLiBjbWVuZSBtaScnLCBhbmQgeW91IGhhdmUgdG8gc2F5IHRoZSBleGFjdCBz YW1lIGJyaWRpLCB3aGF0IHdvdWxkIHRoYXQgYmU/IE9uZSBvZiB0aGUgbWFueSBhbnN3ZXJzIGlz ICcnZG8gc2UgY21lbmUgem8gLm1pa2FpbC4nJy4gRm9yIHRoZSBicmlkaSB0byBiZSB0aGUgc2Ft ZSwgeW91IGhhdmUgdG8gcmVwbGFjZSAnJ21pJycgd2l0aCAnJ2RvJycsIGFuZCBpdCBkb2Vzbid0 IG1hdHRlciB3aGljaCBpZiB5b3Ugc2F5IHRoZSBicmlkaSB3aXRoIHRoZSAnJ3NlJyctY29udmVy dGVkIHNlbGJyaSBvciBub3QuIFRoaXMgaXMgYmVjYXVzZSBhIGJyaWRpIGlzIG5vdCB0aGUgd29y ZHMgd2hpY2ggZXhwcmVzcyBpdCDigJMgYSBicmlkaSBpcyBhbiBpZGVhLCBhbiBhYnN0cmFjdCBw cm9wb3NpdGlvbi4gVGhlIHdvcmQgJydtaScnIHdoZW4gSSBzYXkgaXQgYW5kIHRoZSB3b3JkICcn ZG8nJyB3aGVuIHlvdSBkbyByZWZlcnMgdG8gdGhlIHNhbWUgc3VtdGksIHNvIHRoZSB0d28gYnJp ZGkgYXJlIGlkZW50aWNhbC4KClRoaXMgbGVzc29uIGlzIG9uICcnYnJpa2EnaScnLCB0aGUgYnJp ZGkgZXF1aXZhbGVudCBvZiBzdW1rYSdpLiBUaGV5IGFyZSB3b3JkIHdoaWNoIHJlcHJlc2VudCBl bnRpcmUgYnJpZGkuIEhlcmUgaXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgYSBicmlk aSBjb25zaXN0cyBvbmx5IG9mIHN1bXRpIGFuZCB0aGUgdGhpbmdzIHdoaWNoIGNvbnRhaW4gdGhl IHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhLiBOZWl0aGVyIGF0dGl0dWRpbmFscywgbm9yIHRo ZSBzZW1hbnRpYyBsYXllciBvZiAnJ2tvJycgb3IgJydtYScnIGFyZSBwYXJ0IG9mIHRoZSBicmlk aSBwcm9wZXIsIGFuZCBzbyB0aGVzZSBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgJydicmlrYSdp JycuCgoKClRoZXJlIGFyZSBtdWNoIGZld2VyICcnYnJpa2EnaScnIHRoYW4gdGhlcmUgYXJlIHN1 bWthJ2kuIFdlIHdpbGwgYmVnaW4gYnkgZ29pbmcgdGhyb3VnaCBzb21lIG9mIHRoZSB3b3JkcyBp biB0aGUgbW9zdCB1c2VkIHNlcmllcywgY2FsbGVkIEdPaEE6CgpXb3JkOglEZWZpbml0aW9uOgoK X18nJ2dvJ3UnJ19fCVJlcGVhdHMgcmVtb3RlIHBhc3QgYnJpZGkKCl9fJydnbydhJydfXwlSZXBl YXRzIHBhc3QgYnJpZGkKCl9fJydnbydlJydfXwlSZXBlYXRzIG5leHQtdG8tbGFzdCBicmlkaQoK X18nJ2dvJ2knJ19fCVJlcGVhdHMgbGFzdCBtZW50aW9uZWQgYnJpZGkKCl9fJydnbydvJydfXwlS ZXBlYXRzIGZ1dHVyZSBicmlkaQoKX18nJ25laScnX18JUmVwZWF0cyBjdXJyZW50IGJyaWRpCgpf Xycnbm8nYScnX18JUmVwZWF0cyBvdXRlciBicmlkaQoKCgpTb21lIG9mIHRoZSBHT2hBLScnYnJp a2EnaScnLiBOb3RpY2UgdGhlIGZhbWlsaWFyIGksIGEsIHUtcGF0dGVybiBmb3IgY2xvc2UgaW4g cGFzdCwgbWVkaXVtIGluIHBhc3QgYW5kIGRpc3RhbnQgaW4gcGFzdC4KCgoKVGhlc2UgYXJlIHZl cnkgbXVjaCBsaWtlIHRoZSBzdW1rYSdpICcncmknJywgJydyYScnIGFuZCAnJ3J1JycuIFRoZXkg Y2FuIG9ubHkgcmVmZXIgdG8gbWFpbiBicmlkaSBvZiBqdWZyYSwgYW5kIG5vdCB0aG9zZSBjb250 YWluZWQgaW4gcmVsYXRpdmUgcGhyYXNlcyBvciBkZXNjcmlwdGlvbiBzdW10aS4gVGhlIG1haW4g YnJpZGkgY2FuIGNvbnRhaW4gYSByZWxhdGl2ZSBwaHJhc2UsIG9mIGNvdXJzZSwgYnV0IGEgJydi cmlrYSdpJycgY2FuIG5ldmVyIGJlIHVzZWQgdG8gcmVmZXIgdG8gb25seSB0aGUgcmVsYXRpdmUg cGhyYXNlLgoKQSBHT2hBIGFjdHMgZ3JhbW1hdGljYWxseSBtdWNoIGxpa2UgYSBzZWxicmksIGFu eSBjb25zdHJ1Y3Qgd2hpY2ggY2FuIGFwcGx5IHRvIHNlbGJyaSBjYW4gYWxzbyBhcHBseSB0byB0 aGVzZS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBhIEdPaEEgaXMgdGhlIHNhbWUgYXMgdGhhdCBv ZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cywgYW5kIHRoZSBzdW10aSBhcmUgYnkgZGVmYXVsdCB0 aGUgc2FtZSBhcyBpbiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cy4gRmlsbGluZyB0aGUgc3VtdGkg cGxhY2VzIG9mIGEgR09oQSBleHBsaWNpdGx5IG92ZXJ3cml0ZXMgdGhlIHN1bXRpIG9mIHRoZSBi cmlkaSBpdCByZXByZXNlbnRzLiBDb250cmFzdDoKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBC OiAnJ2dvJ2knJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnFlvdSBkby7igJ0gd2l0aAoK QTogJydtaSBjaXRrYSBsbyBwbGlzZScnIEI6ICcnbWkgZ28naScnIOKAkyDigJxJIGVhdCBhbiBh cHBsZS7igJ0g4oCcSSBkbywgdG9vLuKAnQoKCgpUaGVzZSAnJ2JyaWthJ2knJyBhcmUgdmVyeSB1 c2VmdWwgd2hlbiBhbnN3ZXJpbmcgYSBxdWVzdGlvbiB3aXRoICcneHUnJzoKCkE6ICcneHUgZG8g bmVsY2kgbGUgbWkgc3BlbmknJyBCOiAnJ2dvJ2kgLyBuYSBnbydpJycg4oCTIOKAnERvIHlvdSBs aWtlIG15IHdpZmU/4oCdIOKAnFllcy4vTm8u4oCdLiBUaGUgJyd4dScnLCBiZWluZyBhbiBhdHRp dHVkaW5hbCwgaXMgbm90IGNvcGllZC4KCldoZW4gcmVwZWF0aW5nIGJyaWRpIG5lZ2F0ZWQgYnkg JyduYScnLCB0aGF0IGlzOiBCcmlkaSB3aGVyZSAnJ25hJycgaXMgcGxhY2VkIGluIHRoZSBwcmVu ZXggKGxlc3NvbiB0d2VudHktc2V2ZW4pLCBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSBv ciByaWdodCBiZWZvcmUgdGhlIHNlbGJyaSwgdGhlIHJ1bGVzIGZvciBjb3B5aW5nIG92ZXIgJydu YScnIGFyZSBkaWZmZXJlbnQgZnJvbSB3aGF0IG9uZSBtaWdodCBleHBlY3QuIEFueSAnJ25hJycg aXMgY29waWVkIG92ZXIsIGJ1dCBhbnkgYWRkaXRpb25hbCAnJ25hJycgaW4gdGhlIGJyaWthJ2kg cmVwbGFjZXMgdGhlIGZpcnN0IG5hLiBMZXQgbWUgc2hvdyB5b3Ugd2l0aCBhbiBleGFtcGxlOgoK QTogJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpCOiAnJ21pIGdvJ2knJyA9ICcnbWkgbmEgY2l0 a2EgbG8gcGxpc2UnJwoKQzogJydtaSBuYSBnbydpJycgPSAnJ21pIG5hIGNpdGthIGxvIHBsaXNl JycKCkQ6ICcnbWkgbmEgbmEgZ28naScnID0gJydtaSBjaXRrYSBsbyBwbGlzZScnID0gJydtaSBq YSdhIGdvJ2knJwoKCgonJ25laScnIGFuZCAnJ25vJ2EnJyBhcmUgbm90IHVzZWQgbXVjaCwgZXhj ZXB0IGZvciDigJxtaW5kLWJyZWFraW5nIHB1cnBvc2Vz4oCdLCB3aGljaCBpcyBtYWtpbmcgdXAg YnJpZGkgd2hpY2ggYXJlIGhhcmQgdG8gcGFyc2UsIGxpa2UgJydkZWkgbmEgc2UgZHUndSBsZSBu bydhIGxhJ2UgbGUgbmVpJycuIFNpbmNlICcnbmVpJycgcmVwZWF0cyB0aGUgY3VycmVudCBvdXRl ciBicmlkaSwgaG93ZXZlciwgJydsZSBuZWknJyBjYW4gYmUgdXNlZCB0byByZWZlciB0byB0aGUg eDEgb2YgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGksICcnbGUgc2UgbmVpJycgdGhlIHgyIGFuZCBz byBvbi4KCgoKV2hlbiB1c2luZyAnJ2JyaWthJ2knJywgb25lIG11c3QgYWx3YXlzIGJlIHdhcnkg b2YgY29weWluZyBzZW50ZW5jZXMgd2l0aCB0aGUgcGVyc29uYWwgc3Vta2EnaSBsaWtlICcnbWkn JywgJydkbycnLCAnJ21hJ2EnJyBlY3QsIGFuZCBiZSBjYXJlZnVsIG5vdCB0byByZXBlYXQgdGhl bSB3aGVuIHRoZXkgYXJlIGluIHRoZSB3cm9uZyBjb250ZWN0LCBhcyBzaG93biBpbiB0aGUgdHdv IGV4YW1wbGVzIHdpdGggYXBwbGUgZWF0aW5nIGFib3ZlLiBJbnN0ZWFkIG9mIHJlcGxhY2luZyB0 aGVtIG9uZSBieSBvbmUsIHRob3VnaCwgdGhlIHdvcmQgJydyYSdvJycgYW55d2hlcmUgaW4gdGhl IGJyaWRpIHVwZGF0ZXMgdGhlIHBlcnNvbmFsIHN1bWthJ2kgc28gdGhhdCB0aGV5IGFwcGx5IGZv ciB0aGUgc3BlYWtlcidzIHBlcnNwZWN0aXZlOgoKQTogJydtaSBkbyBwcmFtaScnIEI6ICcnbWkg ZG8gZ28naScnIGlzIGVxdWl2YWxlbnQgdG8gQTogJydtaSBkbyBwcmFtaScnIEI6ICcnZ28naSBy YSdvJycKCl9fJydyYSdvJydfXyBVcGRhdGUgYWxsIHBlcnNvbmFsIHN1bWthJ2kgc28gdGhhdCB0 aGV5IG5vdyBmaXQgdGhlIHNwZWFrZXIncyBwb2ludCBvZiB2aWV3LgoKCgpUaGUgb25seSBvdGhl ciBzZXJpZXMgb2YgYnJpa2EnaSBhcmUgdmVyeSBlYXN5IHRvIHJlbWVtYmVyOgoKX18nJ2Jyb2Rh JydfXwlCcmlkaSB2YXJpYWJsZSAxCgpfXycnYnJvZGUnJ19fCUJyaWRpIHZhcmlhYmxlIDIKCl9f Jydicm9kaScnX18JQnJpZGkgdmFyaWFibGUgMwoKX18nJ2Jyb2RvJydfXwlCcmlkaSB2YXJpYWJs ZSA0CgpfXycnYnJvZHUnJ19fCUJyaWRpIHZhcmlhYmxlIDUKCl9fJydjZWknJ19fCURlZmluZSBi cmlkaSB2YXJpYWJsZSAobm90IGEgYnJpa2EnaSBhbmQgbm90IGluIEJST0RBKQoKCgoKClRoZSBm aXJzdCBmaXZlIGFyZSBqdXN0IGZpdmUgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIHdvcmQuIFRoZXkg Y2FuIGJlIHVzZWQgYXMgc2hvcnRjdXRzIHRvIGJyaWRpLiBBZnRlciBzYXlpbmcgYSBicmlkaSwg c2F5aW5nICcnY2VpIGJyb2RhJycgZGVmaW5lcyB0aGF0IGJyaWRpIGFzICcnYnJvZGEnJywgYW5k ICcnYnJvZGEnJyBjYW4gdGhlbiBiZSB1c2VkIGFzICcnYnJpa2EnaScnIGZvciB0aGF0IGJyaWRp IGluIHRoZSBmb2xsb3dpbmcgY29udmVyc2F0aW9uLgoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJl IGlzIGFuIGFuYWxvZ291cyBzZXJpZXMgb2Ygc3Vta2EnaSwgd2hpY2ggcHJvYmFibHkgZG9lcyBu b3QgYmVsb25nIGluIHRoaXMgbGVzc29uLCBidXQgaGVyZSB0aGV5IGFyZSBhbnl3YXk6CgpfXycn a28nYScnX18JU3VtdGkgdmFyaWFibGUgMQlfXycnZm8nYScnX18JU3VtdGkgdmFyaWFibGUgNgoK X18nJ2tvJ2UnJ19fCVN1bXRpIHZhcmlhYmxlIDIJX18nJ2ZvJ2UnJ19fCVN1bXRpIHZhcmlhYmxl IDcKCl9fJydrbydpJydfXwlTdW10aSB2YXJpYWJsZSAzCV9fJydmbydpJydfXwlTdW10aSB2YXJp YWJsZSA4CgpfXycna28nbycnX18JU3VtdGkgdmFyaWFibGUgNAlfXycnZm8nbycnX18JU3VtdGkg dmFyaWFibGUgOQoKX18nJ2tvJ3UnJ19fCVN1bXRpIHZhcmlhYmxlIDUJX18nJ2ZvJ3UnJ19fCVN1 bXRpIHZhcmlhYmxlIDEwCgoKCmFzIHdlbGwgYXMgdGhlICcnY2VpJyctZXF1aXZhbGVudCBmb3Ig dGhpcyBzZXJpZXM6CgpfXycnZ29pJydfXyBEZWZpbmUgc3VtdGkgdmFyaWFibGUKCgoKCgpUaGVz ZSBhcmUgdXNlZCBsaWtlIHRoZSAnJ2JyaWthJ2knJy1zZXJpZXMuIEp1c3QgcGxhY2UsIGZvciBp bnN0YW5jZSwgJydnb2kga28ndScnIGFmdGVyIGEgc3VtdGksIGFuZCB0aGF0IHN1bXRpIGNhbiBi ZSByZWZlcnJlZCB0byBieSAnJ2tvJ3UnJy4KCgoKU3RyYW5nZWx5LCB0aGVzZSBzZXJpZXMgYXJl IHJhcmVseSB1c2VkIGZvciB0aGVpciBpbnRlbmRlZCBwdXJwb3NlLiBUaGV5IGFyZSwgaG93ZXZl ciwgdXNlZCBhcyBhcmJpdHJhcnkgc2VsYnJpIGFuZCBzdW10aSBpbiBleGFtcGxlIHRleHRzOgoK 4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiAnJ2tvJ2Ega28n ZSBicm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhlIHNhbWUgYXMgJyduYSBrdSBrbydhIGtvJ2Ug YnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNuJ3Qu4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiB0d2VudHktZml2ZSAobG9naWNhbCBjb25uZWN0aXZlcykKCuKAnElmIHlvdSBhc2sg YSBMb2piYW5pc3Q6IOKAnERvIHlvdSB3YW50IG1pbGsgb3Igc3VnYXIgaW4geW91ciBjb2ZmZWU/ 4oCdIHNoZSdsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd4oCdCgoKCldpdHR5IGFzIHRoaXMgam9r ZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWlyZCBwcm9wZXJ0eSBvZiB0aGUgRW5nbGlz aCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0IGlzIHBocmFzZWQgYXMgYSB0cnVlL2Zh bHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbid0LiBJbiBMb2piYW4sIHdlIGNhbid0IGhh dmUgdGhpcyBraW5kIG9mIGluY29uc2lzdGVuY3ksIGFuZCBzbyB3ZSBtdXN0IGZpbmQgYW5vdGhl ciB3YXkgb2YgYXNraW5nIHRoaXMga2luZCBvZiBxdWVzdGlvbi4gSWYgeW91IHRoaW5rIGFib3V0 IGl0LCBpdCdzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBnb29kIGFuZCBlYXN5IHdheSwgYW5kIGl0 IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qgd2F5IGluc3RlYWQgb2YgYW4gZWFzeSB3 YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtlIHR3byBzZXBhcmF0ZSBicmlkaTogQnJp ZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCBicmlkaSAyOiDigJxJIGxp a2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9mIHRoZXNlIGJyaWRpIGNhbiBoYXZlIHRo ZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxkcyBmb3VyIGNvbWJpbmF0aW9ucyBvZiB3 aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFuZCAyCUIgKSAxIGJ1dCBub3QgMgoKQyAp IDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoKCgpJLCBpbiBhY3R1YWxpdHksIGxpa2Ug bWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJJ20gaW5kaWZmZXJlbnQgYXMgdG8gd2hldGhlciB0aGVy ZSBpcyBzdWdhciBpbiBpdCBvciBub3QuIFRoZXJlZm9yZSwgbXkgcHJlZmVyZW5jZSBjYW4gYmUg d3JpdHRlbiBBICkgdHJ1ZSBCICkgdHJ1ZSBDICkgZmFsc2UgRCApIGZhbHNlLCBzaW5jZSBib3Ro IEEgYW5kIEIgeWllbGRzIHRydWUgZm9yIG1lLCBidXQgbmVpdGhlciBDIG5vciBEIGRvZXMuIEEg bW9yZSBjb21wYWN0IHdheSBvZiB3cml0aW5nIG15IGNvZmZlZSBwcmVmZXJlbmNlcyB3b3VsZCBi ZSBUVEZGIGZvciB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UuIFNpbWlsYXJseSwgYSBwZXJzb24g bGlraW5nIGhpcyBjb2ZmZWUgYmxhY2sgYW5kIHVuc3dlZXRlbmVkIHdvdWxkIGhhdmUgYSBjb2Zm ZWUgcHJlZmVyZW5jZSBvZiBGRkZULiBUaGlzIGNvbWJpdGF0aW9uIG9mICJ0cnVlIiBhbmQgImZh bHNlIiBpcyBjYWxsZWQgYSDigJx0cnV0aCBmdW5jdGlvbuKAnSwgaW4gdGhpcyBjYXNlIGZvciB0 aGUgdHdvIHN0YXRlbWVudHMg4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCDigJxJ IGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHRoZSBz dGF0ZW1lbnRzIG1hdHRlcnMuCgpJbiBMb2piYW4sIHdlIG9wZXJhdGUgd2l0aCA0IHRydXRoIGZ1 bmN0aW9ucywgd2hpY2ggd2UgY29uc2lkZXIgZnVuZGFtZW50YWw6CgpBOiBUVFRGIChhbmQvb3Ip CgpPOiBURkZUIChpZiBhbmQgb25seSBpZmYpCgpVOiBUVEZGICh3aGV0aGVyIG9yIG5vdCkKCkU6 IFRGRkYgKGFuZCkKCgoKSW4gdGhpcyBleGFtcGxlLCB0aGV5IHdvdWxkIHRyYW5zbGF0ZSB0byBz b21ldGhpbmcgbGlrZTogQTrigJ1KdXN0IG5vdCBibGFjayBjb2ZmZWXigJ0sIE86IOKAnEVpdGhl ciBib3RoIG1pbGsgb3Igc3VnYXIsIG9yIG5vdGhpbmcgZm9yIG1lLCBwbGVhc2XigJ0sIFU6IOKA nE1pbGssIGFuZCBJIGRvbid0IGNhcmUgYWJvdXQgaWYgdGhlcmUncyBzdWdhciBvciBub3TigJ0g YW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBwbGVhc2Uu4oCdLgoKCgpJbiBMb2piYW4sIHlvdSBw bGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRoIGZ1bmN0aW9uIGJldHdlZW4gdGhlIHR3byBicmlk aSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0aW9uLiBUaGF0IHdvcmQgaXMgY2FsbGVkIGEgbG9n aWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMgZm9yIHRydXRoIGZ1bmN0aW9ucyBiZXR3ZWVuIHN1 bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBhcmUgICcnLmEnJyAnJy5vJycgJycudScnIGFuZCAn Jy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFuY2U6IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFt ZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3VsZCBiZSAnJ2xvIG1lcmtvIC5lIGxvIGRvdGNvIGN1 IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91IHNheTog4oCcSSBzcGVhayB0byB5b3UgYW5kIG5v IG9uZSBlbHNlP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdGF2bGEgZG8gLmUgbm8g ZHJhdGEnJyBOb3RlIHRoYXQgdGhpcyBhY3R1YWxseSBzdGF0ZXMgdGhhdCBpdCdzIHRydWUgdGhh dCAiSSBzcGVhayB0byB5b3UiLn5+CgoKCk9uZSBtb3JlOiDigJxJIGxpa2UgY2hlZXNlIHdoZXRo ZXIgb3Igbm90IEkgbGlrZSBjb2ZmZWXigJ0KCl9fJydja2FmaScnX18geDEgaXMgYSBxdWFudGl0 eS9jb250YWlucyBjb2ZmZWUgZnJvbSBzb3VyY2Uvb2YgZ3JhaW4geDIKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIG5lbGNpIGxvJ2UgY2lybGEgLnUgbG8nZSBja2FmaScnfn4KCgoKWW91IGNh biBwZXJoYXBzIGRlZHVjZSB0aGF0IHRoZXJlIGFyZSBzaXh0ZWVuIHBvc3NpYmxlIHRydXRoIGZ1 bmN0aW9ucywgc28gd2UgbmVlZCB0byBsZWFybiB0d2VsdmUgbW9yZSBpbiBvcmRlciB0byBrbm93 IHRoZW0gYWxsLiBFaWdodCBtb3JlIGNhbiBiZSBvYnRhaW5lZCBieSBuZWdhdGluZyBlaXRoZXIg dGhlIGZpcnN0IHNlbnRlbmNlIG9yIHRoZSBzZWNvbmQuIFRoZSBmaXJzdCBpcyBuZWdhdGVkIGJ5 IHByZWZpeGluZyB0aGUgdHJ1dGggZnVuY3Rpb24gd29yZCB3aXRoICcnbmEnJywgdGhlIHNlY29u ZCBpcyBuZWdhdGVkIGJ5IHBsYWNpbmcgJyduYWknJyBhZnRlciB0aGUgd29yZC4gRm9yIGV4YW1w bGUsIHNpbmNlICcnLmUnJyByZXByZXNlbnRzIFRGRkYsICcnLmUgbmFpJycgbXVzdCBiZSDigJxi b3RoIDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgRlRGRi4gU2ltaWxhcmx5 LCAnJ25hIC5hJycgaXMg4oCcSnVzdCBub3Q6IDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwg d2hpY2ggaXMgVFRGVC4gRG9pbmcgdGhpcyB0eXBlIG9mIGNvbnZlcnNpb24gaW4gdGhlIGhlYWQg cmVhbC10aW1lIGlzIHZlcnksIHZlcnkgaGFyZCwgc28gcGVyaGFwcyBvbmUgc2hvdWxkIGZvY3Vz IG9uIGxlYXJuaW5nIGhvdyBsb2dpY2FsIGNvbm5lY3RpdmVzIHdvcmsgaW4gZ2VuZXJhbCwgYW5k IHRoZW4gbGVhcm4gdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhlbXNlbHZlcyBieSBoZWFydC4K CgoKRm91ciBmdW5jdGlvbnMgY2Fubm90IGJlIG1hZGUgdGhpcyB3YXk6IFRUVFQsIFRGVEYsIEZU RlQgYW5kIEZGRkYuIFRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgY2Fubm90IGJlIG1hZGUgdXNpbmcg bG9naWNhbCBjb25uZWN0aXZlcyBhdCBhbGwsIGJ1dCB0aGV5IGFyZSBraW5kIG9mIHVzZWxlc3Mg YW55d2F5LiBVc2luZyBhIGh5cG90aGV0aWNhbCBsb2dpY2FsIGNvbm5lY3RpdmUgaW4gdGhlIHNl bnRlbmNlIOKAnEkgbGlrZSBtaWxrIEZGRkYgc3VnYXIgaW4gbXkgY29mZmVl4oCdIGlzIGVxdWl2 YWxlbnQgdG8gc2F5aW5nIOKAnEkgZG9uJ3QgbGlrZSBjb2ZmZWXigJ0sIGp1c3QgbW9yZSBjb21w bGljYXRlZC4gVGhlIGxhc3QgdHdvLCBURlRGIGFuZCBGVEZULCBjYW4gYmUgbWFkZSBieSBwcmVm aXhpbmcgJycudScnIHdpdGggZ29vZCBvbCcgJydzZScnLCB3aGljaCBqdXN0IHJldmVydHMgdGhl IHR3byBzdGF0ZW1lbnRzLiAnJ3NlIC51JycgLCBmb3IgaW5zdGFuY2UgaXMg4oCcQiB3aGV0aGVy IG9yIG5vdCBB4oCdLCB3aGljaCBpcyBURlRGLiBUaGUgZmluYWwgbGlzdCBvZiBhbGwgbG9naWNh bCBjb25uZWN0aXZlcyBjYW4gYmUgc2VlbiBiZWxvdy4KCgoKVFRUVDogQ2Fubm90IGJlIG1hZGUK ClRUVEY6ICcnLmEnJwoKVFRGVDogJycuYSBuYWknJwoKVFRGRjogJycudScnIE9SICcnLnUgbmFp JycKClRGVFQ6ICcnbmEgLmEnJwoKVEZURjogJydzZSAudScnCgpURkZUOiAnJy5vJycgT1IgJydu YSAubyBuYWknJwoKVEZGRjogJycuZScnCgpGVFRUOiAnJ25hIC5hIG5haScnCgpGVFRGOiAnJ25h IC5vJycgT1IgJycubyBuYWknJwoKRlRGVDogJydzZSAudSBuYWknJwoKRlRGRjogJycuZSBuYWkn JwoKRkZUVDogJyduYSAudScnIE9SICcnbmEgLnUgbmFpJycKCkZGVEY6ICcnbmEgLmUnJwoKRkZG VDogJyduYSAuZSBuYWknJwoKRkZGRjogQ2Fubm90IGJlIG1hZGUKCgoKTG9naWNhbGx5LCBzYXlp bmcgYSBzZW50ZW5jZSB3aXRoIGEgbG9naWNhbCBjb25uZWN0aXZlLCBsaWtlIGZvciBpbnN0YW5j ZSAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmUgbmFpIGxvJ2UgY2thZmknJyBpcyBlcXVpdmFsZW50 IHRvIHNheWluZyB0d28gYnJpZGksIHdoaWNoIGFyZSBjb25uZWN0ZWQgd2l0aCB0aGUgc2FtZSBs b2dpY2FsIGNvbm5lY3RpdmU6ICcnbWkgbmVsY2kgbG8nZSBjaXJsYSAuaSB7RSBOQUl9IG1pIG5l bGNpIGxvJ2UgY2thZmknJy4gVGhpcyBpcyBob3cgdGhlIGZ1bmN0aW9uIG9mIGxvZ2ljYWwgY29u bmVjdGl2ZXMgaXMgZGVmaW5lZC4gV2Ugd2lsbCBnZXQgdG8gaG93IHRvIGFwcGx5IGxvZ2ljYWwg Y29ubmVjdGl2ZXMgdG8gYnJpZGkgaW4gYSBtb21lbnQuCgoKCkJ5IHB1dHRpbmcgYSDigJxq4oCd IGluIGZyb250IG9mIHRoZSBjb3JlIHdvcmQgb2YgYSBsb2dpY2FsIGNvbm5lY3RpdmUsIGl0IGNv bm5lY3RzIHR3byBzZWxicmkuIEFuIGV4YW1wbGUgaXMgJydtaSBuaW5tdSBuYSBqbyBuYW5tdScn IOKAnEkgYW0gYSBtYW4gb3IgYSB3b21hbiwgYnV0IG5vdCBib3Ro4oCdCgpfXycnbmlubXUnJ19f IHgxIGlzIGEgd29tYW4KCgoKVGhpcyBpcyDigJx0YW5ydS1pbnRlcm5hbOKAnSwgbWVhbmluZyB0 aGF0IGl0IGxvb3NlbHkgYmluZHMgc2VsYnJpIHRvZ2V0aGVyLCBldmVuIHdoZW4gdGhleSBmb3Jt IGEgdGFucnU6ICcnbG8gZG90Y28gamEgbWVya28gcHJlbnUnJyBtZWFucyDigJxhIEdlcm1hbiBv ciBBbWVyaWNhbiBtYW7igJ0sIGFuZCBpcyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtv JycpICcncHJlbnUnJy4gVGhpcyBiaW5kaW5nIGlzIHNsaWdodGx5IHN0cm9uZ2VyIHRoYXQgbm9y bWFsIHRhbnJ1LWdyb3VwaW5nIChzdGlsbCB3ZWFrZXIgdGhhbiBzcGVjaWZpYyBncm91cGluZy13 b3JkcyksIGFuZCBhcyBzdWNoLCAnJ2xvIGRvdGNvIGphIG1lcmtvIG5pbm11IGphIG5hbm11Jycg aXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAoJyduaW5tdSBqYSBuYW5tdScn KS4gVGhlIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmVzIGNhbiBhbHNvIGJlIGF0dGFjaGVkIHRv ICcnLmknJyBpbiBvcmRlciB0byBjb25uZWN0IHR3byBzZW50ZW5jZXMgdG9nZXRoZXI6ICcnbGEg LmtpbS4gY21lbmUgbWkgLmkganUgbWkgbmFubXUnJyDigJxJJ20gY2FsbGVkIEtpbSwgd2hldGhl ciBvciBub3QgSSdtIGEgbWFu4oCdLiBUaGUgY29tYmluYXRpb24gJycuaSBqZScnIHN0YXRlcyB0 aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNoIGxpa2Ugd2Ugd291bGQgYXNzdW1lIGhh ZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVzZW50LgoKCgpVbmZhaXJseSBoYXJkIHF1 ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3cgd291bGQgeW91IHRyYW5zbGF0 ZSDigJxJZiB5b3UncmUgY2FsbGVkIEJvYiwgeW91J3JlIGEgbWFuLuKAnT8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ3pvIC5iYWIuIGNtZW5lIGRvIC5pIG5hIGphIGRvIG5hbm11Jycgb3Ig4oCc RWl0aGVyIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBhIG1hbiwgb3IgeW91J3JlIG5vdCBuYW1l ZCBCb2IgYW5kIG5vdCBhIG1hbiwgb3IgeW91J3JlIG5hbWVkIEJvYiBhbmQgYSBtYW4uIEJ1dCB5 b3UgY2FuJ3QgYmUgbmFtZWQgQm9iIGFuZCBub3QgYmUgYSBtYW4u4oCdIFRoZSBvbmx5IGNvbWJp bmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6IOKAnFlvdSdyZSBjYWxsZWQgQm9iLCBidXQgbm90IGEg bWFuLuKAnSBUaGlzIG11c3QgbWVhbiB0aGF0LCBpZiBpdCdzIHRydWUgdGhhdCB5b3UncmUgY2Fs bGVkIEJvYiwgeW91IG11c3QgYmUgYSBtYW4ufn4KCgoKSWYgd2UgdHJ5IHRvIHRyYW5zbGF0ZSB0 aGUgc2FkLCBzYWQgZXZlbnQgb2Yg4oCcSSBjcmllZCBhbmQgZ2F2ZSBhd2F5IG15IGRvZ+KAnSwg d2UgcnVuIGludG8gYSBwcm9ibGVtLgoKQXR0ZW1wdGluZyB0byBzYXkgdGhlIHNlbnRlbmNlIHdp dGggYSAnJ2plJycgYmV0d2VlbiB0aGUgc2VsYnJpIOKAnGdhdmXigJ0gYW5kIOKAnGNyaWVk4oCd LCB3b3VsZCBtZWFuIHRoZSBzYW1lIHdvcmQgZm9yIHdvcmQsIGJ1dCB1bmZvcnR1bmF0ZWx5IG1l YW4gdGhhdCDigJxJIGNyaWVkIHRoZSBkb2cgYW5kIGdhdmUgYXdheSB0aGUgZG9n4oCdLCBjZi4g dGhlIGRlZmluaXRpb24gb2YgbG9naWNhbCBjb25uZWN0aXZlcy4gT25lIGNhbiBjcnkgdGVhcnMg b3IgZXZlbiBibG9vZCwgYnV0IGNyeWluZyBkb2dzIGlzIGp1c3Qgc2lsbHkuCgpIb3dldmVyLCB3 ZSBjYW4gZ2V0IGFyb3VuZCBieSB1c2luZyBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZXMu IFdoYXQgdGhleSBkbyBpcyB0aGF0IGFueSBwcmV2aW91cyBzdW10Y2l0YSBhbmQgc3VtdGkgYXR0 YWNoZXMgdG8gYm90aCBzZWxicmkgYm91bmQgYnkgdGhlIGJyaWRpLXRhaWwgbG9naWNhbCBjb25u ZWN0aXZlLCBidXQgYW55IGZvbGxvd2luZyBzdW10aSBvciBzdW10Y2l0YSBvbmx5IGFwcGxpZXMg dG8gdGhlIGxhc3QgbWVudGlvbmVkOiBUaGUgYnJpZGkgc3BsaXRzIHVwIGZyb20gb25lIGhlYWQg dG8gdHdvIHRhaWxzLCB0byBzcGVhayBtZXRhcGhvcmljYWxseS4KClRoZSBmb3JtIG9mIGEgYnJp ZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgZ2knViwgd2l0aCB0aGUgViBmb3IgdGhlIHZv d2VsIG9mIHRoZSB0cnV0aCBmdW5jdGlvbi4KCkhvdyBjb3VsZCB5b3UgY29ycmVjdGx5IHRyYW5z bGF0ZSB0aGUgRW5nbGlzaCBzZW50ZW5jZSB0byBMb2piYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBwdSBrbGFrdSBnaSdlIGR1bmRhIGxlIG1pIGdlcmt1Jyd+fgoKCgpXaGF0IGRvZXMg JydybyByZW1uYSBjdSBwYWxjaSBnaSdvIHp1a3RlIGxvIHBhbGNpJycgbWVhbj8KCl9fJydwYWxj aScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nFBlb3BsZSBhcmUgZXZpbCBpZiBhbmQgb25seSBpZiB0aGV5IGRvIGV2aWwgdGhpbmdzLuKAnX5+ CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50 ZXJuYWwgZ3JvdXAgb2YgY29ubmVjdGVycyBtYWRlIGJ5IHByZWZpeGluZyDigJxn4oCdIGluIGZy b250IG9mIHRoZSB0cnV0aCBmdW5jdGlvbiB2b3dlbC4g4oCcRm9yZXRob3VnaHTigJ0gaW4gdGhp cyBjb250ZXh0IG1lYW5zIHRoYXQgdGhleSBuZWVkIHRvIGdvIGluIGZyb250IG9mIHRoZSB0aGlu Z3MgdGhleSBjb25uZWN0LCBhbmQgdGh1cyB5b3UgbmVlZCB0byB0aGluayBhYm91dCB0aGUgZ3Jh bW1hdGljYWwgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZSBiZWZvcmUgc2F5aW5nIGl0LiBBbGwt YnV0IHRhbnJ1IGludGVybmFsIG1lYW5zIHRoYXQgaXQgc2VydmVzIGJvdGggYXMgYSBjb25uZWN0 aXZlIGJldHdlZW4gc3VtdGksIGJyaWRpLCBzZWxicmkgYW5kIGJyaWRpLXRhaWxzLCBidXQgbm90 IGJldHdlZW4gdHdvIHNlbGJyaSBvZiBvbmUgdGFucnUuIExldCBtZSBzaG93IHlvdSBob3cgaXQg d29ya3MsIHJld3JpdGluZyB0aGUgTG9qYmFuIHNlbnRlbmNlIGFib3ZlOgoKJydnbyBsbyByZW1u YSBjdSBwYWxjaSBnaSBsbyByZW1uYSBjdSB6dWt0ZSBsbyBwYWxjaScnCgpUaGUgZmlyc3QgbG9n aWNhbCBjb25uZWN0aXZlIGluIHRoZXNlIGtpbmRzIG9mIGNvbnN0cnVjdHMgYXJlIHdoYXQgY2Fy cmllcyB0aGUgdm93ZWwgd2hpY2ggc2lnbmFsIHdoYXQgdHJ1dGggZnVuY3Rpb24gaXMgYmVpbmcg dXNlZC4gVGhlIHNlY29uZCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYWx3YXlzICcnZ2knJywgYW5k IGxpa2UgJycuaScnLCBpdCBoYXMgbm8gdHJ1dGggZnVuY3Rpb24uIEl0IHNpbXBseSBzZXJ2ZXMg dG8gc2VwYXJhdGUgdGhlIHR3byB0ZXJtcyBiZWluZyBjb25uZWN0ZWQuIElmIHlvdSB3YW50IHRv IG5lZ2F0ZSB0aGUgZmlyc3Qgb3Igc2Vjb25kIHNlbnRlbmNlLCBhICcnbmFpJycgaXMgc3VmZml4 ZWQgdG8gZWl0aGVyIHRoZSBmaXJzdCAoZm9yIHRoZSBmaXJzdCBzZW50ZW5jZSkgb3Igc2Vjb25k IChmb3IgdGhlIHNlY29uZCBzZW50ZW5jZSkgbG9naWNhbCBjb25uZWN0aXZlLgoKUHJvdmlkZWQg dGhhdCB0aGUgY29uc3RydWN0cyBhcmUgdGVybWluYXRlZCBwcm9wZXJseSwgaXQgaGFzIHJlbWFy a2FibGUgZmxleGliaWxpdHksIGFzIHRoZSBmb2xsb3dpbmcgZmV3IGV4YW1wbGVzIGRlbW9uc3Ry YXRlOgoKJydtaSBnbyBrbGFtYSBnaSBjYWR6dSB2YXUgbGUgbWkgemRhbmknJyDigJxJIGdvLCBp ZiBhbmQgb25seSBpZiB3YWxrLCB0byBteSBob21l4oCdIG9yIOKAnEkgY2FuIG9ubHkgZ28gdG8g bXkgaG9tZSBieSB3YWxraW5nLuKAnSBOb3RpY2UgdGhhdCB0aGUgJyd2YXUnJyBpcyBuZWVkZWQg dG8gbWFrZSBsZSBtaSB6ZGFuaSBhcHBseSB0byBib3RoICcnY2FkenUnJyBhbmQgJydrbGFtYScn LgoKJydzZSBndSBkbyBnaSBuYWkgbWkgYmFqcmEgbGUgZG8gY2t1bGUnJyDigJxXaGV0aGVyIG9y IG5vdCB5b3UsIHRoZW4gbm90IEksIHJ1biB0byB5b3VyIHNjaG9vbOKAnSBvciDigJxJIHdvbid0 IHJ1biB0byB5b3VyIHNjaG9vbCBubyBtYXR0ZXIgaWYgeW91IGRvIG9yIG5vdOKAnQoKCgpUaGUg dGFucnUtaW50ZXJuYWwgZXF1aXZhbGVudCBvZiBnViBpcyBndSdWLiBUaGVzZSBhcmUgZXhhY3Rs eSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgdGhleSBhcmUgZXhjbHVzaXZlbHkgdGFucnUtaW50ZXJu YWwsIGFuZCB0aGF0IHRoZXkgYmluZCBhIHNlbGJyaSB0byB0aGUgJydnaScnIHRpZ2h0ZXIgdGhh biBub3JtYWwgdGFucnUtZ3JvdXBpbmcsIGJ1dCB3ZWFrZXIgdGhhbiBleHBsaWNpdCBiaW5kaW5n LXN1bXRpOgoKJydsYSB4YW56LmtydC4gZ3UnZSBtZXJrbyBnaSBkb3RjbyBuYW5tdScnIGlzIGVx dWl2YWxlbnQgdG8KCicnbGEgeGFuei5rcnQuIG1lcmtvIGplIGRvdGNvIG5hbm11JycKCgoKQW5k IHNvIHlvdSd2ZSByZWFkIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBqdXN0IHRvIGdldCB0aGUgbmVj ZXNzYXJ5IGtub3dsZWRnZSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGxlYXJuIGhvdyB0byBhc2sg 4oCcV291bGQgeW91IGxpa2UgbWlsayBvciBzdWdhciBpbiB5b3VyIGNvZmZlZT/igJ0gaW4gTG9q YmFuLiBTaW1wbHkgcGxhY2UgYSBxdWVzdGlvbiBsb2dpY2FsIGNvbm5lY3RpdmUgaW5zdGVhZCBv ZiBhbm90aGVyIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5kIGxpa2UgJydtYScnLCBpdCBhc2tzIHRo ZSBsaXN0ZW5lciB0byBmaWxsIGluIGEgY29ycmVjdCByZXNwb25zZS4gVW5mb3J0dW5hdGVseSwg dGhlc2UgcXVlc3Rpb24tbG9naWNhbCBjb25uZWN0aXZlcyBkb24ndCBhbHdheXMgbWF0Y2ggdGhl IG1vcnBob2xvZ2ljYWwgcGF0dGVybiBvZiB0aGUgbG9naWNhbCBjb25uZWN0aXZlcyB0aGV5IGFz ayBmb3I6CgpfXycnamknJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3Ig YSBzdW10aSBsb2dpY2FsIGNvbm5lY3RpdmUgKEEpCgpfXycnamUnaScnX18gTG9naWNhbCBjb25u ZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRhbnJ1LWludGVybmFsIHNlbGJyaSBsb2dpY2Fs IGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dpJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlv bjogQXNrcyBmb3IgYSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR0loQSkKCl9fJydn ZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgZm9yZXRob3Vn aHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdBKQoKX18nJ2d1 J2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3JldGhvdWdo dCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR1VoQSkKCgoKU28uLi4g aG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNvbnMgd2FudHMgbWlsayBvciBzdWdhciBpbiBo ZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBpcy9jb250YWlucyBtaWxrIGZyb20gc291cmNl IHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZyb20gc291cmNlIHgyIG9m IGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5LGdyZXk6JydzYWt0YSBq ZSdpIGxhZHJ1IGxlIGRvIGNrYWZpJycgdGhvdWdoIEkgZ3Vlc3Mgc29tZXRoaW5nIG1vcmUgRW5n bGlzaCBhbmQgbGVzcyBlbGVnYW50IGNvdWxkIGFsc28gc3VmZmljZSBsaWtlICcnZG8gZGppY2Eg bGVudSBsbyBzYWt0YSBqaSBsbyBsYWRydSBjdSBuZW5yaSBsZSBkbyBja2FmaScnfn4KCgoKISFM b2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktc2l4IChub24tbG9naWNhbCBjb25uZWN0aXZl cykKClRoZSB3b3JkICJsb2dpY2FsIiBpbiAibG9naWNhbCBjb25uZWN0aXZlIiByZWZlcnMgdG8g dGhlIGFzc29jaWF0aW9uIGEgbG9naWNhbCBjb25uZWN0aXZlIGhhcyB3aXRoIGEgdHJ1dGggZnVu Y3Rpb24uIE5vdCBhbGwgdXNlZnVsIGNvbm5lY3RpdmVzIGNhbiBiZSBkZWZpbmVkIHRocm91Z2gg YSB0cnV0aCBmdW5jdGlvbiwgaG93ZXZlciwgYW5kIHNvIHRoZXJlIGFyZSBvdGhlciBjb25uZWN0 aXZlcyBiZXNpZGUgdGhlIGxvZ2ljYWwgb25lcy4KClRoZSBtZWFuaW5nIG9mIGEgbG9naWNhbCBj b25uZWN0aXZlIGlzIGRlZmluZWQgdGhlIHNhbWUgYXMgdHdvIGRpZmZlcmVudCBicmlkaSBjb25u ZWN0ZWQgd2l0aCB0aGF0IGxvZ2ljYWwgY29ubmVjdGl2ZS4gRm9yIGluc3RhbmNlLCAnJ21pIG5p dGN1IGRvIC5hIGxhIC5kamFuLicnIGlzIGRlZmluZWQgdG8gYmUgZXF1aXZhbGVudCB0byAnJ21p IG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIC5kamFuLicnLiBUaGlzIGRlZmluaXRpb24gaXMg dXNlZnVsIHRvIGJlYXIgaW4gbWluZCwgYmVjYXVzZSBpdCBpbXBsaWVzIHRoYXQgc29tZXRpbWVz LCBzdW10aSBjYW5ub3QgYmUgY29ubmVjdGVkIHdpdGggbG9naWNhbCBjb25uZWN0aXZlcyB3aXRo b3V0IGNoYW5pbmcgdGhlIG1lYW5pbmcuIENvbnNpZGVyIHRoZSBzZW50ZW5jZTogIkphY2sgYW5k IEpvZSB3cm90ZSB0aGlzIHBsYXkuIiBPbmUgYXR0ZW1wdCBhdCBhIHRyYW5zbGF0aW9uIHdvdWxk IGJlOiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBlIGxhIC5kam91cy4nJwoKX18nJ2RyYWNpJydf XyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkgd3JpdGVyL2RyYW1hdGlzdCB4MyBmb3Ig YXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhlIHByb2JsZW0gd2l0aCB0aGlzIHRyYW5z bGF0aW9uIGlzIHRoYXQgaXQgbWVhbnMgJyd0aSBkcmFjaSBsYSAuZGphay4gaWplIHRpIGRyYWNp IGxhIC5kam91cy4nJywgd2hpY2ggaXMgbm90IHJlYWxseSB0cnVlLiBOZWl0aGVyIEphY2sgbm9y IEpvZSB3cm90ZSBpdCwgdGhleSBkaWQgc28gdG9nZXRoZXIuIFdoYXQgd2Ugd2FudCBoZXJlIGlz IG9mIGNvdXJzZSBhIG1hc3MsIGFuZCBzb21lIHdheSB0byBqb2luIEphY2sgYW5kIEpvZSBpbiBv bmUgbWFzcy4gVGhpcyBoYXMgbGl0dGxlIHRvIGRvIHdpdGggYSB0cnV0aCBmdW5jdGlvbiBzbyB3 ZSBtdXN0IHVzZSBhIG5vbi1sb2dpY2FsIGNvbm5lY3RpdmUsIHdoaWNoIGFyZSBvZiBzZWxtYSdv IEpPSS4gV2UnbGwgcmV0dXJuIHRvIHRoaXMgSmFjayBhbmQgSm9lLXByb2JsZW0gaW4gYSBsaXR0 bGUgLSBmaXJzdDogRm91ciBvZiB0aGUga25vd24gSk9JOgoKCgp8fFRoZSBMb2piYW4gY29ubmVj dGl2ZTp8JydjZScnfCcnY2UnbycnfCcnam9pJyd8Jydqbyd1JycKCkpvaW5zIHN1bXRpIGFuZCBm b3JtcyBhOnxzZXR8c2VxdWVuY2V8bWFzc3xncm91cCBvZiBpbmRpdmlkdWFsc3x8CgpUaGUgZnVu Y3Rpb25zIG9mIHRoZXNlIHdvcmRzIGFyZSBzaW1wbGU6ICcnbG8naSByZW1uYSBqbyd1IGxvJ2kg Z2Vya3UnJyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9mIGh1bWFucyBhbmQgdGhlIHNldCBvZiBk b2dzIGRpc3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFscykuIFJlbWVtYmVyIGZyb20gbGVzc29u IHR3ZW50eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJkaXN0cmlidXRpdml0eSIgbWVhbnMgdGhh dCB3aGF0IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBhbHNvIHRydWUgZm9yIGVhY2ggb2YgdGhl IGluZGl2aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJydsb2kgcm8gZ2lzbXUgY2UnbyBsb2kgcm8g bHVqdm8gY2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEgc2VxdWVuY2UgY29uc2lzdGluZyBvZiB0 aGUgbWFzcyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBsdWp2bywg Zm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2bGEuCgpBcyB3aXRoIGFsbCBvZiB0aGUg Sk9JIHdoaWNoIGhhcyBhbiBpbmhlcmVudCBvcmRlciwgJydzZScnIG1heSBiZSBwdXQgYmVmb3Jl ICcnY2UnbycnIHRvIGludmVyc2UgdGhlIG9yZGVyOiAiQSAnJ2NlJ28nJyBCIiBpcyB0aGUgc2Ft ZSBhcyAiQiBzZSAnJ2NlJ28nJyBBIi4KCgoKSG93IGNhbiB5b3UgY29ycmVjdGx5IHRyYW5zbGF0 ZSAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxheSI/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAn J3RpIGRyYWNpIGZpIGxhIC5kamFrLiBqb2kgbGEgLmRqb3VzLicnfn4gCgoKClRoZSBjbWF2byBv ZiBKT0kgYXJlIHZlcnkgZmxleGlibGU6IFRoZXkgY2FuIGFjdCBib3RoIGFzIHN1bXRpIGNvbm5l Y3RpdmVzIGFuZCB0YW5ydS1pbnRlcm5hbCBjb25uZWN0aXZlcywgc28gdGhleSBjYW4gYmUgdXNl ZCB0byBjb25uZWN0IHN1bXRpLCBzZWxicmkgYW5kIGJyaWRpLiBUaGlzIGZsZXhpYmlsaXR5IG1l YW5zIHRoYXQgb25lIG11c3QgYmUgY2FyZWZ1bCB0byB1c2UgZmEnb3JtYSdvIGNvcnJlY3RseSB3 aGVuIHVzaW5nIGEgSk9JLiAKCldoYXQgaXMgd3Jvbmcgd2l0aCB0aGUgYnJpZGkgJydsbyBkb3Rj byBqbyd1IG1pIGN1IGtsYW1hIGxhIGRvdGNvIGd1Z2RlJyc/CgpBbnN3ZXI6IH5+Z3JleSxncmV5 OiAnJ2pvJ3UnJyBpcyBwdXQgYWZ0ZXIgYSBzZWxicmksIHNvIGl0IGV4cGVjdHMgYSBzZWxicmkg YWZ0ZXIgaXQgdG8gY29ubmVjdCB0bywgYnV0IG5vbmUgaXMgZm91bmQuIEhhZCAgYSAnJ2t1Jycg YmVlbiBwcmVzZW50IGJlZm9yZSB0aGUgY29ubmVjdGl2ZSwgaXQgd291bGQgaGF2ZSBiZWVuIGdy YW1tYXRpY2Fsfn4KCgoKSWYgc2V2ZXJhbCBKT0kgYXJlIHVzZWQsICcnYm8nJyBhbmQvb3IgJydr ZScnIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSB1c3VhbCBsZWZ0LWdyb3VwaW5nOiAnJ21p IGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgYm8gbGEgLmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2Vp IGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91LCBhbmQgdGhlbiBKYWNrIGFuZCBKb2UgYXJl IGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMiLiBDb250cmFzdCB3aXRoICcnbWkgam9p IGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMuIGN1IHB1J28gY2knZXJrZWkgZGFtYmEg bGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlvdSwgdGhlbiBKYWNrIHdpbGwgdG9nZXRoZXIg d2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4gCgpDb25uZWN0aW5nIGJyaWRpIHdpdGgg Sk9JIGNhbiBtYWtlIHNvbWUgaW50ZXJlc3RpbmcgaW1wbGljYXRpb25zIG9mIHRoZSByZWxhdGlv bnNoaXAgYmV0d2VlbiB0aGUgYnJpZGk6ICcnbGEgLmRqYWsuIG1vcnNpIHJpJ2EgbG8gbnUgcmkg ZHp1c29pIC5pIGpvaSBsZSBqZW1qYSdhIHBvIHJpIGN1IGJlYm5hJycgLSAiSmFjayBpcyBkZWFk IGJlY2F1c2UgaGUgd2FzIGEgaW5mYW50cnkgc29sZGllciBhbmQgaGlzIGdlbmVyYWwgd2FzIGFu IGlkaW90IiwgaW1wbHlpbmcgdGhhdCB0aGVzZSB0d28gYnJpZGkgbWFzc2VkIHRvZ2V0aGVyIHdh cyB0aGUgcGh5c2ljYWwgY2F1c2Ugb2YgaGlzIGRlYXRoOiBIYWQgaGUgb25seSBiZWVuIGluIGFu IGFybW9yZWQgdmVoaWNsZSBvciB3aXRoIGEgY29tcGV0ZW50IGNvbW1hbmRlciwgaGUgbWlnaHQg aGFkIHN1cnZpdmVkLgoKX18nJ2R6dXNvaScnX18geDEgaXMgYW4gaW5mYW50cnkgc29sZGllciBv ZiBhcm15IHgyCgpfXycnamVtamEnYScnX18geDEgaXMgYSBnZW5lcmFsIG9mIGFybXkgeDIgaW4g ZnVuY3Rpb24geDMKCl9fJydiZWJuYScnX18geDEgaXMgZm9vbGlzaC9pZGlvdGljIGluIHByb3Bl cnR5L2FzcGVjdCB4MgoKCgpOb24tbG9naWNhbCBjb25uZWN0aXZlcyBtYXkgYWxzbyBiZSBuZWdh dGVkIHdpdGggJyduYWknJywgaW5kaWNhdGluZyB0aGF0IHNvbWUgb3RoZXIgY29ubmVjdGl2ZSBp cyBhcHByb3ByaWF0ZTogJydsbyBkamFjdSBjZSdvIG5haSAuZSdvIGxvIGxhZHJ1IGN1IGNhdnlm bGUgZmkgbGUgbWkgdGNhdGknJyAtICJQbGVhc2UgZG9uJ3QgcG91ciBmaXJzdCB3YXRlciB0aGVu IG1pbGsgaW4gbXkgdGVhIi4gVGhpcywgb2YgY291cnNlLCBzYXlzIG5vdGhpbmcgYWJvdXQgd2hp Y2ggY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZSAtIG9uZSBtaWdodCBndWVzcyAnJ3NlIGNlJ28n JyAoZmlyc3QgbWlsaywgdGhlbiB3YXRlciksIG9ubHkgdG8gZmluZCBvdXQgdGhhdCAnJy5lIG5h aScnIChvbmx5IHdhdGVyLCBubyBtaWxrIGF0IGFsbCkgd2FzIHRoZSBjb3JyZWN0IG9uZS4KCl9f JydjYXZ5ZmxlJydfXyB4MSwgY29uc2lzdGluZyBvZiB4MiwgZmxvd3MgaW50byB4MyBmcm9tIHg0 CgpKdXN0IGxpa2UgYSBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYSBwbGF1c2libGUgbmVnYXRpb24g b2YgYSBub24tbG9naWNhbCBjb25uZWN0aXZlLCBhbnN3ZXJzIHRvIHF1ZXN0aW9ucyBvZiB0aGUg dHlwZSAnJ2ppJycgb3IgJydqZSdpJycgY2FuIGJlIGJvdGggbG9naWNhbCBhbmQgbm9uLWxvZ2lj YWw6IEE6ICcnbGFkcnUgamUnaSBzYWt0YSBsZSBkbyBja2FmaScnIEI6ICcnc2UgY2UnbycnICgi TWlsayBvciBzdWdhciBpbiB5b3UgY29mZmVlPyIgIkZpcnN0IHRoZSBsYXR0ZXIsIHRoZW4gdGhl IGZvcm1lciIpLiBJbiB0aGlzIGNhc2UgJydjZScnIHdvdWxkIG1ha2Ugbm8gc2Vuc2UgYXQgYWxs LCBzaW5jZSBzZXRzIGNhbid0IGJlIGNvbnRhaW5lZCBpbiBjb2ZmZWUsIGFuZCAnJ2pvaScnIChi b3RoIG1peGVkIHRvZ2V0aGVyKSB3b3VsZCBtZWFuIHRoZSBzYW1lIGFzICcnam8ndScnIChib3Ro IG9mIHRoZW0pLCB1bmxlc3MgdGhlIHJlc3BvbmRhbnQgcHJlZmVycmVkIHVubWl4ZWQgc3VnYXIg aW4gaGlzIGNvZmZlZS4KCgoKVGhlIGZpZnRoIEpPSSBJIHByZXNlbnQgaGVyZSBpcyBhIGJpdCBv ZiBhbiBvZGRiYWxsOgoKX18nJ2ZhJ3UnJ19fIE5vbi1sb2dpY2FsIGNvbm5lY3RpdmU6IFVubWl4 ZWQgb3JkZXJlZCBkaXN0cmlidXRpb24gKEEgYW5kIEIsIHJlc3BlY3RpdmVseSkKCldoZW4gb25s eSBvbmUgJydmYSd1JycgaXMgcGxhY2VkIHdpdGhpbiBhIGJyaWRpIChvciBzZXZlcmFsIGJyaWRp IGNvbm5lY3RlZCB0b2dldGhlciB3aXRoIGNvbm5lY3RvcnMpLCAnJ2ZhJ3UnJyBtYXkgYmUgYXNz dW1lZCB0byBiZSBpZGVudGljYWwgdG8gJydqbyd1JycuIFdoZW4gc2V2ZXJhbCAnJ2ZhJ3UnJyBp cyB1c2VkIHdpdGhpbiBvbmUgYnJpZGksIGhvd2V2ZXIsIHRoZSBjb25zdHJ1Y3RzIGJlZm9yZSAn J2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIsIGFuZCB0aGUgY29uc3RydWN0cyBhZnRl ciAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIuIExldCdzIGhhdmUgYW4gZXhhbXBs ZToKCicnbWkgZmEndSBkbyBydXNrbyBmYSd1IGthZG5vJycgLSAiWW91IGFuZCBJIGFyZSBSdXNz aWFuIGFuZCBDYW5hZGlhbiIsIGltcGx5aW5nIHRoYXQgJydtaScnIGdvZXMgd2l0aCAnJ3J1c2tv JycgYW5kICcnZG8nJyBnb2VzIHdpdGggJydrYWRubycnLCBhbmQgaW1wbHlpbmcgbm90aGluZyBh Ym91dCBhbnkgb3RoZXIgY29tYmluYXRpb24uIE9mIGNvdXJzZSwgaW4gdGhpcyBleGFtcGxlLCBp dCB3b3VsZCBiZSBtdWNoIGVhc2llciB0byBzYXkgJydtaSBydXNrbyAuaSBkbyBrYWRubycnLgoK CgpUaGVzZSBsYXN0IHRocmVlIEpPSSBjb25uZWN0cyB0d28gc2V0cyB0byBtYWtlIG5ldyBzZXRz OgoKX18nJ2pvJ2UnJ19fCUEgdW5pb24gQgoKX18nJ2t1J2EnJ19fCUEgaW50ZXJzZWN0aW9uIEIK Cl9fJydwaSd1ICcnX18JQ3Jvc3MgcHJvZHVjdCBvZiBBIGFuZCBCCgoKClRoZXNlIGFyZSBwcm9i YWJseSBub3QgdmVyeSB1c2VmdWwgZm9yIHRoZSBhdmVyYWdlIExvamJhbmlzdCwgYnV0IEkgbWln aHQgYXMgd2VsbCBpbmNsdWRlIHRoZW0gaGVyZS4KClRoZSBmaXJzdCBvbmUsICcnam8nZScnLCBt YWtlcyBhIG5ldyBzZXQgZnJvbSB0d28gc2V0cy4gVGhpcyBuZXcgc2V0IGNvbnRhaW5zIG9ubHkg dGhvc2UgbWVtYmVycyB3aGljaCBhcmUgaW4gYm90aCBzZXRzLgoKQSBzZXQgbWFkZSB3aXRoICcn a3UnYScnIGNvbnRhaW5zIGFsbCB0aGUgbWVtYmVycyBvZiBzZXQgQSBhbmQgdGhvc2Ugb2Ygc2V0 IEIuIElmIGFueXRoaW5nIGlzIGEgbWVtYmVyIG9mIGJvdGggc2V0cywgdGhleSBhcmUgbm90IGNv dW50ZWQgdHdpY2UuCgonJ3BpJ3UnJyBpcyBhIGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVkLiBBIHNl dCAiQSAnJ3BpJ3UnJyBCIiBjb250YWlucyBhbGwgdGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBv ZiAiYSAnJ2NlJ28nJyBiIiwgd2hlcmUgYSBpcyBhIG1lbWJlciBvZiBBIGFuZCBiIGlzIGEgbWVt YmVyIG9mIEIuIEl0IGlzIHRodXMgYSBzZXQgb2Ygc2VxdWVuY2VzIG9mIG1lbWJlcnMuIElmLCBm b3IgaW5zdGFuY2UsIHNldCBBIGNvbnRhaW5lZCB0aGUgbWVtYmVycyBwIGFuZCBxLCBhbmQgc2V0 IEIgY29udGFpbmVkIG1lbWJlcnMgZiBhbmQgZywgdGhlbiBBICcncGkndScnIEIgd291bGQgYmUg YSBzZXQgY29uc2lzdGluZyBvZiB0aGUgZm91ciBtZW1iZXJzIHAgJydjZSdvJycgZiwgcCAnJ2Nl J28nJyBnLCBxICcnY2UnbycnIGYgYW5kIHEgJydjZSdvJycgZy4KCgoKISEhRW5kIG9mIHBhcnQg dHdvCgooKHdhdmVsZXNzb25zY29udGludWVkfFJldHVybiB0byB0aGUgd2F2ZWxlc3NvbnMgcGFy dCBvbmUpKQoKVGhpcyBwYXJ0IGNvbmNsdWRlcyB0aGUgdHV0b3JpYWwgdG8gb3JkaW5hcnkgTG9q YmFuLiBJbiB0aGUgdGhpcmQgcGFydCwgSSB3aWxsIGZvY3VzIG9uIGFkdmFuY2VkIExvamJhbiAt IHRoZSBwYXJ0cyB5b3UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBrbm93IHRvIHNwZWFrIHRoZSBs YW5ndWFnZS4gSSBkaXNjb3VyYWdlIHlvdSB0byBiZWdpbiByZWFkaW5nIHRoZSB0aGlyZCBwYXJ0 IHVudGlsIHlvdSBmZWVsIGNvbWZvcnRhYmxlIGVub3VnaCB3aXRoIHRoZSBpbmZvcm1hdGlvbiBp biB0aGUgZmlyc3QgdHdvIHBhcnRzIHRvIGhvbGQgYW4gd3JpdHRlbiBjb252ZXJzYXRpb24gaW4g dGhlIGxhbmd1YWdlLiBJZiB5b3UgX19kb19fIHdpc2ggdG8gY29udGludWUsIHlvdSBjYW4gcHJl c3MgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoaXMgbGluaykpIHRvIGdvIHRoZXJlLgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2Vz IG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5v cmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=