Received: from localhost ([::1]:53720 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UYMTP-0001KN-Cw; Fri, 03 May 2013 13:20:55 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:53429 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UYMTE-0001K9-Vc for wikichanges@lojban.org; Fri, 03 May 2013 13:20:53 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 3 May 2013 13:20:44 -0700 From: "Apache" Date: Fri, 3 May 2013 13:20:44 -0700 To: wikichanges@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 22:20 CEST Comment: kurmikce → kujmikce 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: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_changed_by_daeldir?= X-BeenThere: wikichanges@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: wikichanges-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDIyOjIwIENFU1QKQ29tbWVudDoga3VybWlrY2Ug4oaSIGt1am1pa2NlCgpZb3UgY2FuIHZp ZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vbG9qYmFuLm9yZy90 aWtpL2xlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcwoKWW91IGNhbiB2aWV3 IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxp bms6IApodHRwOi8vbG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9bGUl QzMlQTdvbnMlMjB3YXZlJTIwZW4lMjBmcmFuJUMzJUE3YWlzJmNvbXBhcmU9MSZvbGR2ZXI9MTIm bmV3dmVyPTEzCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywg Zm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAg LUxpbmVzOiA3My03NyBjaGFuZ2VkIHRvICtMaW5lczogNzMtNzcgQEAKKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKTGVzIHZpcmd1bGVz IHNvbnQgcmFyZSBlbiBsb2piYW4sIG1haXMgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWVzIHBvdXIg ZW1ww6pjaGVyIGRldXggdm95ZWxsZXMgZGUgc2UgZm9uZHJlIGwndW5lIGRhbnMgbCdhdXRyZSBx dWFuZCB2b3VzIG5lIHZvdWxleiBwYXMgdXRpbGlzZXIgZCdhcG9zdHJvcGhlLCBjZSBxdWkgYWpv dXRlcmFpcyB1biDCq8KgaMKgwrsgZW50cmUgZWxsZXMuIEF1Y3VuIG1vdCBsb2piYW4gbidhIGRl IHZpcmd1bGUsIG1haXMgZWxsZSBlc3QgcGFyZm9pcyB1dGlsaXPDqWUgZGFucyBsJ8OpY3JpdHVy ZSBkZXMgbm9tcyBkJ2F1dHJlcyBsYW5ndWVzLiBQYXIgZXhlbXBsZSwgwqvCoCcncGksRVIuJyfC oMK7IChQaWVycmUpLCBhdSBsaWV1IGRlIMKrwqAnJ3BpZXIuJyfCoMK7IChQLXllcnIpLCDCq8Kg JydwaS5FUi4nJ8KgwrsgKFBpOyBFaHIpLCBvdSDCq8KgJydwaSdFUicnwqDCuyAoUGloZXJyKS4K Ci0gTGVzIGxldHRyZXMgY2FwaXRhbGVzIG5lIHNvbnQgbm9ybWFsZW1lbnQgcGFzIHV0aWxpc2Vz IGVuIGxvamJhbi4gTm91cyBsZXMgdXRpbGlzb25zIGRhbnMgZGVzIG1vdHMgbm9uIGxvamJhbiAo Y29tbWUgUGllcnJlKSwgcXVhbmQgbCdhY2NlbnQgdG9uaXF1ZSBkJ3VuIG1vdCBlc3QgZGlmZnJl bnQgZGUgY2VsdWkgZGUgbGEgbm9ybWUgbG9qYmFuLiBMYSBub3JtZSBjb25zaXN0ZSAgbWV0dHJl IHVuIGFjY2VudCB0b25pcXVlIHN1ciBsJ2F2YW50IGRlcm5pcmUgc3lsbGFiZS4gUGFyIGV4ZW1w bGUsICcna3VybWlrY2UnJyAoaW5maXJtaXJlKSwgZXN0IGt1cl9fTUlLX19jZSwgZXQgbm9uIHBh cyBfX0tVUl9fbWlrY2UuIExlIG5vbSBKdWxpZXR0ZSBzJ2NyaXJhaXQgJydqdUxJRVQuJycgc2kg cHJvbm9uYyBjb21tZSBlbiBmcmFuYWlzLCBtYWlzICcnREpVbGksZXQuJycgc2kgcHJvbm9uYyBj b21tZSBlbiBhbmdsYWlzLgorIExlcyBsZXR0cmVzIGNhcGl0YWxlcyBuZSBzb250IG5vcm1hbGVt ZW50IHBhcyB1dGlsaXNlcyBlbiBsb2piYW4uIE5vdXMgbGVzIHV0aWxpc29ucyBkYW5zIGRlcyBt b3RzIG5vbiBsb2piYW4gKGNvbW1lIFBpZXJyZSksIHF1YW5kIGwnYWNjZW50IHRvbmlxdWUgZCd1 biBtb3QgZXN0IGRpZmZyZW50IGRlIGNlbHVpIGRlIGxhIG5vcm1lIGxvamJhbi4gTGEgbm9ybWUg Y29uc2lzdGUgIG1ldHRyZSB1biBhY2NlbnQgdG9uaXF1ZSBzdXIgbCdhdmFudCBkZXJuaXJlIHN5 bGxhYmUuIFBhciBleGVtcGxlLCAnJ2t1am1pa2NlJycgKGluZmlybWlyZSksIGVzdCBrdWpfX01J S19fY2UsIGV0IG5vbiBwYXMgX19LVUpfX21pa2NlLiBMZSBub20gSnVsaWV0dGUgcydjcmlyYWl0 ICcnanVMSUVULicnIHNpIHByb25vbmMgY29tbWUgZW4gZnJhbmFpcywgbWFpcyAnJ0RKVWxpLGV0 LicnIHNpIHByb25vbmMgY29tbWUgZW4gYW5nbGFpcy4KISEhIUFscGhhYmV0CkluIG1vc3QgbGFu Z3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBoYWJldCBvZiB0aGUgbGFuZ3VhZ2UgdG9n ZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0ZXJzICgnJ2xlcmZ1JycpIHR1cm4gb3V0IHRvIGJl IGV2ZW4gbW9yZSBpbXBvcnRhbnQgdGhhbiB1c3VhbCBpbiBMb2piYW4sIHNvIHdlIG1pZ2h0IGFz IHdlbGwgZ28gdGhyb3VnaCB0aGVpciBuYW1lcyBxdWlja2x5LgoKCgoKKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdl IGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKCntCT1goCgogIHRpdGxlPSJUcmF2YWlsIGVuIGNv dXJzIgoKKX0KCkNldHRlIHBhZ2UgZXN0IHVuZSB0cmFkdWN0aW9uIGVuIGNvdXJzIGRlICgod2F2 ZWxlc3NvbnNjb250aW51ZWQpKSBlbiBmcmFuw6dhaXMuIExlIHN0YXR1dCBhY3R1ZWwgZXN0IHVu IGltcG9ydCBiw6p0ZSBldCBtw6ljaGFudCBkZSBsYSBwYWdlIGFuZ2xhaXNlLiBBdSBmdXIgZXQg w6AgbWVzdXJlIGRlIGxhIHRyYWR1Y3Rpb24sIGNldHRlIG5vdGUgc2VyYSBtaXNlIMOgIGpvdXIg cG91ciBpbmRpcXVlciBsJ8OpdGF0IGQnYXZhbmNlbWVudCBkZXMgbGXDp29ucy4gCgoKCsOJdGF0 IGFjdHVlbMKgOiB0cmFkdWN0aW9uIGRlIGxhIGxlw6dvbiB6w6lybyBlbnRhbcOpZS4KCntCT1h9 IAoKCgohTGVzIGxlw6dvbnMgV2F2ZSBjb250aW51w6llc8KgOgoKISEhUsOpZGlnw6llcyBwYXIg bGEga2xha3UsIGF2ZWMgbCdhaWRlIGRlIGxvamJhbmlzdGVzIHZhcmnDqXMuIEJhc8OpZSBzdXIg bGUgdHJhdmFpbCBkZSBsYSAua3JpYmFjci4gUHJpbnRlbXBzIDIwMTMuCgpUcmFkdWl0ZXMgZGUg bCdhbmdsYWlzIHZlcnMgbGUgZnJhbsOnYWlzIHBhciBEYWVsZGlyLgoKCgohIUxlw6dvbnMgZGUg bG9qYmFuIOKAkyBsZcOnb24gesOpcm86IGF2YW50IHByb3BvcwoKQ2VzIGxlw6dvbnMgc29udCB1 bmUgdGVudGF0aXZlIGRlIGTDqXZlbG9wcGVyIGxlcyDCq8KgTGXDp29ucyBkZSBHb29nbGUgV2F2 ZcKgwrssIHVuIGV4Y2VsbGVudCBkaWRhY3RpY2llbCBjb25zYWNyw6kgYXUgbG9qYmFuLCDDqWNy aXQgcGFyIGtyaWJhY3IsIHhhbGJvLCBldCBkJ2F1dHJlcywgcXVpLCBow6lsYXMsIG5lIGNvdXZy YWl0IHF1ZSBsZXMgcXVhdHJlcyBwcmVtaWVycyBjaGFwaXRyZXMgZHUgcHLDqXNlbnQgZGlkYWN0 aWNpZWwuIElsIHRyYWl0ZSBkZXMgcsOoZ2xlcyBsZXMgcGx1cyByw6ljZW50ZXMgZHUgbG9qYmFu LCBxdWkgbmUgc29udCBwYXMgY291dmVydGVzIHBhciBkZSBwbHVzIGFuY2llbnMgY291cnMgdGVs cyBxdWUgwqvCoFdoYXQgaXMgTG9qYmFuP8KgwrssIGV0IMKrwqBMb2piYW4gZm9yIEJlZ2lubmVy c8KgwrsuCgoKClNpIGxlIGxvamJhbiBlc3QgdG90YWxlbWVudCBub3V2ZWF1IHBvdXIgdm91cywg amUgdm91cyByZWNvbW1hbmRlIGQnw6ljb3V0ZXIgdG91dCBsZXMgZW5yZWdpc3RyZW1lbnQgZGUg bG9qYmFuIHBhcmzDqSBxdWUgdm91cyBwb3VycmV6IHRyb3V2ZXIsIHRhbnQgYXZhbnQgcXVlIHBl bmRhbnQgbGEgbGVjdHVyZSBkZSBjZSBkaWRhY3RpY2llbCwgYWZpbiBkZSB2b3VzIGZhbWlsaWFy aXNlciBhdmVjIGxlcyBzb25zIGV0IGxlcyBtb3RzIGR1IGxhbmdhZ2UuIERlIHBsdXMsIGVzc2F5 ZXogZGUgcHJvbm9uY2VyIGNlIHF1ZSB2b3VzIGxpc2V6IGF2ZWMgbCdhY2NlbnQgZHUgbG9qYmFu IHNpIHZvdXMgbGUgcG91dmV6LiBDZWNpIHZvdXMgYWlkZXJhIMOgIHByb25vbmNlciBsZSBsb2pi YW4uIAoKCgpFbiBzdWl2YW50IGNlIGRpZGFjdGljaWVsLCBpbCBlc3QgY29uc2VpbGzDqSBkZSBw cmVuZHJlIGRlcyBwYXVzZXMgZW50cmUgbGVzIGxlw6dvbnMgYWZpbiBkZSBkaWfDqXJlciBjZSBx dWUgdm91cyBhdmV6IGFwcHJpcy4gSidhaSBlc3NhecOpIGRlIGNvbnN0cnVpcmUgY2VzIGxlw6dv bnMgZHUgc2ltcGxlIGF1IGNvbXBsZXhlLCBldCBkJ2V4Y2x1cmUgdG91dCBtb3Qgb3UgY29uY2Vw dCBxdWkgbidhIHBhcyDDqXTDqSBleHBsaXF1w6kgZGFucyBsZXMgbGXDp29uIHByw6ljw6lkZW50 ZS4gVW5lIGZvaXMgZXhwbGlxdcOpcywgaWxzIHNvbnQgdXRpbGlzw6lzIGxpYnJlbWVudCB0b3V0 IGF1IGxvbmcgZHUgcmVzdGUgZHUgZGlkYWN0aWNpZWwuIEonZXhob3J0ZSBsZSBsZWN0ZXVyIMOg IG5lIHBhcyBmYWlyZSBsJ2ltcGFzc2Ugc3VyIHVuIGNvbnRlbnUgaW5jb21wcmlzwqA6IHNpIHZv dXMgYXZleiB1bmUgcXVlc3Rpb24gb3Ugw6p0ZXMgaW5jZXJ0YWluIGQndW5lIGNob3NlLCBuJ2F5 ZXogcGFzIGRlIGNvbXBsZXhlIMOgIGRlbWFuZGVyIMOgIGxhIGNvbW11bmF1dMOpIGxvamJhbiwg cXVpIHBldXQgw6p0cmUgdHJvdXbDqWUgc3VyICNsb2piYW4gc3VyIGxlIHLDqXNlYXUgSVJDIEZy ZWVub2RlIChlbiBhbmdsYWlzKSwgb3Ugc3VyIGxhIFtodHRwOi8vbWFpbC5sb2piYW4ub3JnL21h aWxtYW4vbGlzdGluZm8vbG9qYmFuLWZyfG1haWxpbmctbGlzdCBmcmFuY29waG9uZV0uIEVsbGUg c2VyYSBoZXVyZXVzZSBkJ2FpZGVyLgoKCgpEYW5zIGNlIGRpZGFjdGljaWVsLCBsZSB0ZXh0ZSBl biBsb2piYW4gZXN0IMOpY3JpdCBlbiAnJ2l0YWxpcXVlcycnLiBQbHVzIHRhcmQsIHF1YW5kIHV0 aWxpc8OpcyBjb21tZXMgbW90cyBlbXBydW50w6lzIGR1IGxvamJhbiBkYW5zIGRlcyBwaHJhc2Vz IGZyYW7Dp2Fpc2VzLCBpbHMgbmUgc29udCBwYXMgbWFycXXDqXMuIExlcyByw6lwb25zZXMgZGVz IGV4ZXJjaWNlcyBzb250IGFmZmljaMOpZXMgY29tbWUgdW5lIGJhcnJlIGdyaXNlLiBTw6lsZWN0 aW9ubmV6IGNldHRlIGJhcnJlIHBvdXIgdm9pciBsZSB0ZXh0ZS4KCgoKRW5maW4sIGonYWkgYXV0 YW50IHF1ZSBwb3NzaWJsZSBlc3NhecOpIGQndXRpbGlzZXIgbGVzIG1vdHMgZHUgbG9qYmFuIHBv dXIgZMOpc2lnbmVyIGxlcyBjb25zdHJ1Y3Rpb25zIGdyYW1tYXRpY2FsZXPCoDogJydzdW1rYSdp JycgYXUgbGlldSBkZSBwcm8tc3VtdGksICcnc3VtdGNpdGEnJyBhdSBsaWV1IGRlIG1vZGFsLCBl dCAnJ2p1ZnJhJycgYXUgbGlldSBkJ8Opbm9uY8OpLiBDZWNpIHBhcmNlIHF1ZSBqJ2FpIGwnaW1w cmVzc2lvbiBxdWUgbGVzIG1vdHMgZnJhbsOnYWlzIHNvbnQgc291dmVudCBzb2l0IGFyYml0cmFp cmVzLCBhdXF1ZWwgY2FzIGlscyBzb250IGp1c3RlcyBkZXMgbW90cyBlbiBwbHVzIMOgIGFwcHJl bmRyZSwgc29pdCB0cm9tcGV1cnMsIGF1cXVlbCBjYXMgaWxzIHNvbnQgcGlyZSBxdSdpbnV0aWxl cy4gRGFucyBsZXMgZGV1eCBjYXMsIHB1aXNxdWUgY2VzIG1vdHMgc29udCBzcMOpY2lmaXF1ZXMg w6AgbCdhcHByZW50aXNzYWdlIGR1IGxvamJhbiBkZSB0b3V0ZSBmYcOnb24sIGlsIG4neSBhIHBh cyBkZSByYWlzb24gcG91ciBldXggZCdleGlzdGVyIGNvbW1lIGRlcyBtb3RzIGZyYW7Dp2FpcyBk aXN0aW5jdC4KCgoKISEhUHLDqWZhY2UuIFNvbnMKCkxhIHByZW1pw6hyZSBjaG9zZSDDoCBmYWly ZSBxdWFuZCB2b3VzIGFwcHJlbmV6IHVuZSBsYW5ndWUgw6l0cmFuZ8OocmUgZXN0IGRlIHZvdXMg ZmFtaWxpYXJpc2VyIGF2ZWMgbGVzIHNvbnMgZHUgbGFuZ2FnZSBldCBsZXVyIMOpY3JpdHVyZS4g SWwgZW4gdmEgZGUgbcOqbWUgcG91ciBsZSBsb2piYW4uIEhldXJldXNlbWVudCwgbGVzIHNvbnMg ZHUgbG9qYmFuIChfX3Bob27DqG1lc19fKSBzb250IHBsdXTDtHQgc2ltcGxlcy4KCgoKISEhIVZv eWVsbGVzCgpJbCB5IGEgc2l4IHZveWVsbGVzIGVuIGxvamJhbi4KCgoKfHwnJ2EnJyB8Y29tbWUg ZGFucyDCq8KgcF9fYV9fcF9fYV9fwqDCuwoKJydlJycgfGNvbW1lIGRhbnMgwqsgYl9fZV9fcmdf X8OoX19yZSDCuwoKJydpJycgfGNvbW1lIGRhbnMgwqvCoG1hY2hfX2lfX25lwqDCuwoKJydvJycg fGNvbW1lIGRhbnMgwqsgX19vX19tw6lnYSDCuywgwqvCoF9fYXVfX3RfX29fX21vYmlsZcKgwrsK CicndScnIHxjb21tZSBkYW5zIMKrwqBfX291X1/CoMK7LCDCq8KgbF9fb3VfX3DCoMK7CgonJ3kn JyB8Y29tbWUgZGFucyDCqyBtYXRfX2VfX2xvdCDCu3x8CgoKCkxhIHNpeGnDqG1lIHZveWVsbGUs ICcneScnLCBlc3QgYXBwZWzDqWUgdW4gX19zY2h3YV9fIGVuIGxpbmd1aXN0aXF1ZS4gQydlc3Qg dW4gwqvCoGXCoMK7IHRyw6hzIGzDqWdlciwgbm9uIGFjY2VudHXDqSwganVzdGUgbWlsaWV1IGVu dHJlIGxlIMKrwqBlwqDCuyBtYXJzZWlsbGFpcyAowqsgbWF0X19ldV9fbG90IMK7KSBldCBsZSDC q8KgZcKgwrsgbXVldCBwYXJpc2llbiAowqsgbWF0J2xvdCDCuykuCgoKCkRldXggdm95ZWxsZXMg ZW5zZW1ibGUgc29udCBwcm9ub25jw6llcyBjb21tZSB1biBzb24gKF9fZGlwaHRvbmd1ZV9fKS4g UGFyIGV4ZW1wbGXCoDoKCgoKfHwnJ2FpJycgfGNvbW1lIGRhbnMgwqvCoGNhbl9fYWlfX2xsZcKg wrsKCicnYXUnJyB8Y29tbWUgZGFucyDCq8KgY19fYW91X190Y2hvdWPCoMK7CgonJ2VpJycgfGNv bW1lIGRhbnMgwqvCoGFiX19laV9fbGxlwqDCuwoKJydvaScnIHxjb21tZSBkYW5zIMKrwqBnX19v eV9fwqDCuwoKJydpYScnIHxjb21tZSBkYW5zIMKrwqBwX19pYV9fbm/CoMK7CgonJ2llJycgfGNv bW1lIGRhbnMgwqvCoGhfX2llX19ywqDCuwoKJydpdScnIHxjb21tZSBkYW5zIMKrwqBjYV9faWxs b3VfX8KgwrsKCicndWEnJyB8Y29tbWUgZGFucyDCq8KgcV9fdW9pX1/CoMK7CgonJ3VlJycgfGNv bW1lIGRhbnMgwqvCoGJyX19vdWVfX3R0ZcKgwrsKCicndW8nJyB8Y29tbWUgZGFucyDCq8KgZHJf X291b19fdMKgwrsKCicndWknJyB8Y29tbWUgZGFucyDCq8KgX19vdWlfX8KgwrsgfHwKCgoKTGVz IHZveWVsbGVzIGRvdWJsw6llcyBzb250IHJhcmVzLiBMZXMgc2V1bHMgZXhlbXBsZXMgc29udCAn J2lpJycsIHByb25vbmPDqSBjb21tZSBkYW5zIMKrwqBmYV9faWxsaV9fwqDCuywgZXQgJyd1dScn LCBwcm9ub25jw6kgY29tbWUgZGFucyDCq8KgX19PdV9faF9fb3VfX8KgIcKgwrsgKHF1YW5kIG9u IGFwcGVsbGUgcXVlbHF1J3VuLCBtYWlzIHBhcyBjb21tZSBkYW5zIMKrwqBIb3Vob3XCoMK7wqA6 IGRhbnMgbGUgcHJlbWllciBleGVtcGxlLCBsZSAnJ2gnJyBlc3QgbXVldCwgZGFucyBsZSBkZXV4 acOobWUsIGxlICcnaCcnIGVzdCBhc3BpcsOpIOKAkyBjZSBxdWkgc2UgdHJhbnNjcmlyYWl0IGVu IGxvamJhbiAnJ3UndScnKQoKCgohISEhQ29uc29ubmVzCgpMYSBwbHVwYXJ0IGRlcyBjb25zb25u ZXMgc29udCBsZXMgbcOqbWVzIHF1J2VuIGZyYW7Dp2Fpcywgw6AgcXVlbHF1ZSBleGNlcHRpb25z IHByw6p0wqA6CgoKCnx8JydnJycgfHNlIHByb25vbmNlIHRvdWpvdXJzIGNvbW1lIGRhbnMgwqvC oF9fZ19fw6J0ZWF1wqDCuywgamFtYWlzIGNvbW1lIGRhbnMgwqvCoF9fZ19fZW5vdXjCoMK7Cgon J2MnJyB8c2UgcHJvbm9uY2UgJydjaCcnLCBjb21tZSBkYW5zIMKrwqBfX2NoX19hdGVhdcKgwrsK CicneCcnIHxzZSBwcm9ub25jZSBjb21tZSBkYW5zIGwnYWxsZW1hbmQgwqvCoEJhX19jaF9fwqDC uywgbCdlc3BhZ25vbCDCq8KgX19KX19vc2XCoMK7IG91IGwnYXJhYmUgwqvCoF9fS2hfX2FsZWTC oMK7CgonJ3InJyB8YWNjZXB0ZSBiZWF1Y291cCBkZSBwcm9ub25jaWF0aW9ucyAow6AgbGEgZnJh bsOnYWlzZSwgw6AgbCdhbmdsYWlzZeKApikgbWFpcyBsYSBwcm9ub25jaWF0aW9uIGl0YWxpZW5u ZSAoJydyJycgcm91bMOpKSBlc3QgcHLDqWbDqXLDqWV8fAoKCgpMZSBsb2piYW4gbid1dGlsaXNl IHBhcyBsZXMgY2FyYWN0w6hyZXMgwqvCoEjCoMK7LCDCq8KgUcKgwrsgb3UgwqvCoFfCoMK7LCBl dCBpbCBuJ3kgYSBwYXMgZGUgY2FyYWN0w6hyZXMgYWNjZW50dcOpcyBlbiBsb2piYW4uCgoKCiEh ISFDYXJhY3TDqHJlcyBzcMOpY2lhdXgKCgoKTGUgbG9qYmFuIG5lIHJlcXVpw6hyZSBhdWN1bmUg cG9uY3R1YXRpb24sIG1haXMgY2VydGFpbiBjYXJhY3TDqHJlcywgaGFiaXR1ZWxsZW1lbnQgdXRp bGlzw6lzIGNvbW1lIHBvbmN0dWF0aW9uIGRhbnMgZCdhdXRyZSBsYW5ndWVzLCBhZmZlY3RlbnQg bGEgbWFuacOocmUgZG9udCBsZSBsb2piYW4gZXN0IHByb25vbmPDqS4KCgoKTGUgc2V1bCBkZSBj ZXMgY2FyYWN0w6hyZXMgcXVpIHNvaXQgb2JsaWdhdG9pcmUgZW4gbG9qYmFuIGVzdCBsJ2Fwb3N0 cm9waGUuIEVuIGZhaXQsIGwnYXBvc3Ryb3BoZSBlc3QgY29uc2lkw6lyw6llIGNvbW1lIHVuZSBs ZXR0cmUgZHUgbG9qYmFuLiBVbmUgYXBvc3Ryb3BoZSBzw6lwYXJlIGRldXggdm95ZWxsZXMsIGVt cMOqY2hhbnQgY2VsbGVzLWNpIGQnw6p0cmUgcHJvbm9uY8OpZXMgZW5zZW1ibGUgY29tbWUgdW5l IF9fZGlwaHRvbmd1ZV9fLiBFbGxlIGVzdCBlbGxlIG3Dqm1lIHByb25vbmPDqWUgY29tbWUgdW4g wqvCoGjCoMK7LiBQYXIgZXhlbXBsZSwgwqvCoCcndWknJ8KgwrsgZXN0IG5vcm1hbGVtZW50IHBy b25vbmPDqSBjb21tZSDCq8KgX19vdWlfX8KgwrssIG1haXMgwqvCoCcndSdpJyfCoMK7IGVzdCBw cm9ub25jw6kgY29tbWUgwqvCoF9fb3VoaV9fwqDCuy4KCgoKVW4gcG9pbnQgZXN0IHVuZSBjb3Vy dGUgcGF1c2Ugw6l2aXRhbnQgw6AgZGV1eCBtb3RzIGRlIHNlIGNvbmZvbmRyZSBsJ3VuIGRhbnMg bCdhdXRyZS4gTGVzIHLDqGdsZXMgZHUgbG9qYmFuIHJlbmRlbnQgZmFjaWxlIGxhIGZ1c2lvbiBk ZSBkZXV4IG1vdHMgcXVhbmQgbGUgc2Vjb25kIGNvbW1lbmNlIHBhciB1bmUgdm95ZWxsZSwgZXQg ZG9uYywgcGFyIGNvbnZlbnRpb24sIGNoYXF1ZSBtb3QgY29tbWVuw6dhbnQgcGFyIHVuZSB2b3ll bGxlIGVzdCBwcsOpY8OpZMOpIHBhciB1biBwb2ludC4KCgoKTGVzIHZpcmd1bGVzIHNvbnQgcmFy ZSBlbiBsb2piYW4sIG1haXMgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWVzIHBvdXIgZW1ww6pjaGVy IGRldXggdm95ZWxsZXMgZGUgc2UgZm9uZHJlIGwndW5lIGRhbnMgbCdhdXRyZSBxdWFuZCB2b3Vz IG5lIHZvdWxleiBwYXMgdXRpbGlzZXIgZCdhcG9zdHJvcGhlLCBjZSBxdWkgYWpvdXRlcmFpcyB1 biDCq8KgaMKgwrsgZW50cmUgZWxsZXMuIEF1Y3VuIG1vdCBsb2piYW4gbidhIGRlIHZpcmd1bGUs IG1haXMgZWxsZSBlc3QgcGFyZm9pcyB1dGlsaXPDqWUgZGFucyBsJ8OpY3JpdHVyZSBkZXMgbm9t cyBkJ2F1dHJlcyBsYW5ndWVzLiBQYXIgZXhlbXBsZSwgwqvCoCcncGksRVIuJyfCoMK7IChQaWVy cmUpLCBhdSBsaWV1IGRlIMKrwqAnJ3BpZXIuJyfCoMK7IChQLXllcnIpLCDCq8KgJydwaS5FUi4n J8KgwrsgKFBpOyBFaHIpLCBvdSDCq8KgJydwaSdFUicnwqDCuyAoUGloZXJyKS4KCgoKTGVzIGxl dHRyZXMgY2FwaXRhbGVzIG5lIHNvbnQgbm9ybWFsZW1lbnQgcGFzIHV0aWxpc8OpZXMgZW4gbG9q YmFuLiBOb3VzIGxlcyB1dGlsaXNvbnMgZGFucyBkZXMgbW90cyBub24gbG9qYmFuIChjb21tZSDC q8KgUGllcnJlwqDCuyksIHF1YW5kIGwnYWNjZW50IHRvbmlxdWUgZCd1biBtb3QgZXN0IGRpZmbD qXJlbnQgZGUgY2VsdWkgZGUgbGEgbm9ybWUgbG9qYmFuLiBMYSBub3JtZSBjb25zaXN0ZSDDoCBt ZXR0cmUgdW4gYWNjZW50IHRvbmlxdWUgc3VyIGwnYXZhbnQgZGVybmnDqHJlIHN5bGxhYmUuIFBh ciBleGVtcGxlLCAnJ2t1am1pa2NlJycgKGluZmlybWnDqHJlKSwgZXN0IMKrwqBrdWpfX01JS19f Y2XCoMK7LCBldCBub24gcGFzIMKrwqBfX0tVSl9fbWlrY2XCoMK7LiBMZSBub20gwqvCoEp1bGll dHRlwqDCuyBzJ8OpY3JpcmFpdCDCq8KgJydqdUxJRVQuJyfCoMK7IHNpIHByb25vbmPDqSBjb21t ZSBlbiBmcmFuw6dhaXMsIG1haXMgwqvCoCcnREpVbGksZXQuJyfCoMK7IHNpIHByb25vbmPDqSBj b21tZSBlbiBhbmdsYWlzLgoKISEhIUFscGhhYmV0CgpJbiBtb3N0IGxhbmd1YWdlIHRleHRib29r cywgeW91IGdldCB0aGUgYWxwaGFiZXQgb2YgdGhlIGxhbmd1YWdlIHRvZ2V0aGVyIHdpdGggaXRz IHNvdW5kcy4gTGV0dGVycyAoJydsZXJmdScnKSB0dXJuIG91dCB0byBiZSBldmVuIG1vcmUgaW1w b3J0YW50IHRoYW4gdXN1YWwgaW4gTG9qYmFuLCBzbyB3ZSBtaWdodCBhcyB3ZWxsIGdvIHRocm91 Z2ggdGhlaXIgbmFtZXMgcXVpY2tseS4KCkNvbnNvbmFudHMgYXJlIHN0cmFpZ2h0Zm9yd2FyZDog dGhlIG5hbWUgb2YgYSBjb25zb25hbnQgbGV0dGVyIGlzIHRoYXQgbGV0dGVyLCBwbHVzIHkuIFNv IHRoZSBjb25zb25hbnQgbGV0dGVycyBvZiBMb2piYW4sICJiLCBjLCBkLCBmLCBnIC4uLiIsIGFy ZSBjYWxsZWQgJydieS4sIGN5LiwgZHkuLCBmeS4sIGd5LicnIC4uLiBpbiBMb2piYW4gKHVzaW5n IHRoZSBmdWxsIHN0b3AgYXMgd2UndmUganVzdCBkZXNjcmliZWQuKQoKVm93ZWxzIF9fd291bGRf XyBiZSBjYWxsZWQgJycuYXksIC5leSwgLml5JycsIGJ1dCB0aGF0IHdvdWxkIGJlIHJhdGhlciBk aWZmaWN1bHQgdG8gcHJvbm91bmNlLiBJbnN0ZWFkLCB0aGV5IGFyZSBoYW5kbGVkIGJ5IGZvbGxv d2luZyB0aGUgdm93ZWwgc291bmQgd2l0aCB0aGUgd29yZCAnJ2J1JycsIHdoaWNoIGJhc2ljYWxs eSBtZWFucyAnbGV0dGVyJy4gU28gdGhlIHZvd2VscyBvZiBMb2piYW4gYXJlOiAnJy5hYnUsIC5l YnUsIC5pYnUsIC5vYnUsIC51YnUsIHlidS4nJwoKVGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQg YXMgYSBwcm9wZXIgbGV0dGVyIGluIExvamJhbiwgYW5kIGlzIGNhbGxlZCAnJy55J3kuJycgLiBU byBzb21lIHBlb3BsZSwgdGhpcyBzb3VuZHMgbGlrZSBhIGNvdWdoOyB0byBvdGhlciwgbGlrZSAi dWgtaHVoIiAod2hlbiBpdCBtZWFucyAnWWVzJyByYXRoZXIgdGhhbiAnTm8nLikKCkxvamJhbiBo YXMgd2F5cyBvZiByZWZlcmluZyB0byBtb3N0IGxldHRlcnMgeW91IGNhbiB0aGluayBvZi4gSWYg eW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwgb3V0IHlvdXIgbmFtZSBpbiBMb2piYW4gYW5kIGhh dmUgYW4gIkgiLCAiUSIsIG9yICJXIiB0byBkZWFsIHdpdGgsIHlvdSBjYW4gdXNlICcnLnkneS5i dSwga3kuYnUnJyBhbmQgJyd2eS5idScnLiBTbyAiU2Nod2FyemVuZWdnZXIiIGlzIHNwZWx0IGlu IExvamJhbiBhczoKCicnc3kuIGN5LiAueSd5YnUgdnlidS4gLmFidSByeS4genkuIC5lYnUgbnku IC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LicnCgpBbmQgc3BlbGxpbmcgInRoYXQiIGlzIGEgdGFzayB0 aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhlIFRlcm1pbmF0b3IgZXZlciBkaWQhCgoKCk5vdyBzcGVs bCB5b3VyIG5hbWUgaW4gTG9qYmFuIChvciBhdCBsZWFzdCBzb21ldGhpbmcgY2xvc2UgZW5vdWdo IHRvIGl0IHRvIHVzZSB0aGUgdHdlbnR5LXNpeCBsZXR0ZXJzIG9mIEVuZ2xpc2ggd2UgaGF2ZSBs ZWFybmVkLCBhbmQgdGhlIGFwb3N0cm9waGUpLgoKCgohISEhICdDb3JyZWN0JyBwcm9udW5jaWF0 aW9uCgpZb3UgZG9uJ3QgaGF2ZSB0byBiZSB2ZXJ5IHByZWNpc2UgYWJvdXQgTG9qYmFuIHByb251 bmNpYXRpb24sIGJlY2F1c2UgdGhlIHBob25lbWVzIGFyZSBkaXN0cmlidXRlZCBzbyB0aGF0IGl0 IGlzIGhhcmQgdG8gbWlzdGFrZSBvbmUgc291bmQgZm9yIGFub3RoZXIuIFRoaXMgbWVhbnMgdGhh dCByYXRoZXIgdGhhbiBvbmUgJ2NvcnJlY3QnIHByb251bmNpYXRpb24sIHRoZXJlIGlzIGEgcmFu Z2Ugb2YgYWNjZXB0YWJsZSBwcm9udW5jaWF0aW9u4oCUdGhlIGdlbmVyYWwgcHJpbmNpcGxlIGlz IHRoYXQgYW55dGhpbmcgaXMgT0sgc28gbG9uZyBhcyBpdCBkb2Vzbid0IHNvdW5kIHRvbyBtdWNo IGxpa2Ugc29tZXRoaW5nIGVsc2UuIEZvciBleGFtcGxlLCBMb2piYW4gciBjYW4gYmUgcHJvbm91 bmNlZCBsaWtlIHRoZSAiciIgaW4gRW5nbGlzaCwgU2NvdHRpc2ggb3IgRnJlbmNoLgoKVHdvIHRo aW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91Z2gsIGFyZSBwcm9ub3VuY2luZyBMb2piYW4gJydp JycgYW5kICcndScnIGxpa2UgU3RhbmRhcmQgQnJpdGlzaCBFbmdsaXNoICJoaXQiIGFuZCAiYnV0 IiAoTm9ydGhlcm4gRW5nbGlzaCAiYnV0IiBpcyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24t TG9qYmFuIHZvd2VscywgcGFydGljdWxhcmx5IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJh dGUgY29uc29uYW50cyBieSBwZW9wbGUgd2hvIGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4 YW1wbGUsIGlmIHlvdSBoYXZlIHByb2JsZW1zIHNwaXR0aW5nIG91dCB0aGUgJyd6ZCcnIGluICcn emRhbmknJyAoaG91c2UpLCB5b3UgY2FuIHNheSB6yapkYW5p4oCUd2hlcmUgdGhlICLJqiIgaXMg dmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAiaSIgaGFzIHRvIGJlIGxvbmcuCgohISEhTG9qYmFu IE5hbWVzIChjbWV2bGEpCgpXYXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBl YWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSDi gJxNZSBUYXJ6YW4s4oCdIHdoaWNoIGlzIGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmlu ZyBMb2piYW4gYXMgYW55LiBTbyBoZXJlIHdlIGdvLgoKX18nJ21pJ2UgLnJvYmluLicnX18KCiJJ LWFtLW5hbWVkIFJvYmluIgoKIkknbSBSb2JpbiIKCicnbWknZScnIGlzIHJlbGF0ZWQgdG8gJydt aScnLCB3aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9m IHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBs aWtlICJtZSBoZWgiLgoKVGhpcyBndXkgUm9iaW4gaXMgbHVja3kgYmVjYXVzZSBoaXMgbmFtZSBn b2VzIGRpcmVjdGx5IGludG8gTG9qYmFuIHdpdGhvdXQgYW55IGNoYW5nZXMuIEhvd2V2ZXIsIHRo ZXJlIGFyZSBzb21lIHJ1bGVzIGZvciBMb2piYW4gbmFtZXMgd2hpY2ggbWVhbiB0aGF0IHNvbWUg bmFtZXMgaGF2ZSB0byBiZSAnTG9qYmFuaXNlZCcuIFRoaXMgbWF5IHNvdW5kIHN0cmFuZ2XigJRh ZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5hbWXigJRidXQgaW4gZmFjdCBhbGwgbGFuZ3VhZ2VzIGRv IHRoaXMgdG8gc29tZSBleHRlbnQuIEZvciBleGFtcGxlLCBFbmdsaXNoIHNwZWFrZXJzIHRlbmQg dG8gcHJvbm91bmNlICJKb3NlIiBzb21ldGhpbmcgbGlrZSAiSG96YXkiLCBhbmQgIk1hcmdhcmV0 IiBpbiBDaGluZXNlIGlzICJNYWdlbGl0YSIuIFNvbWUgc291bmRzIGp1c3QgZG9uJ3QgZXhpc3Qg aW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyBpcyBy ZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQgb25seSBjb250YWlucyBMb2piYW4gc291bmRzLCBh bmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5LgoKX19Ob3RlOiBfX1RoZSBjYXRjaCBoZXJlIGlz LCB3aGF0IHZlcnNpb24gb2YgdGhlIHNvdW5kcyB3aWxsIHlvdSBiZSB1c2luZz8gRm9yIEVuZ2xp c2ggaW4gcGFydGljdWxhciwgQnJpdGlzaCBhbmQgQW1lcmljYW4gdm93ZWxzIGNhbiBiZSBxdWl0 ZSBkaWZmZXJlbnQuIFRoZSBCcml0aXNoIHZlcnNpb24gb2YgIlJvYmluIiBpcyByZWFzb25hYmx5 IGFwcHJveGltYXRlZCBieSAnJy5yb2Jpbi4nJzsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJzaW9uIGlz IGNsb3NlciB0byAnJy5yYWJ5bi4nJyBvciAnJy5yYWIsbi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNh IGFuZCBCcml0YWluLCB0aGVyZSBpcyBhbHNvIGEgZ29vZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28g eW91IHNob3VsZCB0YWtlIHRoZSB0cmFuc2xpdGVyYXRpb25zIGdpdmVuIGJlbG93IHdpdGggYSBn cmFpbiBvZiBzYWx0LgoKTGV0J3MgdGFrZSB0aGUgRW5nbGlzaCBuYW1lICJTdXNhbiIuIFRoZSB0 d28gJydzJycncyBhcmUgcHJvbm91bmNlZCBkaWZmZXJlbnRseeKAlHRoZSBzZWNvbmQgb25lIGlz IGFjdHVhbGx5IGEgInoi4oCUYW5kIHRoZSAiYSIgaXMgbm90IHJlYWxseSBhbiAiYSIgc291bmQs IGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBtZW50aW9uZWQuIFNvICJTdXNhbiIgY29tZXMgb3V0 IGluIExvamJhbiBhcyAnJy5zdXp5bi4nJy4KCllvdSBtYXkgaGF2ZSBub3RpY2VkIHR3byBleHRy YSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBp ZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtub3cgd2hlcmUgdGhlIHByZXZpb3Vz IHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4uCgoKCllvdSBzaG91bGQgYWxzbyBw dXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBhIHBlcnNvbidzIGZpcnN0IGFuZCBsYXN0IG5hbWVz ICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29yeSksIHNvICJKaW0gSm9uZXMiIGJlY29tZXMgJycu ZGppbS5kam9uei4nJy4KCkFuIGltcG9ydGFudCBydWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBp cyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBhIGNtZXZsYSAoTG9qYmFuIG5hbWUpIG11c3QgYmUg YSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHByZXZlbnQgY29uZnVzaW9uIGFzIHRvIHdo ZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQgaXMgbm90IGEgbmFtZSAoYWxsIG90aGVy IExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkgdXNlICcncydmb3IgdGhp czsgc28gaW4gTG9qYmFuLCAiTWFyeSIgYmVjb21lcyAnJy5tZXJpcy4nJyAsICJKb2UiIGJlY29t ZXMgJycuZGpvcy4nJyBhbmQgc28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0 aGUgbGFzdCB2b3dlbCwgc28gIk1hcnkiIHdvdWxkIGJlY29tZSAnJy5tZXIuJycgb3IgJycubWVp ci4nJy4KCgoKVGhlIGZpbmFsIHBvaW50IGlzIHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFu IHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUgcGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBh IG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3MsIHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMg bWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQgRnJlbmNoIG5hbWVzICJSb2JlcnQiIGNvbWUgb3V0 IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAnJy5yb2J5dC4nJyBp biBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQuJycgaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0cywg YnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIuJycuCgpUbyBnaXZlIGFuIGlkZWEgb2YgaG93IGFs bCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4gdGhl aXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCgoKCnx8X19FbmdsaXNoX18KCk1hcmdhcmV0 IFRoYXRjaGVyIHwnJy5tYWdyeXQudGF0Y3lyLicnIChubyAidGgiIGluIExvamJhbiBiZWNhdXNl IG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29ybGQgY2FuJ3Qgc2F5IGl0ISkKCk1pY2sgSmFnZ2Vy IHwnJy5taWsuZGphZ3lzLicnIHx8Cgp8fF9fRnJlbmNoX18KCk5hcG9sZW9uIEJvbmFwYXJ0ZSB8 JycubmFwb2xlLE9OLmJvbmFQQVJULicnCgpKdWxpZXR0ZSBCaW5vY2hlIHwnJy5qdUxJRVQuYmlu T0MuJycgfHwKCnx8X19DaGluZXNlX18KCkxhb3ppIHwnJy5sYXVkei4nJwoKTWFvIFplZG9uZyB8 JycubWF1ZHp5RFlOLicnIChGaW5hbCAnJ25nJycgaXMgaW4gTG9qYmFuIGNvbnZlbnRpb25hbGx5 IHR1cm5lZCBpbnRvIG4uKSB8fAoKfHxfX1R1cmtpc2hfXwoKTXVzdGFmYSBLZW1hbCB8JycuTVVT dGFmYXMua2VNQUwuJycKCkVya2luIEtvcmF5IHwnJy5lcmtpbi5rb3JhaXMuJycgfHwKCnx8X19H ZXJtYW5fXwoKRnJpZWRyaWNoIE5pZXR6c2NoZSB8JycuZnJpZHJpeC5uaXRjeXMuJycKCkNsYXJh IFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4uJycgfHwKCnx8X19TcGFuaXNoX18KCklzYWJlbCBB bGxlbmRlIHwnJy5pemFCRUwuYWllbmRlcy4nJwoKQ2hlIEd1ZXZhcmEgfCcnLnRjZWdldmFyYXMu JycgfHwKCl9fRXhlcmNpc2VfXy4KCldoZXJlIGFyZSB0aGVzZSBwbGFjZXM/CgojLm51LElPUksu CgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5rYXJkaWYuCgojLmJlaWRqaW4uCgojLkFOa2FyYXMu CgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVyLgoKIy5rZWlwdGF1bi4KCiMudGFpYmVpcy4KCiMu Ym9uLgoKIy5kZWxpcy4KCiMubmlzLgoKIy5hdGluYXMuCgojLmxpZHouCgojLnhlbHNpbmtpcy4K CkFuc3dlcjoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5LGdyYXk6TmV3IFlvcms6IFVTQX5+Cgoj fn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fgoKI35+Z3JheSxncmF5OkhhdmFuYTogQ3ViYX5+Cgoj fn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBXZWxzaCBmb3IgIkNhcmRpZmYiIGlzICJD YWVyZHlkZCIsIHdoaWNoIHdvdWxkIExvamJhbmlzZSB0byBzb21ldGhpbmcgbGlrZSBrYWlyZHlk Li4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGluYX5+Cgojfn5ncmF5LGdyYXk6QW5rYXJh OiBUdXJrZXl+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVycXVlOiBOZXcgTWV4aWNvLCBVU0F+fgoK I35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4KCiN+fmdyYXksZ3JheTpDYXBlIFRvd246 IFNvdXRoIEFmcmljYX5+Cgojfn5ncmF5LGdyYXk6VGFpcGVpOiBUYWl3YW4gKG5vdGUgYiwgbm90 IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUgYiBpbiBQaW55aW4gaXMgcHJvbm91bmNlZCBhcyBh IHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQgdG8gYmUgYSBjb3Vyc2Ugb24gTWFuZGFyaW4hKX5+ Cgojfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFueX5+Cgojfn5ncmF5LGdyYXk6RGVsaGk6IEluZGlh IChUaGUgSGluZGkgZm9yICJEZWxoaSIgaXMgIkRpbGzDriIsIHdoaWNoIHdvdWxkIGdpdmUgZGls aXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3JheTpOaWNlOiBGcmFuY2V+fgoKI35+Z3Jh eSxncmF5OkF0aGVuczogR3JlZWNlICgiQXRoaW5hIiBpbiBHcmVlayl+fgoKI35+Z3JheSxncmF5 OkxlZWRzOiBFbmdsYW5kfn4KCiN+fmdyYXksZ3JheTpIZWxzaW5raTogRmlubGFuZH5+CgpfX0V4 ZXJjaXNlX18uCgpMb2piYW5pc2UgdGhlIGZvbGxvd2luZyBuYW1lcwoKI0pvaG4KCiNNZWxpc3Nh CgojQW1hbmRhCgojTWF0dGhldwoKI01pY2hhZWwKCiNEYXZpZCBCb3dpZQoKI0phbmUgQXVzdGVu CgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1NpZ291cm5leSBXZWF2ZXIKCiNSaWNoYXJkIE5peG9u CgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5bwoKI1NhbiBTYWx2YWRvcgoKQW5zd2VyOgoKfn5n cmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJuYXRpdmUgc3BlbGxpbmdzIGZvciBuYW1l cywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5jZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVu dGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBkb2Vzbid0IGV4aXN0IGluIExvamJhbiwg c28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdvIExvamJhbiBsZXR0ZXJzLiBUaGlzIGRv ZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25lIGtub3dzIHdobyBvciB3aGVyZSB5b3Un cmUgdGFsa2luZyBhYm91dC5+fgoKI35+Z3JheSxncmF5Oi5kam9uLiAob3IgLmRqYW4uIHdpdGgg c29tZSBhY2NlbnRzKX5+Cgojfn5ncmF5LGdyYXk6Lm1lbGlzeXMufn4KCiN+fmdyYXksZ3JheTou YW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcgb24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1h eSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBiZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBiZSBl Lil+fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMufn4KCiN+fmdyYXksZ3JheToubWFpa3lsLiBvciAu bWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cgeW91IHNheSBpdC5+fgoKI35+Z3JheSxncmF5Oi5k ZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90IC5idSxpcy4g4oCUIHRoYXQncyB0aGUg a25pZmUpfn4KCiN+fmdyYXksZ3JheTouZGplaW4ub3N0aW4ufn4KCiN+fmdyYXksZ3JheToudWls aWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3JheTouc2lnb3JuaXMudWl2eXIuIG9yIC5zeWdvcm5p cy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5yaXRjeXJkLm5pa3N5bi5+fgoKI35+Z3JheSxncmF5 Oi5pc3RhbkJVTC4gd2l0aCBFbmdsaXNoIHN0cmVzcywgLklTdGFuYnVsLiB3aXRoIEFtZXJpY2Fu LCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4gTG9qYmFuaXN0cyBnZW5lcmFsbHkgcHJlZmVyIHRv IGJhc2UgY21ldmxhIG9uIGxvY2FsIHByb251bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBh YnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdyYXk6Lm1hRFJJRC5+fgoKI35+Z3JheSxncmF5Oi50 b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2FuLnNhbHZhRE9SLiAod2l0aCBTcGFuaXNoIHN0cmVz cykgPC9zcGFuPjwvaHRtbD5+fgoKISEhIUxvamJhbiB3b3JkcyBhcyBuYW1lcwoKQnkgbm93IHlv dSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwgaWYg eW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChpZiB5 b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVseSBu ZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xhdGUg dGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2 ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBlY3Qg dGhlICJ3YXNpY2h1IiB0byBiZSBhYmxlIHRvIHByb25vdW5jZSB3b3JkcyBpbiBMYWtvdGEsIENo ZXJva2VlIG9yIHdoYXRldmVyIQoKTG9qYmFuIHdvcmRzIChleGNlcHQgY21ldmxhKSBlbmQgaW4g YSB2b3dlbC4gWW91IGNhbiB1c2UgbG9qYmFuIHdvcmRzIGFzIG5hbWVzIHRvby4gQnV0IGlmIHlv dSBwcmVmZXIgdGhhdCB5b3VyIG5hbWUgaXMgYSBjbWV2bGEgYW5kIGl0IGVuZHMgaW4gYSB2b3dl bCB0aGVuIHlvdSBjYW4gZWl0aGVyIGFkZCBhIGNvbnNvbmFudCB0byB0aGUgZW5kIG9mIGl0IG9y IGp1c3QgY2hvcCB0aGUgZW5kIHZvd2VsIG9mZi4KCkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzIChv cmlnaW5hbCBuYW1lLCBtZWFuaW5nLCBuYW1lIGFuZCBuYW1lIGFzIGNtZXZsYSk6CgoqRmlzaCDi gJMgZmlucGUg4oCTICcnLmZpbnAuJycKCipCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJlYXIpIOKA kyBjcmliZSDigJMgJycuY3JpYi4nJwoKKkdyZWVuIOKAkyBjcmlubyDigJMgJycuY3Jpbi4nJwoK Kk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkg4oCTIG1lbGJpIOKAkyAnJy5tZWxiLicnCgoq QXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg 4oCTICcnLmx1cm5vYmxpcy4nJwoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJp ZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2Vu dHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3Nl IHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBj bGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIs IG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250 cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdo aWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJl bmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3Qg bmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBi cmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBz YWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJl Z2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGlt ZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZh bHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBi ZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg 4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9s dmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRo b3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBF bmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDi gJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vl eiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5l dGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBu byBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEg cHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBv bmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0 aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUg dGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3Ti gJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCc c3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4g YWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKA nS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVj dCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCd IGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwg ZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3du OgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBh IGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQg YnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRz IGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMg d2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAg KHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLi gJ1+fgoKCgrigJxIZSBib3VnaHQgc2l4dGVlbiBuZXcgc2hpcnRzIGZyb20gTGVhJkxldnkncyBm b3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJy aTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnHNpeHRlZW4g bmV3IHNoaXJ0c+KAnSwg4oCcTGVhJkxld2lz4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KA nX5+CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4s IGxldCdzIGhhdmUgYSB0aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUg bm90aGluZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRo ZSBFUEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94 aWRl4oCdfn4KCgoKTm93IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5 b3Ugd2lsbCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToK CicnX19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19w ZWx4dV9fJycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoK CgpOb3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KA nSBhbmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZl IGFuZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRl Z29yaWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0 ZWQg4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2 aW5n4oCdIChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxs IGFjdCBhcyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwg YXMgYSBmZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEni gJ0gb3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicn X190aV9fJycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hp Y2ggY2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKA nSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRo ZSBzdHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0 aGUgeDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJl IHBsYWNlcyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3Vt dGkgaW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBU aGUgc2Vjb25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhp bmcgYmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRo ZSB0aGluZy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhh cyB0aGUgd29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdv cmQgaXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNl aXZlciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlv dSBmaWxsIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3Ug ZmlsbCBpbiBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1 aXZhbGVudCB0byB0aGUgd29yZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1w bHkgc2F5IHRoZSB4MSBzdW10aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhl ciBzdW10aS4KClVzdWFsIGJyaWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9 IHt4MyBzdW10aX0ge3g0IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIg Y2FuIGJlIHBsYXllZCBhcm91bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhl IHVzdWFsIGZvcm0uIFRvIHNheSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5 ICcnbWkgZHVuZGEgdGkgZG8nJywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBs YWNlcy4KCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCd PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBt b3JlIGluIG9yZGVyIHRvIGdldCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGlu LgoKCgrigJxZb3UgZ2l2ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn ZG8gZHVuZGEgdGkgbWknJ35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNl IHlvdSBnZXQgdGhlIGhhbmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBl YWNoIG90aGVyIGFyZSBzZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVp dmFsZW50IG9mIGZ1bGwgc3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5z dGVhZCBvZiBhZnRlciB0aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3Qg YnJpZGksIHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50 ZW5jZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFs c28gYnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBo b21lIHRvIG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRo ZSBuZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBs ZWFzdCBzZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgoh IUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJp IGhhdmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4g SGVyZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4 MSBzZWxscyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNl bGwgdGhpc+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10 aSBwbGFjZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRv LCBhbmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxh Y2VzIGNhbiBiZSBmaWxsZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVz IHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNl IGl0J3MgdW5pbXBvcnRhbnQgb3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydf X3pvJ2VfXycnIOKAnHNvbWV0aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRo aW5nLCBidXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5 b3XigJ0sIEkgY291bGQgc2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBz b21ldGhpbmcgdG8geW91IGZvciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRo YXQncyBhIGhvbWUgKGZvciBzb21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcn dGkgemRhbmkgem8nZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRv IChzb21lb25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8n ZScnfn4KCgoKU3RpbGwsIGZpbGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBh IHRoaW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVk IHRvIHdyaXRlIGFsbCB0aGUgJyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlz IHRoYXQgaWYgeW91IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVk IGFzIGlmIHRoZXkgY29udGFpbmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGgg YSBzZWxicmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVz ICcnem8nZScnLgoKVHJ5IGl0IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6 ZGFuaSBtaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEg aG9tZSBvZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlv bmVkIGVhcmxpZXIsIHRoZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxi cml9IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0 aGUgc2VsYnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9m IHRoZSBicmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0 IGFuZCBmaWxsZWQgd2l0aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVl IGp1ZnJhIGFyZSBhbGwgdGhlIGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8n JwoKJydtaSB0aSBkdW5kYSBkbycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRo aXMgaXMgdXNlZCBmb3IgcG9ldGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291 bGQgYmUgJydkbyBkbyB2ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNu dSBkbycnLiBPciBpdCBjYW4gYmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZl cnkgbG9uZyBhbmQgdGhlcmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJy aWRpLgoKCgpUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0 aGUgb3JkZXIgb2YgdGhlIHN1bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBp cyBieSB1c2luZyB0aGUgd29yZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAn J2Z1JycuIE5vdGljZSB0aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUg TG9qYmFuIGFscGhhYmV0IGluIG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3Mg dGhhdCB0aGUgbmV4dCBzdW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSBy ZXNwZWN0aXZlbHkuIFRoZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0 byBmaWxsIGEgc2xvdCBvbmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4 YW1wbGU6CgonJ2R1bmRhIGZhIGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2Yg dGhpcyB0aGluZyB0byB5b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hp Y2ggaXMgeW91LiAnJ2ZlJycgbWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1 bXRpIGNvdW50aW5nIHRoZW4gY29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhl IGxhc3Qgc3VtdGkgZmlsbHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRv IHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBm byB0aSBmZSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHBy aWNlIG9mIHRoaXMsIHlvdeKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRo aXPigJ0gKHByb2JhYmx5IHBvaW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFu aSBmZSB0aScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBI ZXJlLCB0aGUgZmUgaXMgcmVkdW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0 aGlzIHByaWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRh bnJ1IGFuZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0 aCB0aGUgY29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNl bGJyaSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVh bmluZy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90 aGVyIHNlbGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pk YW5pIHZlY251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScn LCB3aGljaCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNp bmdsZSBicml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2Yg dGFucnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJl ZeKAnS4gSWYgeW91IGRpZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBo ZWFyZCBhYm91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0 byBkZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0 cmVlLCBvciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsg dGFzdGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3Vy ZSB3b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9u LWxpa2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMu IEl0IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0 IGl0IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBp dCdzIHpkYW5pLWxpa2UgaW4gc29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGlu IGFueSB3YXkuIEluIHRoZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNv bm5lY3Rpb24gdG8gemRhbmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkg dmVjbnUnJy4gSG93ZXZlciwgaXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRp bmFyeSBzZW5zZSBpbiBvcmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xv c3MgJyd6ZGFuaSB2ZWNudScnIGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBi dXQgd29yc2Ugc291bmRpbmcg4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ug c3RydWN0dXJlIG9mIGEgdGFucnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxi cmkuIEl0J3MgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdo dCBzZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9l c24ndCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4g YSB0YW5ydSBpcywgaXQncyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMg Zm9yICcnemRhbmkgdmVjbnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdo eSBJIHRoaW5rIGl0J3MgemRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBi ZSBhIGRpY2suIE9yIGF0IGxlYXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4g SW4gZ2VuZXJhbCwgeW91IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cg dGhlIGxlZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xh dGUgdGhlIGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0 IGtub3cgaW4gd2hpY2ggd2F5IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVs bG93LCBidXQgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0 aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29s ZCBzb21ldGhpbmcsIHNpbmNlLCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2Fu IGJlIG5vIHBheW1lbnQgaW52b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUg c2VsbC1saWtlIGluIHNvbWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21w bGV0ZWx5IGRpZmZlcmVudC4gV2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2Vy bWFuPwoKJydfX2RvdGNvX18nJyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUg aW4gYXNwZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1 c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBw ZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBi ZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3 aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCd LCB3aGF0IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIK CicnX19tZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVj dCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVy a28nJywgYnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5k LWxpa2UgQW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRv IGlzIHRvIHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEg c3VtdGkgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMg ZG9uZSBieSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMg Z2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBv ZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2Vs YnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2Vl biB0aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRo ZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGlu c3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRo aW5ncyB3aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFu cyDigJxhIGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYg SSBzYXkgdGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAn J2xvIHBlbHh1IGt1JycgcmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2 ZSB0aGUgbmVjZXNzYXJ5IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRz IHdpdGggYW4gQW1lcmljYW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBl bmRvIGxvIG1lcmtvIGt1Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydr dScnIGlzIG5lY2Vzc2FyeS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlz IHRvIG1l4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBt aScnIElmIHlvdSBsZWF2ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQg c2ltcGx5IHRocmVlIHN1bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0 aGUgdGkgaXMgZm9yY2VkIG91dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZv cmNlZCB0byBjbG9zZSBhbmQgaXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcn bG8gZG90Y28gdmVjbnUge2t1fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlz IGhhdmUgdG8gYmUgY2FyZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScn LiBJZiB0aGUgJydrdScnIGlzIGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBu b3QgZW5kLCBhbmQgaXQgc2ltcGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRh bnJ1ICcnemRhbmkgcGVseHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoK ISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIg Y29uY2VwdCB3aGljaCBjYW4gYmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRo YXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBl bW90aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4g dGhlIGZlbWluaXN0IGNvbnN0cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVu YWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rp b25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwg YW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0 aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFn ZS4KCkluIExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMg bW9zdCBwcm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVz ZSB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRo ZXkgYWxsIGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRo ZXkgY2FuIGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVw dGluZyB0aGUgYnJpZGkncyBncmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoK SW4gTG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3Vz IHdvcmQuIElmIHRoYXQgcHJldmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29u c3RydWN0IChsaWtlICcnLmknJyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUg Y29uc3RydWN0LiBMaWtld2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdo aWNoIGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVk IGNvbnN0cnVjdC4KCgoKTGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBl eGFtcGxlczoKCl9fJycudWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjog aGFwcGluZXNzIC0gdW5oYXBwaW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRl bnRpYWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24g b2YgJycudWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQg dW5oYXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGlu ZXNzLCB3aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdh dGlvbuKAnSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90 aGVyIGRlZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFp JycuIE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5h bHMgLSB0aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0 aW9uIG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpf XycnbmFpJydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQg Y2hhbmdlcyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoK QW5kIHNvbWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGth JydfXyDigJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Yg c3RyYWluL3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVp JycsIG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVz c2luZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBh Ym91dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRo ZSBzZW50ZW5jZSAnJ2RvIHphJ2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGly ZWN0bHkgb2JzZXJ2ZXMgdGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBl YXRzIGFuIGFwcGxlIGFzIG9wcG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVk aW5hbCBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVy c3Rvb2QgdG8gYXBwbHkgdG8gYW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFw cGx5aW5nIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNl IGt1IG1pJycg4oCTIOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBs ZSB0byBtZSHigJ0KCgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxs ICh3aGljaCBzdWNrcyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1w bGVzLiBGaXJzdCwgdGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18n Jy51J3UnJ19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9y c2VsZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4 IHB1cmUgZW1vdGlvbjogY29tcGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVk aW5hbDogbWlzY2VsbGFuZW91cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0 IHRoYXQsIHR3byB3b3JkcyB3aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBU aGUgbWlkZGxlIG9uZSBpcyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0 J3MgY29uc2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18g YXR0aXR1ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hh bmdlIHRoZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkg c2F5aW5nIOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcn em8nZScnIGluc3RlYWQgb2YgJydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cg YXBwbGXigJ0KCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1 IHBsaXNlIGt1Jyd+fgoKCgpMZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZm ZXJlbnQga2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0 aXR1ZGluYWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJl ZWRvbS4KCgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F5 4oCdIGlzICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFs bHkhIFdoZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0 IGFsbCB0aGUgb3RoZXIgYXR0aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2Vz IHRoZSBzcGVha2VyJ3MgZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1 YWxseSBjaGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJ IGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hl dGhlciB0aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNl ZCAnJy51aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBn YXZlIHRoZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdz IHRoYXQgYWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMg Y2hhbmdlIHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJq ZWN0IG9mIGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUs IHdoaWNoIHByb2JhYmx5IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0 aW5jdGlvbiBiZXR3ZWVuIOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwg ZW1vdGlvbnPigJ0uIE9ubHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRy dXRoIGNvbmRpdGlvbnMsIHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBl eHByZXNzIGEgcHJvcG9zaXRpb25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFu Z2luZyB0aGUgdHJ1dGggdmFsdWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUg aXQgZnJvbSB0aGUgYnJpZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBl eHBsaWNpdGx5IGNvbnNlcnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2Yg YSBicmlkaToKCgoKX18nJ2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3Np bmcgLSBpbiBmYWN0CgpTYXlpbmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0 aCBjb25kaXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcg cHJvcG9zaXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0 aGUgdHJ1dGggY29uZGl0aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcg cHVyZSBhdHRpdHVkaW5hbHMuCgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkg Z2l2ZSB0aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcn bWkgZHVuZGEgZGEnaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBh dHRpdHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWkn Jy4gVXN1YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3Jp YmVkIHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywg YmVjYXVzZSB0aGUgd29yZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJz IGVtb3Rpb25zKSwgc29tZSBMb2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3Bl YWtlciBtdXN0IHNoYXJlIHRoZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoK X18nJ2RhaScnX18gYXR0aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0 aXR1ZGluYWwgdG8gc29tZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5v aSBkYWkgY2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhh dmUgaHVydCHigJ0KCgoKV2hhdCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFp JycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+ CgoKCkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNs YXRlIOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQg dGVuc2UgaXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKA nSBjb3VsZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J3UndSBkYWkgdmVjbnUgbG8gemRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBv ZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRo ZXNlIGNhbiBiZSB1c2VkIGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3 aXRoICcnbmFpJycgb3IgJydjdSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhh cHBlbnMgd2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBt dXN0IGl0J3MgbW9zdGx5IHVuZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0 aGUgc2VsYnJpIGluIHNvbWUgdW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwg SW50ZW5zaXR5ICAKCiBjYWl8ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAg VW5zcGVjaWZpZWQgKG1lZGl1bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBp cyBleHByZXNzZWQgdXNpbmcgJycudSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0 dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTpTdHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3Ug ZXhwcmVzcyB0aGF0IHlvdSBhcmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnLnUndSBjdSdpIHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3Nv biBmaXZlIChTRSkKCkJlZm9yZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3Jl IGNvbXBsZXggY29uc3RydWN0cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBm b3IgcmVvcmRlcmluZyB0aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hv dywgaXMgdmVyeSB1c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUg a2luZCBvZiBzdW10aSB3aXRoICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBl YXQgYSBnaWZ04oCdLCB3aGljaCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMg YW4gYXBwbGUuIFRvIHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9v ayB1cCBhIHNlbGJyaSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2 ZXIsIGlmIG9uZSBsb29rcyBjYXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScn LCB4MSBnaXZlcyB4MiB0byB4Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEn JyBpcyBzb21ldGhpbmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2Vu dGVuY2UsIHdlIGNhbid0IHNheSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJyds byBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9u b3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhh dC4gV2hhdCB3ZSB3YW50IGlzIGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoK VGhpcyBpcyBvbmUgZXhhbXBsZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcn c2UnJy4gV2hhdCAnJ3NlJycgZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRo ZSB4MSBhbmQgeDIgb2YgdGhhdCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9m ICcnc2UnJyArIHNlbGJyaSBpcyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0 J3MgdHJ5IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEg dHJhbnNsYXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0 IG9mIHRyYW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRp JycKClRoaXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4s IGJ1dCBub3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xh dGVkIHRvIHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMg b2Z0ZW4gdGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWls eSBvZiB3b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4 MS4KCnx8c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgx IGFuZCB4NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBh cmUgY29uc2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzog VXNpbmcgdGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/ CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPi gJ0gKG9yICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2Fu IG9mIGNvdXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJl c3VsdCBjYW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0 IHNvOgoKX18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZp YSB4NCB1c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkg a3UgdGUga2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRh bmkga3UnJyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFt YSBkbyBtaSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlh IGEgaG9tZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2Ug ZXhjZXB0IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJz dGFuZGluZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhl IHBvaW50IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hh bmdlIHRoZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4 MSwgdGhlbiBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93 IHdvdWxkIHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5Oicn bWkgY2l0a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1 c2VzIGZvciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMg bGVzc29uIHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQg c2luZ2xlIHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0 aGluZ3MsIGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVj a2lseSwgdGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxk IGV4cGVjdC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhp czog4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFp biBicmlkaSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlz IOKAnFlvdSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDi gJxoYXBweeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBo YXBweSBhYm91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVk cyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25l IGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNv bWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJl c3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9m ICcnZ2xla2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRp b24uIFRoZSB3b3JkcyAnJ3N1J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQg YnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KA picna3UnJy4KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9m IHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoKX18nJ21l bGJpJydfXyB4MSBpcyBiZWF1dGlmdWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRhbmNlcyB0 byBhY2NvbXBhbmltZW50L211c2ljL3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5zdSBrZWkn JyAtIOKAnEJlYXV0aWZpbCBkYW5jaW5n4oCdL+KAnEJlYXV0aWZpbCBkYW5jZeKAnQoKCgpJdCdz IHVzdWFsbHkgaGFyZCB0byBmaW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLiBI b3dldmVyLCBzaW5jZSAnJ3N1J3UgQlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29u dmVydCBpdCB0byBhIHN1bXRpIHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRo ZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmll bmTigJ0uIFRyeSBpdCBvdXQhCgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy 4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1p IGtlaSBrdScnfn4KCgoKSG93ZXZlciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBt dWNoIHVzZS4gUGVvcGxlIHByZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydu dScn4oCmJydrZWknJyBhbmQgJydkdSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUg d2F5LCBidXQgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRo ZSBicmlkaSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2Vp JycgdHJlYXRzIGl0IGFzIGFuIGFic3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3Mg bGlrZSBpZGVhcywgdGhvdWdodHMgb3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAn J2tlaScnKSBhcmUgY2FsbGVkIGFic3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBh bmQgb25seSBmZXcgYXJlIHVzZWQgbXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFi c3RyYWN0b3IsIGFuZCB3aWxsIHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNh eSDigJxJJ20gaGFwcHkgYWJvdXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgx IHRhbGtzIHRvIHgyIGFib3V0IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJv dGggdGhlIEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5n IHRoZSB0YWxraW5nKS5+fgoKCgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTog JydrYS4uLmtlaScnIChwcm9wZXJ0eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWkn JyAoY29uY2VwdC9pZGVhIGFic3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0 cmFjdGlvbikgYW1vbmcgb3RoZXJzLiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGlj YXRlZCBtYXR0ZXIsIGFuZCB3aWxsIGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24g dHdlbnR5LW5pbmUuIEZvciBub3csIHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoK SXQgaXMgaW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZl cmFsIHN1bXRpIHBsYWNlcy4gQXMgYW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25l ZC4gJydkdSd1JycgaXMgZGVmaW5lZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMg dGhlIHByZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKA nS4KClRoZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0 ICcnbG8gc2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3Vt dGkgZm9yIGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBk b2figJ0gY2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxv IGdlcmt1IGt1IGtlaSBrdScnLCBpZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUu CgpfXycnY3Vza3UnJ19fIHgxIGV4cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoK X18nJ2dlcmt1JydfXyB4MSBpcyBhIGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKA kyBsZXNzb24gc2V2ZW4gKE5PSSkKCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIg dHlwZSBvZiBzdWJvcmRpbmF0ZSBicmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1 c2VzLiBUaGV5IGFyZSBzZW50ZW5jZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBz dW10aS4gSW5kZWVkLCB0aGUg4oCcd2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1h cmtlZCB0aGUgYmVnaW5uaW5nIG9mIGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3Jp YmluZyByZWxhdGl2ZSBjbGF1c2VzLiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9y cywgYW5kIGl0IG1pZ2h0IGJlIHdvcnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVm b3JlIGxlYXJuaW5nIGhvdyB0byBleHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxs ZWQgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0 aXZlIGNsYXVzZXMuIEFuIGV4YW1wbGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhl ciwgd2hvIGlzIHR3byBtZXRlcnMgdGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBi ZSB1bmRlcnN0b29kIGluIHR3byB3YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywg aW4gd2hpY2ggY2FzZSBzYXlpbmcgaGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBr bm93IHdoaWNoIGJyb3RoZXIgSSBhbSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25s eSBvbmUgYnJvdGhlciwgaW4gd2hpY2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0 aW9uYWwgaW5mb3JtYXRpb24uCgoKCkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlz dGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRh dGlvbiBpcyByZXN0cmljdGl2ZSAoc2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxl IGJyb3RoZXJzIEkgbWlnaHQgYmUgdGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3Ry aWN0aXZlLiBXaGVuIHNwZWFraW5nIEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2Ug KG9yIGluIHdyaXR0ZW4gRW5nbGlzaCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNo IGJldHdlZW4gdGhlc2UgdHdvLCBidXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhl IGNvbnN0cnVjdHMgJydwb2nigKZrdSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmlj dGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4K CkxldCdzIGhhdmUgYSBMb2piYW5pYyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91 ciBzdHJhbmdlIGdpZnQtZWF0aW5nIGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24g Zml2ZToKCl9fJydub2knJ19fIGJlZ2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2Ug KGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZl IHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19f IGVuZCByZWxhdGl2ZSBjbGF1c2UKCgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxp c2Uga3UnbycnID0g4oCcSSBlYXQgYSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBh cHBsZeKAnS4gCgpIZXJlIHRoZSAnJ3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAn J2xvIHNlIGR1bmRhIGt1JycsIHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmlj dCwgdGhlIHJlbGF0aXZlIGNsYXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNo IGlzIGFuIGFwcGxlLCBidXQgc2luY2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRo ZSBnaWZ0LCB3ZSBjYW4gc2FmZWx5IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQg aXMgYW4gYXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRo aXMgc2VlbXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhh dCBpdCBpbmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdv cmQgJydrZSdhJycsIHdoaWNoIGlzIGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1v cmUgb24gdGhlbSBsYXRlcikgcmVwcmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRp dmUgY2xhdXNlIGlzIGF0dGFjaGVkIHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0 byB0aGUgc3VtdGksIHRvIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoK CicnLnVpIG1pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKA nFlheSwgSSBlYXQgYSBnaWZ0IHdoaWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRo ZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxh dGl2ZSBjbGF1c2VzLCBoZXJlJ3MgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKA nHgxIHJlZmxlY3RzIExvamJhbmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEg aXMgTG9qYmFuaWMu4oCdCgoKCicnbWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8g a3UnJyA9IOKAnEksIHdobyBhbSBhIExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJh bmljIGxhbmd1YWdlLuKAnSBIZXJlLCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNo ICcnbWknJyBjb3VsZCByZWZlciB0bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBp cyBtZXJlbHkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1l LiBUaGVyZWZvcmUgJydub2nigKZrdSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNh biB0cmFuc2xhdGUgdGhpczog4oCcSSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwv aGFuZHNvbWXigJ0uCgpfXycnbmFubXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmkn J19fIOKAnHgxIGlzIGJlYXV0aWZ1bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFy ZCB4NOKAnQoKX18nJ2Npbmppa2NhJydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0 aW5nIHNleHVhbGl0eSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgY2luamlrY2EgbG8gbmFubXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpP biBhIG1vcmUgdGVjaG5pY2FsIHNpZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cg dGhhdCAnJ2xvIHtzZWxicml9IGt1JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBu b2kga2UnYSB7c2VsYnJpfSBrdSdvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgTGVzc29u IGVpZ2h0ICh0ZXJtaW5hdG9yIGVsaXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxl IG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBu ZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkg a3UgdmF1X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5n LCB3b3VsZCB1bmRlcnN0YW5kIHRoYXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBtZS7igJ0K ClJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcgdW5kZXJz dG9vZCwgKGl0IHNob3VsZG4ndCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292 ZXJlZCBpbiB0aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUg Y29tcGxleCBMb2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0 aGUgc2VudGVuY2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3UnbycnIGFu ZCBvdGhlciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5p bmcuCgoKClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBl bmQgb2YgYSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug 4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUg RW5nbGlzaCB3b3JkIGZvciB0aGlzIGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0 aGUgTG9qYmFuIHdvcmQgaXMgJydmYSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xk IGluIHRoZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4 YW1wbGUgYXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBn b29kIHJlYXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1 JydfXyBmYSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3 cml0dGVuIExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMg Z3JlYXRseSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBo b3dldmVyLCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdv LiBJbiB0aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0 aGUgZmEnb3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNo IGlzIGEgc2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBU aHVzLCBpdCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFu IEFtZXJpY2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkg d3JvbmcgcmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVu J3QgbGVhcm5lZCBhYm91dCBpdCB1bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29y bWEnbyBjYW4gYmUgZWxpZGVkIGlzIHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKA nFlvdSBjYW4gZWxpZGUgYSBmYSdvcm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBk b2VzIG5vdCBjaGFuZ2UgdGhlIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNl LuKAnQoKTW9zdCBmYSdvcm1hJ28gY2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0 aGUgYnJpZGkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVv dGXigJ0tZmEnb3JtYSdvIGFuZCDigJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBU aGlzIGlzIHdoeSAnJ3ZhdScnIGlzIGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5u aW5nIGEgbmV3IGJyaWRpIHdpdGggJycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUg dGhlIHByZWNlZGluZyBicmlkaSBhbnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dl dmVyLiBTaW5jZSBhdHRpdHVkaW5hbHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29y ZCwgYXBwbHlpbmcgaXQgdG8gYSBmYSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNv bnN0cnVjdCB3aGljaCBpcyB0ZXJtaW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4g dXNlIGF0dGl0dWRpbmFscyBhZnRlcnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGly ZSBicmlkaToKCicnemEnYSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0uLi4g dmF1IGknZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24uLi4g SSBhcHByb3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEgcGVy c29uYWxpdHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxpc2lv biwgd2UgY2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVnaW4g cmVtb3ZpbmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtv IHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBs byBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1 X18nJwoKCgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1hdGljYWxs eSB1bm5lY2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQgaXMgJydq aW1wZScnLCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHNl bGJyaSBwZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1wZScnIGFz IGEgc2VsYnJpIGNhbm5vdCBiZSBpbiB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAob25seSBv bmUgYnJpZGkgaW4gYSBjbGF1c2UsIG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRpKSwgd2Ug Y2FuIGVsaWRlICcna3UnbycnLiBMaWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBhIHNlY29u ZCBzZWxicmkgaW5zaWRlIHRoZSBjb25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScnLCBzbyB0 aGUgJydrdScnIGlzIG5vdCBuZWVkZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRoZSBmYSdv cm1hJ28gYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVkIHRvbywg c2luY2UgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0aGVzZSBj b25zdHJ1Y3RzIGFueXdheS4KCldlIHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdpIG1pIGRq aWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNp IGxvIG51IHZvJ2EgZGFyeGkgbWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpX aGVuIGVsaWRpbmcgZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVk IHdpdGggJydjdScnLiAnJ2N1JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtl IHlvdXIgKExvamJhbmljKSBsaWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNl cGFyYXRlIGFueSBwcmV2aW91cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkg dGhhdCBpdCBkZWZpbmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5h dGVzIGV4YWN0bHkgYXMgbXVjaCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoK X18nJ2N1JydfXyBlbGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRp bmcgc3VtdGksIGFsbG93cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFt aScnX18gPSDigJx4MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUn dSBkbyBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1pJycgPQoK JydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNlIGRqaWNh IG1pJycKCuKAnFRoYXQgeW91IHNheSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQgYnkgYmXi gJ0gb3Ig4oCcSSB3aXNoIHlvdSBzYWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydjdScnIGlz IG5vdCBhIGZhJ29ybWEnbywgYmVjYXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3BlY2lmaWMg Y29uc3RydWN0LiBCdXQgaXQgY2FuIGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3JtYSdvLgoK CgpPbmUgb2YgdGhlIGdyZWF0ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBpdCBxdWlj a2x5IGJlY29tZXMgZWFzeSB0byBpbnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNlbGYgaXQg bWVhbnMgbm90aGluZywgYnV0IGl0IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2piYW4gZXhw cmVzc2lvbnMgYnkgaWRlbnRpZnlpbmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3JpZ2luYWwg ZXhhbXBsZSB3aXRoIHRoZSB2aW9sZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcnY3UnJyBi ZWZvcmUgJydqaW1wZScnIGRvZXMgbm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgc2VudGVu Y2UgaW4gYW55IHdheSwgYnV0IG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoKCkluIHRo ZSBmb2xsb3dpbmcgY291cGxlIG9mIGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQgd2hlbiBu ZWNlc3NhcnksIGFuZCBhbGwgZmEnb3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhlIGVsaWRl ZCBmYSdvcm1hJ28gd2lsbCBiZSBlbmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBzaG93biBi ZWxvdy4gVHJ5IHRvIHRyYW5zbGF0ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMgaW1wb3J0 YW50IHRvIHgyIGZvciByZWFzb24geDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5kZXJzdGFu ZHMgdGhhdCB4MiAoZHUndS1hYnN0cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2En bycnX18gLSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAt IGRlc3BhaXIKCgoKJydhJ28gZG8gbm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1fSBjdSBq aW1wZSBsbyBkdSd1IGxvIGZhJ29ybWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9IHtrdX0g e3ZhdX0nJwoKV2hhdCBkbyBJIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgaG9w ZSB0aGF0IHlvdSwgYSBwcm91ZCBMb2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdv IGFyZSBpbXBvcnRhbnTigJ1+fgoKCgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZl cnNlZCBpbiBmYSdvcm1hJ28tZWxpc2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhl eSBvZnRlbiBtdXN0IGJlIHJlbWluZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdv cm1hJ28gYXJlIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNo IFR1ZXNkYXkgaGF2ZSBiZWVuIGRlc2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydm YSdvcm1hJ28gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRlcm1p bmF0b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJlciB3 cml0aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVyc2F0 aW9ucyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUgKHN1 bXRjaXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRoZSBz ZWxicmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUgYW1v dW50IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhlIHN1 bXRpIHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hhdCBp Ziwgc2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNvbXB1 dGVyPyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0byBz cGVjaWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUgdGlt ZSwgdGhhdCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlzIG9u IGhvdyB0byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoKVGhl IG1vc3QgYmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdvIFNFTEJS SSBmZSd1JycgKHllcywgYW5vdGhlciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4g SXQncyBhbG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBsYXN0IHRp bWUgeW91IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdvZXMgYSBz ZWxicmksIGFuZCBsaWtlICcnbG8gU0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUndScnIGV4 dHJhY3RzIHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcn ZmknbyBTRUxCUkkgZmUndScnLCB0aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRv IGEgc3VtdGksIGJ1dCB0byBhICcnc3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKA nSwgd2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNv bnZlcnRlZC4gVGhpcyAnJ3N1bXRjaXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBP bmUgY291bGQgc2F5IHRoYXQgdXNpbmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10 aSBwbGFjZSBmcm9tIGFub3RoZXIgc2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWlu ZyBzYWlkLgoKTm90ZTogU29tZXRpbWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUg dGVybSDigJx0YWfigJ0gb3Ig4oCcbW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJ Z25vcmUgdGhvc2UgcHVueSBFbmdsaXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9q YmFuIGhlcmUuCgoKCldoaWxlIGl0IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSBy ZWFkaW5nIGFib3V0IGl0LCBhbiBleGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBz aW1wbGljaXR5OgoKX18nJ3NrYW1pJydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3Nl IHgy4oCdCgpfXycncGlsbm8nJ19fIOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4 M+KAnQoKCgonJ21pIGZhbnZhIHRpIGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1pIHtrdX17 dmF1fScnIC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgyIG9m ICcncGlsbm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNlIHN0 cnVjdHVyZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBzdHJ1 Y3R1cmUgaXMgY2FwdHVyZWQgYnkgJydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRvIHRoZSBt YWluIHNlbGJyaSwgYW5kIHRoZW4gZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2Yg JydzdW10Y2l0YScnIGlzIHNvbWV0aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUg Zm9sbG93aW5nIHRyYW5zbGF0aW9uOgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEg Y29tcHV0ZXLigJ0KCgoKQSAnJ3N1bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwg d2hpY2ggaXMgYWx3YXlzIHRoZSBmb2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0aGUgJydz dW10Y2l0YScnIGNvbnN0cnVjdCBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywgaW4gd2hp Y2ggY2FzZSBhICcnem8nZScnIGlzIGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0YScnLiBP ciwgb25lIGNvdWxkIGltYWdpbmUgYW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0ZWQgd2l0 aCB0aGUgJydrdScnLgoKX18nJ3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwgZW50aXR5 IGNhcnJ5aW5nIG91dCBhY3Rpb24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaSdvIHp1a3Rl IHtmZSd1fSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g 4oCcV2l0aCB2b2xpdGlvbiwgYSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAo cGVyaGFwcyBpbXBseWluZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8g VG91Z2ggaXQgZG9lcyBub3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0 IGJlIHRoZSBwcm9ncmFtbWVyIHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3Jp bmcuKQoKCgpXaGF0IGRvZXMgJydtaSBqaW1wZSBmaSBsYSBsb2piYW4ge2t1fSBmaSdvIHNlIHRh dmxhIHtmZSd1fSBtaScnIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJz dGFuZCBzb21ldGhpbmcgYWJvdXQgTG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5n IHRoZSAnJ3N1bXRjaXRhJycgcmlnaHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2Vz IGl0IHNlbGYtdGVybWluYXRlLCBzaW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGks IGFuZCBub3Qgc2VsYnJpLiBUaGlzIGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQg bGVzc29uLCBhcyB5b3Ugd2lsbCBzZWUuCgoKClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2 ZXJ5IG9mdGVuIGRlc3BpdGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRl biwgdGhvdWdoLCBhcmUgQkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNo IGluIHRoZW1zZWx2ZXMgYWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlz ICcnenUnZScnLCB0aGUgQkFJIGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycg aXMgdGhlIHNhbWUgYXMgJydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1w bGUgY291bGQgYmUgcmVkdWNlZCB0bzoKCicnenUnZSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5v IGxvIGxvamJvIHtrdX0ge3ZhdX0nJy4gVGhlcmUgZXhpc3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJ LCBhbmQgYSBsb3Qgb2YgdGhlc2UgYXJlIHZlcnkgdXNlZnVsIGluZGVlZC4gRnVydGVybW9yZSwg QkFJIGNhbiBhbHNvIGJlIGNvbnZlcnRlZCB3aXRoICcnc2UnJyBhbmQgZnJpZW5kcywgbWVhbmlu ZyB0aGF0ICcnc2UgenUnZScnIGlzIGVxdWFsIHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1JycsIHdo aWNoIHJlc3VsdHMgaW4gYSBncmVhdCBkZWFsIG1vcmUgQkFJLgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIHRlbiAoUFUsIEZBaEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWls aWFyIHRvIHRoZSBFbmdsaXNoLXNwZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUg Y2FuIHJlYWQgdGhyb3VnaCBuaW5lIGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBt ZWV0aW5nIGEgdGVuc2Ugb25jZS4gVGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFs IGxhbmd1YWdlcyAobW9zdCBJbmRvLUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0 ZW5zZXMgaW4gTG9qYmFuIGFyZSBvcHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEg e2t1fScnIGNhbiBtZWFuIOKAnEkgZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl 4oCdIG9yIOKAnEkgYWx3YXlzIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2ls bCBoYXZlIGp1c3QgZmluaXNoZWQgZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3 aGF0IGlzIGNvcnJlY3QsIGFuZCBpbiBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3Qg bmVlZGVkIGF0IGFsbC4gSG93ZXZlciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5k IGl0IG11c3QgYmUgdGF1Z2h0LiBGdXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3Vh bCBiZWNhdXNlIHRoZXkgdHJlYXQgdGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2Ft ZSAtIHNheWluZyB0aGF0IEkgd29ya2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGlj YWxseSBkaWZmZXJlbnQgdGhhbiBzYXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4K Ckxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBl cmhhcHMgdGhlIG1vc3QgZGlmZmljdWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFu eSBvdGhlciBsYW5ndWFnZXMgdGhvdWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtl cyBzZW5zZS4gU28gZmVhciBub3QsIGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRv IGxlYXJuIGhvdyB0byBtb2RpZnkgdGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRo YXQuCgoKCk5vLCBpbiB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3Vt dGNpdGEsIHdoaWNoIHdlIGhhdmUgY29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFt aWxpYXIgd2l0aC4gT2theSBva2F5LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBk aWZmZXJlbnQgZnJvbSBvdGhlciBzdW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1v c3QgaW5zaWduaWZpY2FudCwgYW5kIHdpbGwgYmUgd29uJ3QgYmUgZXhwbGFpbmVkIHVudGlsIGxh dGVyLiBJbiBtb3N0IGFzcGVjdHMgdGhleSBhcmUgbGlrZSBhbGwgb3RoZXIgc3VtdGNpdGE7IHRo ZXkgYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBtYWtpbmcgaXQgZXhwbGljaXQgdGhhdCBQVSBp cyB0ZXJtaW5hdGVkIGJ5ICcna3UnJy4KClRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBraW5kcyBv ZiB0ZW5zZS1zdW10Y2l0YSwgc28gbGV0J3Mgc3RhcnQgYXQgdGhlIG9uZXMgbW9zdCBmYW1pbGlh ciB0byBFbmdsaXNoLXNwZWFrZXJzLgoKX18nJ3B1JydfXyAtIHN1bXRjaXRhOiBiZWZvcmUge3N1 bXRpfQoKX18nJ2NhJydfXyAtIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1lIGFzIHtzdW10aX0K Cl9fJydiYScnX18gLSBzdW10Y2l0YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVzZSBhcmUgbGlrZSB0 aGUgRW5nbGlzaCBjb25jZXB0cyDigJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBhbmQg4oCcYWZ0ZXLi gJ0uIEluIGFjdHVhbGl0eSB0aG91Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0IHR3byBwb2ludC1s aWtlIGV2ZW50cyBjYW4gbmV2ZXIgb2NjdXIgZXhhY3RseSBzaW11bHRhbmVvdXNseSwgcmVuZGVy aW5nICcnY2EnJyB1c2VsZXNzLiBCdXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0bHkgaW50byB0aGUg cGFzdCBhbmQgdGhlIGZ1dHVyZSwgbWVhbmluZyBqdXN0IOKAnGFib3V0IG5vd+KAnS4gVGhpcyBp cyBiZWNhdXNlIGh1bWFuIGJlaW5ncyBkb24ndCBwZXJjZWl2ZSB0aW1lIGluIGEgcGVyZmVjdGx5 IGxvZ2ljYWwgd2F5LCBhbmQgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVmbGVjdHMgdGhhdC4K CgoKU2lkZSBub3RlOiBJdCB3YXMgYWN0dWFsbHkgc3VnZ2VzdGVkIG1ha2luZyB0aGUgTG9qYmFu IHRlbnNlIHN5c3RlbSByZWxhdGl2aXN0aWMuIFRoYXQgaWRlYSwgaG93ZXZlciwgd2FzIGRyb3Bw ZWQsIGJlY2F1c2UgaXQgaXMgY291bnRlci1pbnR1aXRpdmUsIGFuZCB3b3VsZCBtZWFuIHRoYXQg dG8gbGVhcm4gTG9qYmFuLCBvbmUgd291bGQgaGF2ZSB0byBsZWFybiB0aGUgdGhlb3J5IG9mIHJl bGF0aXZpdHkgZmlyc3QuICAKCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnEkgZXhwcmVzcyB0 aGlzIGFmdGVyIEkgY2FtZSBoZXJlP+KAnSAocG9pbnRpbmcgdG8gYSBwYXBlcikKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1hIHRpIHt2YXV9IHtr ZWkge2t1fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBkbyBub3QgbmVl ZCB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50IHRoaXMgYWN0aW9uIGlzIGluIHRoZSBwYXN0IHJlbGF0 aXZlIHRvLiBJbjog4oCcSSBnYXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0 aGF0IHRoZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBhbmQgdGh1cyB3 ZSBjYW4gZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBpdCdzIG9idmlv dXM6CgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5k YSBsbyBza2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25seQoKJydtaSBw dSB7a3V9IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxz IHRoZSBzdW10Y2l0YSBpcyBhbiBpbXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBhbG1vc3QgYWx3 YXlzIHVuZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFuZCBwbGFj ZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQg YW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBz b21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQg dGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5n IHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJl bGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQgJyduYXUn JyBjYW4gYmUgdXNlZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFya3MgYSB0 ZW5zZSB3aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3aWxs IGJlIHRhdWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFuZCBz cGFjaWFsIGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVyZSBh bmQgbm93LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2YgcGVvcGxl IHgyIHdpdGggbGFuZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydtaSBwdSB7 a3V9IGtsYW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFtZXJp Y2HigJ0sIGRvZXMgbm90IGltcGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxpbmcgdG8gVVNB LCBvbmx5IHRoYXQgaXQgd2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIGZvciBp bnN0YW5jZSBmaXZlIG1pbnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNpYWwgYW5kIHRl bXBvcmFsIHRpbWUgdGVuc2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0IHRoZSBwcmV2 aW91cyB0aHJlZSB0aW1lIHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0ZW5zZXM6Cgpf XycnenUnYScnX18gc3VtdGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3UnJ19fIHN1bXRj aXRhOiBpbiBmcm9udCBvZiB7c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6IHJpZ2h0IG9m IHtzdW10aX0KCl9fJydidSd1JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1 bXRpfSAoc3BhY2lhbCBlcXVpdmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0 dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdl cgoKCgpXaGF0IHdvdWxkICcnLm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUge2t1fSBjdSBk YXJ4aSBsbyBnZXJrdSBwdSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBtZWFuPyAobm90 aWNlIHRoZSBmaXJzdCBlbGlkZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0cy9oaXRzIHgy IHdpdGggaW5zdHJ1bWVudCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nHthbmdlciF9IFRvIHRoZSByaWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBtZSkgYW5kIGlu IHRoZSBwYXN0IChvZiBzb21lIGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50IG9mIGEgcGVy c29uIGJlYXRpbmcgYSBkb2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBteSByaWdodCHi gJ1+fgoKCgpJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBvbmUgYnJpZGks IHRoZSBydWxlIGlzIHRoYXQgeW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoaW5r aW5nIGl0IGFzIGEgc28gY2FsbGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBXaGVyZSB5b3Ug YmVnaW4gYXQgYW4gaW1wbGllZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVmYXVsdDogdGhl IHNwZWFrZXIncyBub3cgYW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9u ZSBhdCBhIHRpbWUgZnJvbSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJh IHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9IOKAnEF0IHNv bWUgdGltZSBpbiB0aGUgcGFzdCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJvdXQgZmEnb3Jt YSdvcy7igJ0KCicnbWkgYmEge2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEn byB7a3V9IHt2YXV9Jycg4oCcQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2 ZSB1bmRlcnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lm eSB0aGUgYW1vdW50IG9mIHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFu ZGluZyBjb3VsZCBpbiBib3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0 IG9mIHRoZSBwb2ludCBvZiByZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBv cmFsIHRlbnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwg YmVmb3JlIHNwYWNpYWwuIElmIHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1l cyByZXN1bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3Qg dG9sZXJhdGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhlIGEgbWFuIGhp dCBhIGRvZyBqdXN0IGEgbWludXRlIGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6YScnIGFuZCAn J3p1Jycgc3BlY2lmaWVzIGEgc2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5IG1lZGl1bSkg YW5kIGxvbmcgZGlzdGFuY2UgaW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRlciAnJ2knJywg JydhJycgYW5kICcndScnLiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFnYWluIGluIExv amJhbiwgYW5kIG1pZ2h0IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKAnSBhbmQg4oCc bG9uZ+KAnSBpbiBhcmUgYWx3YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2ZSBhbmQgc3Vi amVjdGl2ZS4gVHdvIGh1bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBhIHNwZWNpZXMg dG8gZXZvbHZlLCBidXQgYSBsb25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4KCl9fJyd6aScn X18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRp bWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRhOiBPY3Vycmlu ZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJv bSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUg ZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVu Y2UgCgoKClNpbWlsYXJseSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkgJyd2aScnLCAn J3ZhJycgYW5kICcndnUnJyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0pIGFuZCBsb25n IGRpc3RhbmNlIGluIHNwYWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNt YWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2Ug CgpfXycndmEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBk aXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18n J3Z1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGlu IHNwYWNlIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScnX18g4oCceDEg d29ya3MgYXQgeDIgd2l0aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAnJ2JhIHtrdX0g emEga3UgbWkgdnUge2t1fSBndW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc U29tZSB0aW1lIGluIHRoZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9uZyBhd2F54oCd fn4KCk5vdGU6IFBlb3BsZSByYXJlbHkgdXNlICcnemknJywgJyd6YScnIG9yICcnenUnJyB3aXRo b3V0IGEgJydwdScnIG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1v c3QgcGVvcGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIg bmF0aXZlIGxhbmd1YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1v c3Qgb2YgdGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydw dScnIG9yICcnYmEnJyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlv bi1zdW10Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJl bmNlLiBSZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNlIHdvcmRzIHBs YWNlZCB0b2dldGhlciBhcmUgcGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGlu ZyBmcm9tIGxlZnQgdG8gcmlnaHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFn b+KAnSB3aGlsZSAnJ3p1IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0 aW1lIHdoaWNoIGlzIGEgbG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9m IG5vd+KAnS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2lu IGluIHRoZSBwYXN0LCAnJ3p1JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJk cy4gSW4gdGhlIHNlY29uZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBz b21lIHBvaW50IGZhciBhd2F5IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdl IG1vdmUgYmFja3dhcmRzIGZyb20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlz IGluIHRoZSBwYXN0LiAnJ3p1IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3Qg dGhhdCB0aGVzZSB0aW1lIHRlbnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUg ZGlmZmVyZW5jZXMgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRo ZSBtZWFuaW5ncyBvZiBvdGhlciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNl bmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBs aWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBh cyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5 LCBtb3N0IGV2ZW50cyBwbGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4g dGhlIGZvbGxvd2luZyBmZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lm eSBpbnRlcnZhbHMgb2YgdGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBzdW10Y2l0YTog c3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUnYScnX18gc3Vt dGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRpbWUgb2Yge3N1 bXRpfQoKX18nJ3plJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUg b2Yge3N1bXRpfQoKCgpfXycndmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNo b3J0IHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3Zl ciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ3UnJ19f IHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4 IHdvcmRzIGF0IGEgdGltZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVl bmNlIGFuZCB0aGUgc2ltaWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9y YWwgdGVuc2VzIGFuZCB2IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6 aW5nLgoKX18nJy5vaScnX18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5z bGF0ZTogJycub2kgZGFpIGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHpl J3Uge2t1fSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgeW91IHNwZW5k IGEgbG9uZyB0aW1lIHRyYXZlbGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKAnSB+fgoKCgpU aG91Z2ggbW9zdCBwZW9wbGUgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwgdGVuc2VzLCB0 aGVzZSBuZXcgd29yZHMgY2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0IHVzZXMuIE9u ZSBjb3VsZCwgZm9yIGluc3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmlnIGRvZ+KAnSBh cyAnJ3RpIHZlJ3Uge2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9n cyBmb3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNo LCBidXQgd2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRzIGJyb3RoZXJz IGFsc28gY29tYmluZSB3aXRoIG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5kIHRlbnNlcy4g VGhlIHJ1bGUgZm9yICcnemUndScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMg cHJlY2VkaW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0 byB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQg bWFya3MgdGhlIG90aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91 bGQgYmUgZGVtb25zdHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5vJ29jdSdp IGRvIGNpdGthIHB1IHtrdX0gemUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScnIC0g4oCc e3RvbGVyYW5jZX0geW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBhIGxvbmcg dGltZSBlbmRpbmcgYXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdoZW4geW91 IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9uZSBj YW4gYWxzbyBjb250cmFzdCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0ga2xhbWEge3Zh dX0nJyB3aXRoICcnZG8gcHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7dmF1fScnLiBU aGUgZmlyc3QgZXZlbnQgb2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHByZXNl bnQgYW5kIGV4dGVuZHMgYSBsaXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUgdGhlIHNlY29u ZCBldmVudCBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRzIG9ubHkgdG8g dGhlIHByZXNlbnQgKHRoYXQgaXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBmdXR1cmUpIG9m IHRoYXQgZW5kcG9pbnQuCgpfXycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5IHN0YW5kYXJk IHgy4oCdCgoKCldoYXQgZG9lcyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUndSB7a3V9IGpt aXZlIHt2YXV9JycgZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7aGFwcGluZXNz IX0gSSBsaXZlIGZyb20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25nIHdheSB0b3dh cmRzIHRoZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGluIHRoaXMgY2Fz ZSkgb2YgdGhhdCBldmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBtb3N0IG9mIG15 IGxpZmUgYWhlYWQgb2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0aGUgc2ltaWxh cml0eSB3aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhp cyB0aW1lIHdpdGggc3BhY2lhbCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1ZGluYWw6IHdv bmRlciAtIGNvbW1vbnBsYWNlCgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9IHZlJ3Uge2t1 fSBjYSd1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBz cGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3csIHRoaXMg aG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUg d2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5n IGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vzbid0IG9jY3Vw eSB5b3VyIGJyYWluIGluIG9yZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4gU2lu ZyBhIHNvbmcgb3IgZWF0IGEgY29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIsIGFzIGxvbmcg YXMgeW91IGxldCB5b3VyIG1pbmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBl bGV2ZW4gKFpBaE8pCgpUaG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNl IGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhh dCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50 IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdp bmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0IHRvIGl0OgoK CgpVc2luZyB0aGUgdGVuc2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNhbiBpbWFnaW5l IGFuIGluZGVmaW5pdGUgdGltZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVudHMgb24gdGhh dCBsaW5lIHJlbGF0aXZlIHRvIHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29udG91cnMsIGhv d2V2ZXIsIHdlIHZpZXcgZWFjaCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhhcyBjZXJ0YWlu IHN0YWdlczogQSB0aW1lIGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBpdCBiZWdpbnMs IGEgdGltZSB3aGVuIGl0IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVuZHMsIGFuZCBh IHRpbWUgYWZ0ZXIgaXQgaGFzIGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRlbGxzIHVzIHdo aWNoIHBhcnQgb2YgdGhlIGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUg dGltZSBzcGVjaWZpZWQgYnkgdGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0 ZW5zZXMgZmlyc3Q6CgoKCl9fJydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBC cmlkaSBoYXMgbm90IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2NhJ28nJ19fIC0g c3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVyaW5nIHtzdW10 aX0KCl9fJydiYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBv ZiBicmlkaSBoYXMgZW5kZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1v bnN0cmF0ZWQgYnkgc29tZSBleGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28ge2t1fSBzZSB6 ZGFuaSB7dmF1fScnIG1lYW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2luIHRvIGhhdmUg YSBob21l4oCdLgoKCgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1p IGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1 c2UsIHJlbWVtYmVyLCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0 dXJlIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5n ICcncHUnbycnLCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBv ZiB0aGUgcHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3Ug ZG9uJ3QgaGF2ZSBvbmUgbm93LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21pIGJhIHtrdX0g c2UgemRhbmkge3ZhdX0nJyBpcyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2 YXV9JycsIGFuZCBsaWtld2lzZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5 IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBh cyBzZWVuIGZyb20gdGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVhcyB0aGUgb3Ro ZXIgdGVuc2VzIHZpZXcgZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2 ZW50IGNvbnRvdXJzIGFyZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9mIHRlbnNlcy4g RXZlbiBtb3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2Vz OiAnJy5hJ28gbWkgYmF7a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9JycgLSDigJxJ IGhvcGUgSSd2ZSBzb29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwgd2UgYWxz byBvcGVyYXRlIHdpdGggYW4gZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRz IOKAnG5hdHVyYWwgZW5k4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJq ZWN0aXZlIGluIHRoaXMgc2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBw b2ludCBpbiB0aGUgcHJvY2VzcyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91 dCBhIGxhdGUgdHJhaW4sIGZvciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGlu ZyB5b3UgaXMgbm93IGV4dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNv b2tlZCwgYnV0IHNlcnZlZCBtZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0 aGF0IHByb2Nlc3MnIG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91cnMgdXNlZCBp biB0aGVzZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19fIC0gc3VtdGNp dGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0cyBuYXR1cmFs IGVuZCBkdXJpbmcge3N1bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRv dXI6IEJyaWRpIGlzIGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycn Y2lkamEnJ19fOiDigJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRy YW5zbGF0ZTogJycub2kgZG8gY2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0gdSdlIGNpdGth IHpvJ2Ugbm9pIGNpZGphIGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9JycKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91IGhhdmUgZmlu aXNoZWQsIGluY3JlZGlibHksIGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+CgoKCntpbWcg ZmlsZUlkPSIyIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6IFpBaE8gdGVu c2VzIChldmVudCBjb250b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUgb2YgdGhlIGV2 ZW50IHNpZ25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBBbGwgdGVuc2Vz IGJlbG93IHRoZSBldmVudCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBwb2ludC1saWtl LgoKCgpBbGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0YWdlcyBvZiBh IHByb2Nlc3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUgZ3JhcGggYWJv dmU7IHRob3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55IG9mIHRoZSBl dmVudCBjb250b3VycyBkZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhlIHByb2Nlc3Ms IGxpa2UgaXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcnYnUndScnLCB0 aGV5IGFjdHVhbGx5IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2Yg dGhhdCBwb2ludCwgYW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBp bXBvcnRhbnQgcG9pbnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY28nYScnX18gLSBz dW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcg e3N1bXRpfQoKX18nJ2NvJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlz IGF0IGl0cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEg cG9pbnQgd2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5l Y2Vzc2FyaWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0YTogZXZlbnQg Y29udG91cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgpN b3N0IG9mIHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQgdGhlaXIg bmF0dXJhbCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFpbnMgYXJl IG5vdCB1c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1zZWx2ZXMg dG8gZWF0IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUgaW50ZXJy dXB0ZWQgYW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBvd24gZXZl bnQgY29udG91ciBhbHNvOgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6 IEJyaWRpIGlzIHBhdXNpbmcgZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAtIHN1bXRjaXRh OiBldmVudCBjb250b3VyOiBCcmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBm YWN0LCBzaW5jZSAnJ2p1bmRpJycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0s ICcnZGUnYSBqdW5kaScnIGFuZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlz IG9mIHNheWluZyDigJxCUkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2Ug YWxzbyBzYXkgdGhlIGV2ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBv aW50IGdldHMgYWNyb3NzLgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVu dCwgZnJvbSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2lu ZyAnJ2NvJ2knJzoKCl9fJydwZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPi gJ0KCicnbWkgcHUge2t1fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3RjbyBwcmVudSB7 a3V9IHt2YXV9JycgLSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRoZSBwb2ludCBp biB0aW1lIHdoZXJlIGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gdHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcsIHRob3NlIHR3 byBsb25nIGxlc3NvbnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRoZSBicmFpbiBz b21ldGhpbmcgdG8gcG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQncyBzbyBkaWZm ZXJlbnQgZnJvbSBFbmdsaXNoLiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBs aWdodGVyOiBPcmRlcnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5k IGZvY3VzIV9fCgoKClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBp cyB0byBsZWF2ZSBvdXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNz dW1lIHRoYXQgaXQgd2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBt eXNlbGYsIG9yIGV4cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVj YXVzZSB0aGUgRW5nbGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhl aXIgdmVyeSBuYXR1cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIg LSB0aGUg4oCceW914oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCklu IExvamJhbiwgZWxpZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNvIHRoYXQgcG9z c2liaWxpdHkgaXMgc2FkbHkgbm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVzZSB0aGUgd29y ZCAnJ2tvJycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycnLiBHcmFtbWF0 aWNhbGx5IGFuZCBicmlkaS13aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQg YWRkcyBhIGxheWVyIG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50 IHdpdGggJydrbycnIGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNl bnRlbmNlIGlzIHRydWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2Ug ZG9uJ3QgbmVlZCB0aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9uJ3QgbmVl ZCBvcmRlci13b3JkcyBkZXJpdmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoK CgpIb3cgY291bGQgeW91IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUg KHVzaW5nICcna2xhbWEnJyBhcyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OmtvIHZlJ3UgemUndSBrbGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkgY2EgY28ndSBj aXNrYSBsbyBmYSdvcm1hJ28gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxvb2sgdXAgY2lza2Eg YW5kIHdvcmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5IGVhc3kgdG8g bGVhcm4sIGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBibGFuaywgYW5k IHRydWUvZmFsc2UgcXVlc3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVlLWZhbHNlIHF1 ZXN0aW9uIGtpbmQgLSB0aGF0J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBp bnZvbHZlcyBvbmUgd29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGlu YWwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0 byB0aGUgcHJlY2VkaW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0 aGUgc2VudGVuY2UgaW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9y IG5vdC4gSW4gb3JkZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6Cgon J3h1IHZlJ3UgemRhbmkgZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91IGp1c3QgcmVw ZWF0IHRoZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwgdGhlIHN1bXRp IGFuZCB0ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3 YXkgdG8gYWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90 aGVyIHRpbWUuIFRvIGFuc3dlciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91IHNpbXBseSBh bnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3Ig bGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4K CgoKVGhlIG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlvdSBhc2sgZm9y IHRoZSBxdWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVjdCwgd2hpY2gg bWFrZXMgdGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRoZXNlIHdvcmRz LCBkZXBlbmRpbmcgb24gd2hhdCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydtYScnX18gLSBz dW10aSBxdWVzdGlvbgoKX18nJ21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18nJ3hvJydfXyAt IG51bWJlciBxdWVzdGlvbgoKX18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2Vs bCBhcyBtYW55IG90aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxh Y2UgdGhlIHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVu ZGEgbWEgbWknJyAtIGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qg c3VtdGkuIOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydz dW10Y2l0YScnICsgJydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdSdpJydfXyAt IHN1bXRjaXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycu b2kgZG8gZGFyeGkgbWkgbXUnaSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0K CgoKTGV0J3MgdHJ5IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6CgonJy51 aSBkYWkgZG8gY2EgemUndSBwdSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91J3Jl IGhhcHB5LCB3aGF0IGhhdmUgeW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGls IG5vdz/igJ0gVGVjaG5pY2FsbHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91 IGJlZW4/4oCdLCBidXQgYW5zd2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVtbmEnJyAoVWgs IGh1bWFuLCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5veWluZyBvbiBw dXJwb3NlLn5+CgoKClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3RydWN0dXJlIGRv ZXMgbm90IHJldmVhbCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBvciBub3QsIG9u ZSBiZXR0ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwgc2luY2UgcGVv cGxlIHRlbmQgdG8gZm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5nIG9yIGF0IHRo ZSBlbmQgb2Ygc2VudGVuY2VzLCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9y ZGVyIHRoZSBzZW50ZW5jZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2Ug cGxhY2VzLiBJZiB0aGF0IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5h bCBtYXJraW5nIHRoYXQgdGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3Bh dSBuYWknJyBleHBsaWNpdGx5IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2Fs LgoKCgpXaGlsZSB3ZSBhcmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQncyBhbHNvIGFw cHJvcHJpYXRlIHRvIG1lbnRpb24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIg Zm9yIOKAnGluZGlyZWN0IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3QgcXVlc3Rpb24s IHRoZW4/IFdlbGwsIHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBkanVubyBsbyBk dSd1IG1hIGthdSB6ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoK X18nJ2RqdW5vJydfXyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5 IGVwaXN0ZW1vbG9neSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRo ZSBxdWVzdGlvbiAnJ21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBu b24tcXVlc3Rpb24gd29yZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNh biBpbWFnaW5lIGl0IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBk dSd1IGR1bmRhIHRpIGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZl biwgaXQgaXMgdGhpcy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVu IChtb3JwaG9sb2d5IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBp bnRlcmVzdGluZykgc3R1ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1 Z2dlc3QgeW91IGZpbmQgdGhlIExvamJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUg d2l0aCBVbmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExvamJhbiBvbiBN dW1ibGUsIGFuZCB0aGVuIHByYWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2aW5nIGFuIGlu dGVybmFsIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBp ZiBpdCBpc24ndCB3aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVu Y2lhdGlvbiBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29u IHdpbGwgbm90IGJlIG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5 IG1pZ2h0IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9s b2d5LgoKCgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVl ayBtZWFuaW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQs IHdlIHRhbGsgYWJvdXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMs IGFzIGNvbnRyYXN0ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3 b3Jkcy4gTG9qYmFuIG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBj bGFzc2VzLCB3aGljaCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFr ZSBpdCBhbGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBm dW5jdGlvbnMgdGVuZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0 IGV4Y2VwdGlvbnMgbWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlw aWNhbCBGdW5jdGlvbgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGkt d29yZHwgICBBbW9uZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMg YSBjb25zb25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJy aSBieSBkZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwg ICBSb290LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBP bmUgdG8gZml2ZSBzdW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVq dm98ICBDb21wb3VuZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5p bmcg4oCcY29tcGxleCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdp bmcgcmFmc2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBD b3ZlcnMgbW9yZSBjb21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBD b3B5LXdvcmQgfCBBcyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBv ZiBnaXNtdSBvciBsdWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNl cHRzIGxpa2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUt d29yZCB8ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFz dCBzb3VuZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBv ciBhcyB0aGUgY29udGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBG cm9tIOKAnGNtYXZsYeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50 IG9yIHplcm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAg R3JhbW1hdGljYWwgZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAg fAoKICAgUmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENW Q0N5LSBvciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0 b2dldGhlciB0byBmb3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFz eSB0byBpZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNp Z25hbGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMg YSBjb25zb25hbnQuIGNtZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVz IGFjdGluZyBhcyBhIG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90 IHNlbGJyaSBjYW5ub3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxh LCBvciBlbmNhc2VkIGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3Mg aW4gdGhlIG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNz ZWQuIEV4YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBp dGFsIGFwb3N0cm9waGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVp LUNoaSBNaW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBo YXZlIG9uZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0 aGlzIGNhc2UpIHJlbW92ZWQ6ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg 4oCcYnJpZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5k IHRoZXJlZm9yZSBhbG1vc3QgYWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJl IGFyZSBicml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFt ZSDigJxjb250ZW50LXdvcmRz4oCdLiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0 aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25j ZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBm b3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hv d24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lz bXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1 MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhl IG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCc dHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3Bl bHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcg cmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmlu ZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8g YXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZv IG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2Ug JydzZWxwYSdpJycsIGZyb20gJydzZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBoYXZlIG9uZSBk ZWZpbml0aW9uLiBJbnN0ZWFkLCBsdWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0 dXJlIGRlZmluZWQsIGFuZCB0aGVuIHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5 IHRoZSBkaWN0aW9uYXJ5LiBFeGFtcGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGktd29yZCksICcn Y2luamlrY2EnJyAoc2V4dWFsLXNvY2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAnJ2Nha2Npbmtp JycgKHNoZWxsLWluc2VjdCA9IGJlZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJlIG1hZGUgYnkg bWFraW5nIHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQg bm90IGZvciBsdWp2byBvciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNo IGl0J3MgaGFyZCB0byBjb3ZlciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNp ZXMsIG5hdGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMg aW5jbHVkZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBv ciAnJ2FuZ2VsaScnIChhbmdlbCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdp dGggb25lIG9yIHplcm8gY29uc29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRo aW5nIGluIHRoZSBleHRlcmlvciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBm dW5jdGlvbi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0 dGl0dWRpbmFscyBleGlzdHMgZm9yIHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVy IHdlaXJkIGV4YW1wbGUgYXJlIHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0 IGFzIGJyaXZsYS4gSXQgaXMgdmFsaWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGluIGEgcm93IGFz IG9uZSB3b3JkLCBidXQgaW4gdGhlc2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBkb25lLiBCeSBn cm91cGluZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwgaXQgaXMg c29tZXRpbWVzIGVhc2llciB0byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0a2EnJyBp cyB2YWxpZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6dSB2dSBr dSBtaSBjaXRrYScnLiBMaWtlIG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAoYnV0IG5l ZWQgbm90IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBiZWdpbm5p bmcgd2l0aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBvciBWJ1ZWIGFy ZSBleHBlcmltZW50YWwsIGFuZCBhcmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFs IGdyYW1tYXIsIGJ1dCB3aGljaCBoYXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJl c3BvbmQgdG8gYSBjZXJ0YWluIG5lZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5vdCBMb2piYW4g d29yZHMsIGFuZCBjYW4gbmV2ZXIgYXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZlcmFsIChtb3Jl IHRoYW4gb25lKSByYWZzaSBjb21iaW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwg bGl2ZSB1cCB0byB0aGUgYnJpdmxhLWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAnJ2xvamJhbicn IGlzIGludmFsaWQgYmVjYXVzZSBpdCBlbmRzIGluIGEgY29uc29uYW50ICh3aGljaCBtYWtlcyBp dCBhIGNtZXZsYSksIGFuZCAnJ2NpJ2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBu b3QgY29udGFpbiBhIGNvbnNvbmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFkIGFzIHR3byBj bWF2byB3cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0cmluZyBpcyBi b3RoIGEgY21hdm8gYW5kIGEgcmFmc2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlzIGJvdGggdGhl IEJBSSBhbmQgdGhlIHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3do ZXJlIHRoYXQgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBz byB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3Vi bGUgYXMgcmFmc2ksIGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhl IGZpcnN0IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFs c28gYWN0IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZz aS4gVGhlIHZvd2VsICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxp ZCByYWZzaSBsZXR0ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBD Q1ZDeS0sIC1DVkNDViBhbmQgLUNDVkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93IG5vdywgeW91 IHNob3VsZCBiZSBhYmxlIHRvIGFuc3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2VudDoKCkNhdGVn b3JpemUgZWFjaCBvZiB0aGUgZm9sbG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyksIGdpc211IChn KSwgbHVqdm8gKGwpLCAnJ2Z1J2l2bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSApIGphaSAgICAg ICAgRyApIG11bWJsCgpCICkgLmlyY2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9zdHUgICAgICAg IEkgKSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2UgICAgICAgIEsg KSBkYW5zZWtlCgpGICkgZGppc2t1ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6YS1jLCBiLWYsIGMtZywgZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGktYywgai1sLCBr LWYsIGwtZi4gSSBsZWZ0IG91dCB0aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVz IHNvIGl0IHdvdWxkbid0IGJlIHRvbyBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVzZSB3b3Jkcywg bGlrZSAnJ2Jvc3R1JycgZG8gbm90IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBp cyBpcnJlbGV2YW50LiBUaGUgbW9ycGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdpc211LCBzbyBp dCdzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4K CgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRp IDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRl bnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdl IGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4g d2hpY2ggb3JkZXIgeW91IGxlYXJuIHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9m IHRoZSBuZXh0IGxlc3NvbnMgd2lsbCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNp bmcgZGlmZmljdWx0eSBhbmQgc29ydGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFu IGNvbnZlcnNhdGlvbi4KCgoKT25lIG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMgb24geW91ciBz cGVhayBub3cgaXMgeW91ciBsaW1pdGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFrZSBzdW10aS4g U28gZmFyLCB5b3Ugb25seSBrbm93ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywgd2hpY2ggZG9l c24ndCB0YWtlIHlvdSBmYXIgY29uc2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4g TG9qYmFuLiBUaGlzIGxlc3NvbiBhcyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUg YWJvdXQgdGhlIExvamJhbiBzdW10aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0 aXZlLWxpa2Ugc3VtdGksIHRoZSBvbmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoK QXJ0aWNsZXMgYXJlIGluIGxvamJhbiBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVz IGRpc2N1c3NlZCBpbiB0aGlzIGxlc3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIGV4Y2Vw dCB0aGUgY29tYmluYXRpb25zICcnbGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScnIGFuZCAnJ2xh J2kgQ01FVkxBJycuIFdlIHdpbGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2lu ZHMgb2YgZGVzY3JpcHRpdmUgc3VtdGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0 aGV5IGFyZSBub3Qgc28gc2ltcGxlIGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBnYWRyaTogR2Vu ZXJpYyB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2 YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsZScnX18g LSBnYWRyaTogR2VuZXJpYyBkZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKA nS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz LgoKX18nJ2xhJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxj b252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRp dmlkdWFsKHMpLgoKCgpZb3UgYXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdo YXQgaXQgZG9lcy4gQnV0IHdoYXQgZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzigJ0gYW5kIOKA nHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0 dGVyIGFib3V0IGluZGl2aWR1YWxzIGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNrIHRvIGxhdGVy LiBGb3Igbm93LCDigJx2ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4g b3JkZXIgZm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1h JycsIGl0IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCBnYWRyaSBt YWtlcyBhIGNsYWltIHdoaWNoIG1heSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0 KHMpIGluIHF1ZXN0aW9uIGFyZSBhY3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAn J2xvJycuIAoKCgpUaGlzIG1heSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBk ZXNjcmlwdGl2ZSwgYW5kIHRodXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBz YXlzIHRoYXQgeW91IGhhdmUgb25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBh bmQgeW91IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0 aGUgbGlzdGVuZXIgbWF5IGlkZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuIFRoaXMgbWVh bnMgdGhhdCAnJ2xlJycgaGF2ZXMgdHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBmcm9tICcnbG8n JzogRmlyc3RseSwgaXQgY2Fubm90IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFs d2F5cyByZWZlcnMgdG8gc3BlY2lmaWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vy a3UnJyBkZWZpbml0ZWx5IGlzIG9uZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3UnJywgYmVjYXVz ZSBpdCdzIG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBhcyB0aGUgc3Bl YWtlciB0aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWluZyB0aGUgY29y cmVjdCBvYmplY3RzLiBQZXJoYXBzIHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0byBhIGh5ZW5h LCBidXQgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBh IGdvb2QgZW5vdWdoIGFwcHJveGltYXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhpcyBub24tdmVy aWRpY2FsaXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFueSB0ZXh0czsg VGhlIGJlc3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQg YXMgYmVpbmcgYSBkb2csIGFuZCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8s ICcnbGUgZ2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3 aGljaCBpcyBhbHNvICcnbG8gZ2Vya3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xvIGdlcmt1Jycg aXMgdXN1YWxseSDigJxhIGRvZ+KAnSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vy a3UnJyBpcyDigJx0aGUgZG9n4oCdIG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJldHRlciBmb3Ig JydsZSBnZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoKCkxhc3Qgb2Yg dGhlIHRocmVlIGJhc2ljICcnZ2FkcmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUgbmFtaW5nICcn Z2FkcmknJywgd2hpY2ggSSBoYXZlIHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRp b25hbOKAnS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlw dGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYg SSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFt ZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3Rh dGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2Jq ZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcn bGEnJyBhbmQgdGhlIGdhZHJpIGRlcml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8g c3VtdGkgdW5saWtlIGFueSBvdGhlciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhl ciB0ZXh0cyBkbyBub3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRp bmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11 c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBh IHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMgJydsYWknJyBh bmQgJydsYSdpJycgYXJlIGEgYml0IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fsd2F5c19fIG1h cmtzIHRoZSBiZWdpbm5pbmcgb2YgYSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0 aGluZyB0aGF0IGNhbiBiZSBncmFtbWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0 cyBzaXN0ZXJzIGFyZSBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBleGFtcGxlLCAn J2xlIG1pIGdlcmt1JycgaXMgIm15IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1JycgaXMgc29tZW9u ZSBjYWxsZWQgIk15IERvZyIuCgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUg ZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlv dXM6CgoKCl9fJydsb2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRy aTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3Vs dCBhcyBhIG1hc3MoZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENv bnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVh dCByZXN1bHQgYXMgbWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0 cyBleGNlcHQgZm9yIG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNz ZXMuIElmIHRoZXJlIGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVh bCBhbmQgYSBtYXNzIGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhl IGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJy aSBjYW4gYmUgYXNjcmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNz LiBBIGdyb3VwIG9mIGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2Vs YnJpIGlmLCBhbmQgb25seSBpZiwgYWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVhY2ggZml0IHRo ZSBzZWxicmkuIEl0IGlzIGNvcnJlY3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcnbG8gZ2Vya3Un JywgY29uc2lkZXJlZCBpbmRpdmlkdWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBmb3IgZWFjaCBv ZiB0aGUgZG9ncyBpdCdzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUg b3RoZXIgaGFuZCwgZml0cyBvbmx5IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29tcG9uZW50cyBm aXQgYXMgYSB3aG9sZSwgYXMgYSB0ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwgYWxsIHRoZSBt ZW1iZXJzIG9mIGEgbWFzcyAnJ2xvaSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBvcmRlciBmb3Ig Jydsb2knJyB0byBiZSBhcHBsaWNhYmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMiIGFyZSBzb3Bo aXN0aWNhdGVkLCBhbmQgcmVxdWlyZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0cmF0ZSB3aGlj aCBwcm9wZXJ0aWVzIGl0IGNhbiBoYXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEgZmxhbmtzL2Vu Y2lyY2xlcy9lbmNsb3NlcyB4MiBpbiBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPigJ0KCicnbGVp IHByZW51IGN1IHNydXJpIGxvIHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJvdW5kZWQgdGhl IGhvbWUu4oCdIGlzIHBsYXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9rZXMgbm90IGNv bnNpZGVyZWQsIGl0J3MgY29tcGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNvdWxkIGJlIHRy dWUgZm9yIGFueSBvbmUgb2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2ggYW5hbG9neSBj b3VsZCBiZTog4oCcSHVtYW5zIGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRoIGNlbnR1cnni gJ0uIFN1cmVseSBubyBodW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1hbnMgZGlkLCBh bmQgdGhhdCBtYWtlcyB0aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3ZWxsIGFzIGlu IExvamJhbiBpZiDigJxodW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRoZSBMb2piYW4g bWFzcywgdGhlIEVuZ2xpc2ggbWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVmZXIgdG8gaW5k aXZpZHVhbHMgZWFjaCBvZiB3aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBsZToKCl9fJydt aXZ5c2xlJydfXzogIngxIGlzIGEgYmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNtIHgyIgoKX18n J3JlbW5hJydfXzogIngxIGlzIGEgaHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJlbW5hJycgLSAi U29tZSBtYXNzZXMgb2YgY2VsbHMgYXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2YgdGhlIGNlbGxz IGFyZSBodW1hbi4gSW5kZWVkLCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1hbiB0cmFpdHMs IGJ1dCB0aGUgY2VsbHMgY29uc2lkZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEgaHVtYW4uCgoK CkEgbWFzcyBtYWRlIHdpdGggJydsZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScnLCByZWZlcnMg dG8gYSBtYXNzIGZvcm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNo IG9mIHdoaWNoIHRoZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5h bWVzIGFzIGRlc2NyaWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBn cm91cCBhcyBhIHdob2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhl IG1lbWJlcnMgYXJlLiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1 ZSBmb3Igb25seSBhIGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGltcG9ydGFudCB0 byByZW1lbWJlciB0aGF0ICcnbG8nJyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJl IGJvdGggaW5kaXZpZHVhbHMgYW5kIG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBvZiBkb2dzLCBj b25zaWRlcmVkIGFzIGEgbWFzcyBuZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBkZXNjcmliZSBp dCBhcyBlaXRoZXIgJydsb2kgZ2Vya3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkgdXNlICcnbG8n JywgdGhpcyBhbGxvd3MgbWUgdG8gY29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3aGljaCBsb29r cyBsaWtlIGEgY29udHJhZGljdGlvbiwgYnV0IHJlYWxseSBpc24ndDogJydsbyBnZXJrdSBuYSBn ZXJrdScnIC0gIlNvbWUgZG9ncyBhcmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJlaW5nIGNvbnNp ZGVyZWQgYSBtYXNzIG9mIGRvZ3MsIHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBhcyBhIHdob2xl IGlzIG5vdCBhIGRvZywgYnV0IHJhdGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBtaWdodCBoYXZl IG5vdGljZWQgdGhhdCB0aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVy dHMgc2VsYnJpIHRvIGluZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0 IGluZGl2aWR1YWxuZXNzLCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGgg YW4gb3V0ZXIgcXVhbnRpZmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBj b25zaWRlcmVkIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29u IHRoYXQgJydsbycnIGFuZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlk dWFsPyBJdCBpcyBiZWNhdXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNl ZCBpbiBhbnkgY29udGV4dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJv dXQgd2hldGhlciBpcyBiZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxz LgoKCgpUaGlyZCBpbiB0aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcn Z2FkcmknJzoKCgoKX18nJ2xvJ2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xlJ2knJ19fIC0g Z2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCBy ZXN1bHQgYXMgYSBzZXQuCgpfXycnbGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENv bnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVh dCByZXN1bHQgYXMgYSBzZXQuCgoKClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVhbHMgb3IsIHNv bWV0aW1lcywgbWFzc2VzLCBzZXRzIGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBwcm9wZXJ0aWVz IGZyb20gdGhlIG9iamVjdHMgZnJvbSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4gQSBzZXQgaXMg YSBwdXJlbHkgbWF0aGVtYXRpY2FsIG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQgaGFzIHByb3Bl cnRpZXMgbGlrZSBjYXJkaW5hbGl0eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1c2lvbi4gQWdh aW4sIG5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3MsIGFuZCB0aGUg dGhpbmdzIG9mIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1JydfXyDigJx4MSBp cyBhIHRpZ2VyL2xlb3BhcmQvamFndWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0aCBjb2F0IG1h cmtpbmdzIHgz4oCdCgonJ2xvJ2kgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQg d2hldGhlciBiaWcgY2F0cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3Vz bHkgZmFsc2UpLCBidXQgaW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNt YWxsOyB0aGF0IGlzIC0gdGhlcmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFy ZSB0aGUgKG9ubHkgdHdvKSBnZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xvJ2UnJ19fIC0g Z2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVm ZXJzIHRvIHRoZSBhcmNoZXR5cGUgb2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xlJ2UnJ19fIC0g Z2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSBy ZWZlcnMgdG8gdGhlIGRlc2NyaWJlZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcnbGUge3NlbGJy aX0nJy4KCk9mIHdoaWNoIHRoZXJlIGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoKCgpTbywgd2hh dCBpcyBhY3R1YWxseSBtZWFudCBieSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydlIHRpcnh1Jycs IGl0IGlzIGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9w ZXJ0aWVzIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25n IHRvIHNheSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEg YmlnIHN5c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcg Y2F0cyBkbyBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFy cy4gTGlrZXdpc2UsIHRoZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVu IHRob3VnaCBhIGxvdCBvZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55 IGh1bWFucyBoYXZlIGEgdHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3 ZSBjYW4gc2F5OgoKX18nJ2tha25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWlu ZyB4MiB1bmRlciBjaXJjdW1zdGFuY2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBrYWtuZSBsbyBu dSB0YXZsYScnIC0g4oCcVGhlIHR5cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr4oCdLgoKCgon J2xlJ2UnJyB0aGVuLCBpcyB0aGUgaWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBvciBkZXNjcmli ZWQgYnkgdGhlIHNwZWFrZXIuIFRoaXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNvcnJlY3QsIGFu ZCBpcyBvZnRlbiB0cmFuc2xhdGVkIGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBldmVuIHRob3Vn aCB0aGUgRW5nbGlzaCBwaHJhc2UgaGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRpdmUgY29ubm90 YXRpb25zLCB3aGljaCB0aGUgTG9qYmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVyeW9uZSBoYXMg YSBzdGVyZW90eXBpY2FsIGFyY2hldHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVnb3J5LiBJbiBv dGhlciB3b3JkcywgJydsbydlIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4 ZW1wbGlmaWVzIGFsbCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZSdlIHJl bW5hJycgYmVzdCBleGVtcGxpZmllcyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUgZWxldmVuIGdh ZHJpIGNhbiBiZSBzZWVuIGluIHRoZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVyaWN8TWFzc2Vz fFNldHN8R2VuZXJhbGl6aW5nCgp2ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoKRGVzY3JpcHRp dmV8bGV8bGVpfGxlJ2l8bGUnZQoKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlzdHx8CgoK Ck5vdGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBnZW5lcmlj IGdhZHJpLiBIb3dldmVyLCB0aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRyaSB3ZXJl IGNoYW5nZWQgaW4gbGF0ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVzIG9uIHRo aXMgdG9waWMsIG5pY2tlZCDigJx4b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5v dywgJydsbycnIGlzIGdlbmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNh bCBkaWdpdCAobGVzc29uIG5pbmV0ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29u IGZpZnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNl ZSB3aGF0IGhhcHBlbnMgaWYgSSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3Rl cmVvdHlwaWNhbCBwZW9wbGUgd2hvIGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhl ciBhYm91dCB0aGUgbGFuZ3VhZ2VzIHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDi gJx4MSBpcyBhIGxhbmd1YWdlIHVzZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p 4oCdCgonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJh bi4gY3UgdGF2bGEgbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAu bG9qYmFuLiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJh bi4gY3Ugc2UgYmFuZ3Uga2UnYScnCgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2 ZXJzaW9uIGlzIG11Y2ggbG9uZ2VyIHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5 IGJlY2F1c2UgdGhlIGZpcnN0LCByaWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBl YXRlZCB0d28gbW9yZSB0aW1lcyBpbiB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNo IGNhbiByZWZlciB0byBpdCBieSDigJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVj aCBtb3JlIGVmZmljaWVudGx5LiBXb3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVo b3cgaGFkIG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQg ZG9lcywgd2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVk ICcnc3Vta2EnaScnIG1lYW5pbmcg4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmds aXNoLCB3ZSByZWZlciB0byB0aGVtIGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3Nl bnRpYWxseSB0aGUgc2FtZSBhcyB0aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkg aW5zdGVhZCBvZiBub3Vucy4gSW4gZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8n JyBhbmQgJydtaScnLCBidXQgdGhlcmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJu aW5nLiBGaXJzdCwgd2Ugd2FudCB0byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3 aXRoIHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFs cmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhp dCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9f Jyd0YScnX18gLSBzdW1rYSdpOiDigJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkg c29tZSBwaHlzaWNhbCBkaXN0YW5jZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBs aXN0ZW5lcuKAnQoKX18nJ3R1JydfXyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXBy ZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxp c3RlbmVyLuKAnQoKCgpZb3UgY2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1z ZXF1ZW5jZSB3aGljaCBwb3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRh a2Ugc29tZSBjbGVhcmluZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVw cmVzZW50IGFueXRoaW5nIHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNw YWNlLiBPYmplY3RzLCBjZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJl IGFjY2VwdGVkLCBidXQgb25seSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8g YSBzcGVjaWZpYyBwbGFjZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRl ZCBhdCwgYnV0IHNvbWUgYmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUg dGhhdCB0aGUgZGlzdGFuY2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhl IGRpZmZlcmVudCB3b3JkczogJyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJv bSBib3RoIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBz cGVha2VyIGFuZCBsaXN0ZW5lciBpcyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qg c2VlIHRoZSBzcGVha2VyIHRhbGtpbmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3Nl IHRvIHRoZSBsaXN0ZW5lci4gVGhpcmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQg ZGVwZW5kZW50LiBUaGVzZSB0aHJlZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0 ZW4gdGV4dCwgZm9yIGluc3RhbmNlLCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtl ciBhbmQgbGlzdGVuZXIgaXMgdW5rbm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0 aW1lIGdvZXMgYnkuIEZ1cnRoZXJtb3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9p bnQgdG8gYW4gb2JqZWN0IGFuZCBleHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoK VGhlbiB0aGVyZSBpcyBhIHNlcmllcyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQg JydkbycnIChhbmQgJydrbycnLCBidXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6 CgpfXycnbWknJ19fIC0gc3Vta2EnaTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycnX18gLSBz dW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4K Cl9fJydtaSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBv dGhlcnMuCgpfXycnbWEnYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihz KSwgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhl IGxpc3RlbmVyKHMpLgoKX18nJ2RvJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxp c3RlbmVyKHMpIGFuZCBvdGhlcnMuCgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2ls eSBncmFzcGVkIGluIHRoZSBiZWxvdyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0 aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhj bHVkZWQpLiAnJ2xlIGRyYXRhJycgaXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3Ro ZXIocynigJ0KCgoKSXQgaXMgcG9zc2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRo ZSBzcGVha2Vyc+KAnSwgaWYgb25lIHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2Yg YWxsIG9mIHRoZW0uIFRoZXJlZm9yZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQg YXMgZWl0aGVyICcnbWknJywgJydtaSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9u ZSBxdWl0ZSBvZnRlbiBtZWFucyBpcyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBz aXgsIGlmIHRoZXkgcmVmZXIgdG8gbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQg bWFzc2VzLiBXaXRoaW4gYnJpZGktbG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBi eSBzcGVha2VyIEEgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5 IHNwZWFrZXIgQiB0byBzcGVha2VyIEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlk aS4gV2Ugd2lsbCBjb21lIGJhY2sgdG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChw cm8tYnJpZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNv bnRlbnQtc3BlY2lmaWMsIGFuZCBjYW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxw IHVzIHdpdGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBm b2xsb3dpbmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkg c3VtdGk6CgpfXycncmknJ19fIC0gc3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0K Cl9fJydyYScnX18gLSBzdW1rYSdpOiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10 aSBtZW50aW9uZWTigJ0KCl9fJydydScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25l ZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVk IHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9z dCBvdGhlciAnJ3N1bWthJ2knJyBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGks IGlzIHRoYXQgdGhleSBhcmUgc28gZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBU aGUgZXhjZXB0aW9uIHRvIHRoZSBydWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBi ZWNhdXNlIHlvdSBjb3VsZCBoYXZlIGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVz IGNhbm5vdCBqdXN0IHJlcGVhdCB0aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVy bWluYXRlZCBzdW10aSwgYW5kIHRodXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8g cmVmZXIgdG8gYW4gYWJzdHJhY3Rpb24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlv bjogJydsZSBwZW5kbyBub2kga2UnYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFu aScnIC0gaGVyZSAnJ3JpJycgY2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBp dCBpcyBub3QgdGVybWluYXRlZCwgbm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhl eSBhcmUgc3Vta2EnaSwgc28gaXQgcmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQg JydydScnIGFyZSBjb250ZXh0LWRlcGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0 aGV5IGZvbGxvdyB0aGUgcnVsZXMgbWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyBy ZWZlciB0byBhIG1vcmUgZGlzdGFudCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlz IG1vcmUgZGlzdGFudCB0aGFuICcncmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFy ZSBwcmV0dHkgd2VsbCBzdWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVu Y2UuIFRyeSBzYXlpbmcgaXQgdXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2 bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1 IGtlJ2EnJy4gJydyaScnIGlzIG5vdCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xh IC5sb2piYW4uJycuICcncmEnJyBjb3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5s eSBiZSB0aG91Z2h0IHRvIHJlZmVyIHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywg YnV0ICcncnUnJyBpcyBhc3N1bWVkIHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkg LSB0aGUgbW9zdCBvdXRlciBvbmUufn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNo IHJlcHJlc2VudCB1dHRlcmFuY2VzOiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhl eSBuZWVkIG5vdCBiZSByZXN0cmljdGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2Fu IGJlIHNldmVyYWwgc2VudGVuY2VzLCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEn dScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3Un J19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0 ZXJhbmNlIHZhcmlhYmxlOiBQcmV2aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNl IHZhcmlhYmxlOiBUaGlzIHNlbnRlbmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxl OiBOZXh0IHNlbnRlbmNlCgpfXycnZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1 dHVyZSBzZW50ZW5jZQoKX18nJ2RhJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1 dHVyZSBzZW50ZW5jZQoKX18nJ2RvJ2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNh bCB1dHRlcmFuY2UgdmFyaWFibGU6IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2Vu dHMgc2VudGVuY2VzIGFzIHN1bXRpLCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRz IG9yIHRoZSBsZXR0ZXJzLCBub3QgdG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJl IGFyZSBtb3JlIExvamJhbiAnJ3N1bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5l ZWQgYSBicmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQg c3VtdGksIHN1bXRpIG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIHNpeHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllv dSBjYW4gcHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJh bmd1IGtlJ2EnJyBpcyBhIGxlc3MgdGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxh bmd1YWdl4oCdLiBUaGlzIGlzIGJlY2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBs YW5ndWFnZSB3aGljaCBJIHNwZWFrIGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2Yg dGhlIGJyaWRpICcnYmFuZ3UgbWknJy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkg dXNpbmcgYSBnYWRyaTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNl ICcnYmFuZ3UgbWknJyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNv bnZlcnQgaXQgdXNpbmcgJydsZSBzdSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJy aWRpIGEgbmV3IHgxLCB0aGUgYWJzdHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFj dHMgdGhhdC4gVGhhdCBtYWtlcyBhbiBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGlu ZyBsaWtlIOKAnHRoYXQgc29tZXRoaW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScn LiAnJ2JlJycgaXMgYSB3b3JkIHdoaWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0 YSBhbmQgb3RoZXJzKSB0byBhIHNlbGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhh cyBubyBlZmZlY3Q6IGluICcnbWkgbmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhp bmcuIEhvd2V2ZXIsIHdoZW4gYSBzdW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwg eW91IGNhbiB1c2UgYSBnYWRyaSBvbiB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0 dGluZyBvZmY6ICcnbGUgYmFuZ3UgYmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhl IHByb2JsZW0gYWJvdmUuIExpa2V3aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xl IG51IGRhcnhpIGtlaSBiZSBnYXUgZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNo IGlzIGNhdXNlZCBieSB5b3XigJ0uIE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBv ZiAnJ2tlaScnIG1ha2VzIGl0IHBhcnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28g cHJlc2VudCwgJydiZScnIGF0dGFjaGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdv LCBpdCBhdHRhY2hlcyB0byAnJ2RhcnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBl bXBoYXNpc2VkOiBJcyB0aGUgaGl0dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2Vk IGJ5IHlvdT8gSW4gdGhpcyBzcGVjaWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0 IHRoZSBzYW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10 aSB0byBhIHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0 byB5b3XigJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4g VGhlIHNlY29uZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxp c2UgYmUgZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2gg bWFrZXMgbm8gc2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2Vs YnJpLCB0aGUgYWxsIHRoZSBvbmVzIGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3 aXRoICcnYmVpJycuIFRoZSDigJxiaW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydi ZSdvJycgLSBvbmUgaW5zdGFuY2Ugb2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhh cyBzdW10aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRz IHN1bXRpIG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQs IHRoaXJkLCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydi ZSdvJydfXyBlbmRzIGJpbmRpbmcgdG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBs b29zZWx5IGFzc29jaWF0ZSBhIHN1bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycg Zm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5 LCAnJ2xlIGJhbmd1IHBlIG1pJycgaXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFu Z3VhZ2XigJ0sIHNpbmNlIHRoaXMgcGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBh cyB0byBob3cgdGhlIHR3byBhcmUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycg YW5kICcnbmUnJyBhcmUgdXNlZCBhcyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWlu ZyDigJxteSBjaGFpcuKAnSBhYm91dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90 IHJlYWxseSB5b3VycywgYnV0IGhhcyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBp bnRpbWF0ZSBjb25uZWN0aW9uIGNhbiBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywgd2hpY2gg bWFrZXMgdGhlIGFzc29jaWF0aW9uIHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMg aW4g4oCcbXkgY2Fy4oCdIGZvciBhIGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0 IGtpbmQgb2YgYXNzb2NpYXRvciBpcyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQg ImluYWxpZW5hYmxlIiBib25kIGJldHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBp cyBpbm5hdGUgYmV0d2VlbiB0aGUgdHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJt eSBtb3RoZXIiLCAibXkgYXJtIiBvciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAi cG9zc2VzaW9ucyIgY2FuIGJlIGxvc3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0 J3Mgc3RpbGwgX195b3VyX18gYXJtKSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFs bW9zdCBhbGwgb2YgdGhlIHRpbWVzIGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwg dGhlIHgyIG9mIHRoZSBzZWxicmkgY29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMg Y29ubmVjdGVkLCBzbyAnJ2JlJycgaXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVzdHJpY3Rp dmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3Bl JydfXyByZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdp dGguLi4iCgpfXycncG8nJ19fIHBvc3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBz cGVjaWZpYyB0by4uLiIKCl9fJydwbydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2Uu ICJ3aGljaCBiZWxvbmdzIHRvLi4uIgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93 IGlzICcne2dhZHJpfSB7c3VtdGl9IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAn J3tnYWRyaX0ge3NlbGJyaX0gcGUgIHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vy a3UnJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUg ZGVzY3JpcHRpb24gc3VtdGkgaW5zaWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBs ZSBzZSBjaW5qaWtjYSBiZSBtaSBrdSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2lu amlrY2EgYmUgbWknJyA94oCcdGhlIGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCd LCBidXQgdGhhdCdzIG5vdCB2ZXJ5IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVu IHNwb2tlbiksIGFuZCBpcyBvZnRlbiBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRv IGxlYXJuICcndHUnYScnLCBzaW5jZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11 Y2ggZWFzaWVyLiBJdCB0YWtlcyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1 bXRpIC0gYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRv IHdpdGggdGhlIGZpcnN0IHN1bXRpLiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamlj YSBsbyBudSBtaSBjaXRrYSBsbyBwbGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBj b250ZXh0IHdoYXQgYWJzdHJhY3Rpb24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0 IHNheSAnJ21pIGRqaWNhIHR1J2EgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mg d2hhdCBhYnN0cmFjdGlvbiB0aGUgc3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28g aXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVz cy4gQW5vdGhlciBleGFtcGxlOgoKX18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91 dCB4MiAodm9saXRpb24gbm90IGltcGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBz a2FtaScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n 4oCdLiBPZmZpY2lhbGx5LCAnJ3R1J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3Un dSBTVU1USSBjbydlJycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3 aGVyZSB5b3UgY2Fubm90IHVzZSAnJ3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBz dWl0YWJsZS4gVGhlc2Ugc2l0dWF0aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3Vs dGluZyBzdW10aSB0byBiZSBhbiBhYnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3VtdGkuIElu IHRoaXMgY2FzZSwgb25lIGNhbiB1c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18gY29udmVy dCBzdW10aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFs ZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5k IG9mIHN1bXRpIGNhbiBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUg Y2xhc3MgTEFoRS4KCl9fJydsdSdhJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3Nl cXVlbmNlL3NldCB0byBpbmRpdmlkdWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZp ZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZl cnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19f IC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0 aGUgb3JkZXIgaXMgbm90IHN0YXRlZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWln aHQtZm9yd2FyZGx5OiBQbGFjaW5nIHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5 cGUgbWFrZXMgYSBuZXcgc3VtdGkgb2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQg YXMgYSBmb3VydGgga2luZCBvZiBzdW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2Vk LiBUaGlzIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdh ZHJpLCBmb3IgaW5zdGFuY2UpLCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9u LgoKVGhlIGxhc3QgdHdvIG1lbWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5 cGVzIG9mIHN1bXRpLCBidXQgYWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25s eSBtZW50aW9uaW5nIHNvbWV0aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1 bXRpIEEgcmVmZXJzIHRvIGEgc3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBp cyBhIHRpdGxlIG9mIGEgYm9vaywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdh eXMgcmVmZXIgdG8gc29tZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkg QScnIHJlZmVycyB0byBzdW10aSBCLiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRp J3UnJyBmb3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kg ZGkndScnIHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikg b3Ig4oCYJ2xhJ2UgbGUgY21hbHUgbm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUg UHJpbmNl4oCdLCBhbmQgbm90IHNvbWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g 4oCYJ2x1J2UnJyBkb2VzIHRoZSBleGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJl ZmVycyB0byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScn X18gLSDigJx0aGUgdGhpbmcgcmVmZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEg ZnJvbSBhIHN1bXRpIEIgd2hpY2ggcmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhl IHRoaW5nIHJlZmVycmluZyB0b+KAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkg QSwgd2hlbiBCIHJlZmVycyB0byBBLgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRo ZSBpbXByYWN0aWNhbGx5IGxhcmdlIHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBh bmQgdGhpcmQgaW5zdGFsbG1lbnQgY2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAo KHdhdmVsZXNzb25zY29udGludWVkcDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29u dGludWVkcDN8dGhlIGxhdHRlcikpLiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0 aGUgZm9ybWVyIiBvciAidGhlIGxhdHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5 LgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lr aWNoYW5nZXMgbWFpbGluZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwu bG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==