Received: from localhost ([::1]:53982 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UYNFE-0001nN-CO; Fri, 03 May 2013 14:10:20 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:55450 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UYNF4-0001nH-Hw for wikineurotic@lojban.org; Fri, 03 May 2013 14:10:18 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 3 May 2013 14:10:10 -0700 From: "Apache" Date: Fri, 3 May 2013 14:10:10 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by daeldir at 23:09 CEST Comment: Traduit l'alphabet. You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7?= =?utf-8?q?ais_changed_by_daeldir?= X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDIzOjA5IENFU1QKQ29tbWVudDogVHJhZHVpdCBsJ2FscGhhYmV0LgoKWW91IGNhbiB2aWV3 IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL2xvamJhbi5vcmcvdGlr aS9sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMlQTdhaXMKCllvdSBjYW4gdmlldyBh IGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5r OiAKaHR0cDovL2xvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPWxlJUMz JUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcyZjb21wYXJlPTEmb2xkdmVyPTEzJm5l d3Zlcj0xNAoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZv bGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1M aW5lczogNzUtODggY2hhbmdlZCB0byArTGluZXM6IDc1LTkzIEBACistKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkxlcyBsZXR0cmVzIGNh cGl0YWxlcyBuZSBzb250IG5vcm1hbGVtZW50IHBhcyB1dGlsaXPDqWVzIGVuIGxvamJhbi4gTm91 cyBsZXMgdXRpbGlzb25zIGRhbnMgZGVzIG1vdHMgbm9uIGxvamJhbiAoY29tbWUgwqvCoFBpZXJy ZcKgwrspLCBxdWFuZCBsJ2FjY2VudCB0b25pcXVlIGQndW4gbW90IGVzdCBkaWZmw6lyZW50IGRl IGNlbHVpIGRlIGxhIG5vcm1lIGxvamJhbi4gTGEgbm9ybWUgY29uc2lzdGUgw6AgbWV0dHJlIHVu IGFjY2VudCB0b25pcXVlIHN1ciBsJ2F2YW50IGRlcm5pw6hyZSBzeWxsYWJlLiBQYXIgZXhlbXBs ZSwgJydrdWptaWtjZScnIChpbmZpcm1pw6hyZSksIGVzdCDCq8Kga3VqX19NSUtfX2NlwqDCuywg ZXQgbm9uIHBhcyDCq8KgX19LVUpfX21pa2NlwqDCuy4gTGUgbm9tIMKrwqBKdWxpZXR0ZcKgwrsg cyfDqWNyaXJhaXQgwqvCoCcnanVMSUVULicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4gZnJh bsOnYWlzLCBtYWlzIMKrwqAnJ0RKVWxpLGV0LicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4g YW5nbGFpcy4KISEhIUFscGhhYmV0Ci0gSW4gbW9zdCBsYW5ndWFnZSB0ZXh0Ym9va3MsIHlvdSBn ZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFnZSB0b2dldGhlciB3aXRoIGl0cyBzb3VuZHMu IExldHRlcnMgKCcnbGVyZnUnJykgdHVybiBvdXQgdG8gYmUgZXZlbiBtb3JlIGltcG9ydGFudCB0 aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2UgbWlnaHQgYXMgd2VsbCBnbyB0aHJvdWdoIHRoZWly IG5hbWVzIHF1aWNrbHkuPGJyIC8+Q29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUg bmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhl IGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgJnF1b3Q7YiwgYywgZCwgZiwgZyAuLi4mcXVv dDssIGFyZSBjYWxsZWQgJydieS4sIGN5LiwgZHkuLCBmeS4sIGd5LicnIC4uLiBpbiBMb2piYW4g KHVzaW5nIHRoZSBmdWxsIHN0b3AgYXMgd2UndmUganVzdCBkZXNjcmliZWQuKTxiciAvPlZvd2Vs cyBfX3dvdWxkX18gYmUgY2FsbGVkICcnLmF5LCAuZXksIC5peScnLCBidXQgdGhhdCB3b3VsZCBi ZSByYXRoZXIgZGlmZmljdWx0IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUgaGFuZGxl ZCBieSBmb2xsb3dpbmcgdGhlIHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgJydidScnLCB3aGlj aCBiYXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFyZTog JycuYWJ1LCAuZWJ1LCAuaWJ1LCAub2J1LCAudWJ1LCB5YnUuJyc8YnIgLz5UaGUgYXBvc3Ryb3Bo ZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4gTG9qYmFuLCBhbmQgaXMgY2FsbGVk ICcnLnkneS4nJyAuIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291Z2g7IHRv IG90aGVyLCBsaWtlICZxdW90O3VoLWh1aCZxdW90OyAod2hlbiBpdCBtZWFucyAnWWVzJyByYXRo ZXIgdGhhbiAnTm8nLik8YnIgLz5Mb2piYW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBs ZXR0ZXJzIHlvdSBjYW4gdGhpbmsgb2YuIElmIHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91 dCB5b3VyIG5hbWUgaW4gTG9qYmFuIGFuZCBoYXZlIGFuICZxdW90O0gmcXVvdDssICZxdW90O1Em cXVvdDssIG9yICZxdW90O1cmcXVvdDsgdG8gZGVhbCB3aXRoLCB5b3UgY2FuIHVzZSAnJy55J3ku YnUsIGt5LmJ1JycgYW5kICcndnkuYnUnJy4gU28gJnF1b3Q7U2Nod2FyemVuZWdnZXImcXVvdDsg aXMgc3BlbHQgaW4gTG9qYmFuIGFzOgorIDxiciAvPkRhbnMgbGEgcGx1cGFydCBkZXMgbWFudWVs cywgbG9ycyBkZSBsJ2FwcHJlbnRpc3NhZ2UgZCd1bmUgbGFuZ3VlLCB2b3VzIGFwcHJlbmV6IGwn YWxwaGFiZXQgZHUgbGFuZ2FnZSwgZXQgc2EgcHJvbm9uY2lhdGlvbi4gTGVzIGxldHRyZXMgKCcn bGVyZnUnJykgdGFudCBwbHVzIGltcG9ydGFudGVzIGVuIGxvamJhbiBxdScgbCdhY2NvdXR1bWUs IGF1dGFudCBhcHByZW5kcmUgbGV1ciBub21zIHJhcGlkZW1lbnQuPGJyIC8+PGJyIC8+TGVzIGNv bnNvbm5lcyBzb250IHNpbXBsZXM6IGxlIG5vbSBkJ3VuZSBjb25zb25uZSBlc3QgY2V0dGUgbGV0 dHJlLCBzdWl2aWUgZGUgeS4gQWluc2ksIGxlcyBjb25zb25uZXMgZHUgbG9qYmFuLCBiLCBjLCBk LCBmLCBnIHNvbnQgYXBwZWxlcyAnJ2J5LicnLCAnJ2N5LicnLCAnJ2R5LicnLCAnJ2Z5LicnLCAn J2d5LicnIGVuIGxvamJhbiAoZW4gdXRpbGlzYW50IHVuIHBvaW50LCBjb21tZSBkY3JpdCBkYW5z IGxhIHBhcnRpZSBwcmNkZW50ZSkuPGJyIC8+PGJyIC8+TGVzIHZveWVsbGVzIF9fc2VyYWllbnRf XyBhcHBlbGVzICcnLmF5JycsICcnLmV5JycsICcnLml5JycsIHNpIGMndGFpdCBtb2lucyBkaWZm aWNpbGUgIHByb25vbmNlci4gQXUgbGlldSBkZSBhLCBlbGxlcyBzb250IG5vbW1lIGVuIHN1aXZh bnQgbGUgc29uIGRlIGxhIHZveWVsbGUgcGFyIGxlIG1vdCAnJ2J1JycsIHF1aSBzaWduaWZpZSBz aW1wbGVtZW50IGxldHRyZS4gQWluc2ksIGxlcyB2b3llbGxlcyBkdSBsb2piYW4gc29udDogICcn LmFidScnLCAnJy5lYnUnJywgJycuaWJ1JycsICAnJy5vYnUnJyAsICcnLnVidScnLCAnJy55YnUn Jy48YnIgLz48YnIgLz5MJ2Fwb3N0cm9waGUgZXN0IGNvbnNpZHJlIGNvbW1lIHVuZSB2cmFpIGxl dHRyZSBlbiBsb2piYW4sIGV0IGVzdCBub21tZSAnJy55J3kuJycgKGV1aGV1IFVuIHBldSBjb21t ZSB1bmUgcGV0aXRlIHRvdXgpLjxiciAvPjxiciAvPkxlIGxvamJhbiBhIHVuIG1veWVuIGRlIHNl IHJmcmVyICBsYSBwbHVwYXJ0IGRlcyBsZXR0cmVzIGF1eHF1ZWxsZXMgdm91cyBwb3V2ZXogcGVu c2VyLiBTaSB2b3VzIGRzaXJleiBkcyBtYWludGVuYW50IHBlbGVyIHZvdHJlIG5vbSBlbiBsb2pi YW4sIGV0IHF1ZSBjZWx1aSBjaSBwb3NzZGUgdW4gSCwgUSBvdSBXLCB2b3VzIHBvdXZleiB1dGls aXNlciAgJycueSd5LmJ1JycgLCAgJydreS5idScnICBldCAgJyd2eS5idScnIC4gQWluc2ksIFNj aHdhcnplbmVnZ2VyIGVzdCBwZWwgZW4gbG9qYmFuOgonJ3N5LiBjeS4gLnkneWJ1IHZ5YnUuIC5h YnUgcnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4nJwotIEFuZCBzcGVsbGlu ZyAidGhhdCIgaXMgYSB0YXNrIHRoZSBlcXVhbCBvZiBhbnl0aGluZyB0aGUgVGVybWluYXRvciBl dmVyIGRpZCEKCi0gTm93IHNwZWxsIHlvdXIgbmFtZSBpbiBMb2piYW4gKG9yIGF0IGxlYXN0IHNv bWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNlIHRoZSB0d2VudHktc2l4IGxldHRlcnMg b2YgRW5nbGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0aGUgYXBvc3Ryb3BoZSkuCisgRXQgcGVs ZXIgX19hX18gZXN0IHVuZSB0Y2hlIGRpZ25lIGR1IFRlcm1pbmF0b3IhCgorIE1haW50ZW5hbnQs IMOpcGVsZXogdm90cmUgbm9tIGVuIGxvamJhbiAobGUgY2FzIMOpY2jDqWFudCwgZGUgbGEgbWFu acOocmUgbGEgcGx1cyBwcm9jaGUgcXVlIHZvdXMgcG91dmV6IGF2ZWMgbGVzIDI2IGxldHRyZXMg cXVlIG5vdXMgdmVub25zIGQnYXBwcmVuZHJlLCBldCBsJ2Fwb3N0cm9waGUpLgohISEhICdDb3Jy ZWN0JyBwcm9udW5jaWF0aW9uCllvdSBkb24ndCBoYXZlIHRvIGJlIHZlcnkgcHJlY2lzZSBhYm91 dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUgcGhvbmVtZXMgYXJlIGRpc3RyaWJ1 dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9uZSBzb3VuZCBmb3IgYW5vdGhlci4g VGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29ycmVjdCcgcHJvbnVuY2lhdGlvbiwg dGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251bmNpYXRpb27igJR0aGUgZ2VuZXJh bCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBsb25nIGFzIGl0IGRvZXNuJ3Qg c291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4gRm9yIGV4YW1wbGUsIExvamJhbiBy IGNhbiBiZSBwcm9ub3VuY2VkIGxpa2UgdGhlICJyIiBpbiBFbmdsaXNoLCBTY290dGlzaCBvciBG cmVuY2guCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKe0JP WCgKCiAgdGl0bGU9IlRyYXZhaWwgZW4gY291cnMiCgopfQoKQ2V0dGUgcGFnZSBlc3QgdW5lIHRy YWR1Y3Rpb24gZW4gY291cnMgZGUgKCh3YXZlbGVzc29uc2NvbnRpbnVlZCkpIGVuIGZyYW7Dp2Fp cy4gTGUgc3RhdHV0IGFjdHVlbCBlc3QgdW4gaW1wb3J0IGLDqnRlIGV0IG3DqWNoYW50IGRlIGxh IHBhZ2UgYW5nbGFpc2UuIEF1IGZ1ciBldCDDoCBtZXN1cmUgZGUgbGEgdHJhZHVjdGlvbiwgY2V0 dGUgbm90ZSBzZXJhIG1pc2Ugw6Agam91ciBwb3VyIGluZGlxdWVyIGwnw6l0YXQgZCdhdmFuY2Vt ZW50IGRlcyBsZcOnb25zLiAKCgoKw4l0YXQgYWN0dWVswqA6IHRyYWR1Y3Rpb24gZGUgbGEgbGXD p29uIHrDqXJvIGVudGFtw6llLgoKe0JPWH0gCgoKCiFMZXMgbGXDp29ucyBXYXZlIGNvbnRpbnXD qWVzwqA6CgohISFSw6lkaWfDqWVzIHBhciBsYSBrbGFrdSwgYXZlYyBsJ2FpZGUgZGUgbG9qYmFu aXN0ZXMgdmFyacOpcy4gQmFzw6llIHN1ciBsZSB0cmF2YWlsIGRlIGxhIC5rcmliYWNyLiBQcmlu dGVtcHMgMjAxMy4KClRyYWR1aXRlcyBkZSBsJ2FuZ2xhaXMgdmVycyBsZSBmcmFuw6dhaXMgcGFy IERhZWxkaXIuCgoKCiEhTGXDp29ucyBkZSBsb2piYW4g4oCTIGxlw6dvbiB6w6lybzogYXZhbnQg cHJvcG9zCgpDZXMgbGXDp29ucyBzb250IHVuZSB0ZW50YXRpdmUgZGUgZMOpdmVsb3BwZXIgbGVz IMKrwqBMZcOnb25zIGRlIEdvb2dsZSBXYXZlwqDCuywgdW4gZXhjZWxsZW50IGRpZGFjdGljaWVs IGNvbnNhY3LDqSBhdSBsb2piYW4sIMOpY3JpdCBwYXIga3JpYmFjciwgeGFsYm8sIGV0IGQnYXV0 cmVzLCBxdWksIGjDqWxhcywgbmUgY291dnJhaXQgcXVlIGxlcyBxdWF0cmVzIHByZW1pZXJzIGNo YXBpdHJlcyBkdSBwcsOpc2VudCBkaWRhY3RpY2llbC4gSWwgdHJhaXRlIGRlcyByw6hnbGVzIGxl cyBwbHVzIHLDqWNlbnRlcyBkdSBsb2piYW4sIHF1aSBuZSBzb250IHBhcyBjb3V2ZXJ0ZXMgcGFy IGRlIHBsdXMgYW5jaWVucyBjb3VycyB0ZWxzIHF1ZSDCq8KgV2hhdCBpcyBMb2piYW4/wqDCuywg ZXQgwqvCoExvamJhbiBmb3IgQmVnaW5uZXJzwqDCuy4KCgoKU2kgbGUgbG9qYmFuIGVzdCB0b3Rh bGVtZW50IG5vdXZlYXUgcG91ciB2b3VzLCBqZSB2b3VzIHJlY29tbWFuZGUgZCfDqWNvdXRlciB0 b3V0IGxlcyBlbnJlZ2lzdHJlbWVudCBkZSBsb2piYW4gcGFybMOpIHF1ZSB2b3VzIHBvdXJyZXog dHJvdXZlciwgdGFudCBhdmFudCBxdWUgcGVuZGFudCBsYSBsZWN0dXJlIGRlIGNlIGRpZGFjdGlj aWVsLCBhZmluIGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVzIHNvbnMgZXQgbGVzIG1vdHMg ZHUgbGFuZ2FnZS4gRGUgcGx1cywgZXNzYXlleiBkZSBwcm9ub25jZXIgY2UgcXVlIHZvdXMgbGlz ZXogYXZlYyBsJ2FjY2VudCBkdSBsb2piYW4gc2kgdm91cyBsZSBwb3V2ZXouIENlY2kgdm91cyBh aWRlcmEgw6AgcHJvbm9uY2VyIGxlIGxvamJhbi4gCgoKCkVuIHN1aXZhbnQgY2UgZGlkYWN0aWNp ZWwsIGlsIGVzdCBjb25zZWlsbMOpIGRlIHByZW5kcmUgZGVzIHBhdXNlcyBlbnRyZSBsZXMgbGXD p29ucyBhZmluIGRlIGRpZ8OpcmVyIGNlIHF1ZSB2b3VzIGF2ZXogYXBwcmlzLiBKJ2FpIGVzc2F5 w6kgZGUgY29uc3RydWlyZSBjZXMgbGXDp29ucyBkdSBzaW1wbGUgYXUgY29tcGxleGUsIGV0IGQn ZXhjbHVyZSB0b3V0IG1vdCBvdSBjb25jZXB0IHF1aSBuJ2EgcGFzIMOpdMOpIGV4cGxpcXXDqSBk YW5zIGxlcyBsZcOnb24gcHLDqWPDqWRlbnRlLiBVbmUgZm9pcyBleHBsaXF1w6lzLCBpbHMgc29u dCB1dGlsaXPDqXMgbGlicmVtZW50IHRvdXQgYXUgbG9uZyBkdSByZXN0ZSBkdSBkaWRhY3RpY2ll bC4gSidleGhvcnRlIGxlIGxlY3RldXIgw6AgbmUgcGFzIGZhaXJlIGwnaW1wYXNzZSBzdXIgdW4g Y29udGVudSBpbmNvbXByaXPCoDogc2kgdm91cyBhdmV6IHVuZSBxdWVzdGlvbiBvdSDDqnRlcyBp bmNlcnRhaW4gZCd1bmUgY2hvc2UsIG4nYXlleiBwYXMgZGUgY29tcGxleGUgw6AgZGVtYW5kZXIg w6AgbGEgY29tbXVuYXV0w6kgbG9qYmFuLCBxdWkgcGV1dCDDqnRyZSB0cm91dsOpZSBzdXIgI2xv amJhbiBzdXIgbGUgcsOpc2VhdSBJUkMgRnJlZW5vZGUgKGVuIGFuZ2xhaXMpLCBvdSBzdXIgbGEg W2h0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby9sb2piYW4tZnJ8bWFpbGlu Zy1saXN0IGZyYW5jb3Bob25lXS4gRWxsZSBzZXJhIGhldXJldXNlIGQnYWlkZXIuCgoKCkRhbnMg Y2UgZGlkYWN0aWNpZWwsIGxlIHRleHRlIGVuIGxvamJhbiBlc3Qgw6ljcml0IGVuICcnaXRhbGlx dWVzJycuIFBsdXMgdGFyZCwgcXVhbmQgdXRpbGlzw6lzIGNvbW1lcyBtb3RzIGVtcHJ1bnTDqXMg ZHUgbG9qYmFuIGRhbnMgZGVzIHBocmFzZXMgZnJhbsOnYWlzZXMsIGlscyBuZSBzb250IHBhcyBt YXJxdcOpcy4gTGVzIHLDqXBvbnNlcyBkZXMgZXhlcmNpY2VzIHNvbnQgYWZmaWNow6llcyBjb21t ZSB1bmUgYmFycmUgZ3Jpc2UuIFPDqWxlY3Rpb25uZXogY2V0dGUgYmFycmUgcG91ciB2b2lyIGxl IHRleHRlLgoKCgpFbmZpbiwgaidhaSBhdXRhbnQgcXVlIHBvc3NpYmxlIGVzc2F5w6kgZCd1dGls aXNlciBsZXMgbW90cyBkdSBsb2piYW4gcG91ciBkw6lzaWduZXIgbGVzIGNvbnN0cnVjdGlvbnMg Z3JhbW1hdGljYWxlc8KgOiAnJ3N1bWthJ2knJyBhdSBsaWV1IGRlIHByby1zdW10aSwgJydzdW10 Y2l0YScnIGF1IGxpZXUgZGUgbW9kYWwsIGV0ICcnanVmcmEnJyBhdSBsaWV1IGQnw6lub25jw6ku IENlY2kgcGFyY2UgcXVlIGonYWkgbCdpbXByZXNzaW9uIHF1ZSBsZXMgbW90cyBmcmFuw6dhaXMg c29udCBzb3V2ZW50IHNvaXQgYXJiaXRyYWlyZXMsIGF1cXVlbCBjYXMgaWxzIHNvbnQganVzdGVz IGRlcyBtb3RzIGVuIHBsdXMgw6AgYXBwcmVuZHJlLCBzb2l0IHRyb21wZXVycywgYXVxdWVsIGNh cyBpbHMgc29udCBwaXJlIHF1J2ludXRpbGVzLiBEYW5zIGxlcyBkZXV4IGNhcywgcHVpc3F1ZSBj ZXMgbW90cyBzb250IHNww6ljaWZpcXVlcyDDoCBsJ2FwcHJlbnRpc3NhZ2UgZHUgbG9qYmFuIGRl IHRvdXRlIGZhw6dvbiwgaWwgbid5IGEgcGFzIGRlIHJhaXNvbiBwb3VyIGV1eCBkJ2V4aXN0ZXIg Y29tbWUgZGVzIG1vdHMgZnJhbsOnYWlzIGRpc3RpbmN0LgoKCgohISFQcsOpZmFjZS4gU29ucwoK TGEgcHJlbWnDqHJlIGNob3NlIMOgIGZhaXJlIHF1YW5kIHZvdXMgYXBwcmVuZXogdW5lIGxhbmd1 ZSDDqXRyYW5nw6hyZSBlc3QgZGUgdm91cyBmYW1pbGlhcmlzZXIgYXZlYyBsZXMgc29ucyBkdSBs YW5nYWdlIGV0IGxldXIgw6ljcml0dXJlLiBJbCBlbiB2YSBkZSBtw6ptZSBwb3VyIGxlIGxvamJh bi4gSGV1cmV1c2VtZW50LCBsZXMgc29ucyBkdSBsb2piYW4gKF9fcGhvbsOobWVzX18pIHNvbnQg cGx1dMO0dCBzaW1wbGVzLgoKCgohISEhVm95ZWxsZXMKCklsIHkgYSBzaXggdm95ZWxsZXMgZW4g bG9qYmFuLgoKCgp8fCcnYScnIHxjb21tZSBkYW5zIMKrwqBwX19hX19wX19hX1/CoMK7CgonJ2Un JyB8Y29tbWUgZGFucyDCqyBiX19lX19yZ19fw6hfX3JlIMK7CgonJ2knJyB8Y29tbWUgZGFucyDC q8KgbWFjaF9faV9fbmXCoMK7CgonJ28nJyB8Y29tbWUgZGFucyDCqyBfX29fX23DqWdhIMK7LCDC q8KgX19hdV9fdF9fb19fbW9iaWxlwqDCuwoKJyd1JycgfGNvbW1lIGRhbnMgwqvCoF9fb3VfX8Kg wrssIMKrwqBsX19vdV9fcMKgwrsKCicneScnIHxjb21tZSBkYW5zIMKrIG1hdF9fZV9fbG90IMK7 fHwKCgoKTGEgc2l4acOobWUgdm95ZWxsZSwgJyd5JycsIGVzdCBhcHBlbMOpZSB1biBfX3NjaHdh X18gZW4gbGluZ3Vpc3RpcXVlLiBDJ2VzdCB1biDCq8KgZcKgwrsgdHLDqHMgbMOpZ2VyLCBub24g YWNjZW50dcOpLCBqdXN0ZSBtaWxpZXUgZW50cmUgbGUgwqvCoGXCoMK7IG1hcnNlaWxsYWlzICjC qyBtYXRfX2V1X19sb3QgwrspIGV0IGxlIMKrwqBlwqDCuyBtdWV0IHBhcmlzaWVuICjCqyBtYXQn bG90IMK7KS4KCgoKRGV1eCB2b3llbGxlcyBlbnNlbWJsZSBzb250IHByb25vbmPDqWVzIGNvbW1l IHVuIHNvbiAoX19kaXBodG9uZ3VlX18pLiBQYXIgZXhlbXBsZcKgOgoKCgp8fCcnYWknJyB8Y29t bWUgZGFucyDCq8KgY2FuX19haV9fbGxlwqDCuwoKJydhdScnIHxjb21tZSBkYW5zIMKrwqBjX19h b3VfX3RjaG91Y8KgwrsKCicnZWknJyB8Y29tbWUgZGFucyDCq8KgYWJfX2VpX19sbGXCoMK7Cgon J29pJycgfGNvbW1lIGRhbnMgwqvCoGdfX295X1/CoMK7CgonJ2lhJycgfGNvbW1lIGRhbnMgwqvC oHBfX2lhX19ub8KgwrsKCicnaWUnJyB8Y29tbWUgZGFucyDCq8KgaF9faWVfX3LCoMK7CgonJ2l1 JycgfGNvbW1lIGRhbnMgwqvCoGNhX19pbGxvdV9fwqDCuwoKJyd1YScnIHxjb21tZSBkYW5zIMKr wqBxX191b2lfX8KgwrsKCicndWUnJyB8Y29tbWUgZGFucyDCq8KgYnJfX291ZV9fdHRlwqDCuwoK Jyd1bycnIHxjb21tZSBkYW5zIMKrwqBkcl9fb3VvX190wqDCuwoKJyd1aScnIHxjb21tZSBkYW5z IMKrwqBfX291aV9fwqDCuyB8fAoKCgpMZXMgdm95ZWxsZXMgZG91YmzDqWVzIHNvbnQgcmFyZXMu IExlcyBzZXVscyBleGVtcGxlcyBzb250ICcnaWknJywgcHJvbm9uY8OpIGNvbW1lIGRhbnMgwqvC oGZhX19pbGxpX1/CoMK7LCBldCAnJ3V1JycsIHByb25vbmPDqSBjb21tZSBkYW5zIMKrwqBfX091 X19oX19vdV9fwqAhwqDCuyAocXVhbmQgb24gYXBwZWxsZSBxdWVscXUndW4sIG1haXMgcGFzIGNv bW1lIGRhbnMgwqvCoEhvdWhvdcKgwrvCoDogZGFucyBsZSBwcmVtaWVyIGV4ZW1wbGUsIGxlICcn aCcnIGVzdCBtdWV0LCBkYW5zIGxlIGRldXhpw6htZSwgbGUgJydoJycgZXN0IGFzcGlyw6kg4oCT IGNlIHF1aSBzZSB0cmFuc2NyaXJhaXQgZW4gbG9qYmFuICcndSd1JycpCgoKCiEhISFDb25zb25u ZXMKCkxhIHBsdXBhcnQgZGVzIGNvbnNvbm5lcyBzb250IGxlcyBtw6ptZXMgcXUnZW4gZnJhbsOn YWlzLCDDoCBxdWVscXVlIGV4Y2VwdGlvbnMgcHLDqnTCoDoKCgoKfHwnJ2cnJyB8c2UgcHJvbm9u Y2UgdG91am91cnMgY29tbWUgZGFucyDCq8KgX19nX1/DonRlYXXCoMK7LCBqYW1haXMgY29tbWUg ZGFucyDCq8KgX19nX19lbm91eMKgwrsKCicnYycnIHxzZSBwcm9ub25jZSAnJ2NoJycsIGNvbW1l IGRhbnMgwqvCoF9fY2hfX2F0ZWF1wqDCuwoKJyd4JycgfHNlIHByb25vbmNlIGNvbW1lIGRhbnMg bCdhbGxlbWFuZCDCq8KgQmFfX2NoX1/CoMK7LCBsJ2VzcGFnbm9sIMKrwqBfX0pfX29zZcKgwrsg b3UgbCdhcmFiZSDCq8KgX19LaF9fYWxlZMKgwrsKCicncicnIHxhY2NlcHRlIGJlYXVjb3VwIGRl IHByb25vbmNpYXRpb25zICjDoCBsYSBmcmFuw6dhaXNlLCDDoCBsJ2FuZ2xhaXNl4oCmKSBtYWlz IGxhIHByb25vbmNpYXRpb24gaXRhbGllbm5lICgnJ3InJyByb3Vsw6kpIGVzdCBwcsOpZsOpcsOp ZXx8CgoKCkxlIGxvamJhbiBuJ3V0aWxpc2UgcGFzIGxlcyBjYXJhY3TDqHJlcyDCq8KgSMKgwrss IMKrwqBRwqDCuyBvdSDCq8KgV8KgwrssIGV0IGlsIG4neSBhIHBhcyBkZSBjYXJhY3TDqHJlcyBh Y2NlbnR1w6lzIGVuIGxvamJhbi4KCgoKISEhIUNhcmFjdMOocmVzIHNww6ljaWF1eAoKCgpMZSBs b2piYW4gbmUgcmVxdWnDqHJlIGF1Y3VuZSBwb25jdHVhdGlvbiwgbWFpcyBjZXJ0YWluIGNhcmFj dMOocmVzLCBoYWJpdHVlbGxlbWVudCB1dGlsaXPDqXMgY29tbWUgcG9uY3R1YXRpb24gZGFucyBk J2F1dHJlIGxhbmd1ZXMsIGFmZmVjdGVudCBsYSBtYW5pw6hyZSBkb250IGxlIGxvamJhbiBlc3Qg cHJvbm9uY8OpLgoKCgpMZSBzZXVsIGRlIGNlcyBjYXJhY3TDqHJlcyBxdWkgc29pdCBvYmxpZ2F0 b2lyZSBlbiBsb2piYW4gZXN0IGwnYXBvc3Ryb3BoZS4gRW4gZmFpdCwgbCdhcG9zdHJvcGhlIGVz dCBjb25zaWTDqXLDqWUgY29tbWUgdW5lIGxldHRyZSBkdSBsb2piYW4uIFVuZSBhcG9zdHJvcGhl IHPDqXBhcmUgZGV1eCB2b3llbGxlcywgZW1ww6pjaGFudCBjZWxsZXMtY2kgZCfDqnRyZSBwcm9u b25jw6llcyBlbnNlbWJsZSBjb21tZSB1bmUgX19kaXBodG9uZ3VlX18uIEVsbGUgZXN0IGVsbGUg bcOqbWUgcHJvbm9uY8OpZSBjb21tZSB1biDCq8KgaMKgwrsuIFBhciBleGVtcGxlLCDCq8KgJyd1 aScnwqDCuyBlc3Qgbm9ybWFsZW1lbnQgcHJvbm9uY8OpIGNvbW1lIMKrwqBfX291aV9fwqDCuywg bWFpcyDCq8KgJyd1J2knJ8KgwrsgZXN0IHByb25vbmPDqSBjb21tZSDCq8KgX19vdWhpX1/CoMK7 LgoKCgpVbiBwb2ludCBlc3QgdW5lIGNvdXJ0ZSBwYXVzZSDDqXZpdGFudCDDoCBkZXV4IG1vdHMg ZGUgc2UgY29uZm9uZHJlIGwndW4gZGFucyBsJ2F1dHJlLiBMZXMgcsOoZ2xlcyBkdSBsb2piYW4g cmVuZGVudCBmYWNpbGUgbGEgZnVzaW9uIGRlIGRldXggbW90cyBxdWFuZCBsZSBzZWNvbmQgY29t bWVuY2UgcGFyIHVuZSB2b3llbGxlLCBldCBkb25jLCBwYXIgY29udmVudGlvbiwgY2hhcXVlIG1v dCBjb21tZW7Dp2FudCBwYXIgdW5lIHZveWVsbGUgZXN0IHByw6ljw6lkw6kgcGFyIHVuIHBvaW50 LgoKCgpMZXMgdmlyZ3VsZXMgc29udCByYXJlIGVuIGxvamJhbiwgbWFpcyBwZXV2ZW50IMOqdHJl IHV0aWxpc8OpZXMgcG91ciBlbXDDqmNoZXIgZGV1eCB2b3llbGxlcyBkZSBzZSBmb25kcmUgbCd1 bmUgZGFucyBsJ2F1dHJlIHF1YW5kIHZvdXMgbmUgdm91bGV6IHBhcyB1dGlsaXNlciBkJ2Fwb3N0 cm9waGUsIGNlIHF1aSBham91dGVyYWlzIHVuIMKrwqBowqDCuyBlbnRyZSBlbGxlcy4gQXVjdW4g bW90IGxvamJhbiBuJ2EgZGUgdmlyZ3VsZSwgbWFpcyBlbGxlIGVzdCBwYXJmb2lzIHV0aWxpc8Op ZSBkYW5zIGwnw6ljcml0dXJlIGRlcyBub21zIGQnYXV0cmVzIGxhbmd1ZXMuIFBhciBleGVtcGxl LCDCq8KgJydwaSxFUi4nJ8KgwrsgKFBpZXJyZSksIGF1IGxpZXUgZGUgwqvCoCcncGllci4nJ8Kg wrsgKFAteWVyciksIMKrwqAnJ3BpLkVSLicnwqDCuyAoUGk7IEVociksIG91IMKrwqAnJ3BpJ0VS JyfCoMK7IChQaWhlcnIpLgoKCgpMZXMgbGV0dHJlcyBjYXBpdGFsZXMgbmUgc29udCBub3JtYWxl bWVudCBwYXMgdXRpbGlzw6llcyBlbiBsb2piYW4uIE5vdXMgbGVzIHV0aWxpc29ucyBkYW5zIGRl cyBtb3RzIG5vbiBsb2piYW4gKGNvbW1lIMKrwqBQaWVycmXCoMK7KSwgcXVhbmQgbCdhY2NlbnQg dG9uaXF1ZSBkJ3VuIG1vdCBlc3QgZGlmZsOpcmVudCBkZSBjZWx1aSBkZSBsYSBub3JtZSBsb2pi YW4uIExhIG5vcm1lIGNvbnNpc3RlIMOgIG1ldHRyZSB1biBhY2NlbnQgdG9uaXF1ZSBzdXIgbCdh dmFudCBkZXJuacOocmUgc3lsbGFiZS4gUGFyIGV4ZW1wbGUsICcna3VqbWlrY2UnJyAoaW5maXJt acOocmUpLCBlc3QgwqvCoGt1al9fTUlLX19jZcKgwrssIGV0IG5vbiBwYXMgwqvCoF9fS1VKX19t aWtjZcKgwrsuIExlIG5vbSDCq8KgSnVsaWV0dGXCoMK7IHMnw6ljcmlyYWl0IMKrwqAnJ2p1TElF VC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1lIGVuIGZyYW7Dp2FpcywgbWFpcyDCq8KgJydESlVs aSxldC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1lIGVuIGFuZ2xhaXMuCgohISEhQWxwaGFiZXQK CgoKRGFucyBsYSBwbHVwYXJ0IGRlcyBtYW51ZWxzLCBsb3JzIGRlIGwnYXBwcmVudGlzc2FnZSBk J3VuZSBsYW5ndWUsIHZvdXMgYXBwcmVuZXogbCdhbHBoYWJldCBkdSBsYW5nYWdlLCBldCBzYSBw cm9ub25jaWF0aW9uLiBMZXMgbGV0dHJlcyAoJydsZXJmdScnKSDDqXRhbnQgcGx1cyBpbXBvcnRh bnRlcyBlbiBsb2piYW4gcXUnw6AgbCdhY2NvdXR1bcOpZSwgYXV0YW50IGFwcHJlbmRyZSBsZXVy IG5vbXMgcmFwaWRlbWVudC4KCgoKTGVzIGNvbnNvbm5lcyBzb250IHNpbXBsZXPCoDogbGUgbm9t IGQndW5lIGNvbnNvbm5lIGVzdCBjZXR0ZSBsZXR0cmUsIHN1aXZpZSBkZSDCq8KgecKgwrsuIEFp bnNpLCBsZXMgY29uc29ubmVzIGR1IGxvamJhbiwgwqvCoGLCoMK7LCDCq8KgY8KgwrssIMKrwqBk wqDCuywgwqvCoGbCoMK7LCDCq8KgZ8KgwrvigKYgc29udCBhcHBlbMOpZXMgwqvCoCcnYnkuJyfC oMK7LCDCq8KgJydjeS4nJ8KgwrssIMKrwqAnJ2R5LicnwqDCuywgwqvCoCcnZnkuJyfCoMK7LCDC q8KgJydneS4nJ8KgwrvigKYgZW4gbG9qYmFuIChlbiB1dGlsaXNhbnQgdW4gcG9pbnQsIGNvbW1l IGTDqWNyaXQgZGFucyBsYSBwYXJ0aWUgcHLDqWPDqWRlbnRlKS4KCgoKTGVzIHZveWVsbGVzIF9f c2VyYWllbnRfXyBhcHBlbMOpZXMgwqvCoCcnLmF5JyfCoMK7LCDCq8KgJycuZXknJ8KgwrssIMKr wqAnJy5peScnwqDCu+KApiwgc2kgYyfDqXRhaXQgbW9pbnMgZGlmZmljaWxlIMOgIHByb25vbmNl ci4gQXUgbGlldSBkZSDDp2EsIGVsbGVzIHNvbnQgbm9tbcOpZSBlbiBzdWl2YW50IGxlIHNvbiBk ZSBsYSB2b3llbGxlIHBhciBsZSBtb3QgJydidScnLCBxdWkgc2lnbmlmaWUgc2ltcGxlbWVudCDC q8KgbGV0dHJlwqDCuy4gQWluc2ksIGxlcyB2b3llbGxlcyBkdSBsb2piYW4gc29udMKgOiAgwqvC oCcnLmFidScnwqDCuywgwqvCoCcnLmVidScnwqDCuywgwqvCoCcnLmlidScnwqDCuywgwqsgJycu b2J1JycgwrssIMKrwqAnJy51YnUnJ8KgwrssIMKrwqAnJy55YnUnJ8KgwrsuCgoKCkwnYXBvc3Ry b3BoZSBlc3QgY29uc2lkw6lyw6llIGNvbW1lIHVuZSB2cmFpIGxldHRyZSBlbiBsb2piYW4sIGV0 IGVzdCBub21tw6llIMKrwqAnJy55J3kuJyfCoMK7ICjCq8KgZXVoZXXCoMK74oCmIFVuIHBldSBj b21tZSB1bmUgcGV0aXRlIHRvdXgpLgoKCgpMZSBsb2piYW4gYSB1biBtb3llbiBkZSBzZSByw6lm w6lyZXIgw6AgbGEgcGx1cGFydCBkZXMgbGV0dHJlcyBhdXhxdWVsbGVzIHZvdXMgcG91dmV6IHBl bnNlci4gU2kgdm91cyBkw6lzaXJleiBkw6hzIG1haW50ZW5hbnQgw6lwZWxlciB2b3RyZSBub20g ZW4gbG9qYmFuLCBldCBxdWUgY2VsdWkgY2kgcG9zc8OoZGUgdW4gwqvCoEjCoMK7LCDCq8KgUcKg wrsgb3UgwqvCoFfCoMK7LCB2b3VzIHBvdXZleiB1dGlsaXNlciDCqyAnJy55J3kuYnUnJyDCuywg wqsgJydreS5idScnIMK7IGV0IMKrICcndnkuYnUnJyDCuy4gQWluc2ksIMKrwqBTY2h3YXJ6ZW5l Z2dlcsKgwrsgZXN0IMOpcGVsw6kgZW4gbG9qYmFuwqA6CgonJ3N5LiBjeS4gLnkneWJ1IHZ5YnUu IC5hYnUgcnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4nJwoKCgpFdCDDqXBl bGVyIF9fw6dhX18gZXN0IHVuZSB0w6JjaGUgZGlnbmUgZHUgVGVybWluYXRvcsKgIQoKCgpNYWlu dGVuYW50LCDDqXBlbGV6IHZvdHJlIG5vbSBlbiBsb2piYW4gKGxlIGNhcyDDqWNow6lhbnQsIGRl IGxhIG1hbmnDqHJlIGxhIHBsdXMgcHJvY2hlIHF1ZSB2b3VzIHBvdXZleiBhdmVjIGxlcyAyNiBs ZXR0cmVzIHF1ZSBub3VzIHZlbm9ucyBkJ2FwcHJlbmRyZSwgZXQgbCdhcG9zdHJvcGhlKS4KCiEh ISEgJ0NvcnJlY3QnIHByb251bmNpYXRpb24KCllvdSBkb24ndCBoYXZlIHRvIGJlIHZlcnkgcHJl Y2lzZSBhYm91dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUgcGhvbmVtZXMgYXJl IGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9uZSBzb3VuZCBmb3Ig YW5vdGhlci4gVGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29ycmVjdCcgcHJvbnVu Y2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251bmNpYXRpb27igJR0 aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBsb25nIGFzIGl0 IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4gRm9yIGV4YW1wbGUs IExvamJhbiByIGNhbiBiZSBwcm9ub3VuY2VkIGxpa2UgdGhlICJyIiBpbiBFbmdsaXNoLCBTY290 dGlzaCBvciBGcmVuY2guCgpUd28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2YsIHRob3VnaCwgYXJl IHByb25vdW5jaW5nIExvamJhbiAnJ2knJyBhbmQgJyd1JycgbGlrZSBTdGFuZGFyZCBCcml0aXNo IEVuZ2xpc2ggImhpdCIgYW5kICJidXQiIChOb3J0aGVybiBFbmdsaXNoICJidXQiIGlzIGZpbmUh KS4gVGhpcyBpcyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkgdGhlc2Ug dHdvLCBhcmUgdXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8gZmluZCB0 aGVtIGhhcmQgdG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMgc3BpdHRp bmcgb3V0IHRoZSAnJ3pkJycgaW4gJyd6ZGFuaScnIChob3VzZSksIHlvdSBjYW4gc2F5IHrJqmRh bmnigJR3aGVyZSB0aGUgIsmqIiBpcyB2ZXJ5IHNob3J0LCBidXQgdGhlIGZpbmFsICJpIiBoYXMg dG8gYmUgbG9uZy4KCiEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSkKCldhdGNoIGFueSBmaWxtIHdo ZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBv ZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBh IHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uCgpf XycnbWknZSAucm9iaW4uJydfXwoKIkktYW0tbmFtZWQgUm9iaW4iCgoiSSdtIFJvYmluIgoKJydt aSdlJycgaXMgcmVsYXRlZCB0byAnJ21pJycsIHdoaWNoIGlzICdJJywgJ21lJyBhbmQgc28gb24u IEl0J3MgYSBnb29kIGV4YW1wbGUgb2YgdGhlIGFwb3N0cm9waGUgc2VwYXJhdGluZyB0d28gdm93 ZWxzLCBhbmQgc291bmRzIGEgYml0IGxpa2UgIm1lIGhlaCIuCgpUaGlzIGd1eSBSb2JpbiBpcyBs dWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91dCBh bnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBuYW1l cyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5pc2VkJy4gVGhp cyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFtZeKAlGJ1dCBp biBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9yIGV4YW1wbGUs IEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgIkpvc2UiIHNvbWV0aGluZyBsaWtl ICJIb3pheSIsIGFuZCAiTWFyZ2FyZXQiIGluIENoaW5lc2UgaXMgIk1hZ2VsaXRhIi4gU29tZSBz b3VuZHMganVzdCBkb24ndCBleGlzdCBpbiBzb21lIGxhbmd1YWdlcywgc28gdGhlIGZpcnN0IHRo aW5nIHlvdSBuZWVkIHRvIGRvIGlzIHJld3JpdGUgdGhlIG5hbWUgc28gdGhhdCBpdCBvbmx5IGNv bnRhaW5zIExvamJhbiBzb3VuZHMsIGFuZCBpcyBzcGVsdCBpbiBhIExvamJhbiB3YXkuCgpfX05v dGU6IF9fVGhlIGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwg eW91IGJlIHVzaW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVy aWNhbiB2b3dlbHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBv ZiAiUm9iaW4iIGlzIHJlYXNvbmFibHkgYXBwcm94aW1hdGVkIGJ5ICcnLnJvYmluLicnOyBidXQg dGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcnLnJhYnluLicnIG9yICcnLnJhYixu LicnLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29k IGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ugc2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlv bnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWluIG9mIHNhbHQuCgpMZXQncyB0YWtlIHRoZSBFbmds aXNoIG5hbWUgIlN1c2FuIi4gVGhlIHR3byAnJ3MnJydzIGFyZSBwcm9ub3VuY2VkIGRpZmZlcmVu dGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAieiLigJRhbmQgdGhlICJhIiBpcyBu b3QgcmVhbGx5IGFuICJhIiBzb3VuZCwgaXQncyB0aGUgJ3NjaHdhJyB3ZSBqdXN0IG1lbnRpb25l ZC4gU28gIlN1c2FuIiBjb21lcyBvdXQgaW4gTG9qYmFuIGFzICcnLnN1enluLicnLgoKWW91IG1h eSBoYXZlIG5vdGljZWQgdHdvIGV4dHJhIGZ1bGwgc3RvcHMgKHBlcmlvZHMpIHRoZXJlLiBUaGlz IGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGlmIHlvdSBkaWRuJ3QgcGF1c2UsIHlvdSBtaWdodCBub3Qg a25vdyB3aGVyZSB0aGUgcHJldmlvdXMgd29yZCBlbmRlZCBhbmQgdGhlIG5leHQgd29yZCBiZWdh bi4KCgoKWW91IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwgc3RvcCBpbiBiZXR3ZWVuIGEgcGVyc29u J3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdCdzIG5vdCBjb21wdWxzb3J5KSwgc28g IkppbSBKb25lcyIgYmVjb21lcyAnJy5kamltLmRqb256LicnLgoKQW4gaW1wb3J0YW50IHJ1bGUg Zm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3QgbGV0dGVyIG9mIGEgY21ldmxh IChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMgdG8gcHJl dmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlzIGFuZCBp cyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2VsKS4gV2Ug dXN1YWxseSB1c2UgJydzJ2ZvciB0aGlzOyBzbyBpbiBMb2piYW4sICJNYXJ5IiBiZWNvbWVzICcn Lm1lcmlzLicnICwgIkpvZSIgYmVjb21lcyAnJy5kam9zLicnIGFuZCBzbyBvbi4gQW4gYWx0ZXJu YXRpdmUgaXMgdG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBzbyAiTWFyeSIgd291bGQgYmVj b21lICcnLm1lci4nJyBvciAnJy5tZWlyLicnLgoKCgpUaGUgZmluYWwgcG9pbnQgaXMgc3RyZXNz LiBBcyB3ZSd2ZSBzZWVuLCBMb2piYW4gd29yZHMgYXJlIHN0cmVzc2VkIG9uIHRoZSBwZW51bHRp bWF0ZSBzeWxsYWJsZSwgYW5kIGlmIGEgbmFtZSBoYXMgZGlmZmVyZW50IHN0cmVzcywgd2UgdXNl IGNhcGl0YWwgbGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IHRoZSBFbmdsaXNoIGFuZCBGcmVuY2gg bmFtZXMgIlJvYmVydCIgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4gTG9qYmFuOiB0aGUgRW5nbGlz aCBuYW1lIGlzICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9yICcnLnJhYixydC4nJyBpbiBz b21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBpcyAnJy5yb0JFUi4nJy4KClRv IGdpdmUgYW4gaWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJlIHNvbWUgbmFtZXMg b2YgZmFtb3VzIHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGluIExvamJhbi4KCgoK fHxfX0VuZ2xpc2hfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfCcnLm1hZ3J5dC50YXRjeXIuJycgKG5v ICJ0aCIgaW4gTG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRoZSB3b3JsZCBjYW4n dCBzYXkgaXQhKQoKTWljayBKYWdnZXIgfCcnLm1pay5kamFneXMuJycgfHwKCnx8X19GcmVuY2hf XwoKTmFwb2xlb24gQm9uYXBhcnRlIHwnJy5uYXBvbGUsT04uYm9uYVBBUlQuJycKCkp1bGlldHRl IEJpbm9jaGUgfCcnLmp1TElFVC5iaW5PQy4nJyB8fAoKfHxfX0NoaW5lc2VfXwoKTGFvemkgfCcn LmxhdWR6LicnCgpNYW8gWmVkb25nIHwnJy5tYXVkenlEWU4uJycgKEZpbmFsICcnbmcnJyBpcyBp biBMb2piYW4gY29udmVudGlvbmFsbHkgdHVybmVkIGludG8gbi4pIHx8Cgp8fF9fVHVya2lzaF9f CgpNdXN0YWZhIEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4nJwoKRXJraW4gS29yYXkgfCcnLmVy a2luLmtvcmFpcy4nJyB8fAoKfHxfX0dlcm1hbl9fCgpGcmllZHJpY2ggTmlldHpzY2hlIHwnJy5m cmlkcml4Lm5pdGN5cy4nJwoKQ2xhcmEgU2NodW1hbm4gfCcnLmtsYXJhcy5jdW1hbi4nJyB8fAoK fHxfX1NwYW5pc2hfXwoKSXNhYmVsIEFsbGVuZGUgfCcnLml6YUJFTC5haWVuZGVzLicnCgpDaGUg R3VldmFyYSB8JycudGNlZ2V2YXJhcy4nJyB8fAoKX19FeGVyY2lzZV9fLgoKV2hlcmUgYXJlIHRo ZXNlIHBsYWNlcz8KCiMubnUsSU9SSy4KCiMucm9tYXMuCgojLnhhdmFuYXMuCgojLmthcmRpZi4K CiMuYmVpZGppbi4KCiMuQU5rYXJhcy4KCiMuQUxiZWtlcmtpcy4KCiMudmFua3V2ZXIuCgojLmtl aXB0YXVuLgoKIy50YWliZWlzLgoKIy5ib24uCgojLmRlbGlzLgoKIy5uaXMuCgojLmF0aW5hcy4K CiMubGlkei4KCiMueGVsc2lua2lzLgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6fn4KCiN+fmdyYXks Z3JheTpOZXcgWW9yazogVVNBfn4KCiN+fmdyYXksZ3JheTpSb21lOiBJdGFseX5+Cgojfn5ncmF5 LGdyYXk6SGF2YW5hOiBDdWJhfn4KCiN+fmdyYXksZ3JheTpDYXJkaWZmOiBXYWxlcyAoVGhlIFdl bHNoIGZvciAiQ2FyZGlmZiIgaXMgIkNhZXJkeWRkIiwgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRv IHNvbWV0aGluZyBsaWtlIGthaXJkeWQuLil+fgoKI35+Z3JheSxncmF5OkJlaWppbmc6IENoaW5h fn4KCiN+fmdyYXksZ3JheTpBbmthcmE6IFR1cmtleX5+Cgojfn5ncmF5LGdyYXk6QWxiZXF1ZXJx dWU6IE5ldyBNZXhpY28sIFVTQX5+Cgojfn5ncmF5LGdyYXk6VmFuY291dmVyOiBDYW5hZGF+fgoK I35+Z3JheSxncmF5OkNhcGUgVG93bjogU291dGggQWZyaWNhfn4KCiN+fmdyYXksZ3JheTpUYWlw ZWk6IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBp bnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBtZWFudCB0byBiZSBh IGNvdXJzZSBvbiBNYW5kYXJpbiEpfn4KCiN+fmdyYXksZ3JheTpCb25uOiBHZXJtYW55fn4KCiN+ fmdyYXksZ3JheTpEZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3IgIkRlbGhpIiBpcyAiRGlsbMOu Iiwgd2hpY2ggd291bGQgZ2l2ZSBkaWxpeXMuIG9yIGRpbGknaXMuLil+fgoKI35+Z3JheSxncmF5 Ok5pY2U6IEZyYW5jZX5+Cgojfn5ncmF5LGdyYXk6QXRoZW5zOiBHcmVlY2UgKCJBdGhpbmEiIGlu IEdyZWVrKX5+Cgojfn5ncmF5LGdyYXk6TGVlZHM6IEVuZ2xhbmR+fgoKI35+Z3JheSxncmF5Okhl bHNpbmtpOiBGaW5sYW5kfn4KCl9fRXhlcmNpc2VfXy4KCkxvamJhbmlzZSB0aGUgZm9sbG93aW5n IG5hbWVzCgojSm9obgoKI01lbGlzc2EKCiNBbWFuZGEKCiNNYXR0aGV3CgojTWljaGFlbAoKI0Rh dmlkIEJvd2llCgojSmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5 IFdlYXZlcgoKI1JpY2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2Fu IFNhbHZhZG9yCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTpUaGVyZSBhcmUgdXN1YWxseSBhbHRlcm5h dGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9wbGUgcHJvbm91bmNl IHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4YWN0IHNvdW5kIGRv ZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0d28g TG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcgYXMgZXZlcnlvbmUg a25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0Ln5+Cgojfn5ncmF5LGdyYXk6 LmRqb24uIChvciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMpfn4KCiN+fmdyYXksZ3JheToubWVs aXN5cy5+fgoKI35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdhaW4sIGRlcGVuZGluZyBvbiB5b3Vy IGFjY2VudCwgdGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBpbml0aWFsIGEgbWF5IGJlIHksIGFu ZCB0aGUgbWlkZGxlIGEgbWF5IGJlIGUuKX5+Cgojfn5ncmF5LGdyYXk6Lm1hdGl1cy5+fgoKI35+ Z3JheSxncmF5Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVwZW5kaW5nIG9uIGhvdyB5b3Ugc2F5 IGl0Ln5+Cgojfn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG9yIC5ibyxpcy4gKGJ1dCBub3Qg LmJ1LGlzLiDigJQgdGhhdCdzIHRoZSBrbmlmZSl+fgoKI35+Z3JheSxncmF5Oi5kamVpbi5vc3Rp bi5+fgoKI35+Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+fgoKI35+Z3JheSxncmF5Oi5zaWdv cm5pcy51aXZ5ci4gb3IgLnN5Z29ybmlzLnVpdnlyLn5+Cgojfn5ncmF5LGdyYXk6LnJpdGN5cmQu bmlrc3luLn5+Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiB3aXRoIEVuZ2xpc2ggc3RyZXNzLCAu SVN0YW5idWwuIHdpdGggQW1lcmljYW4sIC5pc3RhbmJ1bC4gd2l0aCBUdXJraXNoLiBMb2piYW5p c3RzIGdlbmVyYWxseSBwcmVmZXIgdG8gYmFzZSBjbWV2bGEgb24gbG9jYWwgcHJvbnVuY2lhdGlv biwgYnV0IHRoaXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUufn4KCiN+fmdyYXksZ3JheToubWFE UklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+Z3JheSxncmF5Oi5zYW4uc2FsdmFE T1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+PC9odG1sPn5+CgohISEhTG9qYmFuIHdv cmRzIGFzIG5hbWVzCgpCeSBub3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExvamJhbmlzZSB5b3Vy IG93biBuYW1lLiBIb3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3Vy IG5hbWUgaW50byBMb2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkg b3IgYWRvcHQgYSBjb21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNh bnMgZ2VuZXJhbGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwg cGFydGx5IGJlY2F1c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVj YXVzZSB0aGV5IGRvbid0IGV4cGVjdCB0aGUgIndhc2ljaHUiIHRvIGJlIGFibGUgdG8gcHJvbm91 bmNlIHdvcmRzIGluIExha290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhCgpMb2piYW4gd29yZHMg KGV4Y2VwdCBjbWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZb3UgY2FuIHVzZSBsb2piYW4gd29yZHMg YXMgbmFtZXMgdG9vLiBCdXQgaWYgeW91IHByZWZlciB0aGF0IHlvdXIgbmFtZSBpcyBhIGNtZXZs YSBhbmQgaXQgZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91IGNhbiBlaXRoZXIgYWRkIGEgY29uc29u YW50IHRvIHRoZSBlbmQgb2YgaXQgb3IganVzdCBjaG9wIHRoZSBlbmQgdm93ZWwgb2ZmLgoKSGVy ZSBhcmUgYSBmZXcgZXhhbXBsZXMgKG9yaWdpbmFsIG5hbWUsIG1lYW5pbmcsIG5hbWUgYW5kIG5h bWUgYXMgY21ldmxhKToKCipGaXNoIOKAkyBmaW5wZSDigJMgJycuZmlucC4nJwoKKkJqw7ZybiAo U2NhbmRpbmF2aWFuID0gYmVhcikg4oCTIGNyaWJlIOKAkyAnJy5jcmliLicnCgoqR3JlZW4g4oCT IGNyaW5vIOKAkyAnJy5jcmluLicnCgoqTWVpIExpIChDaGluZXNlID0gYmVhdXRpZnVsKSDigJMg bWVsYmkg4oCTICcnLm1lbGIuJycKCipBeWhhbiAoVHVya2lzaCA9IE1vb24gTG9yZCkg4oCTIGx1 bnJhIG5vYmxpICg9IGx1cm5vYmxpKSDigJMgJycubHVybm9ibGlzLicnCgohIUxvamJhbiBMZXNz b25zIOKAkyBsZXNzb24gb25lIChicmlkaSwganVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCgpBICcn YnJpZGknJyBpcyB0aGUgbW9zdCBjZW50cmFsIHVuaXQgb2YgTG9qYmFuIHV0dGVyYW5jZXMuIFRo ZSBjb25jZXB0IGlzIHZlcnkgY2xvc2UgdG8gd2hhdCB3ZSBjYWxsIGEgcHJvcG9zaXRpb24gaW4g RW5nbGlzaC4gQSBicmlkaSBpcyBhIGNsYWltIHRoYXQgc29tZSBvYmplY3RzIHN0YW5kIGluIGEg cmVsYXRpb24gdG8gZWFjaCBvdGhlciwgb3IgdGhhdCBhbiBvYmplY3QgaGFzIHNvbWUgcHJvcGVy dHkuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvICcnanVmcmEnJywgd2hpY2ggYXJlIG1lcmVs eSBMb2piYW4gdXR0ZXJhbmNlcywgd2hpY2ggY2FuIGJlIGJyaWRpIG9yIGFueXRoaW5nIGVsc2Ug YmVpbmcgc2FpZC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGJyaWRpIGFuZCBhIGp1ZnJhIGlz IHRoYXQgYSBqdWZyYSBkb2VzIG5vdCBuZWNlc3NhcmlseSBzdGF0ZSBhbnl0aGluZywgd2hpbGUg YSBicmlkaSBkb2VzLiBUaHVzLCBhIGJyaWRpIG1pZ2h0IGJlIHRydWUgb3IgZmFsc2UsIHdoaWxl IG5vdCBhbGwganVmcmEgY2FuIGJlIHNhaWQgdG8gYmUgc3VjaC4KClRvIGhhdmUgc29tZSBleGFt cGxlcyAoaW4gRW5nbGlzaCwgdG8gYmVnaW4gd2l0aCksIOKAnE1vemFydCB3YXMgdGhlIGdyZWF0 ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1l4oCdIGlzIGEgYnJpZGksIGJlY2F1c2UgaXQgbWFrZXMg YSBjbGFpbSB3aXRoIGEgdHJ1dGggdmFsdWUsIGFuZCBpdCBpbnZvbHZlcyBhbiBvYmplY3QsIE1v emFydCwgYW5kIGEgcHJvcGVydHksIGJlaW5nIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwg dGltZS4gT24gdGhlIGNvbnRyYXJ5LCDigJxPdyEgTXkgdG9lIeKAnSBpcyBub3QgYSBicmlkaSwg c2luY2UgaXQgZG9lcyBub3QgaW52b2x2ZSBhIHJlbGF0aW9uLCBhbmQgdGh1cyBkb2VzIG5vdCBz dGF0ZSBhbnl0aGluZy4gQm90aCwgdGhvdWdoLCBhcmUganVmcmEuCgpUcnkgdG8gaWRlbnRpZnkg dGhlIGJyaWRpIGFtb25nIHRoZXNlIEVuZ2xpc2gganVmcmE6CgoKCiMg4oCcSSBoYXRlIGl0IHdo ZW4geW91IGRvIHRoYXQu4oCdCgojIOKAnFJ1bnMu4oCdCgojIOKAnFdvYWgsIHRoYXQgbG9va3Mg ZGVsaWNpb3VzIeKAnQoKIyDigJxHZWV6LCBub3QgYWdhaW4u4oCdCgojIOKAnE5vLCBJIG93biB0 aHJlZSBjYXJz4oCdCgojIOKAnE5pbmV0ZWVuIG1pbnV0ZXMgcGFzdCBlaWdodC7igJ0KCiMg4oCc VGhpcyBTYXR1cmRheSwgeWVzLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OjEsIDMgYW5kIDUg YXJlIGJyaWRpLiAyIGNvbnRhaW5zIG5vIG9iamVjdHMgYW5kIHRoZSByZXN0IGNvbnRhaW4gbm8g cmVsYXRpb24gb3IgY2xhaW0gb2YgYSBwcm9wZXJ0eS5+fgoKCgpQdXQgaW4gTG9qYmFuIHRlcm1z LCBhIGJyaWRpIGNvbnNpc3RzIG9mIG9uZSAnJ3NlbGJyaScnLCBhbmQgb25lIG9yIG1vcmUgJydz dW10aScnLiBUaGUgc2VsYnJpIGlzIHRoZSByZWxhdGlvbiBvciBjbGFpbSBhYm91dCB0aGUgb2Jq ZWN0LCBhbmQgdGhlIHN1bXRpIGFyZSB0aGUgb2JqZWN0cyB3aGljaCBhcmUgaW4gYSByZWxhdGlv bi4gTm90ZSB0aGF0IOKAnG9iamVjdOKAnSBpcyBub3QgYSBwZXJmZWN0IHRyYW5zbGF0aW9uIG9m IOKAnHN1bXRp4oCdLCBzaW5jZSDigJxzdW10aeKAnSBjYW4gcmVmZXIgdG8gbm90IGp1c3QgcGh5 c2ljYWwgb2JqZWN0cywgYnV0IGNhbiBhbHNvIHB1cmVseSBhYnN0cmFjdCB0aGluZ3MgbGlrZSDi gJxUaGUgaWRlYSBvZiB3YXJmYXJl4oCdLiBBIGJldHRlciB0cmFuc2xhdGlvbiB3b3VsZCBiZSBz b21ldGhpbmcgbGlrZSDigJxzdWJqZWN0LCBkaXJlY3Qgb3IgaW5kaXJlY3Qgb2JqZWN04oCdIGZv ciBzdW10aSwgYW5kIOKAnHZlcmLigJ0gZm9yIHNlbGJyaSwgdGhvdWdoLCBhcyB3ZSB3aWxsIHNl ZSwgdGhpcyBpcyBub3Qgb3B0aW1hbCBlaXRoZXIuCgpXZSBjYW4gbm93IHdyaXRlIHRoZSBmaXJz dCBpbXBvcnRhbnQgbGVzc29uIGRvd246CgpicmlkaSA9IHNlbGJyaSArIG9uZSBvciBtb3JlIHN1 bXRpCgpQdXQgYW5vdGhlciB3YXksIGEgYnJpZGkgc3RhdGVzIHRoYXQgc29tZSBzdW10aSBkby9h cmUgc29tZXRoaW5nIGV4cGxhaW5lZCBieSBhIHNlbGJyaS4KCgoKSWRlbnRpZnkgdGhlIHN1bXRp IGFuZCBzZWxicmkgZXF1aXZhbGVudHMgaW4gdGhlc2UgRW5nbGlzaCBqdWZyYToKCuKAnEkgd2ls bCBwaWNrIHVwIG15IGRhdWdodGVycyB3aXRoIG15IGNhcuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OnNlbGJyaTog4oCccGljayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBk YXVnaHRlcnPigJ0sIOKAnG15IGNhcuKAnX5+CgoKCuKAnEhlIGJvdWdodCBzaXh0ZWVuIG5ldyBz aGlydHMgZnJvbSBMZWEmTGV2eSdzIGZvciBqdXN0IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxib3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRp OiDigJxIZeKAnSwg4oCcc2l4dGVlbiBuZXcgc2hpcnRz4oCdLCDigJxMZWEmTGV3aXPigJ0gYW5k IOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4KCgoKU2luY2UgdGhlc2UgY29uY2VwdHMgYXJlIHNv IGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV0J3MgaGF2ZSBhIHRoaXJkIGV4YW1wbGU6IOKAnFNv IGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3RoaW5nIGFib3V0IHRoZSBhbW91bnQgb2Ygc3VscGh1 ciBkaW94aWRlLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcaGFzIGRvbmUg KGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQQeKAnSwg4oCcbm90aGluZ+KAnSBhbmQg4oCcdGhl IGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGXigJ1+fgoKCgpOb3cgdHJ5IGJlZ2luIG1ha2luZyBM b2piYW4gYnJpZGkuIEZvciB0aGlzIHlvdSB3aWxsIG5lZWQgdG8gdXNlIHNvbWUgd29yZHMsIHdo aWNoIGNhbiBhY3QgYXMgc2VsYnJpOgoKJydfX2R1bmRhX18nJyB4MSBnaXZlcyB4MiB0byB4MyAo d2l0aG91dCBwYXltZW50KQoKJydfX3BlbHh1X18nJyB4MSBpcyB5ZWxsb3cKCicnX196ZGFuaV9f JycgeDEgaXMgYSBob21lIG9mIHgyCgoKCk5vdGljZSB0aGF0IHRoZXNlIHdvcmRzIG1lYW5pbmcg 4oCcZ2l2ZeKAnSwg4oCceWVsbG934oCdIGFuZCDigJxob21l4oCdIHdvdWxkIGJlIGNvbnNpZGVy ZWQgYSB2ZXJiLCBhbiBhZGplY3RpdmUgYW5kIGEgbm91biBpbiBFbmdsaXNoLiBJbiBMb2piYW4s IHRoZXJlIGFyZSBubyBzdWNoIGNhdGVnb3JpZXMgYW5kIG5vIHN1Y2ggZGlzdGluY3Rpb24uICcn ZHVuZGEnJyBjYW4gYmUgdHJhbnNsYXRlZCDigJxnaXZlc+KAnSAodmVyYiksIOKAnGlzIGEgZ2l2 ZXLigJ0gKG5vdW4pLCDigJxpcyBnaXZpbmfigJ0gKGFkamVjdGl2ZSkgYXMgd2VsbCBhcyB0byBh biBhZHZlcmIgZm9ybS4gVGhleSBhbGwgYWN0IGFzIHNlbGJyaSwgYW5kIGFyZSB1c2VkIGluIHRo ZSBzYW1lIHdheS4KCgoKQXMgd2VsbCBhcyBhIGZldyB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBz dW10aToKCicnX19taV9fJycg4oCcSeKAnSBvciDigJx3ZeKAnSDigJMgdGhlIG9uZSBvciB0aG9z ZSB3aG8gYXJlIHNwZWFraW5nLgoKJydfX3RpX18nJyDigJx0aGlz4oCdIOKAkyBhIGNsb3NlIHRo aW5nIG9yIGV2ZW50IG5lYXJieSB3aGljaCBjYW4gYmUgcG9pbnRlZCB0byBieSB0aGUgc3BlYWtl ci4KCicnX19kb19fJycg4oCceW914oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgYmVp bmcgc3Bva2VuIHRvLgoKCgpTZWUgdGhlIHN0cmFuZ2UgdHJhbnNsYXRpb25zIG9mIHRoZSBzZWxi cmkgYWJvdmUgLSBlc3BlY2lhbGx5IHRoZSB4MSwgeDIgYW5kIHgzPyBUaG9zZSBhcmUgY2FsbGVk IHN1bXRpIHBsYWNlcy4gVGhleSBhcmUgcGxhY2VzIHdoZXJlIHN1bXRpIGNhbiBnbyB0byBmaWxs IGEgYnJpZGkuIEZpbGxpbmcgYSBzdW10aSBpbiBhIHBsYWNlIHN0YXRlcyB0aGF0IHRoZSBzdW10 aSBmaXRzIGluIHRoYXQgcGxhY2UuIFRoZSBzZWNvbmQgcGxhY2Ugb2YgJydkdW5kYScnLCBmb3Ig ZXhhbXBsZSwgeDIsIGlzIHRoZSB0aGluZyBiZWluZyBnaXZlbi4gVGhlIHRoaXJkIGlzIHRoZSBv YmplY3Qgd2hpY2ggcmVjZWl2ZXMgdGhlIHRoaW5nLiBOb3RpY2UgYWxzbyB0aGF0IHRoZSB0cmFu c2xhdGlvbiBvZiAnJ2R1bmRhJycgaGFzIHRoZSB3b3JkIOKAnHRv4oCdIGluIGl0LiBUaGlzIGlz IGJlY2F1c2UsIHdoaWxlIHRoaXMgd29yZCBpcyBuZWVkZWQgaW4gRW5nbGlzaCB0byBzaWduaWZ5 IHRoZSByZWNlaXZlciwgdGhlIHJlY2VpdmVyIGlzIGluIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBv ZiAnJ2R1bmRhJycuIFNvIHdoZW4geW91IGZpbGwgdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcn ZHVuZGEnJywgdGhlIHN1bXRpIHlvdSBmaWxsIGluIGlzIGFsd2F5cyB0aGUgcmVjZWl2ZXIsIGFu ZCB5b3UgZG9uJ3QgbmVlZCBhbiBlcXVpdmFsZW50IHRvIHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpU byBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBzYXkgdGhlIHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRo ZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1bXRpLgoKVXN1YWwgYnJpZGk6IHt4MSBzdW10aX0g X197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gzIHN1bXRpfSB7eDQgc3VtdGl9IHt4NSBzdW10aX0g e2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4gYmUgcGxheWVkIGFyb3VuZCB3aXRoLCBidXQgZm9y IG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9ybS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlz IHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydtaSBkdW5kYSB0aSBkbycnLCB3aXRoIHRoZSB0aHJl ZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCc VGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFu aSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3JkZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEg cGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlvdSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0 ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIHllbGxvdy7i gJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoK Ck11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIgYXJlIHNlcGFyYXRlZCBieSAnJy5pJycg VGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2YgZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxs eSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFmdGVyIHRoZW0uIEl0J3Mgb2Z0ZW4gbGVm dCBvdXQgYmVmb3JlIHRoZSBmaXJzdCBicmlkaSwgdGhvdWdoLCBhcyBpbiBhbGwgdGhlc2UgZXhh bXBsZXM6CgonJ19fLmlfXycnIFNlbnRlbmNlIHNlcGFyYXRvci4gU2VwYXJhdGVzIGFueSB0d28g anVmcmEgKGFuZCB0aGVyZWZvcmUgYWxzbyBicmlkaSkuCgoKCicndGkgemRhbmkgbWkgIC5pIHRp IHBlbHh1Jycg4oCdVGhpcyBpcyBhIGhvbWUgdG8gbWUuIFRoaXMgaXMgeWVsbG93LuKAnQoKCgpC ZWZvcmUgeW91IG1vdmUgb24gdG8gdGhlIG5leHQgbGVzc29uLCBJIHJlY29tbWVuZCB0aGF0IHlv dSB0YWtlIGEgYnJlYWsgZm9yIGF0IGxlYXN0IHNldmVuIG1pbnV0ZXMgdG8gbGV0IHRoZSBpbmZv cm1hdGlvbiBzaW5rIGluLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0d28gKEZB IGFuZCB6bydlKQoKTW9zdCBzZWxicmkgaGF2ZSBmcm9tIG9uZSB0byBmaXZlIHN1bXRpIHBsYWNl cywgYnV0IHNvbWUgaGF2ZSBtb3JlLiBIZXJlIGlzIGEgc2VsYnJpIHdpdGggZm91ciBzdW10aSBw bGFjZXM6CgonJ19fdmVjbnVfXycnIHgxIHNlbGxzIHgyIHRvIHgzIGZvciBwcmljZSB4NAoKCgpJ ZiBJIHdhbnQgdG8gc2F5IOKAnEkgc2VsbCB0aGlz4oCdLCBpdCB3b3VsZCBiZSB0b28gbXVjaCB0 byBoYXZlIHRvIGZpbGwgdGhlIHN1bXRpIHBsYWNlcyB4MyBhbmQgeDQsIHdoaWNoIHNwZWNpZnkg d2hvIEkgc2VsbCB0aGUgdGhpbmcgdG8sIGFuZCBmb3Igd2hhdCBwcmljZS4gTHVja2lseSwgSSBk b24ndCBuZWVkIHRvLiBzdW10aSBwbGFjZXMgY2FuIGJlIGZpbGxlZCB3aXRoICcnem8nZScnLiAn J3pvJ2UnJyBpbmRpY2F0ZXMgdG8gdXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIHN1bXRpIHBsYWNl IGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXQncyB1bmltcG9ydGFudCBvciBjYW4gYmUgZGV0ZXJt aW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem8nZV9fJycg4oCcc29tZXRoaW5n4oCdIEZpbGxzIGEg c3VtdGkgcGxhY2Ugd2l0aCBzb21ldGhpbmcsIGJ1dCBkb2VzIG5vdCBzdGF0ZSB3aGF0LgoKCgpT byB0byBzYXkg4oCcSSBzZWxsIHRvIHlvdeKAnSwgSSBjb3VsZCBzYXkgJydtaSB2ZWNudSB6bydl IGRvIHpvJ2UnJyDigJMgSSBzZWxsIHNvbWV0aGluZyB0byB5b3UgZm9yIHNvbWUgcHJpY2UuCgpI b3cgd291bGQgeW91IHNheTog4oCcVGhhdCdzIGEgaG9tZSAoZm9yIHNvbWVib2R5KeKAnT8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSB6ZGFuaSB6bydlJyd+fgoKCgpIb3cgYWJvdXQg4oCc KHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNvbWVvbmUp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5Oicnem8nZSBkdW5kYSB0aSB6bydlJyd+fgoKCgpTdGlsbCwgZmlsbGluZyBvdXQgdGhyZWUg em8nZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhpbmcgaXMgYmVpbmcgc29sZCB0YWtlcyB0aW1lLiBU aGVyZWZvcmUgeW91IGRvbid0IG5lZWQgdG8gd3JpdGUgYWxsIHRoZSAnJ3pvJ2UnJyBpbiBhIGJy aWRpLiBUaGUgcnVsZSBzaW1wbHkgaXMgdGhhdCBpZiB5b3UgbGVhdmUgb3V0IGFueSBzdW10aSwg dGhleSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgaWYgdGhleSBjb250YWluZWQgJyd6bydlJycuIElm IHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNlbGJyaSwgdGhlIHgxIGlzIHByZXN1bWVkIHRvIGJl IG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6bydlJycuCgpUcnkgaXQgb3V0LiBXaGF0J3MgTG9q YmFuIGZvciDigJxJIHNlbGzigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSB2ZWNudScn fn4KCgoKQW5kIHdoYXQgZG9lcyAnJ3pkYW5pIG1pJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxTb21ldGhpbmcgaXMgYSBob21lIG9mIG1l4oCdIG9yIGp1c3Qg4oCcSSBoYXZlIGEg aG9tZS7igJ1+fgoKCgpBcyBtZW50aW9uZWQgZWFybGllciwgdGhlIGZvcm0gZG9lc24ndCBoYXZl IHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IChlY3QuKSBJ biBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBzZWxicmkgYW55d2hlcmUgeW91IHdhbnQsIGp1c3Qg bm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLiBJZiB5b3UgZG8gdGhhdCwgdGhlIHgx IGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5kIGZpbGxlZCB3aXRoICcnem8nZScnIGluc3RlYWQu IFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVmcmEgYXJlIGFsbCB0aGUgZXhhY3RseSBzYW1lIGJy aWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgonJ21pIHRpIGR1bmRhIGRvJycKCicnbWkgdGkgZG8g ZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBpcyB1c2VkIGZvciBwb2V0aWMgZWZmZWN0LiDigJxZ b3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBiZSAnJ2RvIGRvIHZlY251JycsIHdoaWNoIHNvdW5k cyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRvJycuIE9yIGl0IGNhbiBiZSB1c2VkIGZvciBjbGFy aXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBsb25nIGFuZCB0aGVyZWZvcmUgYmV0dGVyIGJlIGxl ZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuCgoKClRoZXJlIGFyZSBhbHNvIHNldmVyYWwgd2F5 cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBvcmRlciBvZiB0aGUgc3VtdGkgaW5zaWRlIHRoZSBi cmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5IHVzaW5nIHRoZSB3b3JkcyAnJ2ZhJycsICcnZmUn JywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUnJy4gTm90aWNlIHRoYXQgdGhlIHZvd2VscyBhcmUg dGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2piYW4gYWxwaGFiZXQgaW4gb3JkZXIuIFVzaW5nIG9u ZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0IHRoZSBuZXh0IHN1bXRpIHdpbGwgZmlsbCB0aGUg eDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3BlY3RpdmVseS4gVGhlIG5leHQgc3VtdGkgYWZ0ZXIg dGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZpbGwgYSBzbG90IG9uZSBncmVhdGVyIHRoYW4gdGhl IHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBsZToKCicnZHVuZGEgZmEgZG8gZmUgdGkgZG8nJyDi gJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlzIHRoaW5nIHRvIHlvdeKAnS4gJydmYScnIG1hcmtz IHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBpcyB5b3UuICcnZmUnJyBtYXJrcyB0aGUgdGhpbmcg YmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkgY291bnRpbmcgdGhlbiBjb250aW51ZXMgZnJvbSAn J2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFzdCBzdW10aSBmaWxscyB4MywgdGhlIG9iamVjdCBy ZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcgdGhyZWUgc2Vu dGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRpIGZlIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ugb2YgdGhpcywgeW914oCdLiBvciDigJxJIHNlbGwg eW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KAnSAocHJvYmFibHkgcG9pbnRpbmcgdG8gYSBidW5j aCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZlIHRpJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUsIHRoZSBmZSBpcyByZWR1bmRhbnQufn4KCgoKJyd2 ZWNudSB6bydlIG1pIHRpIGZhIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3Ugc2Vs bCBzb21ldGhpbmcgdG8gbWUgZm9yIHRoaXMgcHJpY2XigJ1+fgoKCgoKCiEhTG9qYmFuIExlc3Nv bnMg4oCTIGxlc3NvbiB0aHJlZSAodGFucnUgYW5kIGxvKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3 aWxsIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBjb25jZXB0IG9mIGEgJyd0YW5ydScnLiBBIHRh bnJ1IGlzIGZvcm1lZCB3aGVuIGEgc2VsYnJpIGlzIHB1dCBpbiBmcm9udCBvZiBhbm90aGVyIHNl bGJyaSwgbW9kaWZ5aW5nIGl0cyBtZWFuaW5nLiBBIHRhbnJ1IGlzIGl0c2VsZiBhIHNlbGJyaSwg YW5kIGNhbiBjb21iaW5lIHdpdGggb3RoZXIgc2VsYnJpIG9yIHRhbnJ1IHRvIGZvcm0gbW9yZSBj b21wbGV4IHRhbnJ1LiBUaHVzICcnemRhbmkgdmVjbnUnJyBpcyBhIHRhbnJ1LCBhcyB3ZWxsIGFz ICAnJ3BlbHh1IHpkYW5pIHZlY251JycsIHdoaWNoIGlzIG1hZGUgZnJvbSB0aGUgdGFucnUgJydw ZWx4dSB6ZGFuaScnIGFuZCB0aGUgc2luZ2xlIGJyaXZsYSB3b3JkICcndmVjbnUnJy4gVG8gdW5k ZXJzdGFuZCB0aGUgY29uY2VwdCBvZiB0YW5ydSwgY29uc2lkZXIgdGhlIEVuZ2xpc2ggbm91biBj b21iaW5hdGlvbiDigJxsZW1vbiB0cmVl4oCdLiBJZiB5b3UgZGlkbid0IGtub3cgd2hhdCBhIGxl bW9uIHRyZWUgd2FzLCBidXQgaGFkIGhlYXJkIGFib3V0IGJvdGggbGVtb25zIGFuZCB0cmVlcywg eW91IHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRlZHVjZSB3aGF0IGEgbGVtb24gdHJlZSB3YXMuIFBl cmhhcHMgYSBsZW1vbi1jb2xvcmVkIHRyZWUsIG9yIGEgdHJlZSBzaGFwZWQgbGlrZSBhIGxlbW9u LCBvciBhIHRyZWUgd2hvc2UgYmFyayB0YXN0ZXMgbGlrZSBsZW1vbi4gVGhlIG9ubHkgdGhpbmdz IHlvdSBjb3VsZCBrbm93IGZvciBzdXJlIHdvdWxkIGJlIHRoYXQgaXQgd291bGQgYmUgYSB0cmVl LCBhbmQgaXQgd291bGQgYmUgbGVtb24tbGlrZSBpbiBzb21lIHdheS4KCkEgdGFucnUgaXMgY2xv c2VseSBhbmFsb2dvdXMgdG8gdGhpcy4gSXQgY2Fubm90IGJlIHNhaWQgZXhhY3RseSB3aGF0IGEg Jyd6ZGFuaSB2ZWNudScnIGlzLCBidXQgaXQgY2FuIGJlIHNhaWQgdGhhdCBpdCBpcyBkZWZpbml0 ZWx5IGEgdmVjbnUsIGFuZCB0aGF0IGl0J3MgemRhbmktbGlrZSBpbiBzb21lIHdheS4gQW5kIGl0 IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55IHdheS4gSW4gdGhlb3J5LCBubyBtYXR0ZXIgaG93 IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVjdGlvbiB0byB6ZGFuaSB3YXMsIGl0IGNvdWxkIHN0 aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNudScnLiBIb3dldmVyLCBpdCBtdXN0IGFjdHVhbGx5 IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5IHNlbnNlIGluIG9yZGVyIGZvciB0aGUgdGFucnUg dG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAnJ3pkYW5pIHZlY251JycgYXMg4oCcaG9tZSBzZWxs ZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3b3JzZSBzb3VuZGluZyDigJxhIGhvbWUtdHlwZS1v ZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSB0YW5ydSBpcyBhbHdheXMgdGhh dCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4gSXQncyBhbHNvIHNhaWQgdGhhdCB0aGUgbGVmdCBz ZWxicmkgbW9kaWZpZXMgdGhlIHJpZ2h0IHNlbGJyaS4KCuKAnFJlYWxseT/igJ0sIHlvdSBhc2ss IHNjZXB0aWNhbGx5LCDigJxJdCBkb2Vzbid0IG1hdHRlciBob3cgc2lsbHkgdGhlIGNvbm5lY3Rp b24gdG8gdGhlIGxlZnQgd29yZCBpbiBhIHRhbnJ1IGlzLCBpdCdzIHN0aWxsIHRydWU/IFNvIEkg Y291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3IgJyd6ZGFuaSB2ZWNudScnIGFuZCB0aGVuIG1ha2Ug dXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkgdGhpbmsgaXQncyB6ZGFuaS1saWtlP+KAnQoKV2Vs bCB5ZXMsIGJ1dCB0aGVuIHlvdSdkIGJlIGEgZGljay4gT3IgYXQgbGVhc3QgeW91J2QgYmUgaW50 ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBnZW5lcmFsLCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1 IHdoZW4gaXQncyBvYnZpb3VzIGhvdyB0aGUgbGVmdCB3b3JkIHJlbGF0ZXMgdG8gdGhlIHJpZ2h0 LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOiAnJ3RpIHBlbHh1IHpkYW5p IGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGF0IGlzIGEgeWVsbG93IGhvbWUgZm9y IHlvdeKAnSBBZ2Fpbiwgd2UgZG9uJ3Qga25vdyBpbiB3aGljaCB3YXkgaXQncyB5ZWxsb3cuIFBy b2JhYmx5IGl0J3MgcGFpbnRlZCB5ZWxsb3csIGJ1dCB3ZSBkb24ndCBrbm93IGZvciBzdXJlLn5+ CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc2VsbC1s aWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQgbWVhbj8gTm8gaWRlYS4gSXQgY2VydGFpbmx5IGRv ZXNuJ3QgbWVhbiB0aGF0IHlvdSBzb2xkIHNvbWV0aGluZywgc2luY2UsIGJ5IGRlZmluaXRpb24g b2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUgbm8gcGF5bWVudCBpbnZvbHZlZC4gSXQgaGFzIHRv IGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxsLWxpa2UgaW4gc29tZSBhc3BlY3Qufn4KCgoKQW5k IG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LiBXaGF0IGlmIEkgd2FudGVk IHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/CgonJ19fZG90Y29fXycnIHgxIGlzIEdlcm1hbi9y ZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKSSBjYW4ndCBzYXkgJydtaSB2 ZWNudSB6bydlIGRvdGNvJycgYmVjYXVzZSB0aGF0IHdvdWxkIGxlYXZlIHR3byBzZWxicmkgaW4g YSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1pdHRlZC4gSSBjb3VsZCBzYXkgJydtaSBkb3RjbyB2 ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVubmVjZXNzYXJ5IHZhZ3VlIC0gSSBjb3VsZCBzZWxs IGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2UsIGlmIEkgd2FudCB0byBzYXkg4oCcSSBhbSBmcmll bmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdoYXQgc2hvdWxkIEkgc2F5PwoKJydfX3BlbmRvX18n JyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydfX21lcmtvX18nJyB4MSBpcyBBbWVyaWNhbi9yZWZs ZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkFnYWluLCB0aGUgb2J2aW91cyB3b3VsZCBi ZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycnLCBidXQgdGhhdCB3b3VsZCBmb3JtIGEgdGFucnUs IG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlrZSBBbWVyaWNhbuKAnSwgd2hpY2ggaXMgd3Jvbmcu IFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMgdG8gdGFrZSB0aGUgc2VsYnJpICcnbWVya28nJyBh bmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10aSBzbyBpdCBjYW4gYmUgdXNlZCBpbiB0aGUgc2Vs YnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25lIGJ5IHRoZSB0d28gd29yZHMgJydsbycnIGFuZCAn J2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5lcmljIGJlZ2luIGNvbnZlcnQgc2VsYnJpIHRvIHN1 bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNlbGJyaSB0byB1c2UgYXMgc3VtdGkuCgpfXycna3Un J19fIOKAkyBlbmQgY29udmVydCBzZWxicmkgdG8gc3VtdGkgcHJvY2Vzcy4KCgoKWW91IHNpbXBs eSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcywgYW5kIGl0IHRha2VzIGFu eXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgxIG9mIHRoYXQgc2VsYnJpIGFuZCB0dXJucyBpdCBp bnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFuY2UsIHRoZSB0aGluZ3MgdGhhdCBjYW4gZmlsbCB6 ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdzIHdoaWNoIGFyZSBob21lcyBvZiBzb21lYm9keS4g U28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKAnGEgaG9tZSBvciBzb21lIGhvbWVzIGZvciBzb21l Ym9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNheSB0aGF0IHNvbWV0aGluZyBpcyBwZWx4dSwgaXQg bWVhbnMgaXQncyB5ZWxsb3cuIFNvICcnbG8gcGVseHUga3UnJyByZWZlcnMgdG8gc29tZXRoaW5n IHllbGxvdy4KCgoKTm93IHlvdSBoYXZlIHRoZSBuZWNlc3NhcnkgZ3JhbW1hciB0byBiZSBhYmxl IHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbi7igJ0gSG93PwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgcGVuZG8gbG8gbWVya28ga3UnJ35+CgoKClRoZXJlIGlzIGEg Z29vZCByZWFzb24gd2h5IHRoZSAnJ2t1JycgaXMgbmVjZXNzYXJ5LiBUcnkgdG8gdHJhbnNsYXRl IOKAnEEgR2VybWFuIHNlbGxzIHRoaXMgdG8gbWXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J2xvIGRvdGNvIGt1IHZlY251IHRpIG1pJycgSWYgeW91IGxlYXZlIG91dCB0aGUga3UsIHlvdSBk byBub3QgZ2V0IGEgYnJpZGksIGJ1dCBzaW1wbHkgdGhyZWUgc3VtdGkuIFNpbmNlIGxv4oCma3Ug Y2Fubm90IGNvbnZlcnQgYnJpZGksIHRoZSB0aSBpcyBmb3JjZWQgb3V0c2lkZSB0aGUgc3VtdGks IHRoZSBsby1jb25zdHJ1Y3QgaXMgZm9yY2VkIHRvIGNsb3NlIGFuZCBpdCBzaW1wbHkgYmVjb21l cyB0aGUgdGhyZWUgc3VtdGkgb2YgJydsbyBkb3RjbyB2ZWNudSB7a3V9JycsICcndGknJyBhbmQg JydtaScnLn5+CgoKCllvdSBhbHdheXMgaGF2ZSB0byBiZSBjYXJlZnVsIHdpdGgganVmcmEgbGlr ZSAnJ2xvIHpkYW5pIGt1IHBlbHh1JycuIElmIHRoZSAnJ2t1JycgaXMgbGVmdCBvdXQgdGhlIGNv bnZlcnNpb24gcHJvY2VzcyBkb2VzIG5vdCBlbmQsIGFuZCBpdCBzaW1wbHkgYmVjb21lcyBvbmUg c3VtdGksIG1hZGUgZnJvbSB0aGUgdGFucnUgJyd6ZGFuaSBwZWx4dScnIGFuZCB0aGVuIGNvbnZl cnRlZCB3aXRoICcnbG8nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gZm91ciAo YXR0aXR1ZGluYWxzKQoKQW5vdGhlciBjb25jZXB0IHdoaWNoIGNhbiBiZSB1bmZhbWlsaWFyIHRv IEVuZ2xpc2ggc3BlYWtlcnMgaXMgdGhhdCBvZiBhdHRpdHVkaW5hbHMuIEF0dGl0dWRpbmFscyBh cmUgd29yZHMgdGhhdCBleHByZXNzIGVtb3Rpb25zIGRpcmVjdGx5LiBUaGUgaWRlYSBvZiBhdHRp dHVkaW5hbHMgb3JpZ2luYXRlZCBpbiB0aGUgZmVtaW5pc3QgY29uc3RydWN0ZWQgbGFuZ3VhZ2Ug TGFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUgZmVtYWxlIGVtb3Rpb25zLiBUaGUgaWRl YSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJlc3Npb24gd2FzIGhpbmRlcmVkIGJ5IG1h bGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYgb25seSB0aGV5IHdlcmUgYWJsZSB0byBiZSBl eHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMgd291bGQgZW1wb3dlciB3b21lbiB0aHJvdWdoIGxp YmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoKSW4gTG9qYmFuLCB0aGVyZSBpcyBubyBzdWNoIGFn ZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHByb2JhYmx5IGhhdmUgYmVlbiBkZXNpZ25lZCBp bnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVybmVkIG91dCB0byBiZSBpbmNyZWRpYmx5 IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2ZSBhIHNvLWNhbGxlZCBmcmVlIGdyYW1t YXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4gYXBwZWFyIGFsbW9zdCBhbnl3aGVyZSB3aXRo aW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBicmlkaSdzIGdyYW1tYXIgb3IgYW55IGdy YW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBMb2piYW4gZ3JhbW1hciwgYW4gYXR0aXR1ZGluYWwg YXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29yZC4gSWYgdGhhdCBwcmV2aW91cyB3b3JkIGlzIGEg d29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxpa2UgJycuaScnIG9yICcnbG8nJyksIGl0 IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3QuIExpa2V3aXNlLCBpZiB0aGUgYXR0aXR1 ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2ggZW5kcyBhIGNvbnN0cnVjdCBsaWtlICcna3UnJywg aXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29uc3RydWN0LgoKCgpMZXQncyBoYXZlIHR3byBhdHRp dHVkaW5hbHMgdG8gbWFrZSBzb21lIGV4YW1wbGVzOgoKX18nJy51aScnX186IGF0dGl0dWRpbmFs OiBzaW1wbGUgcHVyZSBlbW90aW9uOiBoYXBwaW5lc3MgLSB1bmhhcHBpbmVzcwoKX18nJ3phJ2En J19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlhbDogSSBkaXJlY3RseSBvYnNlcnZlCgoKCk5vdGUg dGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJy51aScnLCB0aGVyZSBhcmUgbGlzdGVkIHR3byBl bW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhhcHBpbmVzcy4gVGhpcyBtZWFucyB0aGF0ICcnLnVp JycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3MsIHdoaWxlIGl0cyDigJxuZWdhdGlvbuKAnSwgbWVh bnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u4oCdIG1pZ2h0IGJlIHRoZSB3cm9uZyB3b3JkIGhl cmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIgZGVmaW5pdGlvbiBvZiAnJy51aScnIGlzIGFub3Ro ZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4gTW9zdCBvZiB0aGUgdGltZSwgdGhlIHNlY29uZCBk ZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAtIHRoZSBvbmVzIHN1ZmZpeGVkIHdpdGggJyduYWkn JyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIGJhcmUgYXR0aXR1ZGluYWwuIE90aGVy IHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJyduYWknJ19fIG1pc2MuIG5lZ2F0aW9uIC0gYXR0YWNo ZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFuZ2VzIHRoZSBtZWFuaW5nIGludG8gdGhlIGF0dGl0 dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQgc29tZSBtb3JlIHNlbGJyaSwganVzdCBmb3IgdGhl IGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19fIOKAkyB4MSBlYXRzIHgyCgpfXycncGxpc2UnJ19f IOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlwZSB4MgoKCgpUaGUgc2VudGVuY2UgJydk byBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMg4oCcWW91IGVhdCBhbiBhcHBsZSwgeWF5 IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRoYXQgaXQgaXMgdGhlIF9fYXBwbGVfXyB0aGF0 IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhlIGVhdGluZywgb3IgdGhlIGZhY3Qg dGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcnZG8gemEnYSBjaXRrYSBsbyBwbGlz ZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBvYnNlcnZlcyB0aGF0IGl0IGlzIGluZGVlZCB0 aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBwbGUgYXMgb3Bwb3NlZCB0byBzb21lb25l IGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9m IHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBseSB0byBhbiBleHBsaWNpdCBvciBp bXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhlIGVudGlyZSBicmlkaToKCicnLnVp IHphJ2EgZG8gZHVuZGEgbG8gcGxpc2Uga3UgbWknJyDigJMg4oCcWWF5LCBJIG9ic2VydmUgdGhh dCB5b3UgZ2l2ZSBhbi9zb21lIGFwcGxlIHRvIG1lIeKAnQoKCgonJ21pIHZlY251IC51aSBuYWkg bG8gemRhbmkga3UnJyDigJxJIHNlbGwgKHdoaWNoIHN1Y2tzISkgYSBob21l4oCdLgoKCgpUcnkg aXQgb3V0IHdpdGggYSBmZXcgZXhhbXBsZXMuIEZpcnN0LCB0aG91Z2gsIGhlcmUgYXJlIHNvbWUg bW9yZSBhdHRpdHVkaW5hbHM6CgpfXycnLnUndScnX18gYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJl IGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxlc3NuZXNzIC0gaW5ub2NlbmNlLgoKX18nJy5vaScn X18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBjb21wbGFpbnQgLSBwbGVhc3Vy ZS4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFsOiBtaXNjZWxsYW5lb3VzIHB1cmUgZW1vdGlvbjog bG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhhdCwgdHdvIHdvcmRzIHdpdGggdGhyZWUgZW1vdGlv bnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBtaWRkbGUgb25lIGlzIGFjY2Vzc2VkIGJ5IHN1ZmZp eGlubmcgd2l0aCAnJ2N1J2knJy4gSXQncyBjb25zaWRlcmVkIHRoZSBtaWRwb2ludCBvZiB0aGUg ZW1vdGlvbi4KCl9fJydjdSdpJydfXyBhdHRpdHVkaW5hbCBtaWRwb2ludCBzY2FsYXI6IGF0dGFj aCB0byBhdHRpdHVkaW5hbCB0byBjaGFuZ2UgdGhlIG1lYW5pbmcgdG8gdGhlICJtaWRwb2ludCIg b2YgdGhlIGVtb3Rpb24uCgoKClRyeSBzYXlpbmcg4oCcSSBnaXZlIHNvbWV0aGluZyB0byBhIEdl cm1hbiwgd2hvIEkgbG92ZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgZmkg bG8gZG90Y28ga3UgLml1Jycgb3IgJyd6bydlJycgaW5zdGVhZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg 4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBsZeKAnQoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy5v aSBuYWkgbWkgY2l0a2EgbG8gcGVseHUgcGxpc2Uga3UnJ35+CgoKCkxldCdzIGhhdmUgYW5vdGhl ciBhdHRpdHVkaW5hbCBvZiBhIGRpZmZlcmVudCBraW5kIHRvIGlsbHVzdHJhdGUgc29tZXRoaW5n IHBlY3VsaWFyOgoKJycuZWknJyBBdHRpdHVkaW5hbDogY29tcGxleCBwcm9wb3NpdGlvbmFsIGVt b3Rpb246IG9ibGlnYXRpb24gLSBmcmVlZG9tLgoKCgpTbywgcXVpdGUgZWFzeTog4oCcSSBoYXZl IHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0gaXMgJydtaSBkdW5kYSAuZWkgbG8gcGxpc2Uga3Un JywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEgV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQsIHRoYXQn cyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxsIHRoZSBvdGhlciBhdHRpdHVkaW5hbHMgd2UgaGF2 ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhlIHNwZWFrZXIncyBmZWVsaW5nIGFib3V0IHRoZSBi cmlkaSwgYnV0IHRoaXMgb25lIGFjdHVhbGx5IGNoYW5nZXMgd2hhdCB0aGUgYnJpZGkgbWVhbnM/ IFN1cmVseSwgYnkgc2F5aW5nIOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdLCB3 ZSBzYXkgbm90aGluZyBhYm91dCB3aGV0aGVyIHRoZSBhcHBsZSBhY3R1YWxseSBpcyBiZWluZyBn aXZlbiBhd2F5LiBJZiBJIGhhZCB1c2VkICcnLnVpJycsIGhvd2V2ZXIsIEkgd291bGQgYWN0dWFs bHkgaGF2ZSBzdGF0ZWQgdGhhdCBJIGdhdmUgdGhlIGFwcGxlIGF3YXksIGFuZCB0aGF0IEkgd2Fz IGhhcHB5IGFib3V0IGl0LiBXaGF0J3MgdGhhdCBhbGwgYWJvdXQ/CgoKClRoaXMgaXNzdWUsIGV4 YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlvbnMgb24gd2hpY2ggYSBi cmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5vciBkZWJhdGUuIFRoZSBvZmZpY2lh bCwg4oCcdGV4dGJvb2vigJ0gcnVsZSwgd2hpY2ggcHJvYmFibHkgd29uJ3QgYmUgY2hhbmdlZCwg aXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4g4oCccHVyZSBlbW90aW9uc+KA nSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90aW9uc+KAnS4gT25seSBwcm9wb3N0aW9uYWwgZW1v dGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0aW9ucywgd2hpbGUgcHVyZSBlbW90aW9u cyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBwcm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBh dHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGks IHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRoZSBicmlkaSB3aXRoICcnLmknJy4gVGhl cmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkgY29uc2VydmluZyBvciBjaGFuZ2luZyB0 aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgoKCgpfXycnZGEnaScnX18gYXR0aXR1ZGlu YWw6IGRpc2N1cnNpdmU6IHN1cHBvc2luZyAtIGluIGZhY3QKClNheWluZyAnJ2RhJ2knJyBpbiBh IGJyaWRpIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbnMgdG8gaHlwb3RoZXRpY2FsLCB3aGlj aCBpcyB0aGUgZGVmYXVsdCB1c2luZyBwcm9wb3NpdGlvbmFsIGF0dGl0dWRpbmFscy4gU2F5aW5n ICcnZGEnaSBuYWknJyBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb24gdG8gdGhlIG5vcm1hbCwg d2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJlIGF0dGl0dWRpbmFscy4KCgoKU28sIHdoYXQncyB0 d28gd2F5cyBvZiBzYXlpbmcg4oCcSSBnaXZlIHRoZSBhcHBsZSBhd2F54oCdPyAoYW5kIGZlZWwg b2JsaWdhdGlvbiBhYm91dCBpdCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGxv IHBsaXNlIC5pIC5laScnICBhbmQgJydtaSBkdW5kYSBkYSdpIG5haSAuZWkgbG8gcGxpc2UnJ35+ CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzdWJzY3JpYmVkIHRvIHNv bWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBVc3VhbGx5IGluIG9yZGluYXJ5IHNwZWVjaCwgdGhl IGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQgdG8gdGhlIGxpc3RlbmVyLCBidXQgaXQgZG9lc24n dCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNhdXNlIHRoZSB3b3JkIGlzIGdsb3NzZWQg4oCcZW1w YXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1vdGlvbnMpLCBzb21lIExvamJhbmlzdHMgbWlzdGFr ZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2VyIG11c3Qgc2hhcmUgdGhlIGVtb3Rpb24gYmVpbmcg c3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycnZGFpJydfXyBhdHRpdHVkaW5hbCBtb2RpZnllcjog RW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVkaW5hbCB0byBzb21lb25lIGVsc2UsIHVuc3BlY2lm aWVkKQoKRXhhbXBsZTogJyd1J2kgLm9pIGRhaSBjaXRrYSB0aScnIC0g4oCcSGEgaGEsIHRoaXMg d2FzIGVhdGVuISBUaGF0IG11c3QgaGF2ZSBodXJ0IeKAnQoKCgpXaGF0IG9mdGVuIHVzZWQgcGhy YXNlIGNvdWxkICcnLm9pIHUnaSBkYWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoKQW5kIGFub3RoZXIgb25lIHRvIHRlc3QgeW91ciBr bm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg4oCcSGUgd2FzIHNvcnJ5IGhlIHNvbGQgYSBob21l 4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5zZSBpcyBpbXBsaWVkIGFuZCBuZWVkIG5vdCBiZSBz cGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNvdWxkIGJlIG9idmlvdXMgZnJvbSBjb250ZXh0KQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndSd1IGRhaSB2ZWNudSBsbyB6ZGFuaSBrdScnfn4KCgoK TGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzcGVjaWZpZWQg dXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2UgY2FuIGJlIHVzZWQgYWZ0ZXIgYW4gYXR0aXR1ZGlu YWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGggJyduYWknJyBvciAnJ2N1J2knJyBzdWZmaXhlZC4g SXQncyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVucyB3aGVuIHlvdSBhdHRhY2ggaXQgdG8gb3RoZXIg d29yZHMsIGxpa2UgYSBzZWxicmksIG11c3QgaXQncyBtb3N0bHkgdW5kZXJzdG9vZCBhcyBpbnRl bnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxicmkgaW4gc29tZSB1bnNwZWNpZmllZCB3YXk6 Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNpdHkgIAoKIGNhaXwgICBFeHRyZW1lCgogc2Fp fCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNpZmllZCAobWVkaXVtKQoKIHJ1J2UgIHwgICBX ZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJlc3NlZCB1c2luZyAnJy51J2kgbmFpIHNhaScn ID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGFtdXNl bWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OlN0cm9uZyB3ZWFyaW5lc3N+ fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHByZXNzIHRoYXQgeW91IGFyZSBtaWxkbHkgcmVtb3Jz ZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JycudSd1IGN1J2kgcnUnZScnfn4KCgoKISFM b2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZpdmUgKFNFKQoKQmVmb3JlIHdlIHZlbnR1cmUgaW50 byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29tcGxleCBjb25zdHJ1Y3RzLCB5b3Ugc2hvdWxkIGxl YXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciByZW9yZGVyaW5nIHRoZSBzdW10aSBvZiBhIHNlbGJy aS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBpcyB2ZXJ5IHVzZWZ1bCBmb3IgbWFraW5nIGRlc2Ny aXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5kIG9mIHN1bXRpIHdpdGggJydsbycnKS4KCkNvbnNp ZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBhIGdpZnTigJ0sIHdoaWNoIG1pZ2h0IGJlIGFwcHJv cHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBhcHBsZS4gVG8gdHJhbnNsYXRlIHRoaXMsIGl0IHdv dWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVwIGEgc2VsYnJpIG1lYW5pbmcg4oCcZ2lmdOKAnSBi ZWZvcmUgY29udGludWluZy4gSG93ZXZlciwgaWYgb25lIGxvb2tzIGNhcmVmdWxseSBhdCB0aGUg ZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgxIGdpdmVzIHgyIHRvIHgzLCBvbmUgcmVhbGl6ZXMg dGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlzIHNvbWV0aGluZyBnaXZlbiDigJMgYSBnaWZ0LgoK U28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5jZSwgd2UgY2FuJ3Qgc2F5ICcnbWkgY2l0a2EgbG8g ZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRhIGt1Jycgd291bGQgYmUgdGhlIHgxIG9mICcn ZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBhIGdpZnQuIENhbm5pYmFsaXNtIGFzaWRlLCB3 ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBXaGF0IHdlIHdhbnQgaXMgYSB3YXkgdG8gZXh0cmFj dCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlzIG9uZSBleGFtcGxlIHdoZXJlIGl0IGlzIHVz ZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBXaGF0ICcnc2UnJyBkb2VzIGlzIHRvIG1vZGlm eSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFuZCB4MiBvZiB0aGF0IHNlbGJyaSB0cmFkZSBw bGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScnICsgc2VsYnJpIGlzIG9uIGl0cyBvd24gY29u c2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0cnkgd2l0aCBhbiBvcmRpbmFyeSBzZW50ZW5jZToK Cl9fJydmYW52YScnX18gPSDigJx4MSB0cmFuc2xhdGVzIHgyIHRvIGxhbmd1YWdlIHgzIGZyb20g bGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2YgdHJhbnNsYXRpb24geDXigJ0KCicndGkgc2UgZmFu dmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoKVGhpcyBpcyB0cmFuc2xhdGVkIGJ5IG1lICg9IEkg dHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0IG5vdCBhbHdheXMsIGJyaWRpIHdpdGggJydzZScn LWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQgdG8gc2VudGVuY2VzIHdpdGggdGhlIHBhc3NpdmUg dm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRlbiB0aGUgb2JqZWN0IHRha2luZyBhY3Rpb24uCgon J3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9mIHdvcmRzLiBBbGwgb2YgdGhlbSBzd2FwIGEgZGlm ZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoKfHxzZQl8c3dhcCB4MSBhbmQgeDIKCnRlCXxzd2Fw IHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5kIHg0Cgp4ZQl8c3dhcCB4MSBhbmQgeDV8fAoKTm90 ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBjb25zZWN1dGl2ZSBjb25zb25hbnRzIGluIHRoZSBs b2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2luZyB0aGlzIGtub3dsZWRnZSwgd2hhdCB3b3VsZCAn J3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlz IGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAob3IgJydmYW52YSB0aSBmdSB0aScnKX5+CgoKCicn c2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2YgY291cnNlIGJlIGNvbWJpbmVkIHdpdGggJydmYScn IGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0IGNhbiBiZSB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQs IGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286CgpfXycna2xhbWEnJ19fID0g4oCceDEgdHJhdmVs cy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0IHVzaW5nIHg1IGFzIHRyYW5zcG9ydGF0aW9uIGRl dmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0ZSBrbGFtYSBmZSBkbyB0aSBmYSBtaScnID0gJydt aSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBrdScnIGFuZCBzaW5jZSAnJ3RlJycgZXhjaGFuZ2Vz IHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRvIG1pIGxvIHpkYW5pIGt1JycKCuKAnFRoaXMgdHJh dmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBob21lLuKAnSBPZiBjb3Vyc2UsIG5vIG9uZSB3b3Vs ZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNlcHQgdG8gY29uZnVzZSBwZW9wbGUsIG9yIGNydWVs bHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5kaW5nIG9mIExvamJhbiBncmFtbWFyLgoKQW5kIHRo dXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9pbnQgd2hlcmUgd2UgY2FuIHNheSDigJxJIGVhdCBh IGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2UgdGhlIHN1bXRpIHBsYWNlcyBvZiAnJ2R1bmRhJycg dG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0aGVuIGV4dHJhY3QgdGhpcyBuZXcgeDEgd2l0aCAn J2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291bGQgeW91IHNheSBpdD8KCk9uZSAocG9zc2libGUp IGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdScnfn4KClRoaXMg c2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMgZm9yICcnc2UnJyBhbmQgaXRzIGZhbWlseS4KCgoK CgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2l4IChhYnN0cmFjdGlvbnMpCgpTbyBmYXIg d2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5nbGUgc2VudGVuY2VzIG9uZSBhdCBhIHRpbWUuIFRv IGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5ncywgaG93ZXZlciwgeW91IG9mdGVuIG5lZWQgc3Vi b3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5LCB0aGVzZSBhcmUgbXVjaCBlYXNpZXIgaW4gTG9q YmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhwZWN0LgoKV2UgY2FuIGJlZ2luIHdpdGggYW4gZXhh bXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBm cmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJyaWRpIGlzIOKAnEkgYW0gaGFwcHkgdGhhdCBYLuKA nSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCcWW91IGFyZSBteSBmcmllbmQu4oCdIExvb2tpbmcg YXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhhcHB54oCdLCB3aGljaCBpcyAnJ2dsZWtpJyc6Cgpf XycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5IGFib3V0IHgyIChldmVudC9zdGF0ZSnigJ0KCk9u ZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRvIGJlIGFuIGV2ZW50IG9yIGEgc3RhdGUuIFRoaXMg aXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fubm90IGJlIGhhcHB5IGFib3V0IGFuIG9iamVjdCBp biBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBzdGF0ZSB0aGUgb2JqZWN0IGlzIGluLiBCdXQgYWxh cyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBhIHN0YXRlIG9yIGFuIGV2ZW50LCBhbmQgb25seSBz dW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydnbGVraScnIQoKQXMgeW91IG1pZ2h0IGhhdmUgZ3Vl c3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4gVGhlIHdvcmRzICcnc3UndScnLi4uJydrZWknJyBp cyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlkaSB0byBzZWxicmnigJ0gZnVuY3Rpb24sIGFuZCB3 b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydrdScnLgoKX18nJ3N1J3UnJ19fIHgxIGlzIGFuIGFi c3RyYWN0aW9uIG9mIHticmlkaX0gb2YgdHlwZSB4MgoKX18nJ2tlaScnX18gZW5kIGFic3RyYWN0 aW9uCgoKCkV4YW1wbGU6CgpfXycnbWVsYmknJ19fIHgxIGlzIGJlYXV0aWZ1bCB0byB4Mi4KCl9f JydkYW5zdScnX18geDEgZGFuY2VzIHRvIGFjY29tcGFuaW1lbnQvbXVzaWMvcmh5dGhtIHgyLgoK JydtZWxiaSBzdSd1IGRhbnN1IGtlaScnIC0g4oCcQmVhdXRpZmlsIGRhbmNpbmfigJ0v4oCcQmVh dXRpZmlsIGRhbmNl4oCdCgoKCkl0J3MgdXN1YWxseSBoYXJkIHRvIGZpbmQgZ29vZCB1c2VzIG9m IGEgYnJpZGkgYXMgYSBzZWxicmkuIEhvd2V2ZXIsIHNpbmNlICcnc3UndSBCUklESSBrZWknJyBp cyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0IGl0IHRvIGEgc3VtdGkgdXNpbmcgJydsbycnLi4u JydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVxdWlwbWVudCB0byBleHByZXNzIOKAnEkgYW0gaGFw cHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKAnS4gVHJ5IGl0IG91dCEKCl9fJydwZW5kbycnX18g 4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGds ZWtpIGxvIHN1J3UgZG8gcGVuZG8gbWkga2VpIGt1Jyd+fgoKCgpIb3dldmVyLCAnJ3N1J3UnJ+KA picna2VpJycgZG9lcyBub3Qgc2VlIG11Y2ggdXNlLiBQZW9wbGUgcHJlZmVyIHRvIHVzZSB0aGUg bW9yZSBzcGVjaWZpYyB3b3JkcyAnJ251JyfigKYnJ2tlaScnIGFuZCAnJ2R1J3UnJ+KApicna2Vp JycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXksIGJ1dCBtZWFuIHNvbWV0aGluZyBkaWZmZXJlbnQu ICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJyaWRpIGluIGJldHdlZW4gYXMgYW4gZXZlbnQgb3Ig c3RhdGUsIGFuZCAnJ2R1J3XigKZrZWknJyB0cmVhdHMgaXQgYXMgYW4gYWJzdHJhY3QgYnJpZGks IGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlkZWFzLCB0aG91Z2h0cyBvciB0cnV0aHMuIEFs bCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycpIGFyZSBjYWxsZWQgYWJzdHJhY3RvcnMuIFRo ZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5IGZldyBhcmUgdXNlZCBtdWNoLiAnJ3N1J3Xi gKZrZWknJyBpcyBhIGdlbmVyYWwgYWJzdHJhY3RvciwgYW5kIHdpbGwgd29yayBpbiBhbGwgY2Fz ZXMuCgoKClVzZSAnJ251JycgdG8gc2F5IOKAnEknbSBoYXBweSBhYm91dCB0YWxraW5nIHRvIHlv dS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFsa3MgdG8geDIgYWJvdXQgc3ViamVjdCB4MyBpbiBs YW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIG51IHRhdmxh IGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0aGUgRW5nbGlzaCBhbmQgdGhlIExvamJhbiBpcyB2 YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhlIHRhbGtpbmcpLn5+CgoKCk90aGVyIGltcG9ydGFu dCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2thLi4ua2VpJycgKHByb3BlcnR5L2FzcGVjdCBhYnN0 cmFjdGlvbiksICcnc2knby4uLmtlaScnIChjb25jZXB0L2lkZWEgYWJzdHJhY3Rpb24pLCAnJ25p Li4ua2VpJycgKHF1YW50aXR5IGFic3RyYWN0aW9uKSBhbW9uZyBvdGhlcnMuIFRoZSBtZWFuaW5n cyBvZiB0aGVzZSBpcyBhIGNvbXBsaWNhdGVkIG1hdHRlciwgYW5kIHdpbGwgYmUgZGlzY3Vzc2Vk IG11Y2ggbGF0ZXIsIGluIGxlc3NvbiB0d2VudHktbmluZS4gRm9yIG5vdywgeW91J2xsIGhhdmUg dG8gZG8gd2l0aG91dCB0aGVtLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gbm90aWNlIHRoYXQgc29t ZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwgc3VtdGkgcGxhY2VzLiBBcyBhbiBleGFtcGxlLCAn J2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAnJ2R1J3UnJyBpcyBkZWZpbmVkOgoKJydkdSd1Jycg PSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUgcHJlZGljYXRlL2JyaWRpIG9mIHticmlkaX0gZXhw cmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoKVGhlIG90aGVyIHN1bXRpIHBsYWNlcyBiZXNpZGVz IHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJydsbyBzZSBkdSd1IHticmlkaX0ga2VpIGt1JycgaXMg c29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBmb3IgaW5kaXJlY3QgcXVvdGF0aW9uOiDigJxJIHNh aWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KAnSBjYW4gYmUgd3JpdHRlbiAnJ21pIGN1c2t1IGxv IHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vya3Uga3Uga2VpIGt1JycsIGlmIHlvdSB3aWxsIHBh cmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9fJydjdXNrdScnX18geDEgZXhwcmVzc2VzIHgyIHRv IHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycnZ2Vya3UnJ19fIHgxIGlzIGEgZG9nIG9mIHJhY2Ug eDIKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzZXZlbiAoTk9JKQoKV2hpbGUgd2UncmUg YXQgaXQsIHRoZXJlJ3MgYW5vdGhlciB0eXBlIG9mIHN1Ym9yZGluYXRlIGJyaWRpLiBUaGVzZSBh cmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMuIFRoZXkgYXJlIHNlbnRlbmNlcyB3aGljaCBhZGQg c29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRpLiBJbmRlZWQsIHRoZSDigJx3aGljaOKAnSBpbiB0 aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2VkIHRoZSBiZWdpbm5pbmcgb2YgYSByZWxhdGl2ZSBj bGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5nIHJlbGF0aXZlIGNsYXVzZXMuIEluIExvamJhbiwg dGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBhbmQgaXQgbWlnaHQgYmUgd29ydGggZGlzdGluZ3Vp c2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUgbGVhcm5pbmcgaG93IHRvIGV4cHJlc3MgdGhlbS4K ClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZl IChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUgY2xhdXNlcy4gQW4gZXhhbXBsZSB3b3VsZCBiZSBn b29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3aG8gaXMgdHdvIG1ldGVycyB0YWxsLCBpcyBhIHBv bGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVuZGVyc3Rvb2QgaW4gdHdvIHdheXMuIEkgY291bGQg aGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3aGljaCBjYXNlIHNheWluZyBoZSBpcyB0d28gbWV0 ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cgd2hpY2ggYnJvdGhlciBJIGFtIHRhbGtpbmcgYWJv dXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9uZSBicm90aGVyLCBpbiB3aGljaCBjYXNlIEkgYW0g c2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4KCgoKSW4gRW5nbGlzaCBh cyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3byBraW5kcyDi gJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9uIGlzIHJlc3RyaWN0aXZlIChzaW5jZSBpdCBoZWxw cyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJvdGhlcnMgSSBtaWdodCBiZSB0YWxraW5nIGFib3V0 KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3RpdmUuIFdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgY29u dGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3IgaW4gd3JpdHRlbiBFbmdsaXNoLCBwdW5jdHVhdGlv bikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28sIGJ1dCBub3Qgc28gaW4g TG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29uc3RydWN0cyAnJ3BvaeKApmt1J28nJyBhbmQgJydu b2nigKZrdSdvJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUg Y2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV0J3MgaGF2ZSBhIExvamJhbmljIGV4YW1wbGUsIHdo aWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0cmFuZ2UgZ2lmdC1lYXRpbmcgYmVoYXZpb3VyIGlu IHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZlOgoKX18nJ25vaScnX18gYmVnaW4gbm9uLXJlc3Ry aWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ3Bv aScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2gg dG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5kIHJlbGF0aXZlIGNsYXVzZQoKCgonJ21pIGNpdGth IGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBrdSdvJycgPSDigJxJIGVhdCBhIGdpZnQgc3VjaCB0 aGF0IChzb21ldGhpbmcgaXMpIGFuIGFwcGxl4oCdLiAKCkhlcmUgdGhlICcncG9p4oCma3Unbycn IGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8gc2UgZHVuZGEga3UnJywgc28gaXQgYXBwbGllcyB0 byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0aGUgcmVsYXRpdmUgY2xhdXNlIGRvZXMgbm90IHNw ZWNpZnkgd2hhdCBpdCBpcywgd2hpY2ggaXMgYW4gYXBwbGUsIGJ1dCBzaW5jZSB0aGUgcmVsYXRp dmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdpZnQsIHdlIGNhbiBzYWZlbHkgYXNzdW1lIHRoYXQg aXQgbWVhbnMgdGhhdCB0aGUgZ2lmdCBpcyBhbiBhcHBsZS4gQWZ0ZXIgYWxsLCBpbiB0aGUgY29u dGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVtcyByZWFzb25hYmxlLiBJZiB3ZSB3YW50IHRv IGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0IGluZGVlZCB3YXMgdGhlIGdpZnQgdGhhdCB3YXMg YW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tlJ2EnJywgd2hpY2ggaXMgYSAnJ3N1bWthJ2kn JyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0aGVtIGxhdGVyKSByZXByZXNlbnRpbmcgdGhl IHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXMgYXR0YWNoZWQgdG8uCgpfXycna2Un YScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBzdW10aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZl IGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkgbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9p IGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5LCBJIGVhdCBhIGdpZnQgd2hpY2ggaXMgYW4gYXBw bGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiByZXN0cmljdGl2ZSBh bmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIGhlcmUncyBhbm90aGVyIGV4YW1w bGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVmbGVjdHMgTG9qYmFuaWMgY3VsdHVyZS9jb21t dW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2piYW5pYy7igJ0KCgoKJydtaSBub2kgbG9qYm8g a3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g4oCcSSwgd2hvIGFtIGEgTG9qYmFuaWMsIHRy YW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFuZ3VhZ2Uu4oCdIEhlcmUsIHRoZXJlIGlzIG5v dCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScnIGNvdWxkIHJlZmVyIHRvLCBhbmQgdGhlIGZh Y3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVseSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG5v dCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJlZm9yZSAnJ25vaeKApmt1J28nJyBpcyBhcHBy b3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRyYW5zbGF0ZSB0aGlzOiDigJxJIGZsaXJ0IHdpdGgg YSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5kc29tZeKAnS4KCl9fJyduYW5tdScnX18g4oCceDEg aXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g4oCceDEgaXMgYmVhdXRpZnVsIHRvIHgyIGluIGFz cGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg04oCdCgpfXycnY2luamlrY2EnJ19fIOKAnHgxIGZs aXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcgc2V4dWFsaXR5IHgzIGJ5IHN0YW5kYXJkIHg04oCd CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaW5qaWtjYSBsbyBuYW5tdSBrdSBwb2kge2tl J2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEgbW9yZSB0ZWNobmljYWwgc2lkZSBub3RlLCBpdCBt aWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcnbG8ge3NlbGJyaX0ga3UnJyBpcyBvZnRlbiBz ZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBrZSdhIHtzZWxicml9IGt1J28nJy4KCgoKCgohIUxv amJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0b3IgZWxpc2lvbikKCicnLmF1 IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3Vf XyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2Vp IGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgogLSAg4oCcSSB3aXNoIHRoZSBBbWVy aWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVuZGVyc3RhbmQgdGhhdCBJIGRvbid0IGxp a2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBhYm92ZSBz ZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQgc2hvdWxkbid0LCBhcyBpdCBjb250YWlu cyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGluIHRoZXNlIGxlc3NvbnMgeWV0KSBvbmUgdGhp bmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4IExvamJhbiBzdHJ1Y3R1cmVzIGFyZSBsZWFy bmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50ZW5jZXMgZ2V0IGZpbGxlZCB3aXRoICcna3Un JywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVyIG9mIHRob3NlIHdvcmRzIHdoaWNoIGJ5IHRo ZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoKVGhlIGZ1bmN0aW9uIG9mIGFsbCB0aGVzZSB3 b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBhIGNlcnRhaW4gZ3JhbW1hdGljYWwgY29uc3Ry dWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnSBpbiB0 aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNoIHdvcmQgZm9yIHRoaXMga2luZCBvZiB3b3Jk IGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2piYW4gd29yZCBpcyAnJ2ZhJ29ybWEnbycnLiBU aGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhlIGV4YW1wbGUgYWJvdmUuCgpOb3RlOiBUaGUg Jyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBhcmUgdGhlIGZhJ29ybWEnbyBmb3Ig4oCcZW5k IGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHlvdSBoYXZlIG5vdCB5ZXQgc2VlbiBp dCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZhJ29ybWEnbzogVGVybWluYXRlcyBicmlkaS4K CgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4gTG9qYmFuLCBtb3N0IGZhJ29ybWEnbyBhcmUg c2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5IHNhdmVzIHN5bGxhYmxlcyBpbiBzcGVlY2gg YW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIsIG9uZSBtdXN0IGFsd2F5cyBiZSBjYXJlZnVs IHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRoZSBzaW1wbGUgZXhhbXBsZSAnJ2xvIG1lcmtv IGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdvcm1hJ28gJydrdScnIHdvdWxkIHlpZWxkICcn bG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBzaW5nbGUgc3VtdGkgbWFkZSBmcm9tIHRoZSB0 YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0IG1lYW5zIOKAnGFuIEFtZXJpY2FuIHRyYXZl bGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmljYW4gdHJhdmVsc+KAnS4gZmEnb3JtYSdvIGVs aXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyByZXN1bHRzIGlmIGRvbmUgaW5jb3JyZWN0bHks IHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFybmVkIGFib3V0IGl0IHVudGlsIG5vdy4KCgoK VGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNhbiBiZSBlbGlkZWQgaXMgdmVyeSBzaW1wbGUs IGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNhbiBlbGlkZSBhIGZhJ29ybWEnbywgX19pZiBh bmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90IGNoYW5nZSB0aGUgZ3JhbW1hdGljYWwgY29u c3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpNb3N0IGZhJ29ybWEnbyBjYW4gYmUgc2FmZWx5 IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4gRXhjZXB0aW9ucyBhcmUgdGhlIG9idmlv dXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1mYSdvcm1hJ28gYW5kIOKAnGVuZCBicmlkaSBn cm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMgd2h5ICcndmF1JycgaXMgYWxtb3N0IG5ldmVy IHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2l0aCAnJy5pJycgd2lsbCBh bG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJlY2VkaW5nIGJyaWRpIGFueXdheS4gSXQgaGFz IG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNpbmNlIGF0dGl0dWRpbmFscyBhbHdheXMgYXBw bHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBseWluZyBpdCB0byBhIGZhJ29ybWEnbyBhcHBs aWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0IHdoaWNoIGlzIHRlcm1pbmF0ZWQuIFVzaW5n ICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0aXR1ZGluYWxzIGFmdGVydGhvdWdodCBhbmQg YXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRpOgoKJyd6YSdhIGRvIGR1bmRhIGxvIHpkYW5p IHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdlJycgLSDigJxJIHNlZSB0aGF0IHlvdSBnaXZl IGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJvdmUh4oCdCgpfXycncHJlbnUnJ19fIHgxIGlz IGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0eS4KCgoKS25vd2luZyB0aGUgYmFzaWMgcnVs ZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBjYW4gdGh1cyByZXR1cm4gdG8gdGhlIG9yaWdp bmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmluZyBmYSdvcm1hJ286CgoKCicnLmF1IGRhJ2kg bWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1w ZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZh dSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldlIGNhbiBzZWUgdGhhdCB0aGUgZmlyc3Qg Jyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNzYXJ5LCBiZWNhdXNlIHRoZSBuZXh0IG5v bi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdoaWNoIGlzIGEgc2VsYnJpLiBTaW5jZSB0 aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBicmlkaSwgJyd2YXUnJyBpcyBub3QgbmVl ZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkgY2Fubm90IGJlIGluIHRoZSByZWxhdGl2 ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBpbiBhIGNsYXVzZSwgb25seSBvbmUgc2Vs YnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUgJydrdSdvJycuIExpa2V3aXNlLCAnJ2pp bXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBpbnNpZGUgdGhlIGNvbnN0cnVjdCAnJ2xl IG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1JycgaXMgbm90IG5lZWRlZCBlaXRoZXIuIEZ1 cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHNlbnRl bmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2lsbCB0 ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMgYW55d2F5LgoKV2UgdGhlbiBlbmQgdXAg d2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIGpp bXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaScnIOKAkyB3aXRoIG5v IGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdvcm1hJ28sIGl0IGlzIGEgZ29v ZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBpcyBvbmUgb2YgdGhv c2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMpIGxpZmUgYSBsb3QgZWFzaWVy LiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZpb3VzIHN1bXRpIGZyb20gdGhl IHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMgdGhlIG5leHQgd29yZCB0byBi ZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFzIGl0IG5lZWRzIHRv IGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRhYmxlIG1hcmtlcjogc2VwYXJh dGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dzIHByZWNlZGluZyBmYSdvcm1h J28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy4oCdCgoKCicnbG8g c3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fdmF1IGtlaSBrdSB2YXUga2Vp IGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBw cmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK4oCcVGhhdCB5b3Ugc2F5IHRoYXQgeW91IGxv dmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDigJxJIHdpc2ggeW91IHNhaWQgeW91IGxvdmVk IG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEgZmEnb3JtYSdvLCBiZWNhdXNlIGl0IGlzIG5v dCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1Y3QuIEJ1dCBpdCBjYW4gYmUgdXNlZCB0byBl bGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBvZiB0aGUgZ3JlYXRlc3Qgc3RyZW5ndGhzIG9m ICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVjb21lcyBlYXN5IHRvIGludHVpdGl2ZWx5IHVu ZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBub3RoaW5nLCBidXQgaXQgcmV2ZWFscyB0aGUg c3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9ucyBieSBpZGVudGlmeWluZyB0aGUgY29yZSBz ZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxlIHdpdGggdGhlIHZpb2xlbnQgQW1lcmljYW4g YnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAnJ2ppbXBlJycgZG9lcyBub3QgY2hhbmdlIHRo ZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBhbnkgd2F5LCBidXQgbWlnaHQgbWFrZSBpdCBl YXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxvd2luZyBjb3VwbGUgb2YgbGVzc29ucywgJydj dScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2FyeSwgYW5kIGFsbCBmYSdvcm1hJ28gZWxpZGVk IGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29ybWEnbyB3aWxsIGJlIGVuY2FzZWQgaW4gY3Vy bHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBUcnkgdG8gdHJhbnNsYXRlIGl0IQoKX18nJ3Zh am5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8geDIgZm9yIHJlYXNvbiB4M+KAnQoKX18nJ2pp bXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0IHgyIChkdSd1LWFic3RyYWN0aW9uKSBpcyB0 cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAtIEF0dGl0dWRpbmFsOiBTaW1wbGUgcHJvcG9z aXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2EnbyBkbyBub2kga2UnYSBsb2pi byAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxvIGR1J3UgbG8gZmEnb3JtYSdvIHtrdX0gY3Ug dmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnCgpXaGF0IGRvIEkgc3RhdGU/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQgeW91LCBhIHByb3VkIExvamJhbmlzdCwgdW5k ZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGltcG9ydGFudOKAnX5+CgoKCkZ1biBzaWRlIG5v dGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGluIGZhJ29ybWEnby1lbGlzaW9uIGRvIGl0IHNv IGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVuIG11c3QgYmUgcmVtaW5kZWQgaG93IGltcG9y dGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBhcmUgdG8gdGhlIHVuZGVyc3RhbmRpbmcgb2Yg TG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2RheSBoYXZlIGJlZW4gZGVzaWduYXRlZCDigJxU ZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEnbyBkamVkaScnIG9uIHRoZSBMb2piYW4gSVJD IGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBEYXksIG1hbnkgcGVvcGxlIHRyeSAoYW5kIG9m dGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcgb3V0IGFsbCBmYSdvcm1hJ28gd2l0aCBzb21l IHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFzIGEgcmVzdWx0LgoKCgoKCiEhTG9qYmFuIExl c3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEpCgpTbyBmYXIgd2UgaGF2ZSBiZWVuIGRvaW5n IHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3ZSBoYXZlIGhhZCBhdCBoYW5kLiBIb3dldmVy LCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2YgZGVmaW5lZCBzZWxicmkgb3V0IHRoZXJlLCBh bmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxhY2VzIGFyZSBub3QgdXNlZnVsIGZvciB3aGF0 IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXksIGkgd2FudCB0byBzYXkgdGhhdCBJIGFtIHRy YW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRoZXJlIGlzIG5vIHBsYWNlIGluIHRoZSBzdHJ1 Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkgd2hhdCB0b29sIEkgdHJhbnNsYXRlIHdpdGgs IHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0IGlzIG5vdCBuZWNlc3NhcnkuIE5vdCB0byB3 b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRvIGFkZCBhZGRpdGlvbmFsIHN1bXRpIHBsYWNl cyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBiYXNpYyB3YXkgdG8gYWRkIHN1bXRpIHBsYWNl cyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyAoeWVzLCBhbm90aGVyIGV4YW1wbGUgb2Yg YSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFsbW9zdCBuZXZlciBuZWNlc3NhcnksIHNvIHRo aXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3UgZXZlciBzZWUgaXQuKQoKSW4gYmV0d2VlbiB0 aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwgYW5kIGxpa2UgJydsbyBTRUxCUkkga3UnJywg JydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMgdGhlIHgxIG9mIHRoZSBzZWxicmkgcHV0IGlu dG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycsIHRoZSBzZWxicmkgcGxh Y2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10aSwgYnV0IHRvIGEgJydzdW10Y2l0YScnLCBt ZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgdGhl IHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVkLiBUaGlzICcnc3VtdGNpdGEnJyB0aGVuIGFi c29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3VsZCBzYXkgdGhhdCB1c2luZyBhICcnc3VtdGNp dGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNlIGZyb20gYW5vdGhlciBzZWxicmksIGFuZCBh ZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQuCgpOb3RlOiBTb21ldGltZXMsIGVzcGVjaWFs bHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKAnHRhZ+KAnSBvciDigJxtb2RhbOKAnSBpcyB1 c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0aG9zZSBwdW55IEVuZ2xpc2ggZXhwcmVzc2lv bnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVyZS4KCgoKV2hpbGUgaXQgaXMgaGFyZCB0byBn cmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcgYWJvdXQgaXQsIGFuIGV4YW1wbGUgY2FuIHBl cmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNpdHk6CgpfXycnc2thbWknJ19fIOKAnHgxIGlz IGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0KCl9fJydwaWxubycnX18g4oCceDEgdXNlcyB4 MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoKCicnbWkgZmFudmEgdGkgZmknbyBzZSBwaWxu byB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9JycgLSDigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgg YSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxubycnLCB3aGljaCBpcyB0aGUgeDEgb2YgJydz ZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJlIGZvciBhIHRvb2wgYmVpbmcgdXNlZCBieSBz b21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBpcyBjYXB0dXJlZCBieSAnJ2ZpJ28gU0VMQlJJ IGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2VsYnJpLCBhbmQgdGhlbiBmaWxsZWQgYnkgJyds byBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRjaXRhJycgaXMgc29tZXRpbWVzIGV4cHJlc3Nl ZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246CgrigJxJIHRyYW5z bGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRlcuKAnQoKCgpBICcnc3VtdGNpdGEnJyBjYW4g b25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBpcyBhbHdheXMgdGhlIGZvbGxvd2luZyBvbmUu IEFsdGVybmF0aXZlbHksIHRoZSAnJ3N1bXRjaXRhJycgY29uc3RydWN0IGNhbiBiZSB0ZXJtaW5h dGVkIHdpdGggJydrdScnLCBpbiB3aGljaCBjYXNlIGEgJyd6bydlJycgaXMgaW1wbGllZCB0byBm aWxsIHRoZSAnJ3N1bXRjaXRhJycuIE9yLCBvbmUgY291bGQgaW1hZ2luZSBhbiBlbGlkZWQgc3Vt dGkgYmVpbmcgdGVybWluYXRlZCB3aXRoIHRoZSAnJ2t1JycuCgpfXycnenVrdGUnJ19fIOKAnHgx IGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4MiBmb3IgcHVycG9z ZSB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8g bG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRoIHZvbGl0aW9uLCBhIGNvbXB1dGVyIHVzZWQg c29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBzIGltcGx5aW5nIHRoYXQgYSBMb2piYW5pYyBj b21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBpdCBkb2VzIG5vdCBzcGVjaWZ5IHdobyBoYWQg dm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhlIHByb2dyYW1tZXIgd2hvIHByb2dyYW1tZWQg dGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgoKCldoYXQgZG9lcyAnJ21pIGppbXBlIGZpIGxh IGxvamJhbiB7a3V9IGZpJ28gc2UgdGF2bGEge2ZlJ3V9IG1pJycgc3RhdGU/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNvbWV0aGluZyBhYm91dCBMb2piYW4sIHNwb2tl biB0byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcnc3VtdGNpdGEnJyByaWdodCBpbiBmcm9udCBv ZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRh IG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBzZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJl IG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFzIHlvdSB3aWxsIHNlZS4KCgoKU2FkbHks ICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gZGVzcGl0ZSBpdHMgZmxleGliaWxpdHku IFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gsIGFyZSBCQUkuIEJBSSBpcyBhIGNsYXNz IG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhlbXNlbHZlcyBhY3QgYXMgJydzdW10Y2l0YScn LiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdlJycsIHRoZSBCQUkgZm9yICcnenVrdGUnJy4g R3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUgc2FtZSBhcyAnJ2ZpJ28genVrdGUgZmUndScn LiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3VsZCBiZSByZWR1Y2VkIHRvOgoKJyd6dSdlIGt1 IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fSB7dmF1fScnLiBUaGVyZSBleGlz dCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1c2Vm dWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28gYmUgY29udmVydGVkIHdpdGggJydz ZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6dSdlJycgaXMgZXF1YWwgdG8gJydm aSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBC QUkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGVuIChQVSwgRkFoQSwgWkksIFZBLCBa RWhBLCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8gdGhlIEVuZ2xpc2gtc3BlYWtlciBhIGxhbmd1 YWdlIExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVhZCB0aHJvdWdoIG5pbmUgbGVzc29ucyBvZiBM b2piYW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcgYSB0ZW5zZSBvbmNlLiBUaGlzIGlzIGJlY2F1 c2UsIHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3VhZ2VzIChtb3N0IEluZG8tRXVyb3BlYW4gb25l cywgZm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBpbiBMb2piYW4gYXJlIG9wdGlvbmFsLiBTYXlp bmcgJydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9JycgY2FuIG1lYW4g4oCcSSBlYXQgY2hlZXNl4oCd IG9yIOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig4oCcSSBhbHdheXMgZWF0IGNoZWVzZeKAnSBv ciDigJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUganVzdCBmaW5pc2hlZCBlYXRpbmcgY2hlZXNl 4oCdLiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMgY29ycmVjdCwgYW5kIGluIG1vc3QgY29udmVy c2F0aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQgYXQgYWxsLiBIb3dldmVyLCB3aGVuIGl0J3Mg bmVlZGVkIGl0J3MgbmVlZGVkLCBhbmQgaXQgbXVzdCBiZSB0YXVnaHQuIEZ1cnRoZXJtb3JlLCBM b2piYW4gdGVuc2VzIGFyZSB1bnVzdWFsIGJlY2F1c2UgdGhleSB0cmVhdCB0aW1lIGFuZCBzcGFj ZSBmdW5kYW1lbnRhbGx5IHRoZSBzYW1lIC0gc2F5aW5nIHRoYXQgSSB3b3JrZWQgYSBsb25nIHRp bWUgYWdvIGlzIG5vdCBncmFtbWF0aWNhbGx5IGRpZmZlcmVudCB0aGFuIHNheWluZyBJIHdvcmsg ZmFyIGF3YXkgdG8gdGhlIG5vcnRoLgoKTGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcywgdGhlIExv amJhbiB0ZW5zZSBzeXN0ZW0gaXMgcGVyaGFwcyB0aGUgbW9zdCBkaWZmaWN1bHQgcGFydCBvZiB0 aGUgbGFuZ3VhZ2UuIFVubGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcyB0aG91Z2gsIGl0J3MgcGVy ZmVjdGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNlLiBTbyBmZWFyIG5vdCwgZm9yIGl0IHdpbGwg bm90IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4gaG93IHRvIG1vZGlmeSB0aGUgc2VsYnJpIG9y IGFueXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoKTm8sIGluIHRoZSBMb2piYW4gdGVuc2Ugc3lz dGVtLCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwgd2hpY2ggd2UgaGF2ZSBjb252ZW5pZW50bHkg anVzdCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3aXRoLiBPa2F5IG9rYXksIHRlY2huaWNhbGx5 LCB0ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIG90aGVyIHN1bXRjaXRhLCBidXQg dGhpcyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNpZ25pZmljYW50LCBhbmQgd2lsbCBiZSB3b24n dCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIEluIG1vc3QgYXNwZWN0cyB0aGV5IGFyZSBsaWtl IGFsbCBvdGhlciBzdW10Y2l0YTsgdGhleSBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIG1ha2lu ZyBpdCBleHBsaWNpdCB0aGF0IFBVIGlzIHRlcm1pbmF0ZWQgYnkgJydrdScnLgoKVGhlcmUgYXJl IG1hbnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXQncyBzdGFydCBh dCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpfXycncHUnJ19f IC0gc3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNpdGE6IGF0IHRo ZSBzYW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBhZnRlciB7c3Vt dGl9CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJlZm9yZeKAnSwg 4oCcbm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwgb25lIGNvdWxk IGFyZ3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1ciBleGFjdGx5 IHNpbXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAnJ2NhJycgZXh0 ZW5kcyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFuaW5nIGp1c3Qg 4oCcYWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRvbid0IHBlcmNl aXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkgbG9naWNhbCB3YXksIGFuZCB0aGUgTG9qYmFuIHRlbnNl IHN5c3RlbSByZWZsZWN0cyB0aGF0LgoKCgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1YWxseSBzdWdn ZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3RpYy4gVGhhdCBp ZGVhLCBob3dldmVyLCB3YXMgZHJvcHBlZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVyLWludHVpdGl2 ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0byBsZWFybiBMb2piYW4sIG9uZSB3b3VsZCBoYXZlIHRv IGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVsYXRpdml0eSBmaXJzdC4gIAoKCgpTbywgaG93IHdvdWxk IHlvdSBzYXkg4oCcSSBleHByZXNzIHRoaXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCdIChwb2ludGlu ZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY3Vza3UgdGkgYmEgbG8g bnUgbWkga2xhbWEgdGkge3ZhdX0ge2tlaSB7a3V9IHt2YXV9Jyd+fgoKCgpVc3VhbGx5IHdoZW4g c3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZlbnQgdGhpcyBhY3Rp b24gaXMgaW4gdGhlIHBhc3QgcmVsYXRpdmUgdG8uIEluOiDigJxJIGdhdmUgYSBjb21wdXRlciBh d2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5lZCByZWxhdGl2ZSB0 byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkgb2YgdGhlIHN1bXRj aXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEgbG8gc2thbWkge2t1 fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7dmF1fScnIG9y LCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScn LiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGltcGxpZWQgJyd6bydl JycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxhdGl2ZSB0byB0aGUg c3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdo ZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2luZyBhYm91dCBzb21l IGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRoZSBwcmVzZW50LCBp dCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRo YXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRlciB0byBjbGFyaWZ5 IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50IHBv c2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1lLiBBbm90aGVy IHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lkZXJlZCB0aGUg bmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9fJyduYXUnJ19f IHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNlIHRvIHRoZSBz cGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScnX18gPSDigJx4MSBp cyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4M+KAnQoKCgpB bHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUge2t1fSB7dmF1 fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhhdCBJJ20gbm90 IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxzbyB0cnVlIHNvbWUg dGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBhZ28uCgoKCkFzIG1l bnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJlIHZlcnkgbXVjaCBh bGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2VzIHdpdGggdGhlc2Ug Zm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10Y2l0YTogbGVmdCBvZiB7c3Vt dGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0KCl9fJydyaSd1 JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19fIHN1bXRjaXRhOiBh dCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxlbnQgb2YgJydjYScn KQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBwYXRp ZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQgJycubydvbmFpIHJpJ3Uge2t1 fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0ge2t1fSB7dmF1fSB7 a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBrdSEpCgpfXycnZGFy eGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0IGxvY3VzIHg0CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0IChvZiBzb21ldGhp bmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZlbnQpLCBzb21ldGhp bmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0gb3Ig4oCcQSBtYW4g aGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBzZXZlcmFsIHRlbnNl IHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3UgcmVhZCB0aGVtIGZy b20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg4oCcaW1hZ2luYXJ5 IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBvaW50IGluIHRpbWUg YW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVyZSksIGFuZCB0aGVu IGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9tIGxlZnQgdG8gcmlnaHQuCgpF eGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28g e2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJIHdpbGwgYmUgYWJv dXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9IHB1IHtrdX0gamlt cGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBzb21lIHBvaW50IGlu IHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEnb3JtYSdvcy7igJ0K ClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3ZSBtb3ZlIGJhY2sg b3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJvdGggY2FzZXMgaGFwcGVuIGlu IHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVyZW5jZS4KCgoKQWxz bywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwgdGhlIHJ1bGUgaXMg dG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhpcyBydWxlIGlzIHZp b2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50YWN0aWNhbCBhbWJpZ3VpdHks IHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3ZSB3YW50IHRvIHNw ZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUgYWdvLiBUaGUgd29y ZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9ydCwgdW5zcGVjaWZp ZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0aW1lLiBOb3RpY2Ug dGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMgb3JkZXIgYXBwZWFy cyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29ydGggdG8gbWVtb3Jp emUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMgY29udGV4dCBkZXBl bmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5ZWFycyBpcyBhIHNo b3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcgdGltZSB0byB3YWl0 IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRp c3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6 YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNl IG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6dScnX18g c3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZy b20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFjaWFsIGRpc3RhbmNl IGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBzaG9ydCwgdW5zcGVj aWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpfXycndmknJ19fIHN1 bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBm cm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRo ZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBw b2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFy IGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNl IAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVjdGl2ZSB4M+KAnQoK CgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmthIHt2YXV9JycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIHdv cmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVseSB1c2UgJyd6aScn LCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScnIGluIGZyb250IG9m IGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQgdG8gc3BlY2lmeSBw YXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4geW91IHRoaW5rIGFi b3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGltZS1kaXJlY3Rpb24g aXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1b3VzIQoKCgpUaGUg b3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5jZS1zdW10Y2l0YSBh cmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhlIG1lYW5pbmdzIG9m IHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0dXJlZCBieSBhbiBp bWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byByaWdodC4gVGh1cyAnJ3B1IHp1 JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUgcHUnJyBpcyDigJxpbiB0aGUg cGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBsb25nIHRpbWUgdG93YXJkIHRo ZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUgZmlyc3QgZXhhbXBsZSwgJydw dScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcnenUnJyB0aGVuIHRoYXQgaXQg aXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1wbGUsICcnenUnJyBz aG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4gdGltZSBmcm9tIG5v dywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0aGF0IHBvaW50LiBU aHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcnenUgcHUnJyBjb3VsZCBiZSBp biB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUgdGVuc2VzIGNvbWJpbmUgaW4g dGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRh IGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1bXRjaXRhIGFyZSBu b3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10Y2l0YSBpbiBhIGJy aWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxsIHRoZXNlIGNvbnN0cnVjdHMg YmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwb2ludC1saWtlIGluIHRpbWUg YW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0IG92ZXIgYSBzcGFu IG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZldyBwYXJhZ3JhcGhzLCB3ZSB3 aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0aW1lIGFuZCBzcGFjZS4KCgoK X18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCB0aW1lIG9mIHtz dW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZp ZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScnX18gc3VtdGNpdGE6IHNwYW5u aW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdpJydfXyBzdW10Y2l0 YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ2EnJ19f IHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSBzcGFjZSBv ZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcg c3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1lLCBJIGtub3csIGJ1dCByZW1l bWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5IG9mIHRoZSBpbml0 aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNwYWNpYWwgdGVuc2Vz IG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydfXyAtIGF0dGl0dWRpbmFsOiBw YWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUndSB7a3V9IGtsYW1h IGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5nIGEgbG9uZyBzcGFj ZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUgbm90IGZhbWlsaWFy IHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3BlbiB1cCBmb3Igc29t ZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2UsIHRyYW5zbGF0ZSDi gJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9IGdlcmt1IHt2YXV9JycuIFNh eWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3BhY2XigJ0gbWFrZXMgeW91IHNv dW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBMb2piYW4hCgoKCicn emUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3RoZXIgdGVuc2VzIHRv IGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZSd1JycgYW5kIHRoZSBvdGhl cnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFya3MgYW4gZW5kcG9pbnQgb2Yg dGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiByZWZlcmVuY2UpIGFuZCBhbnkg dGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9pbnQgcmVsYXRpdmUg dG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0aCBhIGNvdXBsZSBv ZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1IHtrdX0gYmEge2t1 fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJlZ2lubmluZyBpbiB0 aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBzb21lIHBvaW50IGZhciBpbnRv IHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBmLCB5b3UgYXRlIGZv ciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8gY2Ege2t1fSB6ZSdp IHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9IHplJ2kge2t1fSBj YSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2ZWxpbmcgaGFzIG9u ZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRsZSB0b3dhcmRzIHRo ZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHBh c3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywgc2xpZ2h0eSBpbnRv IHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydqbWl2ZScnX18g4oCc eDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcnLnVpIG1pIHB1IHtr dX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHByZXNzPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRsZSBpbnRvIHRoZSBw YXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0IChvYnZpb3VzbHkg dGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW504oCdIG9yIOKAnEkgYW0geW91 bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKAnX5+CgoKCkp1c3Qg dG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5zZXMsIGxldCdzIGhh dmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRlbnNlczoKCl9fJycu dSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoKJycudSdlIHphJ2Eg e2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1fScnIC0gV2hhdCBk b2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25kZXJ9IHtJIG9ic2Vy dmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBmcm9udCBpcyBhIGhv bWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBpcyBodWdlIeKAnX5+ CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5IHRlbnNlIHN5c3Rl bSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMgZG9pbmcgc29tZXRo aW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8gbGV0IHRoZSBp bmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUgdmVyeSBzbG93 bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0LgoKCgohIUxv amJhbiBMZXNzb25zIC0gTGVzc29uIGVsZXZlbiAoWkFoTykKClRob3VnaCB3ZSB3b24ndCBnbyB0 aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Igbm93LCB0aGVyZSBpcyBvbmUg b3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRhdWdodCBub3cuIFRo ZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFuZCByZXByZXNlbnQgYSB2ZXJ5 IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZlIHNlZW4gc28gZmFy LiBTbyBsZXQncyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2UgaGF2ZSBsZWFybmVk IHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxpbmUsIGFuZCB3ZSB0 aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhlIOKAnG5vd+KAnS4g V2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2ZW50IGFzIGEgcHJv Y2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3JlIGl0IHVuZm9sZHMs IGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4gcHJvY2VzcywgYSB0 aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5kZWQuIEV2ZW50IGNv bnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnQncyBwcm9jZXNzIHdh cyBoYXBwZW5pbmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNpZmllZCBieSB0aGUgb3RoZXIgdGVuc2Vz LiBXZSBuZWVkIGEgY291cGxlIG9mIHRlbnNlcyBmaXJzdDoKCgoKX18nJ3B1J28nJ19fIC0gc3Vt dGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBlbmVkIGR1cmluZyB7 c3VtdGl9CgpfXycnY2EnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMg aW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2JhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhhcyBlbmRlZCBkdXJpbmcge3N1bXRpfQoK CgpUaGlzIG5lZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBieSBzb21lIGV4YW1wbGVzLiBXaGF0J3Mg JycudWkgbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVhbj8KCgoKQW5zd2VyOiDigJxZ YXksIEknbGwgYmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0uCgoKCkJ1dCBoZXksIHlvdSBhc2ssIHdo eSBub3QganVzdCBzYXkgJycudWkgbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGFuZCBldmVu IHNhdmUgYSBzeWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1iZXIsIHNheWluZyB0aGF0IHlvdSB3aWxs IGhhdmUgYSBob21lIGluIHRoZSBmdXR1cmUgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgeW91 IGhhdmUgYSBob21lIG5vdy4gVXNpbmcgJydwdSdvJycsIHRob3VnaCwgeW91IHNheSB0aGF0IHlv dSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9jZXNzIG9mIHlvdSBoYXZpbmcgYSBob21l LCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb24ndCBoYXZlIG9uZSBub3cuCgpOb3RlLCBieSB0aGUg d2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNpbWlsYXIgdG8gJydt aSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJywgYW5kIGxpa2V3aXNlIHdpdGggJydiYSdvJycg YW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2VlbSByZXZlcnNlZD8gQmVjYXVzZSBldmVudCBjb250 b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJvbSB0aGUgdmlld3BvaW50IG9mIHRoZSBw cm9jZXNzLCB3aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMgdmlldyBldmVudHMgc2VlbiBmcm9tIHRo ZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQgY29udG91cnMgYXJlIG1vcmUgcHJlY2lzZSB0aGF0 IG90aGVyIGtpbmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUgY2xhcml0eSBpcyBhY2hpZXZlZCBieSBj b21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBtaSBiYXtrdX0gemkge2t1fSBiYSdvIHtr dX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3ZlIHNvb24gZmluaXNoZWQgd29ya2luZy7i gJ0KCgoKSW4gTG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUgd2l0aCBhbiBldmVudCdzIOKAnG5hdHVy YWwgYmVnaW5uaW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRoZSB0ZXJtIOKAnG5h dHVyYWzigJ0gaXMgaGlnaGx5IHN1YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwgYW5kIHRoZSBuYXR1 cmFsIGVuZCByZWZlcnMgdG8gdGhlIHBvaW50IGluIHRoZSBwcm9jZXNzIHdoZXJlIGl0IHNob3Vs ZCBlbmQuIFlvdSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGluc3RhbmNlLCB0aGF0 IGl0cyBwcm9jZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5nIGJleW9uZCBpdHMg bmF0dXJhbCBlbmQuIEFuIHVuZGVyY29va2VkLCBidXQgc2VydmVkIG1lYWwsIHNpbWlsYXJseSwg aXMgYmVpbmcgZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2VzcycgbmF0dXJhbCBiZWdpbm5pbmcuIFRo ZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVzIGFyZSBhcyBmb2xsb3dzOgoK CgpfXycnemEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJv Y2VzcyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3VtdGl9CgpfXycneGEnbycnX18g LSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1tYXR1cmVseSBpbiBwcm9jZXNz IGR1cmluZyB7c3VtdGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgxIGlzIGZvb2QsIHdoaWNoIGlz IGVkaWJsZSBmb3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRrYSB6YSdvIGxvIG51 IGRvIGJhJ28ge2t1fSB1J2UgY2l0a2Egem8nZSBub2kgY2lkamEgZG8ge3ZhdX0ge2t1J299IHt2 YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95LCB5b3Uga2VlcCBl YXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0aW5nIHNvbWV0aGlu ZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9 CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4gQWxsIHRlbnNlcyBh Ym92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292ZXJpbmcgYW4gYW1v dW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUgc2lnbmlmeSBzdGFn ZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5zZXMgaGF2ZSBiZWVu IGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0YWtlcyBzb21lIHRpbWUgKGFz IHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2VzIGFib3ZlIHRoZSBldmVudCBs aWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJlcyBwb2ludCBsaWtl IHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5uaW5nLiBBcyBpcyB0cnVlIG9m ICcnY2EnJyBhbmQgJydidSd1JycsIHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNsaWdodGx5IGludG8g dGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBub3QgdG8gYmUgcHJl Y2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1saWtlIGV2ZW50IGNvbnRvdXJz IGFyZToKCl9fJydjbydhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBh dCBpdHMgYmVnaW5uaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnY28ndScnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKCgpG dXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUgcHJvY2VzcyBpcyBuYXR1cmFs bHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVuZGVkIHlldDoKCl9fJydtbyd1 JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgbmF0dXJhbCBl bmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUsIHRob3VnaCwgcHJvY2Vzc2Vz IGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsgdGhpcyBpcyB3aGF0IG1ha2Vz IGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5kIHBlb3BsZSB1c3Vh bGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGlibGUgZm9vZC4KCgoKU2luY2Ug YSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhlc2UgcG9pbnRzIGhh dmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286CgpfXycnZGUnYScnX18gLSBz dW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcGF1c2luZyBkdXJpbmcge3N1bXRpfQoK X18nJ2RpJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHJlc3VtaW5n IGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVuZGknJyBtZWFucyDigJx4MSBw YXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZSdhIGp1bmRpJycgYW5kICcnZGknYSBqdW5kaScn IGFyZSBjb21tb24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBhbmQg4oCcYmFja+KA nS4gT25lIGNvdWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZlbnQgY29udG91cnMgYnkgdGhl bXNlbHZlcyBhbmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZpbmFsbHksIG9uZSBj YW4gdHJlYXQgYW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcgdG8gdGhlIGVuZCBh cyBvbmUgc2luZ2xlIHBvaW50IHVzaW5nICcnY28naScnOgoKX18nJ3Blbm1pJydfXyDigJx4MSBt ZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9IHppIHtrdX0gY28naSB7a3V9 IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKAnEEgbGl0dGxlIHdoaWxlIGFn bywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBtZXQgYSBHZXJtYW4gcGVyc29u 4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VsdmUgKG9yZGVycyBhbmQgcXVl c3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3aXRoIHN5bnRheCBoZWF2eSBM b2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25kZXIgYWJvdXQuIEVzcGVjaWFs bHkgYmVjYXVzZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNvIGxldCdzIHR1cm4g dG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9yZGVycyBhbmQgcXVlc3Rpb25zLgoKCgpX aGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18KCgoKU2luY2UgdGhlIHdheSB0byBleHBy ZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZlIG91dCB0aGUgc3ViamVjdCBvZiB0aGUg Y2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBpdCB3YXMgeW91IEkgd2FzIHNwZWFraW5n IHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3IgZXhwcmVzc2luZyB0aGUgb2JsaWdhdGlv biBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBFbmdsaXNoIGxhbmd1YWdlIHVuZGVyc3Rh bmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwgYXJlIGFsd2F5cyBkaXJlY3Rl ZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5b3XigJ0sIGFuZCBzbyB0aGUgc3ViamVj dCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBlbGlkaW5nIHRoZSBzdWJqZWN0IHlpZWxk cyAnJ3pvJ2UnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBpcyBzYWRseSBub3Qgb3BlbiB0byB1cy4g SW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywgd2hpY2ggaXMgdGhlIGltcGVyYXRpdmUg Zm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5kIGJyaWRpLXdpc2UsIGl0J3MgZXF1aXZh bGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50aWNzLCBzaW5jZSBp dCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50byBhbiBvcmRlci4g 4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91PScna28nJyHigJ0g Rm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVkIHRoZSBzdWJqZWN0IGluIEVuZ2xpc2gg c2VudGVuY2VzLCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdvcmRzIGRlcml2ZWQgZnJvbSBhbnkgb3Ro ZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhvdyBjb3VsZCB5b3Ugb3JkZXIgb25lIHRvIGdvIGZh ciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNpbmcgJydrbGFtYScnIGFzIHRoZSBvbmx5IHNlbGJy aT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6a28gdmUndSB6ZSd1IGtsYW1hfn4KCignJy5pIHph J2EgZGFpIGEnbyBtaSBjYSBjbyd1IGNpc2thIGxvIGZhJ29ybWEnbyAuaSBrbyBqaW1wZSB2YXUg LnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBvdXQuCgoKClF1ZXN0aW9ucyBpbiBM b2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRoZXkgY29tZSBpbiB0d28ga2luZHM6 IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBxdWVzdGlvbnMuIExldCdzIGJlZ2lu IHdpdGggdGhlIHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRoYXQncyBwcmV0dHkgb3ZlcmNv bWVhYmxlLCBzaW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1JycuCgonJ3h1Jycg d29ya3MgbGlrZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBjYW4gZ28gYW55 d2hlcmUsIGFuZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcgd29yZCAob3IgY29uc3RydWN0 KS4gSXQgdGhlbiB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVlc3Rpb24sIGFza2lu ZyB3aGV0aGVyIGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0byBhZmZpcm0sIHlvdSBzaW1w bHkgcmVwZWF0IHRoZSBicmlkaToKCicneHUgdmUndSB6ZGFuaSBkbycnICcnLmkgdmUndSB6ZGFu aSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmksIHdoaWNoIGlzIHRoZSBi cmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcnemRhbmknJy4KClRo ZXJlIGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNpbmcgYnJpa2EnaSwgYnV0IHRo b3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5zd2VyIOKAnG5v4oCdIG9yIOKA nGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBicmlkaSBuZWdhdGVkLiBUaGF0 IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0dXJuIHRvIHF1ZXN0 aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2luZCBpcyBmaWxsIGluIHRoZSBi bGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8gYmUgcmVwbGFjZWQg Zm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkgY29ycmVjdC4gVGhlcmUgYXJl IHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlvdSBhcmUgYXNraW5n IGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8nJ19fIC0gc2VsYnJp IHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycnY3UnZScnX18gLSB0 ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBhc2sgYWJvdXQgYSBz dW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3aGVyZSB5b3Ugd2Fu dCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNrcyBmb3IgdGhlIHgyIHRvIGJl IGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdpdmUgd2hhdCB0byBtZT/igJ0u IFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21hJycgaXMgdmVyeSB1c2VmdWwg aW5kZWVkOgoKX18nJ211J2knJ19fIC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBieSB0aGUgYWJzdHJh Y3Rpb24gb2Yge3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4aSBtaSBtdSdpIG1hJycgLSDigJxPeSwg d2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0cnkgYW5vdGhlciBvbmUuIFRoaXMgdGlt ZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZSd1IHB1IG1vJycKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxZb3UncmUgaGFwcHksIHdoYXQgaGF2ZSB5b3UgYmVlbiBkb2luZyBh bGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmljYWxseSwgaXQgY291bGQgYWxz byBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJpbmcgd2l0aCAnJy51 YSBuYWkgbGknYSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNseSkgaXMganVzdCBiZWluZyBp bmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2luY2UgdG9uZSBvZiB2b2ljZSBv ciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIgYSBzZW50ZW5jZSBp cyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlzcyB0aGUgcXVlc3Rpb24gd29y ZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1cyBtb3JlIG9uIHdvcmRzIGlu IHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0J3MgdXN1YWxseSB3 b3J0aCB0aGUgd2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRoYXQgdGhlIHF1ZXN0 aW9uIHdvcmRzIGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90IGZlYXNhYmxlLCAn J3BhdScnIGlzIGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0aGUgc2VudGVuY2UgaXMgYSBx dWVzdGlvbi4gQ29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0bHkgbWFya3MgYW55IHF1ZXN0 aW9uIGFzIGJlaW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0aGUgdG9waWMgb2Yg cXVlc3Rpb25zLCBpdCdzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVudGlvbiB0aGUgd29yZCAnJ2th dScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3QgcXVlc3Rpb27igJ0uIFdoYXQn cyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFrZSBhIGxvb2sgYXQgdGhlIHNl bnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR1J3UgbWEga2F1IHpkYW5pIGRvJycgLSDigJxJIGtub3cg d2hhdCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKAnHgxIGtub3dzIGZhY3Qocykg eDIgYXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg04oCdCgpPbmUgY2FuIHRoaW5r IGl0IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEgemRhbmkgZG8nJy4gTW9yZSBy YXJlbHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3JkIHdpdGggJydrYXUnJywgaW4g d2hpY2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMgdGhlIGFuc3dlciB0byBhIHF1 ZXN0aW9uOiAnJ21pIGppbXBlIGxvIGR1J3UgZHVuZGEgdGkga2F1IGRvJycgLSDigJxJIGtub3cg d2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0aGlzLuKAnQoKCgoKCiEhTG9qYmFuIExl c3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xvZ3kgYW5kIHdvcmQgY2xhc3NlcykKCkJh Y2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5nKSBzdHVmZi4KCklmIHlvdSBoYXZlbid0 IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3UgZmluZCB0aGUgTG9qYmFuaWMgcmVjb3Jk aW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xlIFJvYmluIiwgb3IgbGlzdGVuIHRvIHNv bWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5kIHRoZW4gcHJhY3RpY2UgeW91ciBwcm9u dW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29udmVyc2F0aW9uIGluIHlvdXIgaGVhZCBp biBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbid0IHdpdGggYWxsIHRoZSB3cm9uZyBzb3Vu ZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0ZXh0IGlzIGhhcmQu IFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gdGhlIExvamJhbiBzb3VuZHMs IGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0IGludHJvZHVjdGlv biB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhvbG9neT8gVGhlIHdv cmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5IG9mIHNoYXBlc+KA nSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBob3cgd2UgbWFrZSB3b3JkcyBm cm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3aXRoIHN5bnRheCAtIGhvdyB3 ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMgd2l0aCBkaWZmZXJl bnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwgZGVmaW5lZCBieSB0 aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0ZW1hdGljIHRob3Vn aCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdyb3VwZWQgYnkgbW9y cGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIuCgp8fCAgIENsYXNz fE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jkczp8ICAgfCAgIHwg ICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZpcnN0IDUgbGV0dGVycyAoZXhj bHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVzdGVyLiBFbmRzIGluIHZvd2Vs LiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBoYXMgYSBwbGFjZSBz dHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJzIG9mIHRoZSBmb3Jt IENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcy4gQ292ZXJzIGJh c2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdvcmQuIERlcml2ZWQgZnJvbSBm cm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdvcmTigJ0gfCAgIE1pbi4gNiBs ZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhlciB3aXRoIGJpbmRpbmcgbGV0 dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBsZXggY29uY2VwdHMgdGhhbiBn aXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJyaXZsYSwgYnV0IGRvIG5vdCBt ZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZvLCBleDogJydhbmdlbGknJyAg fCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFjZXMgb3Igb3JnYW5p c21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5pbmcgYW5kIGVuZGluZyB3aXRo IHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBpcyBhIGNvbnNvbmFudC58ICAg QWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50IG9mIGEgcXVvdGUuCgogICBD bWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCdLCBtZWFuaW5nIOKAnHNtYWxs IHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlzIGF0IHRoZSBiZWdpbm5pbmcu IEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMuIFZhcmllcwoKICAg V29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBBZmZpeHwgIENDViwgQ1ZDLCBD VidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3QgYWN0dWFsIHdvcmRz LCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8gfHwKCgoKCgpfXycn Y21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJlY2F1c2UgdGhleSBiZWdpbiBh bmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxsIHN0b3AgaW4gd3JpdGluZywg YW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21ldmxhIGNhbid0IGhhdmUgYW55 IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFzIGEgbmFtZS4gT24gdGhlIG90aGVyIGhh bmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNhbm5vdCBhcHBlYXIgaW4gTG9qYmFuIHdp dGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9yIGVuY2FzZWQgYnkgY2VydGFpbiBxdW90ZSB3b3Jk cy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0aGUgbmFtZXMgYnkgY2FwaXRhbGl6aW5nIHRoZSBs ZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBsZXMgb2YgY21ldmxhIGFyZTogJycuaW9o QU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ryb3BoZSksICcnLm1hdC4nJyAoTWF0dCkg YW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hpIE1pbikuIE5hbWVzIHdoaWNoIGRvIG5vdCBlbmQg aW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFkZGVkOiAnJy5pdnluLicnIChFdmUpLCBv ciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkgcmVtb3ZlZDogJycuaXYuJycKCgoKX18n J2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jkc+KAnSBiZWNhdXNlIHRoZXkgYnkg ZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFsbW9zdCBhbGwgTG9qYmFuIHdvcmRz IHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4gVGhpcyBoYXMgYWxzbyBnaXZlbiB0 aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQtd29yZHPigJ0uIEl0J3MgbmVhcmx5 IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1bCB3aXRob3V0IGJyaXZsYSwgYW5kIGFs bW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRzIG91dHNpZGUgbG9qYmFuIGdyYW1tYXIgKGFuZCBl dmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0aGluZ3MgaW4gdGhlIGxhbmd1YWdlKSBhcmUgY2Fw dHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBpbiB0aGUgdGFibGUsIGJyaXZsYSBoYXMgdGhyZWUg c3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScnX18gYXJlIHRoZSByb290IHdvcmRzIG9mIHRoZSBs YW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4aXN0cywgYW5kIHZlcnkgZmV3IG5ldyBvbmVzIGFy ZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9zdCBiYXNpYyBjb25jZXB0cyBsaWtlIOKAnGNpcmNs ZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFuZCDigJxkcmVhbeKAnS4gRXhhbXBsZXMg aW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUnJyBhbmQgJydkdW5kYScnCgpfXycnbHVqdm8nJ19f IGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZzaSAoc2VlIHVuZGVyIHJhZnNpKSwgcmVzcHJlc2Vu dGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJhZnNpLCBvbmUgbmFycm93cyBkb3duIHRoZSBtZWFu aW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBieSBhbiBlbGFib3JhdGUgYWxnb3JpdGht LCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24gdGhlIGZseSBpcyBuZWFyIGltcG9zc2libGUsIHdp dGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2knJywgZnJvbSAnJ3NlIHByYW1pJycsIHdo aWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3RlYWQsIGx1anZvIGFyZSBtYWRl IG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4gdGhhdCBkZWZpbml0 aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1wbGVzIGluY2x1ZGUg YnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1YWwtc29jaWFsaXppbmcgPSBm bGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0ID0gYmVldGxlKS4KCl9fJydm dSdpdmxhJydfXyBhcmUgbWFkZSBieSBtYWtpbmcgdXAgd29yZHMgd2hpY2ggZml0IHRoZSBkZWZp bml0aW9uIGZvciBicml2bGEsIGJ1dCBub3QgZm9yIGx1anZvIG9yIGdpc211LiBUaGV5IHRlbmQg dG8gY292ZXIgY29uY2VwdHMgd2hpY2ggaXQncyBoYXJkIHRvIGNvdmVyIGJ5IGx1anZvLCBmb3Ig aW5zdGFuY2UgbmFtZXMgb2Ygc3BlY2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1bHR1cmFsIHNwZWNp ZmljIGNvbmNlcHRzLiBFeGFtcGxlcyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlvJycgKEtvcmVhKSAn J2NpZGpycGl0c2EnJyAocGl6emEpIG9yICcnYW5nZWxpJycgKGFuZ2VsKS4KCgoKX18nJ2NtYXZv JydfXyBhcmUgc21hbGwgd29yZHMgd2l0aCBvbmUgb3IgemVybyBjb25zb25hbnRzLiBUaGV5IHRl bmQgdG8gbm90IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdvcmxkLCBidXQgdG8g aGF2ZSBvbmx5IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9jY3VyLCBhbmQgaXQn cyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBmb3IgdGhlaXIgZ3JhbW1h dGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhlIHdvcmRzIG9mIHRo ZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxpZCB0byB0eXBlIHNl dmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVzZSBsZXNzb25zLCB0 aGF0IHdvbid0IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNlcnRhaW4gY21hdm8gaW4gZnVuY3Rpb25h bCB1bml0cywgdGhvdWdoLCBpdCBpcyBzb21ldGltZXMgZWFzaWVyIHRvIHJlYWQuIFRodXMsICcn LnVpcHV6dXZ1a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBhbmQgaXMgcGFyc2VkIGFuZCB1bmRlcnN0 b29kIGFzICcnLnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGthJycuIExpa2Ugb3RoZXIgTG9qYmFuIHdv cmRzLCBvbmUgc2hvdWxkIChidXQgbmVlZCBub3QgYWx3YXlzKSBwbGFjZSBhIGZ1bGwgc3RvcCBi ZWZvcmUgYW55IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEgdm93ZWwuCgpjbWF2byBvZiB0aGUgZm9y bSB4VlYsIENWJ1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFyZSB3b3JkcyB3aGlj aCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhhdmUgYmVlbiBhZGRl ZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRhaW4gbmVlZC4KCgoKX18nJ3Jh ZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBuZXZlciBhcHBlYXIgYWxvbmUu IEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJpbmUgdG8gZm9ybSBs dWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBicml2bGEtZGVmaW5pdGlvbiwg Zm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGVuZHMgaW4gYSBj b25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5kICcnY2knZWtlaScnIGlzIGlu dmFsaWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjb250YWluIGEgY29uc29uYW50IGNsdXN0ZXIsIGFu ZCBpcyB0aHVzIHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0ZW4gYXMgb25lIHdvcmQuIE9mdGVuLCBh IDMtNCBsZXR0ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSwgbGlrZSAnJ3p1 J2UnJywgd2hpY2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9yICcnenVrdGUnJy4g Tm90ZSB0aGF0IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2kg d291bGQgYmUgZ3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3QgY29uc2lkZXJlZCBob21vcGhv bmVzLiBBbGwgZ2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYgdGhleSBhcmUgcHJlZml4ZWQg d2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0ZXIgb2YgYSBnaXNtdSBzdWZm aXhlZCB3aXRoIGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZzaSwgaWYgdGhleSBhcmUgc3Vm Zml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBvbmx5IGFwcGVhciBp biBsdWp2byBvciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBjb21iaW5hdGlvbnMgYXJlOiBD VlYsIENWJ1YsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NWQ1YuCgoKClVzaW5n IHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5zd2VyIHRoZSB0ZXN0 IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgd29yZHMg YXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcnZnUnaXZsYScnIChmKSBvciBj bWF2byAoYyk6CgpBICkgamFpICAgICAgICBHICkgbXVtYmwKCkIgKSAuaXJjaSAgICAgICAgSCAp IC5pJ2kKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVsbWFuICAgICAgICBKICkgcGxh anZhCgpFICkgcG8nZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBkamlza3UgICAgICAgIEwgKSAu ZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwgYy1nLCBkLUMsIGUtYywgZi1s LCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQgb3V0IHRoZSBmdWxsIHN0b3Bz IGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRuJ3QgYmUgdG9vIGVhc3kuCgpOb3Rl OiBzb21lIG9mIHRoZXNlIHdvcmRzLCBsaWtlICcnYm9zdHUnJyBkbyBub3QgZXhpc3QgaW4gdGhl IGRpY3Rpb25hcnksIGJ1dCB0aGlzIGlzIGlycmVsZXZhbnQuIFRoZSBtb3JwaG9sb2d5IHN0aWxs IG1ha2VzIGl0IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBhbiB1bmRlZmluZWQgZ2lzbXUuIFNpbWls YXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZm91 cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoKSWYgeW91IGhhdmUgcmVhZCBh bmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxlc3NvbnMgdW50aWwgbm93LCB5 b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRnZSBvZiBMb2piYW4gc28gdGhh dCBpdCBkb2Vzbid0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4gdGhlIHJlc3QuIEFz IGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxsIGJlIGEgbWl4dHVy ZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0ZWQgYnkgaW1wb3J0 YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUgb2YgdGhlIGJpZ2dl c3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0ZWQga25vd2xlZGdl IG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cgJyd0aScnIGFuZCAn J2xvIFNFTEJSSScnLCB3aGljaCBkb2Vzbid0IHRha2UgeW91IGZhciBjb25zaWRlcmluZyBob3cg aW1wb3J0YW50IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRoaXMgbGVzc29uIGFzIHdlbGwgYXMgdGhl IGZvbGxvd2luZyB0d28gd2lsbCBiZSBhYm91dCB0aGUgTG9qYmFuIHN1bXRpLiBGb3Igbm93LCB3 ZSBmb2N1cyBvbiB0aGUgZGVzY3JpcHRpdmUtbGlrZSBzdW10aSwgdGhlIG9uZXMgbWFkZSB3aXRo IGFydGljbGVzIGxpa2UgJydsbycnCgpBcnRpY2xlcyBhcmUgaW4gbG9qYmFuIGNhbGxlZCAnJ2dh ZHJpJycsIGFuZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2VkIGluIHRoaXMgbGVzc29uIGFyZSB0ZXJt aW5hdGVkIGJ5ICcna3UnJywgZXhjZXB0IHRoZSBjb21iaW5hdGlvbnMgJydsYSBDTUVWTEEnJywg JydsYWkgQ01FVkxBJycgYW5kICcnbGEnaSBDTUVWTEEnJy4gV2Ugd2lsbCBiZWdpbiBieSBkZXNj cmliaW5nIHRocmVlIHNpbXBsZSBraW5kcyBvZiBkZXNjcmlwdGl2ZSBzdW10aSwgYW5kIHRoZW4g aW1tZWRpYXRlbHkgZmluZCB0aGF0IHRoZXkgYXJlIG5vdCBzbyBzaW1wbGUgYWZ0ZXIgYWxsOgoK X18nJ2xvJydfXyAtIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkv bWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2NyaXB0aXZlIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8g aW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRp Y2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKA nS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUgYWxyZWFkeSBmYW1p bGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBkb2VzIGl0IG1lYW4s IOKAnHZlcmlkaWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0 eS9tYXNzLW5lc3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMgYW5kIG1hc3Nlcywg SSdsbCBjb21lIGJhY2sgdG8gbGF0ZXIuIEZvciBub3csIOKAnHZlcmlkaWNhbOKAnSBpbiB0aGlz IGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGluZyB0byBxdWFsaWZ5IGJlZ2lu IGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5ICcna2xhbWEnJy4g VGh1cywgdmVyaWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xhaW0gd2hpY2ggbWF5IGJlIHRydWUgb3Ig ZmFsc2UgLSB0aGF0IHRoZSBvYmplY3QocykgaW4gcXVlc3Rpb24gYXJlIGFjdHVhbGx5IHRoZSB4 MSBvZiB0aGUgc2VsYnJpIGFmdGVyICcnbG8nJy4gCgoKClRoaXMgbWF5IGJlIGNvbnRyYXN0ZWQg d2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBub3QgdmVyaWRpY2Fs LiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUgb3IgbW9yZSBzcGVj aWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBzZWxicmkgJydnZXJrdScnIHRv IGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRpZnkgdGhvc2Ugc3Bl Y2lmaWMgb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0d28gaW1wb3J0YW50 IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBjYW5ub3QgcmVmZXIgdG8gb2Jq ZWN0cyBpbiBnZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVycyB0byBzcGVjaWZpYyBvYmplY3RzLiBT ZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkgaXMgb25lIG9yIG1vcmUgZG9n cywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90IHZlcmlkaWNhbCwgY2FuIGJlIGFueXRo aW5nLCBhcyBsb25nIGFzIHRoZSBzcGVha2VyIHRoaW5rcyB0aGUgZGVzY3JpcHRpb24gd2lsbCBo ZWxwIGlkZW50aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVjdHMuIFBlcmhhcHMgdGhlIHNwZWFrZXIg aXMgcmVmZXJyaW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUgbm90IGZhbWlsaWFyIHdpdGggdGhlbSBh bmQgdGhpbmsg4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91Z2ggYXBwcm94aW1hdGlvbiB0byBiZSB1 bmRlcnN0b29kLiBUaGlzIG5vbi12ZXJpZGljYWxpdHkgaXMgcGVyaGFwcyBvdmVyLWVtcGhhc2lz ZWQgaW4gbW9zdCBtYW55IHRleHRzOyBUaGUgYmVzdCB3YXkgdG8gZGVzY3JpYmUgYSBkb2cgaXMg dXN1YWxseSB0byBkZXNjcmliZSBpdCBhcyBiZWluZyBhIGRvZywgYW5kIHVubGVzcyB0aGVyZSBp cyBhIGdvb2QgcmVhc29uIG5vdCB0bywgJydsZSBnZXJrdScnIGlzIHVzdWFsbHkgcHJlc3VtZWQg dG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGFsc28gJydsbyBnZXJrdScnLgoKSW4gdHJh bnNsYXRpb24sICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5IOKAnGEgZG9n4oCdIG9yIOKAnHNvbWUg ZG9nc+KAnSwgd2hpbGUgJydsZSBnZXJrdScnIGlzIOKAnHRoZSBkb2figJ0gb3Ig4oCcdGhlIGRv Z3PigJ0uIEV2ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1Jycgd291bGQgYmUg4oCcdGhlIOKAnGRv ZyhzKeKAnSDigJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUgYmFzaWMgJydnYWRyaScnLCB0aGVyZSBp cyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRyaScnLCB3aGljaCBJIGhhdmUgdW5jb252ZW50aW9u YWxseSBjYWxsZWQg4oCcY29udmVudGlvbmFs4oCdLiBXaGF0IEkgbWVhbiBieSB0aGlzIGlzIHRo YXQgaXQncyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGljYWwsIHNpbmNlIGl0IHJlZmVy cyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8gYSBwZXJzb24gY2Fs bGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVzY3JpYmUgaGVyIGFzIGJlaW5n IGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5IHN0YXRlIHRoYXQg YnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQgdG8gYnkgdGhhdCBzZWxicmkg b3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgZ2FkcmkgZGVyaXZlZCBmcm9tIGl0 IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxpa2UgYW55IG90aGVyICcnZ2FkcmknJy4g QWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRzIGRvIG5vdCBtZW50aW9uIHRoYXQgbmFtZXMg Y2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJyaSB1c2luZyB0aGUgZ2FkcmkgJydsYScn LiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJuOyBzZWxicmkgbmFtZXMgYXJlIGFzIGdvb2Qg YXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9qYmFuaXN0IGhhdmUgdGhlbS4KCicnbGEn JywgYXMgd2VsbCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2knJyBhcmUgYSBiaXQgZWNjZW50cmljLCBz aW5jZSB0aGV5IF9fYWx3YXlzX18gbWFya3MgdGhlIGJlZ2lubmluZyBvZiBhIG5hbWUuIFVubGlr ZSB0aGUgb3RoZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQgY2FuIGJlIGdyYW1tYXRpY2FsbHkgcGxh Y2VkIGFmdGVyICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIGNvbnNpZGVyZWQgcGFydCBvZiB0 aGUgbmFtZS4gRm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vya3UnJyBpcyAibXkgZG9nIiwgYnV0ICcn bGEgbWkgZ2Vya3UnJyBpcyBzb21lb25lIGNhbGxlZCAiTXkgRG9nIi4KCgoKVGhlc2UgdGhyZWUg YmFzaWMgJydnYWRyaScnIGNhbiBiZSBleHBhbmRlZCB3aXRoIHRocmVlIG1vcmUsIHdoaWNoIGNv cnJlc3BvbmRzIHRvIHRoZSBwcmV2aW91czoKCgoKX18nJ2xvaScnX18gLSBnYWRyaTogdmVyaWRp Y2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhl cykuCgpfXycnbGVpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFzcyhlcykuCgpfXycnbGFpJydfXyAtIGdh ZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBj bWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCgoKVGhlc2UgYXJl IHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25lOiBUaGV5IHRyZWF0IHRoZSBz dW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhlcmUgaXMgb25seSBvbmUgb2JqZWN0IGlu IHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1hc3MgY29uc2lzdGluZyBvZiBvbmUgb2Jq ZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZXNlIHR3byBjb25j ZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBhc2NyaWJlZCB0byBhIGdyb3VwIG9mIGlu ZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgY2FuIGJlIHNh aWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFuZCBvbmx5IGlmLCBhbGwgbWVtYmVycyBv ZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0byBkZXNjcmli ZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRlcmVkIGluZGl2aWR1YWxseSwgYXMgYmVp bmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dzIGl0J3MgdHJ1ZSB0aGF0IHRoZXkgYXJl IGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5kLCBmaXRzIG9ubHkgdGhvc2Ugc2VsYnJp IHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdob2xlLCBhcyBhIHRlYW0sIHNvIHRvIHNw ZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2YgYSBtYXNzICcnbG9pIGdlcmt1JycgbXVz dCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxpY2FibGUuIFRoZSBub3Rp b24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJlcyBzb21lIGV4YW1w bGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhhdmU6CgpfXycnc3J1 cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGluIGxpbmUvcGxhbmUv ZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRhbmknJyAtIOKAnFRo ZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxlLCBldmVuIHRob3Vn aCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXQncyBjb21wbGV0ZWx5IGltcGxhdXNp YmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55IG9uZSBvZiB0aGUgbWVtYmVycyBhbG9u ZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDigJxIdW1hbnMgZGVmZWF0ZWQgc21hbGxw b3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5IG5vIGh1bWFuIGRpZCBzbywgYnV0IHRo ZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1ha2VzIHRoZSBzZW50ZW5jZSB0cnVlIGlu IEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlmIOKAnGh1bWFuc+KAnSBhcmUgYSBtYXNz LiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUgRW5nbGlzaCBtYXNzIOKAnGh1bWFuc+KA nSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBlYWNoIG9mIHdoaWNoIGFyZSBodW1hbi4g QW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19fOiAieDEgaXMgYSBiaW9sb2dpY2FsIGNl bGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19fOiAieDEgaXMgYSBodW1hbiIKCicnbG9p IG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3NlcyBvZiBjZWxscyBhcmUgaHVtYW4iLiBB Z2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFuLiBJbmRlZWQsIHRoZSBjZWxscyBoYXZl IHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBjZWxscyBjb25zaWRlcmVkIGFzIGEgd2hv bGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1hZGUgd2l0aCAnJ2xlaScnLCBzdWNoIGFz ICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3MgZm9ybWVkIGJ5IGEgZ3JvdXAgb2Ygc3Bl Y2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2ggdGhlIHNwZWFrZXIgcmVmZXJzIHRvIGFz ICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVzY3JpYmVzIGJ5ICcnbGFpJycgYXJlIG9u bHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEgd2hvbGUgaXMgbmFtZWQgc3VjaCwgYW5k IG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBhcmUuIEl0IGNhbiwgaG93ZXZlciBiZSB1 c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5IGEgZnJhY3Rpb24gb2YgdGhhdCBncm91 cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgJydsbycnIGFuZCAnJ2xlJycg Y2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLiBMZXQn cyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQgYXMgYSBtYXNzIG5lZWRzIGRlc2NyaXB0 aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhlciAnJ2xvaSBnZXJrdScnIG9yICcnbG8g Z2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFsbG93cyBtZSB0byBjb3JyZWN0bHkgc3Rh dGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb250cmFkaWN0aW9uLCBidXQgcmVhbGx5 IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAiU29tZSBkb2dzIGFyZSBub3QgZG9ncyIu IFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1hc3Mgb2YgZG9ncywgdGhlIG1hbnkgZG9n cyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEgZG9nLCBidXQgcmF0aGVyIGEgcGFjayBv ZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IHRoZXJlIGlzIG5vIHdvcmQgd2hp Y2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkgdG8gaW5kaXZpZHVhbChzKS4gSW4gb3Jk ZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVhbG5lc3MsIG9uZSBuZWVkcyAnJ2xvJycs ICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBxdWFudGlmaWVyLiBUaGUgc3ViamVjdCBv ZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQgbGF0ZXIsIGluIGxlc3NvbiB0d2VudHkt dHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xvJycgYW5kICcnbGUnJyB2YWd1ZSwgYW5k IG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlzIGJlY2F1c2UgdGhlaXIgdmFndWVuZXNz IGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBjb250ZXh0LCB3aXRob3V0IHRoZSBzcGVh a2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVyIGlzIGJlaGF2ZXMgYXMgYSBtYXNzIG9y IGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJkIGluIHRoaXMgc2VyaWVzLCB0aGVyZSBh cmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoKCgpfXycnbG8naScnX18gLSBnYWRyaTog dmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMg YSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsYSdpJydfXyAtIGdh ZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBj bWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCgoKVW5saWtlIGdyb3Vw cyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBtYXNzZXMsIHNldHMgZG9lcyBub3QgdGFr ZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUgb2JqZWN0cyBmcm9tIHdoaWNoIHRoZSBz ZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBtYXRoZW1hdGljYWwgb3IgbG9naWNhbCBj b25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtlIGNhcmRpbmFsaXR5LCBtZW1iZXJzaGlw IGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEg c2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Ygd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQ6 CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIvbGVvcGFyZC9qYWd1YXIgb2Ygc3BlY2ll cy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPigJ0KCicnbG8naSB0aXJ4dSBjdSBjbWFs dScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJpZyBjYXRzIGFyZSBzbWFsbCAod2hpY2gg aXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSksIGJ1dCBpbnN0ZWFkIHNheSB0aGF0IHRo ZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQgaXMgLSB0aGVyZSBhcmUgZmV3IG9mIHRo ZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25seSB0d28pIGdlbmVyYWxpemluZyAnJ2dh ZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBvZiAnJ2xvIHtzZWxi cml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgZGVzY3JpYmVkL3BlcmNlaXZlZCBh cmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Ygd2hpY2ggdGhlcmUgaXMgbm8gJydsYScn LWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVhbGx5IG1lYW50IGJ5IHRoZSBhcmNoZXR5 cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4gaWRlYWwsIGltYWdpbmVkIGJpZyBjYXQs IHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBiaWcg Y2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRoYXQgdGhpcyBpbmNsdWRlcyBoYXZpbmcg YSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVtYXRpYyBzdWJncm91cCBvZiB0aGUgbWVt YmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5vdCBoYXZlIHN0cmlwZWQgZnVyLCB0aGUg bGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhlIHR5cGljYWwgaHVtYW4gZG9l cyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFucyBkby4gSG93ZXZl ciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwgZm9yIGluc3RhbmNl IGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6CgpfXycna2FrbmUnJ19fOiDigJx4MSBp cyBjYXBhYmxlIG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVyIGNpcmN1bXN0YW5jZSB4M+KAnQoKJyds bydlIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUgdHlwaWNhbCBodW1hbiBi ZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGUnZScnIHRoZW4sIGlzIHRoZSBpZGVhbCBvYmplY3Qg YXMgcGVyY2VpdmVkIG9yIGRlc2NyaWJlZCBieSB0aGUgc3BlYWtlci4gVGhpcyBuZWVkIG5vdCBi ZSBmYWN0dWFsbHkgY29ycmVjdCwgYW5kIGlzIG9mdGVuIHRyYW5zbGF0ZWQgYXMgdGhlIOKAnHN0 ZXJlb3R5cGXigJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmdsaXNoIHBocmFzZSBoYXZlIHNvbWUgdW5w bGVhc2FudCBuZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdoaWNoIHRoZSBMb2piYW4gZG9lcyBub3Qu IEluIGZhY3QsIGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5cGljYWwgYXJjaGV0eXBpY2hhbCBpbWFn ZSBvZiBhbnkgY2F0ZWdvcnkuIEluIG90aGVyIHdvcmRzLCAnJ2xvJ2UgcmVtbmEnJyBpcyB0aGUg YXJjaGV0eXBlIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbG8gcmVtbmEnJywgd2hpbGUg dGhlIGFyY2hldHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xlIHJl bW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhlIGRpYWdyYW0gYmVs b3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXppbmcKCnZlcmlkaWNhbHxsb3xs b2l8bG8naXxsbydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8bGUnaXxsZSdlCgpOYW1lfGxhfGxhaXxs YSdpfGRvZXMgbm90IGV4aXN0fHwKCgoKTm90ZTogRWFybGllciwgdGhlcmUgd2FzIGEgd29yZCAn J3hvJ2UnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBydWxlcyBhbmQgZGVm aW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQsIGFuZCB0aGUgY3Vy cmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhvcmxv4oCdIGhhcyBy ZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywgYW5kICcneG8nZScn IGlzIHVzZWQgYXMgYSBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAyOiBLT2hB MywgS09oQTUgYW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0cmFuc2xh dGUgdGhlIHNlbnRlbmNlOiDigJxTdGVyZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNwZWFrIExv amJhbiBzcGVhayB0byBlYWNoIG90aGVyIGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBjYW4gc3Bl YWvigJ06CgpfXycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4MiB0byBl eHByZXNzIHgzIChhYnN0cmFjdGlvbinigJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBs byBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBrZSdhIGth a25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVudSBwb2kg a2UnYSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hhdCB3ZSBz ZWUgaXMgdGhhdCB0aGUgTG9qYmFuIHZlcnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUgRW5n bGlzaC4gVGhpcyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxvdXNseSBs b25nIHN1bXRpIGlzIGJlaW5nIHJlcGVhdGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBMb2piYW4g dGV4dCwgd2hpbGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2ggb3RoZXLi gJ0gYW5kIOKAnHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0IGl0IGJl IGNsZXZlciBpZiBMb2piYW4gc29tZWhvdyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcgdGhlIHNh bWU/CgoKCkl0IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJhbiBoYXMg YSByYW5nZSBvZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10aS1yZXBy ZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRp LCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHBy b25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxy ZWFkeSBrbm93ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBt b3JlLCBzbyBsZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBpdCBpbnRv IHN5c3RlbS4gV2UgY2FuIGJlZ2luIHdpdGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmds aXNoLCBhbmQgd2hhdCB5b3UndmUgYWxyZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19fIC0gc3Vt a2EnaTog4oCcaW1tZWRpYXRlIOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkg bmVhciB0aGUgc3BlYWtlcuKAnQoKX18nJ3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJieSDigJhp dCc6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhlIHNw ZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2EnaTog 4oCcZGlzdGFudCDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZhciBmcm9t IHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4gcmVjb2du aXplIHRoZSDigJxpLCBhLCB14oCdLXNlcXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBhbmQgb3Zl ci4gU29tZSB0aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2guIEZpcnN0 bHksIHRoZXNlIHN1bXRpIGNhbiByZXByZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJlIHNhaWQg dG8gb2NjdXB5IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRlYXMsIGNl cnRhaW5seSBub3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBleHRlbnQg dGhleSBhcmUgcmVzdHJpY3RlZCB0byBhIHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21pbiBSZXZv bHV0aW9uIGNhbm5vdCBiZSBwb2ludGVkIGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3IgYSBraXNz IG1pZ2h0LiBTZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2ZSB0byBk aWZmZXJlbnQgdGhpbmdzIGZvciB0aGUgZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25seSBhcHBs aWVzIGlmIGl0J3MgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5l ci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFydCBh bmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScnIHJl ZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdCdzIGFs bCByZWxhdGl2ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRzIGFyZSBh bGwgcHJvYmxlbWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1c2UgdGhl IHBvc2l0aW9uIG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRvIGVhY2gg b3RoZXIsIGFuZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRoZSBhdXRo b3Igb2YgYSBib29rIGNhbm5vdCBwb2ludCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3MgdGhlIHBv aW50aW5nIGluIHRoZSBib29rLgoKCgpUaGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxlZCBLT2hB MywgdG8gd2hpY2ggJydtaScnIGFuZCAnJ2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdvbid0IHdy aXRlIHRoYXQgaGVyZSkgYmVsb25nczoKCl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUgc3BlYWtl cihzKS4KCl9fJydtaSdvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMp IGFuZCB0aGUgbGlzdGVuZXIocykgLgoKX18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mg b2YgdGhlIHNwZWFrZXIocykgYW5kIG90aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWthJ2k6IFRo ZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9f JydkbycnX18gLSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIocykuCgpfXycnZG8nbycnX18gLSBzdW1r YSdpOiBUaGUgbWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4 IHN1bWthJ2kgYXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4gZGlhZ3Jh bToKCgoKe2ltZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5uIGRpYWdy YW0gb2YgS09oQTMgKCcna28nJyBleGNsdWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3QgYSBLT2hB MywgYnV0IG1lYW5zIOKAnHRoZSBvdGhlcihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBmb3Igc2V2 ZXJhbCBwZW9wbGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVtZW50IGlz IG1hZGUgb24gdGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGlsZSDigJx3 ZeKAnSBjYW4gYmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywgJydtaSdh Jycgb3IgJydtYSdhJycsIHdoYXQgb25lIHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxseSBqdXN0 ICcnbWknJy4gQWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRoYW4gb25l IGluZGl2aWR1YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywgdGhlIGJy aWRpICcnbWkgZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2YWxlbnQg dG8gJydkbyBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5kIGFyZSBj b25zaWRlcmVkIHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlzIGxhdGVy LCBpbiB0aGUgJydicmlrYSdpJycgKHByby1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2YgdGhlc2Ug JydzdW1rYSdpJycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBiZSB1c2Vk LCBmb3IgaW5zdGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2ggdGhpcyBs ZXNzb24gYmVnYW4gd2l0aC4gVGhlIGZvbGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5jaXBsZSBi ZSB1c2VkIHRvIHJlZmVyIHRvIGFueSBzdW10aToKCl9fJydyaScnX18gLSBzdW1rYSdpOiDigJxM YXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEgcmVjZW50 LCBidXQgbm90IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAtIHN1bWth J2k6IOKAnEEgc3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRpIHdpbGwg cmVmZXIgdG8gYW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydzdW1rYSdp JycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBiZSByZWZl cnJlZCB0byBieSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRvIGp1c3Qg cmVwZWF0IGJ5IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJlICcndGkn JywgJyd0YScnIGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdlZCB3aGF0 IHlvdSBwb2ludCBhdCwgYW5kIHRodXMgY2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3JkLiBUaGV5 IHdpbGwgb25seSByZWZlciB0byB0ZXJtaW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5ub3QsIGZv ciBpbnN0YW5jZSwgYmUgdXNlZCB0byByZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0aGUgd29y ZCBpbiBpcyB0aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRvIG1pIGN1 IGRqaWNhIGxvIG51IHJpIHNlIHpkYW5pJycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVmZXIgdG8g dGhlIGFic3RyYXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8gJydtaScn IG9yICcna2UnYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMgdG8gJyds ZSBwZW5kbycnLgoKJydyYScnIGFuZCAnJ3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50IGluIHdo YXQgdGhleSByZWZlciB0bywgYnV0IHRoZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9uZWQgYWJv dmUsIGFuZCAnJ3J1JycgYWx3YXlzIHJlZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRpIHRoYW4g JydyYScnLCB3aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoKCgonJ3Jp JycgYW5kIGl0J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVhbGluZyB3 aXRoIHRoZSBvcmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28gaW5zdGFu Y2VzIG9mICcnc3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBwcmVudSBw b2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBydSBsbyBi YW5ndSBwb2kgcnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3QsIGJl Y2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVzZWQs IGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBudSB0 YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8g dGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0bHks IHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1 dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNl bnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBjb250 ZXh0IGFsbG93cyBpdDoKCl9fJydkYSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBw YXN0IHNlbnRlbmNlCgpfXycnZGUndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNlbnQgc2Vu dGVuY2UKCl9fJydkaSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRlbmNl CgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydkaSdl JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IE5lYXIgZnV0dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18gVXR0ZXJh bmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18gVXR0ZXJh bmNlIHZhcmlhYmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29tZSBzZW50 ZW5jZeKAnQoKVGhlc2UgcmVwcmVzZW50cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCByZWZlciBv bmx5IHRvIHRoZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUgbWVhbmlu ZyBiZWhpbmQgdGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScnLCBidXQg Zm9yIG5vdyB5b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5leHQgbGVz c29uIHdpbGwgYmUgb24gZGVyaXZlZCBzdW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVyIHN1bXRp LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJhbiBzdW10 aSAzOiBkZXJpdmVkIHN1bXRpKQoKWW91IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUgc3VtdGkg JydsZSBiYW5ndSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQg ZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdCdzIHJl YWxseSBhIHdvcmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJlIHNhaWQg dG8gZmlsbCBpbnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBjYW4ndCBj b252ZXJ0IHRoYXQgdG8gYSBzdW10aSB1c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtrdX0gbWkn JyBpcyB0d28gc3VtdGksIGJlY2F1c2UgJydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5vdCBhIHNl bGJyaS4gTmVpdGhlciBjYW4gd2UgY29udmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywgYmVjYXVz ZSB0aGUgc3UndSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlvbiwgYW5k IHRoZSAnJ2xlJycgdGhlbiBleHRyYWN0cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3RyYWN0aW9u IHN1bXRpIG1lYW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMgbXkgbGFu Z3VhZ2XigJ0uCgpFbnRlciAnJ2JlJycuICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmluZHMgY29u c3RydWN0cyAoc3VtdGksIHN1bXRjaXRhIGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBVc2luZyBp dCBpbiBvcmRpbmFyeSBzZWxicmkgaGFzIG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBiZSBkbycn LCB0aGUgJydiZScnIGRvZXMgbm90aGluZy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlzIGJvdW5k IHRvIGEgc2VsYnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBzZWxicmkg d2l0aG91dCB0aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScnIGlzIGEg Y29ycmVjdCBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlvdSBjYW4g YXR0YWNoIGEgc3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDigJxUaGUg ZXZlbnQgb2YgaGl0dGluZywgd2hpY2ggaXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0aGF0IHRo ZSBwcmVzZW5jZSBvciBhYnNlbmNlIG9mICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlmZmVyZW50 bHk6IFdpdGggdGhlIGZhJ29ybWEnbyBwcmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8gJydudScn LCB3aXRob3V0IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4gU28gaXQg ZGVjaWRlcyB3aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBvciB0aGUg ZXZlbnQgb2YgaGl0dGluZyBjYXVzZWQgYnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNhc2UsIHRo b3VnaCwgdGhhdCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYgSSB3YW50 IHRvIGF0dGFjaCBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJpPyDigJxU aGUgZ2l2ZXIgb2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxvIHBsaXNl IGJlIGRvJycsIHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0byB0aGUg YXBwbGUsIG1lYW5pbmcgJydsZSBwbGlzZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9mIHRoZSBz dHJhaW4gb2YgeW914oCdLCB3aGljaCBtYWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8gc3RyaW5n IHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93aW5nIHRo ZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2Fu IGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2JlJ28nJyBm b3IgZWFjaCBzZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRvIGxpc3Qg dGhlbToKCl9fJydiZScnX18gYmluZHMgc3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJpCgpfXycn YmVpJydfXyBiaW5kcyBhIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBvciBzdW10 Y2l0YSB0byBhIHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoK VGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90 aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2 ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0 cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2Ug dGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdp dGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29j aWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hp Y2ggeW91IHNpdCBvbi4gSXQncyBub3QgcmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0aGluZyBk byB0byB3aXRoIHlvdS4gQSBtb3JlIGludGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFibGlz aGVkIHdpdGggJydwbycnLCB3aGljaCBtYWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVlIGFuZCBi aW5kaW5nIHRvIGEgcGVyc29uLCBhcyBpbiDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRoYXQgeW91 IGFjdHVhbGx5IG93bi4gVGhlIGxhc3Qga2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8nZScnLCB3 aGljaCBtYWtlcyBhIHNvLWNhbGxlZCAiaW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBzdW10aSwg bWVhbmluZyB0aGF0IHRoZSBib25kIGlzIGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3VtdGkuIFNv bWUgZXhhbXBsZXMgY291bGQgYmUgIm15IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBob21lIGNv dW50cnkiOyBub25lIG9mIHRoZXNlICJwb3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZlbiBpZiB5 b3Ugc2F3IG9mZiB5b3VyIGFybSwgaXQncyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQgYXJlIHRo ZXJlZm9yZSBpbmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3BvJ2UnJyBp cyBhcHByb3ByaWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlucyB0aGUg b25lIHRvIHdoaWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0ZXIuCgpf XycnbmUnJ19fIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3Nv Y2lhdGVkIHdpdGguLi4iCgpfXycncGUnJ19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4g IndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZlIHJlbGF0 aXZlIHBocmFzZS4gIndoaWNoIGlzIHNwZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19fIGluYWxp ZW5hYmxlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEgdmVyeSB1 c2VmdWwgY29uc3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJyaX0nJy4g dGhpcyBpcyBlcXVpdmFsZW50IHRvICcne2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRpfScnLiBG b3IgaW5zdGFuY2UgJydsZSBtaSBnZXJrdScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBnZXJrdSBw ZSBtaScnLiBPbmUgY291bGQgaGF2ZSBkZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVzY3JpcHRp b24gc3VtdGksIHNheWluZyAnJ2xlIGxlIHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1JycsID0g JydsZSBnZXJrdSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9mIHRoZSBt YW4gSSdtIGZsaXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0byByZWFk IChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lk ZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdpbGwgbWFr ZSBhIGxvdCBvZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkgYW5kIGNv bnZlcnRzIGl0IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIHdo aWNoIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBleGFtcGxl LCBJIGNvdWxkIHNheSAnJ21pIGRqaWNhIGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycsIG9yIEkg Y291bGQgbGV0IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91dCB0aGUg YXBwbGUgSSBkZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlzZScnLiBP bmUgYWx3YXlzIGhhcyB0byBndWVzcyB3aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2VyIG1lYW5z IGJ5ICcndHUnYSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29udGV4 dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19f IOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0KCicn emEnYSBkbyBnYXNudSB0dSdhIGxvIHNrYW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBtYWtlIHRo ZSBjb21wdXRlciBkbyBzb21ldGhpbmfigJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1USScnIGlz IGVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1c2VmdWwu IFRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScnLCBldmVu IHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3aGVu IEkgZG9uJ3Qgd2FudCB0aGUgcmVzdWx0aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0aW9uLCBi dXQgYSBjb25jcmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pvJ2UgcGUn Jy4KCl9fJyd0dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9uIGludm9s dmluZyB0aGUgc3VtdGkuIEVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Uga2VpIGt1 JycKCgoKRmluYWxseSwgb25lIGtpbmQgb2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRvIGFub3Ro ZXIgYnkgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0gQ29udmVy dCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoKX18nJ2x1 J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0 LgoKX18nJ2x1J28nJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0 IHRvIG1hc3MuCgpfXycndnUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1 ZW5jZS9zZXQgdG8gc2VxdWVuY2U7IHRoZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhlIHVzZSBv ZiB0aGVzZSB3b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBiZWZvcmUg YSBzdW10aSBvZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5ldyB0eXBl LiBOb3RpY2UsIHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBhIHNlcXVl bmNlIGhhcyBiZWVuIGludHJvZHVjZWQuIFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiAoaXQg ZG9lc24ndCBoYXZlIGl0cyBvd24gZ2FkcmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0IGluY2x1 ZGVkIGhlcmUgZm9yIGNvbXBsZXRpb24uCgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBMQWhFIGRv IG5vdCBjb252ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91IHRvIHNw ZWFrIG9mIGEgYSBzdW10aSBieSBvbmx5IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNoIHJlZmVy ZW5jZXMgdG8gaXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBmb3IgaW5z dGFuY2UgYmVjYXVzZSBzdW10aSBBIGlzIGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5hbWUsIG9y IGEgc2VudGVuY2UgKHdoaWNoIGFsd2F5cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxlYXN0IGEg YnJpZGkpLCDigJgnbGEnZSBTVU1USSBBJycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0YW5j ZSwg4oCYJ21pIG5lbGNpIGxhJ2UgZGkndScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3UganVzdCBz YWlk4oCdIChub3QgJydtaSBuZWxjaSBkaSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBsaWtlIHlv dXIgcHJldmlvdXMgc2VudGVuY2UiKSBvciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUnJyBmb3Ig dGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJp bmNlIGhpbXNlbGYuIFRoZSBjbWF2byDigJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJldmVyc2Ug 4oCTIOKAmCdsdSdlIFNVTVRJJycgcmVmZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZlcnMgdG8g dGhlIHN1bXRpLiAKCl9fJydsYSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0byBieeKA nSAtIGV4dHJhY3RzIGEgc3VtdGkgQSBmcm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMgdG8gQS4g CgpfXycnbHUnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMg YSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEhRW5k IG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVz ZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91bmQg b24gcGFnZXMgZGVkaWNhdGVkIHRvICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9ybWVy KSkgYW5kICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMs IHRob3VnaCwgY2xpY2tpbmcgb24gInRoZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRh a2UgeW91IHRoZXJlIHBhaW5sZXNzbHkuCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3Rp Y0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtp bmV1cm90aWMK