Received: from localhost ([::1]:37974 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UcVo8-0007t4-FA; Wed, 15 May 2013 00:07:28 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:58679 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UcVnm-0007sp-VP for wikichanges@lojban.org; Wed, 15 May 2013 00:07:25 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 15 May 2013 00:07:06 -0700 From: "Apache" Date: Wed, 15 May 2013 00:07:06 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.4 (/) X-Spam_score: 0.4 X-Spam_score_int: 4 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 09:07 CEST Comment: Box Plugin modified by editor. You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (0.4 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 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] 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 Content-Length: 158350 VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDA5OjA3IENFU1QKQ29tbWVudDogQm94IFBsdWdpbiBtb2RpZmllZCBieSBlZGl0b3IuCgpZ b3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vbG9q YmFuLm9yZy90aWtpL2xlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcwoKWW91 IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2lu ZyB0aGlzIGxpbms6IApodHRwOi8vbG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhw P3BhZ2U9bGUlQzMlQTdvbnMlMjB3YXZlJTIwZW4lMjBmcmFuJUMzJUE3YWlzJmNvbXBhcmU9MSZv bGR2ZXI9MzQmbmV3dmVyPTM1CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxv dyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq CgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKQEAgLUxpbmVzOiAyLTYgY2hhbmdlZCB0byArTGluZXM6IDItNiBAQAorLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpDZXR0ZSBw YWdlIGVzdCB1bmUgdHJhZHVjdGlvbiBlbiBjb3VycyBkZSAoKHdhdmVsZXNzb25zY29udGludWVk KSkgZW4gZnJhbsOnYWlzLiBMYSBtYWpldXJlIHBhcnRpZSBkZSBsYSBwYWdlIGVzdCBlbmNvcmUg ZW4gYW5nbGFpcy4gQXUgZnVyIGV0IMOgIG1lc3VyZSBkZSBsYSB0cmFkdWN0aW9uLCBjZXR0ZSBu b3RlIHNlcmEgbWlzZSDDoCBqb3VyIHBvdXIgaW5kaXF1ZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQg ZGVzIGxlw6dvbnMuIAoKLSB0YXQgYWN0dWVsOiBMZW9uIHpybyB0cmFkdWl0ZSBsaXR0cmFsZW1l bnQuIE5jZXNzaXRlIHVuZSBhZGFwdGF0aW9uIGF1IGZyYW5haXMsIHB1aXMgdW5lIHZhbGlkYXRp b24gcGFyIGRlcyBsb2piYW5pc3RlcyBjb25maXJtcy4uCisgdGF0IGFjdHVlbDogTGVvbiB6cm8g dHJhZHVpdGUuIE5jZXNzaXRlIHVuZSB2YWxpZGF0aW9uIHBhciBkZXMgbG9qYmFuaXN0ZXMgY29u ZmlybXMuCntCT1h9IAoKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cu CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqCgp7Qk9YKHRpdGxlPSJUcmF2YWlsIGVuIGNvdXJzIil9CgpDZXR0ZSBwYWdlIGVzdCB1bmUg dHJhZHVjdGlvbiBlbiBjb3VycyBkZSAoKHdhdmVsZXNzb25zY29udGludWVkKSkgZW4gZnJhbsOn YWlzLiBMYSBtYWpldXJlIHBhcnRpZSBkZSBsYSBwYWdlIGVzdCBlbmNvcmUgZW4gYW5nbGFpcy4g QXUgZnVyIGV0IMOgIG1lc3VyZSBkZSBsYSB0cmFkdWN0aW9uLCBjZXR0ZSBub3RlIHNlcmEgbWlz ZSDDoCBqb3VyIHBvdXIgaW5kaXF1ZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQgZGVzIGxlw6dvbnMu IAoKCgrDiXRhdCBhY3R1ZWzCoDogTGXDp29uIHrDqXJvIHRyYWR1aXRlLiBOw6ljZXNzaXRlIHVu ZSB2YWxpZGF0aW9uIHBhciBkZXMgbG9qYmFuaXN0ZXMgY29uZmlybcOpcy4KCntCT1h9IAoKCgoh TGVzIGxlw6dvbnMgV2F2ZSBjb250aW51w6llc8KgOgoKISEhUsOpZGlnw6llcyBwYXIgbGEga2xh a3UsIGF2ZWMgbCdhaWRlIGRlIGxvamJhbmlzdGVzIHZhcmnDqXMuIEJhc8OpZSBzdXIgbGUgdHJh dmFpbCBkZSBsYSAua3JpYmFjci4gUHJpbnRlbXBzIDIwMTMuCgpUcmFkdWl0ZXMgZGUgbCdhbmds YWlzIHZlcnMgbGUgZnJhbsOnYWlzIHBhciBEYWVsZGlyLgoKCgohIUxlw6dvbnMgZGUgbG9qYmFu IOKAkyBsZcOnb24gesOpcm86IGF2YW50IHByb3BvcwoKQ2VzIGxlw6dvbnMgc29udCB1bmUgdGVu dGF0aXZlIGRlIGTDqXZlbG9wcGVyIGxlcyDCq8KgTGXDp29ucyBkZSBHb29nbGUgV2F2ZcKgwrss IHVuIGV4Y2VsbGVudCBkaWRhY3RpY2llbCBjb25zYWNyw6kgYXUgbG9qYmFuLCDDqWNyaXQgcGFy IGtyaWJhY3IsIHhhbGJvLCBldCBkJ2F1dHJlcywgcXVpLCBow6lsYXMsIG5lIGNvdXZyYWl0IHF1 ZSBsZXMgcXVhdHJlcyBwcmVtaWVycyBjaGFwaXRyZXMgZHUgcHLDqXNlbnQgZGlkYWN0aWNpZWwu IElsIHRyYWl0ZSBkZXMgcsOoZ2xlcyBsZXMgcGx1cyByw6ljZW50ZXMgZHUgbG9qYmFuLCBxdWkg bmUgc29udCBwYXMgY291dmVydGVzIHBhciBkZSBwbHVzIGFuY2llbnMgY291cnMgdGVscyBxdWUg wqvCoFdoYXQgaXMgTG9qYmFuP8KgwrssIGV0IMKrwqBMb2piYW4gZm9yIEJlZ2lubmVyc8Kgwrsu CgoKClNpIGxlIGxvamJhbiBlc3QgdG90YWxlbWVudCBub3V2ZWF1IHBvdXIgdm91cywgamUgdm91 cyByZWNvbW1hbmRlIGQnw6ljb3V0ZXIgdG91dCBsZXMgZW5yZWdpc3RyZW1lbnQgZGUgbG9qYmFu IHBhcmzDqSBxdWUgdm91cyBwb3VycmV6IHRyb3V2ZXIsIHRhbnQgYXZhbnQgcXVlIHBlbmRhbnQg bGEgbGVjdHVyZSBkZSBjZSBkaWRhY3RpY2llbCwgYWZpbiBkZSB2b3VzIGZhbWlsaWFyaXNlciBh dmVjIGxlcyBzb25zIGV0IGxlcyBtb3RzIGR1IGxhbmdhZ2UuIERlIHBsdXMsIGVzc2F5ZXogZGUg cHJvbm9uY2VyIGNlIHF1ZSB2b3VzIGxpc2V6IGF2ZWMgbCdhY2NlbnQgbG9qYmFuIHNpIHZvdXMg bGUgcG91dmV6LiBDZWNpIHZvdXMgYWlkZXJhIMOgIHByb25vbmNlciBsZSBsb2piYW4uIAoKCgpF biBzdWl2YW50IGNlIGRpZGFjdGljaWVsLCBpbCBlc3QgY29uc2VpbGzDqSBkZSBwcmVuZHJlIGRl cyBwYXVzZXMgZW50cmUgbGVzIGxlw6dvbnMgYWZpbiBkZSBkaWfDqXJlciBjZSBxdWUgdm91cyBh dmV6IGFwcHJpcy4gSidhaSBlc3NhecOpIGRlIGNvbnN0cnVpcmUgY2VzIGxlw6dvbnMgZHUgc2lt cGxlIGF1IGNvbXBsZXhlLCBldCBkJ2V4Y2x1cmUgdG91dCBtb3Qgb3UgY29uY2VwdCBxdWkgbidh IHBhcyDDqXTDqSBleHBsaXF1w6kgZGFucyBsZXMgbGXDp29uIHByw6ljw6lkZW50ZS4gVW5lIGZv aXMgZXhwbGlxdcOpcywgaWxzIHNvbnQgdXRpbGlzw6lzIGxpYnJlbWVudCB0b3V0IGF1IGxvbmcg ZHUgcmVzdGUgZHUgZGlkYWN0aWNpZWwuIEonZXhob3J0ZSBsZSBsZWN0ZXVyIMOgIG5lIHBhcyBm YWlyZSBsJ2ltcGFzc2Ugc3VyIHVuIGNvbnRlbnUgaW5jb21wcmlzwqA6IHNpIHZvdXMgYXZleiB1 bmUgcXVlc3Rpb24gb3UgbifDqnRlcyBwYXMgY2VydGFpbnMgZCd1bmUgY2hvc2UsIG4nYXlleiBw YXMgZGUgY29tcGxleGUgw6AgZGVtYW5kZXIgw6AgbGEgY29tbXVuYXV0w6kgbG9qYmFuLCBxdWkg cGV1dCDDqnRyZSB0cm91dsOpZSBzdXIgI2xvamJhbiBzdXIgbGUgcsOpc2VhdSBJUkMgRnJlZW5v ZGUgKGVuIGFuZ2xhaXMpLCBvdSBzdXIgbGEgW2h0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1h bi9saXN0aW5mby9sb2piYW4tZnJ8bWFpbGluZy1saXN0IGZyYW5jb3Bob25lXS4gRWxsZSBzZXJh IGhldXJldXNlIGQnYWlkZXIuCgoKCkRhbnMgY2UgZGlkYWN0aWNpZWwsIGxlIHRleHRlIGVuIGxv amJhbiBlc3Qgw6ljcml0IGVuICcnaXRhbGlxdWVzJycuIExlcyBtb3RzIGVtcHJ1bnTDqXMgZHUg bG9qYmFuIGF1IGZyYW7Dp2FpcyBuZSBzb250IHRvdXRlZm9pcyBwYXMgc291bWlzIMOgIGNldHRl IGVtcGhhc2UuIExlcyByw6lwb25zZXMgZGVzIGV4ZXJjaWNlcyBzb250IGFmZmljaMOpZXMgY29t bWUgdW5lIGJhcnJlIGdyaXNlLiBTw6lsZWN0aW9ubmV6IGNldHRlIGJhcnJlIHBvdXIgdm9pciBs ZSB0ZXh0ZS4KCgoKRW5maW4sIGonYWkgYXV0YW50IHF1ZSBwb3NzaWJsZSBlc3NhecOpIGQndXRp bGlzZXIgbGVzIG1vdHMgZHUgbG9qYmFuIHBvdXIgZMOpc2lnbmVyIGxlcyBjb25zdHJ1Y3Rpb25z IGdyYW1tYXRpY2FsZXPCoOKAk8KgJydzdW1rYSdpJycgYXUgbGlldSBkZSBwcm8tc3VtdGksICcn c3VtdGNpdGEnJyBhdSBsaWV1IGRlIG1vZGFsLCBldCAnJ2p1ZnJhJycgYXUgbGlldSBkJ8Opbm9u Y8OpwqDigJMgcGFyY2UgcXVlIGonYWkgbCdpbXByZXNzaW9uIHF1ZSBsZXMgbW90cyBmcmFuw6dh aXMgc29udCBzb3V2ZW50IHNvaXQgYXJiaXRyYWlyZXMg4oCTwqBqdXN0ZSBkZXMgbW90cyBlbiBw bHVzIMOgIGFwcHJlbmRyZcKg4oCTLCBzb2l0IHRyb21wZXVycyDigJPCoGRvbmMgcGlyZSBxdSdp bnV0aWxlcy4gRGFucyBsZXMgZGV1eCBjYXMsIHB1aXNxdWUgY2VzIG1vdHMgc29udCBkZSB0b3V0 ZSBmYcOnb24gc3DDqWNpZmlxdWVzIMOgIGwnYXBwcmVudGlzc2FnZSBkdSBsb2piYW4sIGlsIG4n b250IHBhcyBkZSByYWlzb24gZCdleGlzdGVyIGNvbW1lIGRlcyBtb3RzIGZyYW7Dp2FpcyBkaXN0 aW5jdC4KCgoKISEhUHLDqWZhY2UuIFNvbnMKCkxhIHByZW1pw6hyZSBjaG9zZSDDoCBmYWlyZSBx dWFuZCB2b3VzIGFwcHJlbmV6IHVuZSBsYW5ndWUgw6l0cmFuZ8OocmUgZXN0IGRlIHZvdXMgZmFt aWxpYXJpc2VyIGF2ZWMgbGVzIHNvbnMgZHUgbGFuZ2FnZSBldCBsZXVyIMOpY3JpdHVyZS4gSWwg ZW4gdmEgZGUgbcOqbWUgcG91ciBsZSBsb2piYW4uIEhldXJldXNlbWVudCwgbGVzIHNvbnMgZHUg bG9qYmFuIChfX3Bob27DqG1lc19fKSBzb250IHBsdXTDtHQgc2ltcGxlcy4KCgoKISEhIVZveWVs bGVzCgpJbCB5IGEgc2l4IHZveWVsbGVzIGVuIGxvamJhbi4KCgoKfHwnJ2EnJyB8Y29tbWUgZGFu cyDCq8KgcF9fYV9fcF9fYV9fwqDCuwoKJydlJycgfGNvbW1lIGRhbnMgwqsgYl9fZV9fcmdfX8Oo X19yZSDCuwoKJydpJycgfGNvbW1lIGRhbnMgwqvCoG1hY2hfX2lfX25lwqDCuwoKJydvJycgfGNv bW1lIGRhbnMgwqsgX19vX19tw6lnYSDCuywgwqvCoF9fYXVfX3RfX29fX21vYmlsZcKgwrsKCicn dScnIHxjb21tZSBkYW5zIMKrwqBfX291X1/CoMK7LCDCq8KgbF9fb3VfX3DCoMK7CgonJ3knJyB8 Y29tbWUgZGFucyDCqyBtYXRfX2VfX2xvdCDCu3x8CgoKCkxhIHNpeGnDqG1lIHZveWVsbGUsICcn eScnLCBlc3QgYXBwZWzDqWUgdW4gX19zY2h3YV9fIGVuIGxpbmd1aXN0aXF1ZS4gQydlc3QgdW4g wqvCoGXCoMK7IHRyw6hzIGzDqWdlciwgbm9uIGFjY2VudHXDqSwganVzdGUgbWlsaWV1IGVudHJl IGxlIMKrwqBlwqDCuyBtYXJzZWlsbGFpcyAowqvCoG1hdF9fZXVfX2xvdMKgwrspIGV0IGxlIMKr wqBlwqDCuyBtdWV0IHBhcmlzaWVuICjCqyBtYXQnbG90IMK7KS4KCgoKRGV1eCB2b3llbGxlcyBl bnNlbWJsZSBzb250IHByb25vbmPDqWVzIGNvbW1lIHVuIHNvbiAoX19kaXBodG9uZ3VlX18pLiBQ YXIgZXhlbXBsZcKgOgoKCgp8fCcnYWknJyB8Y29tbWUgZGFucyDCq8KgY2FuX19haV9fbGxlwqDC uwoKJydhdScnIHxjb21tZSBkYW5zIMKrwqBjX19hb3VfX3RjaG91Y8KgwrsKCicnZWknJyB8Y29t bWUgZGFucyDCq8KgYWJfX2VpX19sbGXCoMK7CgonJ29pJycgfGNvbW1lIGRhbnMgwqvCoGdfX295 X1/CoMK7CgonJ2lhJycgfGNvbW1lIGRhbnMgwqvCoHBfX2lhX19ub8KgwrsKCicnaWUnJyB8Y29t bWUgZGFucyDCq8KgaF9faWVfX3LCoMK7CgonJ2l1JycgfGNvbW1lIGRhbnMgwqvCoGNhX19pbGxv dV9fwqDCuwoKJyd1YScnIHxjb21tZSBkYW5zIMKrwqBxX191b2lfX8KgwrsKCicndWUnJyB8Y29t bWUgZGFucyDCq8KgYnJfX291ZV9fdHRlwqDCuwoKJyd1bycnIHxjb21tZSBkYW5zIMKrwqBkcl9f b3VvX190wqDCuwoKJyd1aScnIHxjb21tZSBkYW5zIMKrwqBfX291aV9fwqDCuyB8fAoKCgpMZXMg dm95ZWxsZXMgZG91YmzDqWVzIHNvbnQgcmFyZXMuIExlcyBzZXVscyBleGVtcGxlcyBzb250ICcn aWknJywgcHJvbm9uY8OpIGNvbW1lIGRhbnMgwqvCoGZhX19pbGxpX1/CoMK7LCBldCAnJ3V1Jycs IHByb25vbmPDqSBjb21tZSBkYW5zIMKrwqBfX091X19oX19vdV9fwqAhwqDCuyAocXVhbmQgb24g YXBwZWxsZSBxdWVscXUndW4sIG1haXMgcGFzIGNvbW1lIGRhbnMgwqvCoEhvdWhvdcKgwrvCoDog ZGFucyBsZSBwcmVtaWVyIGV4ZW1wbGUsIGxlICcnaCcnIGVzdCBtdWV0LCBkYW5zIGxlIGRldXhp w6htZSwgbGUgJydoJycgZXN0IGFzcGlyw6kg4oCTIGNlIHF1aSBzZSB0cmFuc2NyaXJhaXQgZW4g bG9qYmFuICcndSd1JycpCgoKCiEhISFDb25zb25uZXMKCkxhIHBsdXBhcnQgZGVzIGNvbnNvbm5l cyBzb250IGxlcyBtw6ptZXMgcXUnZW4gZnJhbsOnYWlzLCDDoCBxdWVscXVlIGV4Y2VwdGlvbnMg cHLDqnTCoDoKCgoKfHwnJ2cnJyB8c2UgcHJvbm9uY2UgdG91am91cnMgY29tbWUgZGFucyDCq8Kg X19nX1/DonRlYXXCoMK7LCBqYW1haXMgY29tbWUgZGFucyDCq8KgX19nX19lbm91eMKgwrsgKG9u IHV0aWxpc2UgYWxvcnMgbGUgwqvCoCcnaicnwqDCuykKCicncycnIHxzZSBwcm9ub25jZSB0b3Vq b3VycyBjb21tZSBkYW5zIMKrwqBfX3NfX2VycGVudMKgwrssIGphbWFpcyBjb21tZSBkYW5zIMKr wqByb19fc19fZcKgwrsgKG9uIHV0aWxpc2UgYWxvcnMgbGUgwqsgJyd6JycgwrspCgonJ2MnJyB8 c2UgcHJvbm9uY2UgJydjaCcnLCBjb21tZSBkYW5zIMKrwqBfX2NoX19hdGVhdcKgwrsKCicneCcn IHxzZSBwcm9ub25jZSBjb21tZSBkYW5zIGwnYWxsZW1hbmQgwqvCoEJhX19jaF9fwqDCuywgbCdl c3BhZ25vbCDCq8KgX19KX19vc2XCoMK7IG91IGwnYXJhYmUgwqvCoF9fS2hfX2FsZWTCoMK7Cgon J3InJyB8c2UgcHJvbm9uY2UgY29tbWUgZGFucyDCq8KgYXJyaXZlZGVyY2nCoMK7LiDCq8KgJydy JyfCoMK7IGFjY2VwdGUgYmVhdWNvdXAgZGUgcHJvbm9uY2lhdGlvbnMgKMOgIGxhIGZyYW7Dp2Fp c2UsIMOgIGwnYW5nbGFpc2XigKYpIG1haXMgbGEgcHJvbm9uY2lhdGlvbiBpdGFsaWVubmUgKCcn cicnIHJvdWzDqSkgZXN0IHByw6lmw6lyw6llfHwKCgoKTGUgbG9qYmFuIG4ndXRpbGlzZSBwYXMg bGVzIGNhcmFjdMOocmVzIMKrwqBIwqDCuywgwqvCoFHCoMK7IG91IMKrwqBXwqDCuywgZXQgaWwg bid5IGEgcGFzIGRlIGNhcmFjdMOocmVzIGFjY2VudHXDqXMgZW4gbG9qYmFuLgoKCgohISEhQ2Fy YWN0w6hyZXMgc3DDqWNpYXV4CgoKCkxlIGxvamJhbiBuZSByZXF1acOocmUgYXVjdW5lIHBvbmN0 dWF0aW9uLCBtYWlzIGNlcnRhaW4gY2FyYWN0w6hyZXMsIGhhYml0dWVsbGVtZW50IHV0aWxpc8Op cyBjb21tZSBwb25jdHVhdGlvbiBkYW5zIGQnYXV0cmUgbGFuZ3VlcywgYWZmZWN0ZW50IGxhIG1h bmnDqHJlIGRvbnQgbGUgbG9qYmFuIGVzdCBwcm9ub25jw6kuCgoKCkxlIHNldWwgZGUgY2VzIGNh cmFjdMOocmVzIHF1aSBzb2l0IG9ibGlnYXRvaXJlIGVuIGxvamJhbiBlc3QgbCdhcG9zdHJvcGhl LiBFbiBmYWl0LCBsJ2Fwb3N0cm9waGUgZXN0IGNvbnNpZMOpcsOpZSBjb21tZSB1bmUgbGV0dHJl IGR1IGxvamJhbi4gVW5lIGFwb3N0cm9waGUgc8OpcGFyZSBkZXV4IHZveWVsbGVzLCBlbXDDqmNo YW50IGNlbGxlcy1jaSBkJ8OqdHJlIHByb25vbmPDqWVzIGVuc2VtYmxlIGNvbW1lIHVuZSBfX2Rp cGh0b25ndWVfXy4gRWxsZSBlc3QgZWxsZSBtw6ptZSBwcm9ub25jw6llIGNvbW1lIHVuIMKrwqBo wqDCuy4gUGFyIGV4ZW1wbGUsIMKrwqAnJ3VpJyfCoMK7IGVzdCBub3JtYWxlbWVudCBwcm9ub25j w6kgY29tbWUgwqvCoF9fb3VpX1/CoMK7LCBtYWlzIMKrwqAnJ3UnaScnwqDCuyBlc3QgcHJvbm9u Y8OpIGNvbW1lIMKrwqBfX291LWhpX1/CoMK7LgoKCgpVbiBwb2ludCBlc3QgdW5lIGNvdXJ0ZSBw YXVzZSDDqXZpdGFudCDDoCBkZXV4IG1vdHMgZGUgc2UgY29uZm9uZHJlIGwndW4gZGFucyBsJ2F1 dHJlLiBMZXMgcsOoZ2xlcyBkdSBsb2piYW4gcmVuZGVudCBmYWNpbGUgbGEgZnVzaW9uIGRlIGRl dXggbW90cyBxdWFuZCBsZSBzZWNvbmQgY29tbWVuY2UgcGFyIHVuZSB2b3llbGxlLCBldCBkb25j LCBwYXIgY29udmVudGlvbiwgY2hhcXVlIG1vdCBjb21tZW7Dp2FudCBwYXIgdW5lIHZveWVsbGUg ZXN0IHByw6ljw6lkw6kgcGFyIHVuIHBvaW50LgoKCgpMZXMgdmlyZ3VsZXMgc29udCByYXJlIGVu IGxvamJhbiwgbWFpcyBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcG91ciBlbXDDqmNoZXIgZGV1 eCB2b3llbGxlcyBkZSBzZSBmb25kcmUgbCd1bmUgZGFucyBsJ2F1dHJlIHF1YW5kIHZvdXMgbmUg dm91bGV6IHBhcyB1dGlsaXNlciBkJ2Fwb3N0cm9waGUsIGNlIHF1aSBham91dGVyYWlzIHVuIMKr wqBowqDCuyBlbnRyZSBlbGxlcy4gQXVjdW4gbW90IGxvamJhbiBuJ2EgZGUgdmlyZ3VsZSwgbWFp cyBlbGxlIGVzdCBwYXJmb2lzIHV0aWxpc8OpZSBkYW5zIGwnw6ljcml0dXJlIGRlcyBub21zIGQn YXV0cmVzIGxhbmd1ZXMuIFBhciBleGVtcGxlLCDCq8KgJydwaSxFUi4nJ8KgwrsgKFBpZXJyZSks IGF1IGxpZXUgZGUgwqvCoCcncGllci4nJ8KgwrsgKFAteWVyciksIMKrwqAnJ3BpLkVSLicnwqDC uyAoUGk7IEVociksIG91IMKrwqAnJ3BpJ0VSJyfCoMK7IChQaWhlcnIpLgoKCgpMZXMgbGV0dHJl cyBjYXBpdGFsZXMgbmUgc29udCBub3JtYWxlbWVudCBwYXMgdXRpbGlzw6llcyBlbiBsb2piYW4u IE5vdXMgbGVzIHV0aWxpc29ucyBkYW5zIGRlcyBtb3RzIG5vbiBsb2piYW4gKGNvbW1lIMKrwqBQ aWVycmXCoMK7KSwgcXVhbmQgbCdhY2NlbnQgdG9uaXF1ZSBkJ3VuIG1vdCBlc3QgZGlmZsOpcmVu dCBkZSBjZWx1aSBkZSBsYSBub3JtZSBsb2piYW4uIExhIG5vcm1lIGNvbnNpc3RlIMOgIG1ldHRy ZSB1biBhY2NlbnQgdG9uaXF1ZSBzdXIgbCdhdmFudCBkZXJuacOocmUgc3lsbGFiZS4gUGFyIGV4 ZW1wbGUsICcna3VqbWlrY2UnJyAoaW5maXJtacOocmUpLCBlc3QgwqvCoGt1al9fTUlLX19jZcKg wrssIGV0IG5vbiBwYXMgwqvCoF9fS1VKX19taWtjZcKgwrsuIExlIG5vbSDCq8KgSnVsaWV0dGXC oMK7IHMnw6ljcmlyYWl0IMKrwqAnJ2p1TElFVC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1lIGVu IGZyYW7Dp2FpcywgbWFpcyDCq8KgJydESlVsaSxldC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1l IGVuIGFuZ2xhaXMuCgohISEhQWxwaGFiZXQKCgoKRGFucyBsYSBwbHVwYXJ0IGRlcyBtYW51ZWxz LCBsb3JzIGRlIGwnYXBwcmVudGlzc2FnZSBkJ3VuZSBsYW5ndWUsIHZvdXMgYXBwcmVuZXogbCdh bHBoYWJldCBkdSBsYW5nYWdlLCBldCBzYSBwcm9ub25jaWF0aW9uLiBMZXMgbGV0dHJlcyAoJyds ZXJmdScnKSDDqXRhbnQgcGx1cyBpbXBvcnRhbnRlcyBlbiBsb2piYW4gcXUnw6AgbCdhY2NvdXR1 bcOpZSwgYXV0YW50IGFwcHJlbmRyZSBsZXVyIG5vbXMgcmFwaWRlbWVudC4KCgoKTGVzIGNvbnNv bm5lcyBzb250IHNpbXBsZXPCoDogbGUgbm9tIGQndW5lIGNvbnNvbm5lIGVzdCBjZXR0ZSBsZXR0 cmUsIHN1aXZpZSBkZSDCq8KgecKgwrsuIEFpbnNpLCBsZXMgY29uc29ubmVzIGR1IGxvamJhbiwg wqvCoGLCoMK7LCDCq8KgY8KgwrssIMKrwqBkwqDCuywgwqvCoGbCoMK7LCDCq8KgZ8KgwrvigKYg c29udCBhcHBlbMOpZXMgwqvCoCcnYnkuJyfCoMK7IChiZXUpLCDCq8KgJydjeS4nJ8KgwrsgKGNo ZXUpLCDCq8KgJydkeS4nJ8KgwrsgKGRldSksIMKrwqAnJ2Z5LicnwqDCuyAoZmV1KSwgwqvCoCcn Z3kuJyfCoMK7IChndWV1KeKApiBlbiBsb2piYW4gKGVuIHV0aWxpc2FudCB1biBwb2ludCwgY29t bWUgZMOpY3JpdCBkYW5zIGxhIHBhcnRpZSBwcsOpY8OpZGVudGUpLgoKCgpMZXMgdm95ZWxsZXMg X19zZXJhaWVudF9fIGFwcGVsw6llcyDCq8KgJycuYXknJ8KgwrssIMKrwqAnJy5leScnwqDCuywg wqvCoCcnLml5JyfCoMK74oCmLCBzaSBjJ8OpdGFpdCBtb2lucyBkaWZmaWNpbGUgw6AgcHJvbm9u Y2VyLiBBdSBsaWV1IGRlIMOnYSwgZWxsZXMgc29udCBub21tw6llIGVuIHN1aXZhbnQgbGUgc29u IGRlIGxhIHZveWVsbGUgcGFyIGxlIG1vdCAnJ2J1JycsIHF1aSBzaWduaWZpZSBzaW1wbGVtZW50 IMKrwqBsZXR0cmXCoMK7LiBBaW5zaSwgbGVzIHZveWVsbGVzIGR1IGxvamJhbiBzb250wqA6ICDC q8KgJycuYWJ1JyfCoMK7IChhYm91KSwgwqvCoCcnLmVidScnwqDCuyAoYWlidSksIMKrwqAnJy5p YnUnJ8KgwrsgKGlib3UpLCDCqyAnJy5vYnUnJyDCuyAoYXVib3UpLCDCq8KgJycudWJ1JyfCoMK7 IChvdWJvdSksIMKrwqAnJy55YnUnJ8KgwrsgKGV1Ym91KS4KCgoKTCdhcG9zdHJvcGhlIGVzdCBj b25zaWTDqXLDqWUgY29tbWUgdW5lIHZyYWkgbGV0dHJlIGVuIGxvamJhbiwgZXQgZXN0IG5vbW3D qWUgwqvCoCcnLnkneS4nJ8KgwrsgKMKrwqBldWhldcKgwrvigKYgVW4gcGV1IGNvbW1lIHVuZSBw ZXRpdGUgdG91eCkuCgoKCkxlIGxvamJhbiBhIHVuIG1veWVuIGRlIHNlIHLDqWbDqXJlciDDoCBs YSBwbHVwYXJ0IGRlcyBsZXR0cmVzIGF1eHF1ZWxsZXMgdm91cyBwb3V2ZXogcGVuc2VyLiBTaSB2 b3VzIGTDqXNpcmV6IGTDqHMgbWFpbnRlbmFudCDDqXBlbGVyIHZvdHJlIG5vbSBlbiBsb2piYW4s IGV0IHF1ZSBjZWx1aSBjaSBwb3Nzw6hkZSB1biDCq8KgSMKgwrssIMKrwqBRwqDCuyBvdSDCq8Kg V8KgwrssIHZvdXMgcG91dmV6IHV0aWxpc2VyIMKrICcnLnkneS5idScnIMK7LCDCqyAnJ2t5LmJ1 JycgwrsgZXQgwqsgJyd2eS5idScnIMK7LiBBaW5zaSwgwqvCoFNjaHdhcnplbmVnZ2VywqDCuyBl c3Qgw6lwZWzDqSBlbiBsb2piYW7CoDoKCicnc3kuIGN5LiAueSd5YnUgdnlidS4gLmFidSByeS4g enkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LicnCgoKCkV0IMOpcGVsZXIgX1/Dp2Ff XyBlc3QgdW5lIHTDomNoZSBkaWduZSBkdSBUZXJtaW5hdG9ywqAhCgoKCk1haW50ZW5hbnQsIMOp cGVsZXogdm90cmUgbm9tIGVuIGxvamJhbiAobGUgY2FzIMOpY2jDqWFudCwgZGUgbGEgbWFuacOo cmUgbGEgcGx1cyBwcm9jaGUgcXVlIHZvdXMgcG91dmV6IGF2ZWMgbGVzIDI2IGxldHRyZXMgcXVl IG5vdXMgdmVub25zIGQnYXBwcmVuZHJlLCBldCBsJ2Fwb3N0cm9waGUpLgoKISEhISBQcm9ub25j aWF0aW9uIMKrwqBjb3JyZWN0ZcKgwrsKCgoKJydDZXR0ZSBwYWdlIGVzdCDDoCBsYSBmb2lzIHVu ZSB0cmFkdWN0aW9uIGRlIGxhIHZlcnNpb24gYW5nbGFpc2UsIGV0IHVuZSBhZGFwdGF0aW9uIGF1 eCBwcm9ibMOobWVzIHJlbmNvbnRyw6lzIHBhciBsZXMgZnJhbmNvcGhvbmVzIHBsdXRvdCBxdWUg cGFyIGxlcyBhbmdsb3Bob25lcy4gUGFyIG1hbnF1ZSBkJ2V4cMOpcmllbmNlIGRhbnMgbCdlbnNl aWduZW1lbnQgZHUgbG9qYmFuIMOgIGRlcyBmcmFuY29waG9uZXMsIGNldHRlIHBhcnRpZSBwZXV0 IGRvbmMgbWFucXVlciBkZSBjb25zZWlscyBvdSByZXN0ZXIgaW5hZGFwdMOpZSwgdm9pcmUgY29u ZnVzZS4gTidow6lzaXRleiBwYXMgw6AgZGVtYW5kZXIgc3VyIGxhIFtodHRwOi8vbWFpbC5sb2pi YW4ub3JnL21haWxtYW4vbGlzdGluZm8vbG9qYmFuLWZyfG1haWxpbmctbGlzdF0gZnJhbmNvcGhv bmUgc2kgdm91cyBhdmV6IHVuIHByb2Jsw6htZSDigJMgY2VjaSBwb3VycmFpdCBub3VzIGFpZGVy IMOgIGFtw6lsaW9yZXIgY2V0dGUgcGFnZcKgIScnCgoKClZvdXMgbidhdmV6IHBhcyDDoCBhdm9p ciB1bmUgcHJvbm9uY2lhdGlvbiBwcsOpY2lzZSBkdSBsb2piYW4sIGNhciBjaGFxdWUgcGhvbsOo bWUgZXN0IGRpc3RyaWJ1w6kgZGUgbWFuacOocmUgw6AgY2UgcXUnaWwgc29pdCBkaWZmaWNpbGUg ZGUgY29uZm9uZHJlIGRldXggc29ucy4gQ2VjaSBzaWduaWZpZSBxdWUsIHBvdXIgdW5lIGxldHRy ZSwgcGx1dMO0dCBxdSd1bmUgcHJvbm9uY2lhdGlvbiDCq8KgY29ycmVjdGXCoMK7LCBpbCB5IGEg dW5lIGdhbW1lIGRlIHNvbnMgYWNjZXB0w6lzIOKAkyBsZSBwcmluY2lwZSBnw6luw6lyYWwgw6l0 YW50IHF1J3VuIHNvbiBlc3QgYm9uIHRhbnQgcXUnaWwgbmUgcmVzc2VtYmxlIHBhcyB0cm9wIMOg IHVuZSBhdXRyZSBsZXR0cmUuIFBhciBleGVtcGxlLCBsZSDCq8KgcsKgwrsgbG9qYmFuIHBldXQg w6p0cmUgcHJvbm9uY8OpIGNvbW1lIGVuIGFuZ2xhaXMsIGl0YWxpZW4sIGZyYW7Dp2Fpc+KApiAK CgoKQ2VwZW5kYW50LCBiaWVuIHF1ZSBsZSBbaHR0cHM6Ly9mci53aWtpcGVkaWEub3JnL3dpa2kv Q29uc29ubmVfZnJpY2F0aXZlX3V2dWxhaXJlX3ZvaXMlQzMlQTllfMKrwqBywqDCuyBmcmFuw6dh aXNdIHNvaXQgY29uc2lkw6lyw6kgY29tbWUgdW4gwqvCoCcncicnwqDCuywgY2VsdWktY2kgZXN0 IGF1c3NpIHByb2NoZSBkdSBbaHR0cHM6Ly9mci53aWtpcGVkaWEub3JnL3dpa2kvQ29uc29ubmVf ZnJpY2F0aXZlX3V2dWxhaXJlX3NvdXJkZXzCq8KgJyd4JyfCoMK7XSBsb2piYW4uIFBvdXIgY29t cHJlbmRyZSBsYSBkaWZmw6lyZW5jZSBlbnRyZSBjZXMgZGV1eCBzb25zLCBvYnNlcnZleiBsYSBk aWZmw6lyZW5jZSBlbnRyZSBsZSBzb24gwqvCoCcnZCcnwqDCuyBldCBsZSBzb24gwqvCoCcndCcn wqDCu8KgOiBsJ3VuIGVzdCB2b2NhbGlzw6ksIGwnYXV0cmUgbm9uLiBMYSBtw6ptZSBkaXN0aW5j dGlvbiBzJ29ww6hyZSBlbnRyZSBsZSDCq8KgJydyJyfCoMK7IGZyYW7Dp2FpcyBldCBsZSDCq8Kg Jyd4JyfCoMK7LiBKZSB2b3VzIGNvbnNlaWxsZSBkb25jIGQnb3B0ZXIgcG91ciB1biDCq8KgcsKg wrsgbW9pbnMgYW1iaWd1LiBDb25jZXJuYW50IGxlIMKrwqBywqDCuyByb3Vsw6ksIGRldXggcHJv bm9uY2lhdGlvbnMgc29udCBwb3NzaWJsZcKgOiBsZSBbaHR0cHM6Ly9mci53aWtpcGVkaWEub3Jn L3dpa2kvQ29uc29ubmVfcm91bCVDMyVBOWVfYWx2JUMzJUE5b2xhaXJlX3ZvaXMlQzMlQTllfMKr wqBywqDCu10gZXNwYWdub2wsIHNpdHXDqSDDoCBsJ2F2YW50IGR1IHBhbGFpcywgZXQgdW4gW2h0 dHBzOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0NvbnNvbm5lX3JvdWwlQzMlQTllX3V2dWxhaXJl X3ZvaXMlQzMlQTllfMKrwqBywqDCu10gcGx1cyBwcm9jaGUgZGUgbGEgZ29yZ2UsIGNvbW1lIGNl bHVpIGQnRWRpdCBQaWFmLiBDaG9pc2lzc2V6IGxhIHByb25vbmNpYXRpb24gcXVpIHZvdXMgcG9z ZSBsZSBtb2lucyBkZSBwcm9ibMOobWUsIHRhbnQgcXUnZWxsZSBuZSBzZSBjb25mb25kIHBhcyBh dmVjIHVuZSBhdXRyZSBsZXR0cmUgZHUgbG9qYmFuLgoKCgpGYWl0ZXMgYXVzc2kgYXR0ZW50aW9u IMOgIGJpZW4gYXBwdXllciBsZXMgdm95ZWxsZXMg4oCTIG1pcyDDoCBwYXJ0IGxlIMKrwqAnJ3kn J8KgwrsgcXVpICcnZG9pdCcnIMOqdHJlIGNvdXJ0LiBMYSByYWlzb24gZW4gZXN0IHF1ZSBsZXMg dm95ZWxsZXMgwqvCoG5vbi1sb2piYW7CoMK7IHBldXZlbnQgw6p0cmUgdXRpbGlzw6llcyBwb3Vy IHPDqXBhcmVyIGxlcyBjb25zb25uZXMgcGFyIGxlcyBwZXJzb25uZXMgcXVpIG4nYXJyaXZlbnQg cGFzIMOgIGxlcyBwcm9ub25jZXIuIFBhciBleGVtcGxlLCBzaSB2b3VzIGF2ZXogdW4gcHJvYmzD qG1lIGF2ZWMgbGUgwqvCoCcnemQnJ8KgwrsgZGUgwqvCoCcnemRhbmknJ8KgwrsgKG1haXNvbiks IHZvdXMgcG91dmV6IGRpcmUgwqvCoHrJqmRhbmnCoMK7LCBhdmVjIHVuIMKrwqDJqsKgwrsgdHLD qHMgY291cnQsIG1haXMgbGUgwqvCoGnCoMK7IGZpbmFsIGxvbmcuIAoKISEhIU5vbXMgbG9qYmFu IChjbWV2bGEpCgoKCkRhbnMgbGVzIGZpbG1zIG/DuSBsZXMgcHJvdGFnb25pc3RlcyBuJ29udCBw YXMgZGUgbGFuZ3VlIGNvbW11bmUsIGlscyBjb21tZW5jZW50IHNvdXZlbnQgcGFyIGRpcmUgZGVz IGNob3NlcyB0ZWxsZXMgcXVlIMKrwqBNb2kgVGFyemFuwqDCuywgY2UgcXVpIGVzdCB1bmUgbWFu acOocmUgY29tbWUgdW5lIGF1dHJlIGRlIGTDqWJ1dGVyIGVuIGxvamJhbi4gRXQgZG9uY8KgOgoK CgpfXycnbWknZSAucmFmYWVsLicnX18KCsKrwqBKZS1zdWlzLW5vbW3DqSBSYWZhZWzCoMK7CgrC q8KgSmUgc3VpcyBSYWZhZWzCoMK7CgoKCicnbWknZScnIGVzdCBhcHBhcmVudMOpIMOgICcnbWkn JywgcXVpIHNpZ25pZmllIMKrwqBtb2nCoMK7LCDCq8KgamXCoMK74oCmIEMnZXN0IHVuIGJvbiBl eGVtcGxlIGRlIGwnYXBvc3Ryb3BlIHPDqXBhcmFudCBkZXV4IHZveWVsbGVzLCBwcm9ub25jw6kg wqvCoG1pIGhhacKgwrsuIAoKCgpDZSBSYWZhZWwgZXN0IGNoYW5jZXV4wqA6IHNvbiBub20gc2Ug dHJhbnNjcml0IGRpcmVjdGVtZW50IGVuIGxvamJhbiwgc2FucyBjaGFuZ2VtZW50LiBJbCB5IGEg dG91dGVmb2lzIGRlcyByw6hnbGVzIHBvdXIgbGVzIG5vbXMgbG9qYmFuLCBjZSBxdWkgc2lnbmlm aWUgcXVlIGNlcnRhaW5zIG5vbXMgZG9pdmVudCDDqnRyZXMgwqvCoGxvamJhbmlzw6lzwqDCuy4g Q2VsYSBwZXV0IHNlbWJsZXIgw6l0cmFuZ2UuIEFwcsOocyB0b3V0LCB1biBub20gZXN0IHVuIG5v beKApiBFbiBmYWl0LCB0b3V0IGxlcyBsYW5nYWdlcyBmb250IGNlIGdlbnJlIGQnYWRhcGF0aW9u IMOgIHVuIGNlcnRhaW4gbml2ZWF1LiBQYXIgZXhlbXBsZSwgbGVzIGFuZ2xhaXMgdGVuZGVudCDD oCBwcm9ub25jZXIgwqvCoEpvc2XCoMK7IGNvbW1lIMKrwqBIb3phecKgwrssIGV0IMKrwqBNYXJn YXJldMKgwrsgZGV2aWVudCDCq8KgTWFnZWxpdGHCoMK7IGVuIGNoaW5vaXMuCgoKClByZW5vbnMg bGUgbm9tIMKrIEN5cmlsIMK7LiBTaSBDeXJpbCBlc3NheWUgZCdpbWl0ZXIgUmFmYWVsLCBsZXMg bG9qYmFuaXN0ZXMgdm9udCBsJ2FwcGVsZXIgwqsgY2hldXJpbCDCuywgY2UgcXVpIG4nZXN0IHBh cyB0csOocyBqb2xpLiBJY2ksIGxlIMKrIEMgwrsgZXN0IGVuIGZhaXQgdW4gwqsgJydzJycgwrss IGV0IGxlIMKrIHkgwrsgdW4gwqsgJydpJycgwrsuIEN5cmlsIGRldmllbnQsIGVuIGxvamJhbiwg wqsgJycuc2lyaWwuJycgwrsuCgoKCkNlcnRhaW5zIHNvbnMgbidleGlzdGVudCBwYXMgZGFucyBj ZXJ0YWlucyBsYW5nYWdlcy4gQWluc2ksIGxhIHByZW1pw6hyZSBjaG9zZSDDoCBmYWlyZSBlc3Qg ZGUgcsOpw6ljcmlyZSB2b3RyZSBub20gZGUgbWFuacOocmUgw6AgY2UgcXUnaWwgbmUgY29udGll bm5lIHF1ZSBkZXMgc29ucyBsb2piYW4sIGV0IHNvaXQgw6ljcml0IGNvbW1lIHVuIG1vdCBsb2pi YW4uCgoKCkVuIGZyYW7Dp2FpcywgUm9iaW4gc2UgcHJvbm9uY2UgwqsgcmF1YmFpbiDCuy4gRXQg wqsgYWluIMK7IG4nZXhpc3RlIHBhcyBlbiBsb2piYW4uIEfDqW7DqXJhbGVtZW50LCBvbiB1dGls aXNlcmEgbGUgwqsgJyduJycgwrsgcG91ciBvYnRlbmlyIGxhIG5hc2FsaXNhdGlvbi4gQWluc2ks IFJvYmluIHMnw6ljcmlyYSDCqyAnJy5yb2Jpbi4nJyDCuywgSmVhbiDCq8KgJycuamFuLicnwqDC uywgZXQgRHVwb25kIMKrwqAnJy5kdXBvbi4nJ8KgwrsuIE5vdGV6IGF1c3NpIHF1ZSBkYW5zIGNl IGRlcm5pZXIgY2FzLCBsZSDCq8KgdcKgwrsgc2VyYSBwcm9ub25jw6kgwqvCoG91wqDCu8KgOiDC q8KgZG91cG9ubmXCoMK7LiBDb21tZSBsZSBwcm9ub25jZXJhaXQgdW4gaXRhbGllbiAhCgoKCkxh IGxhbmd1ZSBkJ29yaWdpbmUgZHUgbm9tIGVzdCBhdXNzaSBpbXBvcnRhbnRlwqA6IHVuIE1pY2hh ZWwgZnJhbsOnYWlzIHRyYW5zY3JpcmEgc29uIG5vbSDCq8KgJycubWlrYWVsLicnwqDCuywgbWFp cyB1biBNaWNoYWVsIGFuZ2xhaXMgdHJhbnNjcmlyYSBzb24gbm9tIMKrwqAnJy5tYWlreWwuJyfC oMK7LCBvdSDCq8KgJycubWFpayxsJyfCoMK7LiBPdSBlbmNvcmUsIHBvdXIgUm9iaW4sIGVuIGFu Z2xhaXMsIGxlcyB2b3llbGxlcyBhbmdsYWlzZXMgZXQgYW3DqXJpY2FpbmVzIHNvbnQgYXNzZXog ZGlmZsOpcmVudGVzLiBMZSBSb2JpbiBhbmdsYWlzIHBldXQgw6p0cmUgcmFpc29ubmFibGVtZW50 IGFwcHJveGltw6kgcGFyIMKrwqAnJy5yb2Jpbi4nJ8KgwrssIG1haXMgbGEgdmVyc2lvbiBhbcOp cmljYWluZSBlc3QgcGx1cyBwcm9jaGUgZGUgwqvCoCcnLnJhYnluLicnwqDCuyBvdSDCq8KgJycu cmFiLG4uJyfCoMK7LiBFdCDDoCBsJ2ludMOpcmlldXIgZCd1biBtw6ptZSBwYXlzLCBkZSBub21i cmV1c2VzIHZhcmlhdGlvbnMgc29udCBwb3NzaWJsZXMuIEF1c3NpIGRldnJpZXogdm91cyBwcmVu ZHJlIGxlcyB0cmFuc2xpdGVyYXRpb25zIGRvbm7DqWVzIGljaSBhdmVjIGRlcyBwaW5jZXR0ZXMu CgoKCk5vdGV6IGF1c3NpIHF1ZSBwb3VyIGxlcyBub21zIGRlIHZpbGxlcywgcGFyIGV4ZW1wbGUs IG9uIHByw6lmw6lyZXJhIGxhIHZlcnNpb24gbG9jYWxlIGR1IG5vbSDDoCBsYSB2ZXJzaW9uIGZy YW7Dp2Fpc2UuIEFpbnNpLCBMb25kcmUgbmUgc2VyYSBwYXMgdHJhbnNjcml0IMKrwqAnJy5sb25k ci4nJ8KgwrssIG1haXMgwqvCoCcnLmxvbmRvbi4nJ8KgwrssIGV0IEJlbGdyYWRlIHNlcmEgwqvC oCcnLmJlb2dyYWQuJyfCoMK7IHBsdXTDtHQgcXVlIMKrwqAnJy5iZWxncmFkLicnwqDCuy4KCgoK Vm91cyBhdmV6IHBldXQtw6p0cmUgbm90w6kgbGVzIGRldXggcG9pbnRzIHF1aSBhcHBhcmFpc3Nl bnQgZGFucyBjaGFxdWUgbm9tIGxvamJhbuKApiBDZXV4LWNpIHNvbnQgbsOpY2Vzc2FpcmVzIGNh ciBzYW5zIHBhdXNlLCBpbCBwZXV0IMOqdHJlIGRpZmZpY2lsZSBkZSBzYXZvaXIgcXVhbmQgbGUg bW90IHByw6ljw6lkZW50IGZpbml0LCBldCBxdWFuZCBsZSBtb3Qgc3VpdmFudCBkw6lidXRlLgoK CgpWb3VzIGRldnJpZXogYXVzc2kgcGxhY2VyIHVuIHBvaW50IGVudHJlIGxlIG5vbSBldCBsZSBw csOpbm9tIGQndW5lIHBlcnNvbm5lIChiaWVuIHF1ZSBjZSBuZSBzb2l0IHBhcyBvYmxpZ2F0b2ly ZSkuIEFpbnNpLCDCq8KgSm9zZXBoIEJlbmFyZMKgwrsgZGV2aWVudCDCq8KgJycuam96ZWYuYmVu YXIuJyfCoMK7LgoKCgpVbmUgcsOoZ2xlIGltcG9ydGFudGUgZGFucyBsYSBsb2piYW5pc2F0aW9u IGRlcyBub21zIGVzdCBxdWUgbGEgZGVybmnDqHJlIGxldHRyZSBkJ3VuICcnY21ldmxhJycgKG5v bSBsb2piYW4pIGRvaXQgdG91am91cnMgw6p0cmUgdW5lIGNvbnNvbm5lLiBFbmNvcmUsIGNlY2kg YSBwb3VyIGJ1dCBkJ8Opdml0ZXIgbGEgY29uZnVzaW9uIHF1YW50IMOgIHNhdm9pciBvw7kgZXN0 IGxhIGZpbiBkJ3VuIG1vdCwgZXQgc2kgdW4gbW90IGVzdCBvdSBuJ2VzdCBwYXMgdW4gbm9tICh0 b3V0IGxlcyBhdXRyZXMgbW90IGxvamJhbiBmaW5pc3NhbnQgcGFyIHVuZSB2b3llbGxlKS4gRGFu cyBsZSBjYXMgb8O5IHVuIG1vdCBmaW5pdCBwYXIgdW5lIHZveWVsbGUsIMKrwqAnJ3MnJ8Kgwrsg ZXN0IHNvdXZlbnQgYWpvdXTDqSDDoCBsYSBmaW4uIEFpbnNpLCDCq8KgTWFyaWXCoMK7IGRldmll bnQgZW4gbG9qYmFuIMKrwqAnJy5tYXJpcy4nJ8KgwrssIMKrwqBKb2XCoMK7IGRldmllbnQgwqvC oCcnLmRqb3MuJyfCoMK7LCBldCBhaW5zaSBkZSBzdWl0ZS4gVW5lIGFsdGVybmF0aXZlIGNvbnNp c3RlIMOgIHN1cHByaW1lciBsYSBkZXJuacOocmUgdm95ZWxsZSwgwqvCoE1hcmllwqDCuyBkZXZl bmFudCDCq8KgJycubWFyLicnwqDCuy4KCgoKVW5lIGRlcm5pw6hyZSBjaG9zZcKgOiBjb21tZSBu b3VzIGwnYXZvbnMgdnUsIGwnYWNjZW50IHRvbmlxdWUgZGVzIG1vdHMgbG9qYmFuIGVzdCBzaXR1 w6kgc3VyIGwnYXZhbnQgZGVybmnDqHJlIHN5bGxhYmUuIFNpIGwnYWNjZW50IHRvbmlxdWUgZCd1 biBub20gc2UgdHJvdXZlIGFpbGxldXJzLCBkZXMgbGV0dHJlcyBtYWp1c2N1bGVzIHNvbnQgdXRp bGlzw6llcy4gQ2VjaSBzaWduaWZpZSBxdWUgbGUgbm9tIMKrwqBSb2JlcnTCoMK7IHNlcmEgw6lj cml0IGRpZmbDqXJlbW1lbnQgc3VpdmFudCBxdSdpbCBzb2l0IGFuZ2xhaXMgb3UgZnJhbsOnYWlz wqA6IMKrICcnLnJvQkVSLicnIMK7IGVuIGZyYW7Dp2FpcywgwqvCoCcnLnJvYnl0LicnwqDCuyBl biBhbmdsYWlzIGV0IMKrICcnLnJhYixydC4nJyDCuyBlbiBhbcOpcmljYWluLgoKCgpBZmluIGRl IHZvdXMgZG9ubmVyIHVuZSBpZMOpZSBkZSBjb21tZW50IHRvdXQgY2VjaSBmb25jdGlvbm5lLCB2 b2ljaSB1bmUgbGlzdGUgZGUgbm9tcyBkZSBxdWVscXVlIHBlcnNvbm5hZ2VzIGPDqWzDqGJyZXMg ZGFucyBsZXVyIHByb3ByZSBsYW5ndWUgZXQgZW4gbG9qYmFuLgoKCgp8fF9fRnJhbsOnYWlzX18K Ck5hcG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnCgpKdWxpZXR0ZSBC aW5vY2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHwKCnx8X19BbmdsYWlzX18KCk1hcmdhcmV0IFRo YXRjaGVyIHwnJy5tYWdyeXQudGF0Y3lyLicnCgpNaWNrIEphZ2dlciB8JycubWlrLmRqYWd5cy4n JyB8fAoKfHxfX0NoaW5vaXNfXwoKTGFvIFRzZXUgfCcnLmxhdWR6LicnCgpNYW8gWmVkb25nIHwn Jy5tYXVkenlEWU4uJycgKExlIMKrwqBuZ8KgwrsgZmluYWwgZXN0IGNvbnZlbnRpb25lbGxlbWVu dCB0cmFuZm9ybcOpIGVuIMKrwqAnJ24nJ8KgwrsgZW4gbG9qYmFuLikgfHwKCnx8X19UdXJjX18K Ck11c3RhZmEgS2VtYWwgfCcnLk1VU3RhZmFzLmtlTUFMLicnCgpFcmtpbiBLb3JheSB8JycuZXJr aW4ua29yYWlzLicnIHx8Cgp8fF9fQWxsZW1hbmRfXwoKRnJpZWRyaWNoIE5pZXR6c2NoZSB8Jycu ZnJpZHJpeC5uaXRjeXMuJycKCkNsYXJhIFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4uJycgfHwK Cnx8X19Fc3BhZ25vbF9fCgpJc2FiZWwgQWxsZW5kZSB8JycuaXphQkVMLmFpZW5kZXMuJycKCkNo ZSBHdWV2YXJhIHwnJy50Y2VnZXZhcmFzLicnIHx8CgoKCl9fRXhlcmNpY2XCoDpfXwoKT8O5IHNv bnQgY2VzIGxpZXV4wqA/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5rYXJk aWYuCgojLmJlaWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVyLgoK Iy5rZWlwdGF1bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kaWxpeXMuCgojLm5pcy4KCiMuYXRp bmFzLgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgoKClLDqXBvbnNlczoKCn5+Z3JheSxncmF5On5+ Cgojfn5ncmF5LGdyYXk6TmV3IFlvcms6IMOJdGF0cy1VbmlzIGQnQW3DqXJpcXVlfn4KCiN+fmdy YXksZ3JheTpSb21lOiBJdGFsaWV+fgoKI35+Z3JheSxncmF5OkhhdmFuYTogQ3ViYX5+Cgojfn5n cmF5LGdyYXk6Q2FyZGlmZjogUGF5cyBkZSBHYWxsZXMgKExlIGdhbGxvaXMgcG91ciDCq8KgQ2Fy ZGlmZsKgwrsgZXN0IMKrwqBDYWVyZHlkZMKgwrssIHNlIHF1aSBzZSBsb2piYW5pc2VyYWl0IGNv bW1lIMKrwqAnJy5rYWlyZHlkLicnwqDCuy4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGlu ZX5+Cgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJraWV+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVy cXVlOiBOb3V2ZWF1LU1leGlxdWUsIMOJdGF0cy1VbmlzIGQnQW3DqXJpcXVlfn4KCiN+fmdyYXks Z3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2FwZSBUb3duOiBBZnJpcXVl IGR1IHN1ZH5+Cgojfn5ncmF5LGdyYXk6VGFpcGVpOiBUYWl3YW4gKE5vdGXCoDogb24gdXRpbGlz ZSDCq8KgJydiJyfCoMK7LCBldCBub24gwqvCoCcncCcnwqDCuy4gQmllbiBxdSdlbiBmYWl0LCBs ZSBiIGVuIFBpbnlpbiBzb2l0IHByb25vbmPDqSBw4oCmIE1haXMgbm91cyBuZSBzb21tZXMgcGFz IGRhbnMgdW4gY291cnMgZGUgbWFuZGFyaW7CoCEpfn4KCiN+fmdyYXksZ3JheTpCb25uOiBBbGxl bWFnbmV+fgoKI35+Z3JheSxncmF5OkRlbGhpOiBJbmRlIChMJ2hpbmRpIHBvdXIgwqvCoERlbGhp wqDCuyBlc3QgwqvCoERpbGzDrsKgwrssIGNlIHF1aSBkb25uZSDCq8KgJycuZGlsaXlzLicnwqDC uyBvdSDCq8KgJycuZGlsaSdpcy4nJ8KgwrsuKX5+Cgojfn5ncmF5LGdyYXk6TmljZTogRnJhbmNl fn4KCiN+fmdyYXksZ3JheTpBdGhlbnM6IEdyw6hjZSAowqvCoEF0aGluYcKgwrsgZW4gZ3JlY3F1 ZSl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBBbmdsZXRlcnJlfn4KCiN+fmdyYXksZ3JheTpIZWxz aW5raTogRmlubGFuZGV+fgoKCgpfX0V4ZXJjaXNlwqA6X18KCkxvamJhbmlzZXogbGVzIG5vbXMg c3VpdmFudMKgOgoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgojTWF0dGhldwoKI01hdGhpZXUK CiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoKI1dpbGxpYW0gU2hha2VzcGVh cmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoKI0lzdGFuYnVsCgojTWFkcmlk CgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCgoKUsOpcG9uc2VzwqA6Cgp+fmdyYXksZ3JheTpJbCB5 IGEgc291dmVudCBkJ2F1dHJlcyDDqXBlbGxhdGlvbnMgcG91ciBsZXMgbm9tcywgc29pdCBwYXJj ZSBxdWUgbGVzIGdlbnMgcHJvbm9uY2VudCBsJ29yaWdpbmFsIGRpZmbDqXJlbW1lbnQsIHNvaXQg cGFyY2UgcXVlIGxlIHNvbiBleGFjdCBuJ2V4aXN0ZSBwYXMgZW4gbG9qYmFuLCBldCBxdWUgbCdv biBkb2l0IGNob2lzaXIgZW50cmUgZGV1eCBsZXR0cmVzLiBDZSBuJ2VzdCBwYXMgaW1wb3J0YW50 LCBkdSBtb21lbnQgcXVlIHRvdXQgbGUgbW9uZGUgc2FpdCBkZSBxdWkgb3UgcXVvaSB2b3VzIHBh cmxlei5+fgoKI35+Z3JheSxncmF5Oi5kam9uLiAob3UgLmRqYW4uIGF2ZWMgY2VydGFpbnMgYWNj ZW50cywgZXQgcGFyZm9pcyAuam9uLiBlbiBmcmFuw6dhaXMpfn4KCiN+fmdyYXksZ3JheToubWVs aXNhcy4gKC5tZWxpc3lzLiBlbiBhbmdsYWlzKX5+Cgojfn5ncmF5LGdyYXk6LmFtYW5kYXMuIChF biBhbmdsYWlzLCBzdWl2YW50IGxlcyBhY2NlbnRzLCBsZSDCq8KgJydhJyfCoMK7IGZpbmFsIHBl dXQgw6p0cmUgdW4gwqvCoCcneScnwqDCuywgZGUgbcOqbWUgcG91ciBsZSDCq8KgJydhJyfCoMK7 IGluaXRpYWwsIGV0IGxlIMKrwqAnJ2EnJ8KgwrsgZHUgbWlsaWV1IHBldXQgw6p0cmUgdW4gwqvC oCcnZScnwqDCuy4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5LGdyYXk6Lm1h VElZUy5+fgoKI35+Z3JheSxncmF5Oi5taWthZWwuICgubWFpa3lsLiBvdSAubWFpayxsLiBlbiBh bmdsYWlzLil+fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvdSAuYm8saXMuIChwYXMg LmJ1LGlzLiDigJQgY2Ugc2VyYWl0IGFsb3JzIGxlICcnY291dGVhdScnIEJvd2llKX5+Cgojfn5n cmF5LGdyYXk6LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5jZWtzcGlyLn5+ Cgojfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvdSAuc3lnb3JuaXMudWl2eXIufn4KCiN+ fmdyYXksZ3JheToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTouaXN0YW5idWwufn4K CiN+fmdyYXksZ3JheToubWFEUklELn5+Cgojfn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+Z3Jh eSxncmF5Oi5zYW4uc2FsdmFET1IuIChhdmVjIGwnYWNjZW50IHRvbmlxdWUgZXNwYWdub2wpfn4K CiEhISFNb3RzIGxvamJhbiBjb21tZSBub21zCgoKCsOAIHByw6lzZW50LCB2b3VzIGRldnJpZXog w6p0cmUgY2FwYWJsZSBkZSBsb2piYW5pc2VyIHZvdHJlIHByb3ByZSBub20uIFRvdXRlZm9pcywg c2kgdm91cyBsZSBwcsOpZsOpcmV6LCB2b3VzIHBvdXZleiB0cmFkdWlyZSB2b3RyZSBub20gZW4g bG9qYmFuIChzaSB2b3VzIHNhdmV6IGNlIHF1J2lsIHNpZ25pZmllLCBiaWVuIHPDu3IpLCBvdSBh ZG9wdGVyIHVuZSB0b3V0ZSBub3V2ZWxsZSBpZGVudGl0w6kgbG9qYmFuZS4gTGVzIGluZGllbnMg ZCdhbcOpcmlxdWUgb250IHRlbmRhbmNlIMOgIHRyYWR1aXJlIGxldXIgbm9tIGVuIGFuZ2xhaXMs IHBhcnRpZWxsZW1lbnQgcGFyY2UgcXVlIGxldXIgbm9tIHNpZ25pZmllIHF1ZWxxdWUgY2hvc2Us IGV0IHBhcnRpZWxsZW1lbnQgcGFyY2UgcXUnaWwgbmUgcydhdHRlbmRlbnQgcGFzIMOgIGNlIHF1 ZSBsZSDCq8Kgd2FzaWNodcKgwrsgc29pdCBjYXBhYmxlIGRlIHByb25vbmNlciBkZXMgbW90cyBl biBMYWtvdGEsIENoZXJva2VlIG91IGF1dHJlwqAhCgoKCkxlcyBtb3RzIGxvamJhbiAobWlzIMOg IHBhcnQgbGVzIGNtZXZsYSkgc2UgdGVybWluZW50IHBhciB1bmUgdm95ZWxsZS4gVm91cyBwb3V2 ZXogdXRpbGlzZXIgZGVzIG1vdHMgbG9qYmFuIGNvbW1lIG5vbSwgbWFpcyBzaSB2b3VzIHByw6lm w6lyZXogcXVlIHZvdHJlIG5vbSBzb2l0IHVuIGNtZXZsYSBldCBxdSdpbCBzZSB0ZXJtaW5lIHBh ciB1bmUgdm95ZWxsZSwgdm91cyBwb3V2ZXogc29pdCBham91dGVyIHVuZSBjb25zb25uZSDDoCBs YSBmaW4gZGUgY2VsdWktY2ksIHNvaXQgdHJvbnF1ZXIgbGEgZGVybmnDqHJlIHZveWVsbGUuCgoK ClZvaWNpIHF1ZWxxdWVzIGV4ZW1wbGVzIChub20gb3JpZ2luYWwsIHNpZ25pZmljYXRpb24sIG5v bSBldCBub20gY29tbWUgY21ldmxhKcKgOgoKKkZpc2ggKEFuZ2xhaXMgPSBwb2lzc29uKSDigJMg ZmlucGUg4oCTICcnLmZpbnAuJycKCipCasO2cm4gKFNjYW5kaW5hdmUgPSBvdXJzKSDigJMgY3Jp YmUg4oCTICcnLmNyaWIuJycKCipWZXJkaSAoSXRhbGllbiA9IHZlcnQpIOKAkyBjcmlubyDigJMg JycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbm9pcyA9IGJlYXUpIOKAkyBtZWxiaSDigJMgJycubWVs Yi4nJwoKKkF5aGFuIChUdXJjID0gU2VpZ25ldXIgTHVuZSkg4oCTIGx1bnJhIG5vYmxpICg9IGx1 cm5vYmxpKSDigJMgJycubHVybm9ibGlzLicnCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24g b25lIChicmlkaSwganVmcmEsIHN1bXRpIGFuZCBzZWxicmkpCgpBICcnYnJpZGknJyBpcyB0aGUg bW9zdCBjZW50cmFsIHVuaXQgb2YgTG9qYmFuIHV0dGVyYW5jZXMuIFRoZSBjb25jZXB0IGlzIHZl cnkgY2xvc2UgdG8gd2hhdCB3ZSBjYWxsIGEgcHJvcG9zaXRpb24gaW4gRW5nbGlzaC4gQSBicmlk aSBpcyBhIGNsYWltIHRoYXQgc29tZSBvYmplY3RzIHN0YW5kIGluIGEgcmVsYXRpb24gdG8gZWFj aCBvdGhlciwgb3IgdGhhdCBhbiBvYmplY3QgaGFzIHNvbWUgcHJvcGVydHkuIFRoaXMgc3RhbmRz IGluIGNvbnRyYXN0IHRvICcnanVmcmEnJywgd2hpY2ggYXJlIG1lcmVseSBMb2piYW4gdXR0ZXJh bmNlcywgd2hpY2ggY2FuIGJlIGJyaWRpIG9yIGFueXRoaW5nIGVsc2UgYmVpbmcgc2FpZC4gVGhl IGRpZmZlcmVuY2UgYmV0d2VlbiBhIGJyaWRpIGFuZCBhIGp1ZnJhIGlzIHRoYXQgYSBqdWZyYSBk b2VzIG5vdCBuZWNlc3NhcmlseSBzdGF0ZSBhbnl0aGluZywgd2hpbGUgYSBicmlkaSBkb2VzLiBU aHVzLCBhIGJyaWRpIG1pZ2h0IGJlIHRydWUgb3IgZmFsc2UsIHdoaWxlIG5vdCBhbGwganVmcmEg Y2FuIGJlIHNhaWQgdG8gYmUgc3VjaC4KClRvIGhhdmUgc29tZSBleGFtcGxlcyAoaW4gRW5nbGlz aCwgdG8gYmVnaW4gd2l0aCksIOKAnE1vemFydCB3YXMgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9m IGFsbCB0aW1l4oCdIGlzIGEgYnJpZGksIGJlY2F1c2UgaXQgbWFrZXMgYSBjbGFpbSB3aXRoIGEg dHJ1dGggdmFsdWUsIGFuZCBpdCBpbnZvbHZlcyBhbiBvYmplY3QsIE1vemFydCwgYW5kIGEgcHJv cGVydHksIGJlaW5nIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZS4gT24gdGhlIGNv bnRyYXJ5LCDigJxPdyEgTXkgdG9lIeKAnSBpcyBub3QgYSBicmlkaSwgc2luY2UgaXQgZG9lcyBu b3QgaW52b2x2ZSBhIHJlbGF0aW9uLCBhbmQgdGh1cyBkb2VzIG5vdCBzdGF0ZSBhbnl0aGluZy4g Qm90aCwgdGhvdWdoLCBhcmUganVmcmEuCgpUcnkgdG8gaWRlbnRpZnkgdGhlIGJyaWRpIGFtb25n IHRoZXNlIEVuZ2xpc2gganVmcmE6CgoKCiMg4oCcSSBoYXRlIGl0IHdoZW4geW91IGRvIHRoYXQu 4oCdCgojIOKAnFJ1bnMu4oCdCgojIOKAnFdvYWgsIHRoYXQgbG9va3MgZGVsaWNpb3VzIeKAnQoK IyDigJxHZWV6LCBub3QgYWdhaW4u4oCdCgojIOKAnE5vLCBJIG93biB0aHJlZSBjYXJz4oCdCgoj IOKAnE5pbmV0ZWVuIG1pbnV0ZXMgcGFzdCBlaWdodC7igJ0KCiMg4oCcVGhpcyBTYXR1cmRheSwg eWVzLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OjEsIDMgYW5kIDUgYXJlIGJyaWRpLiAyIGNv bnRhaW5zIG5vIG9iamVjdHMgYW5kIHRoZSByZXN0IGNvbnRhaW4gbm8gcmVsYXRpb24gb3IgY2xh aW0gb2YgYSBwcm9wZXJ0eS5+fgoKCgpQdXQgaW4gTG9qYmFuIHRlcm1zLCBhIGJyaWRpIGNvbnNp c3RzIG9mIG9uZSAnJ3NlbGJyaScnLCBhbmQgb25lIG9yIG1vcmUgJydzdW10aScnLiBUaGUgc2Vs YnJpIGlzIHRoZSByZWxhdGlvbiBvciBjbGFpbSBhYm91dCB0aGUgb2JqZWN0LCBhbmQgdGhlIHN1 bXRpIGFyZSB0aGUgb2JqZWN0cyB3aGljaCBhcmUgaW4gYSByZWxhdGlvbi4gTm90ZSB0aGF0IOKA nG9iamVjdOKAnSBpcyBub3QgYSBwZXJmZWN0IHRyYW5zbGF0aW9uIG9mIOKAnHN1bXRp4oCdLCBz aW5jZSDigJxzdW10aeKAnSBjYW4gcmVmZXIgdG8gbm90IGp1c3QgcGh5c2ljYWwgb2JqZWN0cywg YnV0IGNhbiBhbHNvIHB1cmVseSBhYnN0cmFjdCB0aGluZ3MgbGlrZSDigJxUaGUgaWRlYSBvZiB3 YXJmYXJl4oCdLiBBIGJldHRlciB0cmFuc2xhdGlvbiB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZSDi gJxzdWJqZWN0LCBkaXJlY3Qgb3IgaW5kaXJlY3Qgb2JqZWN04oCdIGZvciBzdW10aSwgYW5kIOKA nHZlcmLigJ0gZm9yIHNlbGJyaSwgdGhvdWdoLCBhcyB3ZSB3aWxsIHNlZSwgdGhpcyBpcyBub3Qg b3B0aW1hbCBlaXRoZXIuCgpXZSBjYW4gbm93IHdyaXRlIHRoZSBmaXJzdCBpbXBvcnRhbnQgbGVz c29uIGRvd246CgpicmlkaSA9IHNlbGJyaSArIG9uZSBvciBtb3JlIHN1bXRpCgpQdXQgYW5vdGhl ciB3YXksIGEgYnJpZGkgc3RhdGVzIHRoYXQgc29tZSBzdW10aSBkby9hcmUgc29tZXRoaW5nIGV4 cGxhaW5lZCBieSBhIHNlbGJyaS4KCgoKSWRlbnRpZnkgdGhlIHN1bXRpIGFuZCBzZWxicmkgZXF1 aXZhbGVudHMgaW4gdGhlc2UgRW5nbGlzaCBqdWZyYToKCuKAnEkgd2lsbCBwaWNrIHVwIG15IGRh dWdodGVycyB3aXRoIG15IGNhcuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCc cGljayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBkYXVnaHRlcnPigJ0sIOKA nG15IGNhcuKAnX5+CgoKCuKAnEhlIGJvdWdodCA1IG5ldyBzaGlydHMgZnJvbSBNYXJrIGZvciBq dXN0IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDi gJxib3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCcNSBuZXcgc2hpcnRz 4oCdLCDigJxNYXJr4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRo ZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0 aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0 aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpz ZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6IOKAnFRoZSBFUEHigJ0sIOKAnG5v dGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRl4oCdfn4KCgoKTm93 IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRpLiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVkIHRv IHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHNlbGJyaToKCicnX19kdW5kYV9fJycg eDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5bWVudCkKCicnX19wZWx4dV9fJycgeDEgaXMg eWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEgaG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhhdCB0 aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0sIOKAnHllbGxvd+KAnSBhbmQg4oCcaG9tZeKA nSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwgYW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4gaW4g RW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUgbm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBubyBz dWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2FuIGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPigJ0g KHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3VuKSwg4oCcaXMgZ2l2aW5n4oCdIChhZGplY3Rp dmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZvcm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxicmks IGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuCgoKCkFzIHdlbGwgYXMgYSBmZXcgd29yZHMs IHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19fbWlfXycnIOKAnEnigJ0gb3Ig4oCcd2XigJ0g 4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBzcGVha2luZy4KCicnX190aV9fJycg4oCcdGhp c+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVudCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBvaW50 ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9fXycnIOKAnHlvdeKAnSDigJMgdGhlIG9uZSBv ciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRyYW5z bGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0gZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFuZCB4 Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFjZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVyZSBz dW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBGaWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFjZSBz dGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBsYWNl IG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgyLCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4u IFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNoIHJlY2VpdmVzIHRoZSB0aGluZy4gTm90aWNl IGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2YgJydkdW5kYScnIGhhcyB0aGUgd29yZCDigJx0 b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVkIGlu IEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0aGUg dGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0aGly ZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRoZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBhbHdh eXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0IG5lZWQgYW4gZXF1aXZhbGVudCB0byB0aGUg d29yZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJpZGksIHlvdSBzaW1wbHkgc2F5IHRoZSB4MSBz dW10aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0aGVuIGFueSBvdGhlciBzdW10aS4KClVzdWFs IGJyaWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1fXyB7eDIgc3VtdGl9IHt4MyBzdW10aX0ge3g0 IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259CgpUaGUgb3JkZXIgY2FuIGJlIHBsYXllZCBh cm91bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0aWNrIHdpdGggdGhlIHVzdWFsIGZvcm0uIFRv IHNheSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0geW91IGp1c3Qgc2F5ICcnbWkgZHVuZGEgdGkg ZG8nJywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQgdGhlIHJpZ2h0IHBsYWNlcy4KCgoKU28sIGhv dyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBob21lIG9mIG1l4oCdPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicndGkgemRhbmkgbWknJ35+CgoKClRyeSBhIGZldyBtb3JlIGluIG9yZGVyIHRv IGdldCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVjdHVyZSBzaW5rIGluLgoKCgrigJxZb3UgZ2l2 ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnZG8gZHVuZGEgdGkgbWkn J35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4dScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVpdGUgZWFzeSBvbmNlIHlvdSBnZXQgdGhlIGhh bmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBicmlkaSBhZnRlciBlYWNoIG90aGVyIGFyZSBz ZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIGZ1bGwg c3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZvcmUgYnJpZGkgaW5zdGVhZCBvZiBhZnRlciB0 aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9yZSB0aGUgZmlyc3QgYnJpZGksIHRob3VnaCwg YXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydfXy5pX18nJyBTZW50ZW5jZSBzZXBhcmF0b3Iu IFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQgdGhlcmVmb3JlIGFsc28gYnJpZGkpLgoKCgon J3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKAnVRoaXMgaXMgYSBob21lIHRvIG1lLiBUaGlz IGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBtb3ZlIG9uIHRvIHRoZSBuZXh0IGxlc3Nvbiwg SSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJyZWFrIGZvciBhdCBsZWFzdCBzZXZlbiBtaW51 dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4KCgoKCgohIUxvamJhbiBMZXNzb25z IOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkKCk1vc3Qgc2VsYnJpIGhhdmUgZnJvbSBvbmUg dG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21lIGhhdmUgbW9yZS4gSGVyZSBpcyBhIHNlbGJy aSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydfX3ZlY251X18nJyB4MSBzZWxscyB4MiB0byB4 MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRvIHNheSDigJxJIHNlbGwgdGhpc+KAnSwgaXQg d291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBmaWxsIHRoZSBzdW10aSBwbGFjZXMgeDMgYW5k IHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwgdGhlIHRoaW5nIHRvLCBhbmQgZm9yIHdoYXQg cHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0by4gc3VtdGkgcGxhY2VzIGNhbiBiZSBmaWxs ZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5kaWNhdGVzIHRvIHVzIHRoYXQgdGhlIHZhbHVl IG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNpZmllZCBiZWNhdXNlIGl0J3MgdW5pbXBvcnRh bnQgb3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBjb250ZXh0LgoKJydfX3pvJ2VfXycnIOKAnHNv bWV0aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRoaW5nLCBidXQgZG9lcyBu b3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5b3XigJ0sIEkgY291bGQg c2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg4oCTIEkgc2VsbCBzb21ldGhpbmcgdG8geW91 IGZvciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKAnFRoYXQncyBhIGhvbWUgKGZv ciBzb21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgemRhbmkgem8nZScn fn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBnaXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2UgZHVuZGEgdGkgem8nZScnfn4KCgoKU3RpbGws IGZpbGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5n IHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlvdSBkb24ndCBuZWVkIHRvIHdyaXRlIGFsbCB0 aGUgJyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlzIHRoYXQgaWYgeW91IGxl YXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGlmIHRoZXkgY29u dGFpbmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkgYmVnaW5zIHdpdGggYSBzZWxicmksIHRoZSB4 MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFuZCBpdCBiZWNvbWVzICcnem8nZScnLgoKVHJ5 IGl0IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6ZGFuaSBtaScnIG1lYW4/ CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEgaG9tZSBvZiBtZeKAnSBv ciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlvbmVkIGVhcmxpZXIsIHRo ZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEgc3VtdGl9IHtzZWxicml9IHt4MiBzdW10aX0g e3gzIHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91IGNhbiBwbGFjZSB0aGUgc2VsYnJpIGFueXdo ZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaS4gSWYg eW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRlcmVkIGxlZnQgb3V0IGFuZCBmaWxsZWQgd2l0 aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9sbG93aW5nIHRocmVlIGp1ZnJhIGFyZSBhbGwg dGhlIGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkgZHVuZGEgdGkgZG8nJwoKJydtaSB0aSBkdW5k YSBkbycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoKU29tZXRpbWVzIHRoaXMgaXMgdXNlZCBmb3Ig cG9ldGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91cnNlbGbigJ0gY291bGQgYmUgJydkbyBkbyB2 ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRoYW4gJydkbyB2ZWNudSBkbycnLiBPciBpdCBj YW4gYmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUgc2VsYnJpIGlzIHZlcnkgbG9uZyBhbmQgdGhl cmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLgoKCgpUaGVyZSBh cmUgYWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBhcm91bmQgd2l0aCB0aGUgb3JkZXIgb2YgdGhl IHN1bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBlYXNpZXN0IG9uZSBpcyBieSB1c2luZyB0aGUg d29yZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywgJydmbycnIGFuZCAnJ2Z1JycuIE5vdGljZSB0 aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZvd2VscyBpbiB0aGUgTG9qYmFuIGFscGhhYmV0 IGluIG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ugd29yZHMgbWFya3MgdGhhdCB0aGUgbmV4dCBz dW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMsIHg0IGFuZCB4NSByZXNwZWN0aXZlbHkuIFRo ZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBiZSBwcmVzdW1lZCB0byBmaWxsIGEgc2xvdCBv bmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4gVG8gdXNlIGFuIGV4YW1wbGU6CgonJ2R1bmRh IGZhIGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmluZyBieSB5b3Ugb2YgdGhpcyB0aGluZyB0byB5 b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRoZSBnaXZlciwgd2hpY2ggaXMgeW91LiAnJ2Zl JycgbWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLCB0aGUgeDIuIFN1bXRpIGNvdW50aW5nIHRo ZW4gY29udGludWVzIGZyb20gJydmZScnLCBtZWFuaW5nIHRoYXQgdGhlIGxhc3Qgc3VtdGkgZmls bHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUg Zm9sbG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoKJydtaSB2ZWNudSBmbyB0aSBmZSBkbycnCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxsLCBmb3IgdGhlIHByaWNlIG9mIHRoaXMsIHlv deKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhlIHByaWNlIG9mIHRoaXPigJ0gKHByb2JhYmx5 IHBvaW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkpfn4KCgoKJyd6ZGFuaSBmZSB0aScnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMgYSBob21l4oCdLiBIZXJlLCB0aGUgZmUgaXMg cmVkdW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBtaSB0aSBmYSBkbycnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0aGlzIHByaWNl4oCdfn4K CgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRhbnJ1IGFuZCBsbykKCklu IHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgY29uY2VwdCBv ZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNlbGJyaSBpcyBwdXQgaW4g ZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVhbmluZy4gQSB0YW5ydSBp cyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90aGVyIHNlbGJyaSBvciB0 YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pkYW5pIHZlY251JycgaXMg YSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScnLCB3aGljaCBpcyBtYWRl IGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNpbmdsZSBicml2bGEgd29y ZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2YgdGFucnUsIGNvbnNpZGVy IHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJlZeKAnS4gSWYgeW91IGRp ZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdhcywgYnV0IGhhZCBoZWFyZCBhYm91dCBib3Ro IGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBub3QgYmUgYWJsZSB0byBkZWR1Y2Ugd2hhdCBh IGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVtb24tY29sb3JlZCB0cmVlLCBvciBhIHRyZWUg c2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVlIHdob3NlIGJhcmsgdGFzdGVzIGxpa2UgbGVt b24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQga25vdyBmb3Igc3VyZSB3b3VsZCBiZSB0aGF0 IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdvdWxkIGJlIGxlbW9uLWxpa2UgaW4gc29tZSB3 YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9nb3VzIHRvIHRoaXMuIEl0IGNhbm5vdCBiZSBz YWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVjbnUnJyBpcywgYnV0IGl0IGNhbiBiZSBzYWlk IHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251LCBhbmQgdGhhdCBpdCdzIHpkYW5pLWxpa2Ug aW4gc29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6ZGFuaS1saWtlIGluIGFueSB3YXkuIEluIHRo ZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBhYnN1cmQgdGhlIGNvbm5lY3Rpb24gdG8gemRh bmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBiZSBhICcnemRhbmkgdmVjbnUnJy4gSG93ZXZl ciwgaXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251IGluIHRoZSBvcmRpbmFyeSBzZW5zZSBpbiBv cmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZb3UgY291bGQgZ2xvc3MgJyd6ZGFuaSB2ZWNu dScnIGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBldmVuIGJldHRlciBidXQgd29yc2Ugc291bmRp bmcg4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCdLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEg dGFucnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJpZ2h0bW9zdCBzZWxicmkuIEl0J3MgYWxzbyBz YWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRoZSByaWdodCBzZWxicmkuCgrigJxS ZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCcSXQgZG9lc24ndCBtYXR0ZXIgaG93 IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBsZWZ0IHdvcmQgaW4gYSB0YW5ydSBpcywgaXQn cyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwgYWxsIHNlbGxlcnMgZm9yICcnemRhbmkgdmVj bnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2lsbHkgZXhjdXNlIHdoeSBJIHRoaW5rIGl0J3Mg emRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQgdGhlbiB5b3UnZCBiZSBhIGRpY2suIE9yIGF0 IGxlYXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkgbWlzbGVhZGluZy4gSW4gZ2VuZXJhbCwgeW91 IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mgb2J2aW91cyBob3cgdGhlIGxlZnQgd29yZCBy ZWxhdGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2lu ZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhhdCBp cyBhIHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdhaW4sIHdlIGRvbid0IGtub3cgaW4gd2hpY2gg d2F5IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdzIHBhaW50ZWQgeWVsbG93LCBidXQgd2UgZG9u J3Qga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZlY251IGR1bmRhJycKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCdLiBXaGF0IGNhbiB0aGF0IG1lYW4/IE5vIGlk ZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4gdGhhdCB5b3Ugc29sZCBzb21ldGhpbmcsIHNp bmNlLCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgdGhlcmUgY2FuIGJlIG5vIHBheW1lbnQg aW52b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVhd2F5LCBidXQgYmUgc2VsbC1saWtlIGluIHNv bWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVu dC4gV2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBzb2xkIHRvIGEgR2VybWFuPwoKJydfX2RvdGNv X18nJyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2VybWFuIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoK CkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBkb3RjbycnIGJlY2F1c2UgdGhhdCB3b3VsZCBs ZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdoaWNoIGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291 bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQgdGhhdCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2 YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1hbiB3YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQg dG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJ IHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBmcmllbmQgb2YgeDIKCicnX19tZXJrb19fJycg eDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpBZ2Fpbiwg dGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcnbWkgcGVuZG8gbWVya28nJywgYnV0IHRoYXQg d291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKAnEkgYW0gZnJpZW5kLWxpa2UgQW1lcmljYW7i gJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJlYWxseSB3YW50IHRvIGlzIHRvIHRha2UgdGhl IHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9ybSBpdCBpbnRvIGEgc3VtdGkgc28gaXQgY2Fu IGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRvJycuIFRoaXMgaXMgZG9uZSBieSB0aGUgdHdv IHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18nJ2xvJydfXyDigJMgZ2VuZXJpYyBiZWdpbiBj b252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBFeHRyYWN0cyB4MSBvZiBzZWxicmkgdG8gdXNl IGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5kIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHBy b2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBzZWxicmkgYmV0d2VlbiB0aGVzZSB0d28gd29y ZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0IGNhbiBmaWxsIHRoZSB4MSBvZiB0aGF0IHNl bGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRpLgoKU28gZm9yIGluc3RhbmNlLCB0aGUgdGhp bmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgxIGFyZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUg aG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRhbmkga3UnJyBtZWFucyDigJxhIGhvbWUgb3Ig c29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNpbWlsYXJseSwgaWYgSSBzYXkgdGhhdCBzb21l dGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3MgeWVsbG93LiBTbyAnJ2xvIHBlbHh1IGt1Jycg cmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoKCk5vdyB5b3UgaGF2ZSB0aGUgbmVjZXNzYXJ5 IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmlj YW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBlbmRvIGxvIG1lcmtvIGt1 Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydrdScnIGlzIG5lY2Vzc2Fy eS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlzIHRvIG1l4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBtaScnIElmIHlvdSBsZWF2 ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQgc2ltcGx5IHRocmVlIHN1 bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0aGUgdGkgaXMgZm9yY2Vk IG91dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZvcmNlZCB0byBjbG9zZSBh bmQgaXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcnbG8gZG90Y28gdmVjbnUg e2t1fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlzIGhhdmUgdG8gYmUgY2Fy ZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScnLiBJZiB0aGUgJydrdScn IGlzIGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBub3QgZW5kLCBhbmQgaXQg c2ltcGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnemRhbmkgcGVs eHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoKISFMb2piYW4gTGVzc29u cyDigJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIgY29uY2VwdCB3aGljaCBj YW4gYmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGlu YWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3Rs eS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNv bnN0cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBwb3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFs ZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQgZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9u IHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRlZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhl eSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1vcmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93 ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9mIHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwg dGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBhdHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBo YXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFuZ3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBv dXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFuZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBz by1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBtZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBh bG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGkn cyBncmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLgoKSW4gTG9qYmFuIGdyYW1t YXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQuIElmIHRoYXQg cHJldmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2ggYmVnaW5zIGEgY29uc3RydWN0IChsaWtlICcn LmknJyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgY29uc3RydWN0LiBMaWtl d2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxvd3MgYSB3b3JkIHdoaWNoIGVuZHMgYSBjb25z dHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMgdG8gdGhlIGVuZGVkIGNvbnN0cnVjdC4KCgoK TGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBleGFtcGxlczoKCl9fJycu dWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogaGFwcGluZXNzIC0gdW5o YXBwaW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0 bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhlIGRlZmluaXRpb24gb2YgJycudWknJywgdGhl cmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhhcHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRo aXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmluZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg 4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGluZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBi ZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmljYWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24g b2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVjdCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhl IHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBvZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBz dWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJl IGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNj LiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVh bmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJuZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBz ZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0 cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMgYW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIK CgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8gcGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlv dSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVjaWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlz IHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtlciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBl YXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2FzIHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2Rv IHphJ2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhlIHNwZWFrZXIgZGlyZWN0bHkgb2JzZXJ2ZXMg dGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW914oCdX18sIHdobyBlYXRzIGFuIGFwcGxlIGFz IG9wcG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJZiBhbiBhdHRpdHVkaW5hbCBpcyBwbGFjZWQg YXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGksIGl0IGlzIHVuZGVyc3Rvb2QgdG8gYXBwbHkg dG8gYW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycuaScnLCB0aHVzIGFwcGx5aW5nIHRvIHRoZSBl bnRpcmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1bmRhIGxvIHBsaXNlIGt1IG1pJycg4oCTIOKA nFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBsZSB0byBtZSHigJ0KCgoK JydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxsICh3aGljaCBzdWNrcyEp IGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1wbGVzLiBGaXJzdCwgdGhv dWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18nJy51J3UnJ19fIGF0dGl0 dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBndWlsdCAtIHJlbW9yc2VsZXNzbmVzcyAtIGlu bm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjog Y29tcGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1JydfXyBhdHRpdHVkaW5hbDogbWlzY2VsbGFu ZW91cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRlLgoKCgpMb29rIGF0IHRoYXQsIHR3byB3b3Jk cyB3aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBkZWZpbml0aW9uISBUaGUgbWlkZGxlIG9uZSBp cyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGggJydjdSdpJycuIEl0J3MgY29uc2lkZXJlZCB0 aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpfXycnY3UnaScnX18gYXR0aXR1ZGluYWwgbWlk cG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1ZGluYWwgdG8gY2hhbmdlIHRoZSBtZWFuaW5n IHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90aW9uLgoKCgpUcnkgc2F5aW5nIOKAnEkgZ2l2 ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJIGxvdmXigJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1IC5pdScnIG9yICcnem8nZScnIGluc3RlYWQg b2YgJydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBlYXQgYSB5ZWxsb3cgYXBwbGXigJ0KCkFuc3dl cjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxvIHBlbHh1IHBsaXNlIGt1Jyd+fgoK CgpMZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGluYWwgb2YgYSBkaWZmZXJlbnQga2luZCB0byBp bGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoKCicnLmVpJycgQXR0aXR1ZGluYWw6IGNvbXBs ZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxpZ2F0aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1 aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F54oCdIGlzICcnbWkgZHVu ZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJdCBpcywgYWN0dWFsbHkhIFdoZW4geW91IHRo aW5rIGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdoeSBpcyBpdCB0aGF0IGFsbCB0aGUgb3RoZXIg YXR0aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBmYXIgZXhwcmVzc2VzIHRoZSBzcGVha2VyJ3Mg ZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlzIG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdo YXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNheWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0 aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcgYWJvdXQgd2hldGhlciB0aGUgYXBwbGUg YWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYgSSBoYWQgdXNlZCAnJy51aScnLCBob3dl dmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVkIHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBh d2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBpdC4gV2hhdCdzIHRoYXQgYWxsIGFib3V0 PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBhdHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBjb25k aXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlub3Ig ZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRib29r4oCdIHJ1bGUsIHdoaWNoIHByb2JhYmx5 IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhlcmUgaXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVu IOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHByb3Bvc2l0aW9uYWwgZW1vdGlvbnPigJ0uIE9u bHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBjaGFuZ2UgdGhlIHRydXRoIGNvbmRpdGlvbnMs IHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJbiBvcmRlciB0byBleHByZXNzIGEgcHJvcG9z aXRpb25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwgd2l0aG91dCBjaGFuZ2luZyB0aGUgdHJ1dGgg dmFsdWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1c3Qgc2VwYXJhdGUgaXQgZnJvbSB0aGUgYnJp ZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28gYSB3b3JkIGZvciBleHBsaWNpdGx5IGNvbnNl cnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgYSBicmlkaToKCgoKX18n J2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBzdXBwb3NpbmcgLSBpbiBmYWN0CgpT YXlpbmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb25zIHRv IGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgdXNpbmcgcHJvcG9zaXRpb25hbCBh dHRpdHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFpJycgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0 aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRlZmF1bHQgdXNpbmcgcHVyZSBhdHRpdHVkaW5h bHMuCgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0aGUgYXBwbGUg YXdheeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24gYWJvdXQgaXQpCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAuZWknJyAgYW5kICcnbWkgZHVuZGEgZGEnaSBu YWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVlbGluZyBvZiBhbiBhdHRpdHVkaW5hbCBjYW4g YmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2UgdXNpbmcgJydkYWknJy4gVXN1YWxseSBpbiBv cmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5hbCBpcyBzdWJzY3JpYmVkIHRvIHRoZSBsaXN0 ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBzby4gQWxzbywgYmVjYXVzZSB0aGUgd29y ZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZlZWxpbmcgb3RoZXJzIGVtb3Rpb25zKSwgc29t ZSBMb2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsgdGhhdCB0aGUgc3BlYWtlciBtdXN0IHNoYXJl IHRoZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQgdG8gb3RoZXJzLgoKX18nJ2RhaScnX18gYXR0 aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1YnNjcmliZXMgYXR0aXR1ZGluYWwgdG8gc29t ZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1wbGU6ICcndSdpIC5vaSBkYWkgY2l0a2EgdGkn JyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVydCHigJ0KCgoK V2hhdCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAnJy5vaSB1J2kgZGFpJycgbWVhbj8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5IGZ1bm55LuKAnX5+CgoKCkFuZCBhbm90aGVy IG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBUcnkgdG8gdHJhbnNsYXRlIOKAnEhlIHdhcyBz b3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1iZXJpbmcsIHRoYXQgdGVuc2UgaXMgaW1wbGll ZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBBbHNvLCDigJxoZeKAnSBjb3VsZCBiZSBvYnZp b3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3UndSBkYWkgdmVjbnUg bG8gemRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhlIGludGVuc2l0eSBvZiBhbiBhdHRpdHVkaW5h bCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRhaW4gd29yZHMuIFRoZXNlIGNhbiBiZSB1c2Vk IGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBhdHRpdHVkaW5hbCB3aXRoICcnbmFpJycgb3Ig JydjdSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBjbGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3Ug YXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtlIGEgc2VsYnJpLCBtdXN0IGl0J3MgbW9zdGx5 IHVuZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNv bWUgdW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBj YWl8ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1l ZGl1bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNp bmcgJycudSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUg cHVyZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTpTdHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlv dSBhcmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBj dSdpIHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJl Zm9yZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3Ry dWN0cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0 aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2Vm dWwgZm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3 aXRoICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3 aGljaCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRy YW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBt ZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29r cyBjYXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0 byB4Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcg Z2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0 IHNheSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdv dWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBD YW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50 IGlzIGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhh bXBsZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3Nl JycgZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2Yg dGhhdCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJy aSBpcyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4g b3JkaW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0 byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9u IHg14oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJh bnNsYXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlz LCBicmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNl cyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVj dCB0YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxs IG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAg eDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3 YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUg Y29uc29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93 bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEg dGkgZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBj b21iaW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVy eSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1h JydfXyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBh cyB0cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkga3UgdGUga2xhbWEgZmUg ZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2lu Y2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFu aSBrdScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2Yg Y291cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1 c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2pi YW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdl IGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBw bGFjZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0 IHRoaXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkg aXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2Ug ZHVuZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycg YW5kIGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJz dHJhY3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNl cyBvbmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIs IHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJl IG11Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNh biBiZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBw eSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJ IGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkg ZnJpZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hp Y2ggaXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAo ZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVu dCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBw eSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9i amVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBh biBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFz IHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAn J3N1J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp 4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4KCl9fJydz dSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9mIHR5cGUgeDIKCl9fJydr ZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoKX18nJ21lbGJpJydfXyB4MSBpcyBi ZWF1dGlmdWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRhbmNlcyB0byBhY2NvbXBhbmltZW50 L211c2ljL3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5zdSBrZWknJyAtIOKAnEJlYXV0aWZp bCBkYW5jaW5n4oCdL+KAnEJlYXV0aWZpbCBkYW5jZeKAnQoKCgpJdCdzIHVzdWFsbHkgaGFyZCB0 byBmaW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLiBIb3dldmVyLCBzaW5jZSAn J3N1J3UgQlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1 bXRpIHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8g ZXhwcmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBv dXQhCgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoK SG93ZXZlciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxl IHByZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBh bmQgJydkdSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBz b21ldGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3 ZWVuIGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFz IGFuIGFic3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhv dWdodHMgb3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2Fs bGVkIGFic3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJl IHVzZWQgbXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3 aWxsIHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkg YWJvdXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFi b3V0IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSBnbGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2gg YW5kIHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+ fgoKCgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChw cm9wZXJ0eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVh IGFic3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcg b3RoZXJzLiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGljYXRlZCBtYXR0ZXIsIGFu ZCB3aWxsIGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LW5pbmUuIEZv ciBub3csIHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMgaW1wb3J0YW50 IHRvIG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNl cy4gQXMgYW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25lZC4gJydkdSd1JycgaXMg ZGVmaW5lZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9i cmlkaSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBz dW10aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7 YnJpZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0 IHF1b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdy aXR0ZW4gJydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1IGt1IGtlaSBr dScnLCBpZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUuCgpfXycnY3Vza3UnJ19f IHgxIGV4cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dlcmt1JydfXyB4 MSBpcyBhIGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4g KE5PSSkKCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBvZiBzdWJvcmRp bmF0ZSBicmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBUaGV5IGFyZSBz ZW50ZW5jZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBzdW10aS4gSW5kZWVkLCB0 aGUg4oCcd2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0aGUgYmVnaW5u aW5nIG9mIGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3JpYmluZyByZWxhdGl2ZSBj bGF1c2VzLiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9ycywgYW5kIGl0IG1pZ2h0 IGJlIHdvcnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVmb3JlIGxlYXJuaW5nIGhv dyB0byBleHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVzdHJpY3RpdmUg YW5kIG5vbi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNsYXVzZXMuIEFu IGV4YW1wbGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hvIGlzIHR3byBt ZXRlcnMgdGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRlcnN0b29kIGlu IHR3byB3YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywgaW4gd2hpY2ggY2FzZSBz YXlpbmcgaGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdoaWNoIGJyb3Ro ZXIgSSBhbSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25seSBvbmUgYnJvdGhlciwg aW4gd2hpY2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0aW9uYWwgaW5mb3JtYXRp b24uCgoKCkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2Vl biB0aGVzZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBpcyByZXN0cmlj dGl2ZSAoc2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxlIGJyb3RoZXJzIEkgbWln aHQgYmUgdGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZlLiBXaGVuIHNw ZWFraW5nIEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGluIHdyaXR0ZW4g RW5nbGlzaCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2Ug dHdvLCBidXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0cnVjdHMgJydw b2nigKZrdSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJl c3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldCdzIGhhdmUgYSBM b2piYW5pYyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91ciBzdHJhbmdlIGdpZnQt ZWF0aW5nIGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24gZml2ZToKCl9fJydub2kn J19fIGJlZ2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFj aCB0byBzdW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVz ZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19fIGVuZCByZWxhdGl2ZSBj bGF1c2UKCgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3UnbycnID0g4oCc SSBlYXQgYSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJl IHRoZSAnJ3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1 JycsIHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZl IGNsYXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFuIGFwcGxlLCBi dXQgc2luY2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0LCB3ZSBjYW4g c2FmZWx5IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFm dGVyIGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29u YWJsZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2Fz IHRoZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZSdhJycsIHdo aWNoIGlzIGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1vcmUgb24gdGhlbSBsYXRl cikgcmVwcmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGlzIGF0 dGFjaGVkIHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0byB0aGUgc3VtdGksIHRv IHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVpIG1pIGNpdGth IGxvIHNlIGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKAnFlheSwgSSBlYXQgYSBn aWZ0IHdoaWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJl dHdlZW4gcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBo ZXJlJ3MgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExv amJhbmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCd CgoKCicnbWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9IOKAnEksIHdo byBhbSBhIExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJhbmljIGxhbmd1YWdlLuKA nSBIZXJlLCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNoICcnbWknJyBjb3VsZCBy ZWZlciB0bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBpcyBtZXJlbHkgYWRkaXRp b25hbCBpbmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVyZWZvcmUgJydu b2nigKZrdSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhp czog4oCcSSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpf XycnbmFubXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJl YXV0aWZ1bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Np bmppa2NhJydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4 MyBieSBzdGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2Eg bG8gbmFubXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1vcmUgdGVjaG5p Y2FsIHNpZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cgdGhhdCAnJ2xvIHtzZWxi cml9IGt1JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBub2kga2UnYSB7c2VsYnJp fSBrdSdvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgTGVzc29uIGVpZ2h0ICh0ZXJtaW5h dG9yIGVsaXNpb24pCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5i YSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydh IGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKIC0g IOKAnEkgd2lzaCB0aGUgQW1lcmljYW4sIHdobyBpcyBteSBzaWJsaW5nLCB3b3VsZCB1bmRlcnN0 YW5kIHRoYXQgSSBkb24ndCBsaWtlIHRoYXQgaGUgaGl0cyBtZS7igJ0KClJlZ2FyZGxlc3Mgb2Yg d2hldGhlciB0aGUgYWJvdmUgc2VudGVuY2UgaXMgYmVpbmcgdW5kZXJzdG9vZCwgKGl0IHNob3Vs ZG4ndCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292ZXJlZCBpbiB0aGVzZSBs ZXNzb25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUgY29tcGxleCBMb2piYW4g c3RydWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0aGUgc2VudGVuY2VzIGdl dCBmaWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3UnbycnIGFuZCBvdGhlciBvZiB0aG9z ZSB3b3JkcyB3aGljaCBieSB0aGVtc2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoKClRoZSBmdW5j dGlvbiBvZiBhbGwgdGhlc2Ugd29yZHMgaXMgdG8gc2lnbmFsIHRoZSBlbmQgb2YgYSBjZXJ0YWlu IGdyYW1tYXRpY2FsIGNvbnN0cnVjdCwgbGlrZSBmb3IgaW5zdGFuY2Ug4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0gaW4gdGhlIGNhc2Ugb2YgJydrdScnLiBUaGUgRW5nbGlzaCB3b3JkIGZv ciB0aGlzIGtpbmQgb2Ygd29yZCBpcyDigJx0ZXJtaW5hdG9y4oCdLCB0aGUgTG9qYmFuIHdvcmQg aXMgJydmYSdvcm1hJ28nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xkIGluIHRoZSBleGFtcGxl IGFib3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4YW1wbGUgYXJlIHRoZSBm YSdvcm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB5b3Ug aGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1JydfXyBmYSdvcm1hJ286 IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3cml0dGVuIExvamJhbiwg bW9zdCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMgZ3JlYXRseSBzYXZlcyBz eWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBob3dldmVyLCBvbmUgbXVz dCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdvLiBJbiB0aGUgc2ltcGxl IGV4YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0aGUgZmEnb3JtYSdvICcn a3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNoIGlzIGEgc2luZ2xlIHN1 bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBUaHVzLCBpdCBtZWFucyDi gJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFuIEFtZXJpY2FuIHRyYXZl bHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkgd3JvbmcgcmVzdWx0cyBp ZiBkb25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVuJ3QgbGVhcm5lZCBhYm91 dCBpdCB1bnRpbCBub3cuCgoKClRoZSBydWxlIGZvciB3aGVuIGZhJ29ybWEnbyBjYW4gYmUgZWxp ZGVkIGlzIHZlcnkgc2ltcGxlLCBhdCBsZWFzdCBpbiB0aGVvcnk6IOKAnFlvdSBjYW4gZWxpZGUg YSBmYSdvcm1hJ28sIF9faWYgYW5kIG9ubHkgaWZfXyBkb2luZyBzbyBkb2VzIG5vdCBjaGFuZ2Ug dGhlIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMgaW4gdGhlIHNlbnRlbmNlLuKAnQoKTW9zdCBmYSdv cm1hJ28gY2FuIGJlIHNhZmVseSBlbGlkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuIEV4Y2Vw dGlvbnMgYXJlIHRoZSBvYnZpb3VzIG9uZXMgbGlrZSDigJxlbmQgcXVvdGXigJ0tZmEnb3JtYSdv IGFuZCDigJxlbmQgYnJpZGkgZ3JvdXBpbmfigJ0tZmEnb3JtYSdvLiBUaGlzIGlzIHdoeSAnJ3Zh dScnIGlzIGFsbW9zdCBuZXZlciB1c2VkIOKAkyBzaW1wbHkgYmVnaW5uaW5nIGEgbmV3IGJyaWRp IHdpdGggJycuaScnIHdpbGwgYWxtb3N0IGFsd2F5cyB0ZXJtaW5hdGUgdGhlIHByZWNlZGluZyBi cmlkaSBhbnl3YXkuIEl0IGhhcyBvbmUgZnJlcXVlbnQgdXNlLCBob3dldmVyLiBTaW5jZSBhdHRp dHVkaW5hbHMgYWx3YXlzIGFwcGx5IHRvIHRoZSBwcmVjZWRpbmcgd29yZCwgYXBwbHlpbmcgaXQg dG8gYSBmYSdvcm1hJ28gYXBwbGllcyBpdCB0byB0aGUgZW50aXJlIGNvbnN0cnVjdCB3aGljaCBp cyB0ZXJtaW5hdGVkLiBVc2luZyAnJ3ZhdScnLCBvbmUgY2FuIHRoZW4gdXNlIGF0dGl0dWRpbmFs cyBhZnRlcnRob3VnaHQgYW5kIGFwcGx5IHRoZW0gdG8gdGhlIGVudGlyZSBicmlkaToKCicnemEn YSBkbyBkdW5kYSBsbyB6ZGFuaSB7a3V9IGxvIHByZW51IHtrdX0uLi4gdmF1IGknZScnIC0g4oCc SSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24uLi4gSSBhcHByb3ZlIeKAnQoK X18nJ3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEgcGVyc29uYWxpdHkuCgoKCktu b3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxpc2lvbiwgd2UgY2FuIHRodXMg cmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVnaW4gcmVtb3ZpbmcgZmEnb3Jt YSdvOgoKCgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBf X3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhp IG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKCgpXZSBjYW4g c2VlIHRoYXQgdGhlIGZpcnN0ICcndmF1JycgaXMgZ3JhbW1hdGljYWxseSB1bm5lY2Vzc2FyeSwg YmVjYXVzZSB0aGUgbmV4dCBub24tZmEnb3JtYSdvLXdvcmQgaXMgJydqaW1wZScnLCB3aGljaCBp cyBhIHNlbGJyaS4gU2luY2UgdGhlcmUgY2FuIG9ubHkgYmUgb25lIHNlbGJyaSBwZXIgYnJpZGks ICcndmF1JycgaXMgbm90IG5lZWRlZC4gU2luY2UgJydqaW1wZScnIGFzIGEgc2VsYnJpIGNhbm5v dCBiZSBpbiB0aGUgcmVsYXRpdmUgY2xhdXNlIGVpdGhlciAob25seSBvbmUgYnJpZGkgaW4gYSBj bGF1c2UsIG9ubHkgb25lIHNlbGJyaSBpbiBlYWNoIGJyaWRpKSwgd2UgY2FuIGVsaWRlICcna3Un bycnLiBMaWtld2lzZSwgJydqaW1wZScnIGNhbm5vdCBiZSBhIHNlY29uZCBzZWxicmkgaW5zaWRl IHRoZSBjb25zdHJ1Y3QgJydsZSBtZXJrbyBwb2l7Li4ufScnLCBzbyB0aGUgJydrdScnIGlzIG5v dCBuZWVkZWQgZWl0aGVyLiBGdXJ0aGVybW9yZSwgYWxsIHRoZSBmYSdvcm1hJ28gYXQgdGhlIHZl cnkgZW5kIG9mIHRoZSBzZW50ZW5jZSBjYW4gYmUgZWxpZGVkIHRvbywgc2luY2UgYmVnaW5uaW5n IGEgbmV3IGJyaWRpIHdpbGwgdGVybWluYXRlIGFsbCBvZiB0aGVzZSBjb25zdHJ1Y3RzIGFueXdh eS4KCldlIHRoZW4gZW5kIHVwIHdpdGg6CgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1l cmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFy eGkgbWknJyDigJMgd2l0aCBubyBmYSdvcm1hJ28gYXQgYWxsIQoKCgpXaGVuIGVsaWRpbmcgZmEn b3JtYSdvLCBpdCBpcyBhIGdvb2QgaWRlYSB0byBiZSBhY3F1YWludGVkIHdpdGggJydjdScnLiAn J2N1JycgaXMgb25lIG9mIHRob3NlIHdvcmRzIHdoaWNoIGNhbiBtYWtlIHlvdXIgKExvamJhbmlj KSBsaWZlIGEgbG90IGVhc2llci4gV2hhdCBpdCBkb2VzIGlzIHRvIHNlcGFyYXRlIGFueSBwcmV2 aW91cyBzdW10aSBmcm9tIHRoZSBzZWxicmkuIE9uZSBjb3VsZCBzYXkgdGhhdCBpdCBkZWZpbmVz IHRoZSBuZXh0IHdvcmQgdG8gYmUgYSBzZWxicmksIGFuZCB0ZXJtaW5hdGVzIGV4YWN0bHkgYXMg bXVjaCBhcyBpdCBuZWVkcyB0byBpbiBvcmRlciB0byBkbyB0aGF0LgoKX18nJ2N1JydfXyBlbGlk YWJsZSBtYXJrZXI6IHNlcGFyYXRlcyBzZWxicmkgZnJvbSBwcmVjZWRpbmcgc3VtdGksIGFsbG93 cyBwcmVjZWRpbmcgZmEnb3JtYSdvIGVsaXNpb24uCgoKCl9fJydwcmFtaScnX18gPSDigJx4MSBs b3ZlcyB4MuKAnQoKCgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBf X3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9fIHNlIGRqaWNhIG1pJycgPQoKJydsbyBzdSd1IGRvIGN1 c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkgX19jdV9fIHNlIGRqaWNhIG1pJycKCuKAnFRoYXQg eW91IHNheSB0aGF0IHlvdSBsb3ZlIG1lIGlzIGRlc2lyZWQgYnkgYmXigJ0gb3Ig4oCcSSB3aXNo IHlvdSBzYWlkIHlvdSBsb3ZlZCBtZeKAnQoKbm90ZTogJydjdScnIGlzIG5vdCBhIGZhJ29ybWEn bywgYmVjYXVzZSBpdCBpcyBub3QgdGllZCB0byBvbmUgc3BlY2lmaWMgY29uc3RydWN0LiBCdXQg aXQgY2FuIGJlIHVzZWQgdG8gZWxpZGUgb3RoZXIgZmEnb3JtYSdvLgoKCgpPbmUgb2YgdGhlIGdy ZWF0ZXN0IHN0cmVuZ3RocyBvZiAnJ2N1JycgaXMgdGhhdCBpdCBxdWlja2x5IGJlY29tZXMgZWFz eSB0byBpbnR1aXRpdmVseSB1bmRlcnN0YW5kLiBCeSBpdHNlbGYgaXQgbWVhbnMgbm90aGluZywg YnV0IGl0IHJldmVhbHMgdGhlIHN0cnVjdHVyZSBvZiBMb2piYW4gZXhwcmVzc2lvbnMgYnkgaWRl bnRpZnlpbmcgdGhlIGNvcmUgc2VsYnJpLiBJbiB0aGUgb3JpZ2luYWwgZXhhbXBsZSB3aXRoIHRo ZSB2aW9sZW50IEFtZXJpY2FuIGJyb3RoZXIsIHVzaW5nICcnY3UnJyBiZWZvcmUgJydqaW1wZScn IGRvZXMgbm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgc2VudGVuY2UgaW4gYW55IHdheSwg YnV0IG1pZ2h0IG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQuCgoKCkluIHRoZSBmb2xsb3dpbmcgY291 cGxlIG9mIGxlc3NvbnMsICcnY3UnJyB3aWxsIGJlIHVzZWQgd2hlbiBuZWNlc3NhcnksIGFuZCBh bGwgZmEnb3JtYSdvIGVsaWRlZCBpZiBwb3NzaWJsZS4gVGhlIGVsaWRlZCBmYSdvcm1hJ28gd2ls bCBiZSBlbmNhc2VkIGluIGN1cmx5IGJyYWNrZXRzLCBhcyBzaG93biBiZWxvdy4gVHJ5IHRvIHRy YW5zbGF0ZSBpdCEKCl9fJyd2YWpuaScnX18g4oCceDEgaXMgaW1wb3J0YW50IHRvIHgyIGZvciBy ZWFzb24geDPigJ0KCl9fJydqaW1wZScnX18g4oCceDEgdW5kZXJzdGFuZHMgdGhhdCB4MiAoZHUn dS1hYnN0cmFjdGlvbikgaXMgdHJ1ZSBhYm91dCB4M+KAnQoKX18nJ2EnbycnX18gLSBBdHRpdHVk aW5hbDogU2ltcGxlIHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogSG9wZSAtIGRlc3BhaXIKCgoKJydh J28gZG8gbm9pIGtlJ2EgbG9qYm8gLmknZSB7a3Unb30ge2t1fSBjdSBqaW1wZSBsbyBkdSd1IGxv IGZhJ29ybWEnbyB7a3V9IGN1IHZham5pIHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0nJwoKV2hhdCBk byBJIHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgaG9wZSB0aGF0IHlvdSwgYSBw cm91ZCBMb2piYW5pc3QsIHVuZGVyc3RhbmRzIHRoYXQgZmEnb3JtYSdvIGFyZSBpbXBvcnRhbnTi gJ1+fgoKCgpGdW4gc2lkZSBub3RlOiBNb3N0IHBlb3BsZSB3ZWxsLXZlcnNlZCBpbiBmYSdvcm1h J28tZWxpc2lvbiBkbyBpdCBzbyBpbnN0aW5jdGl2ZWx5IHRoYXQgdGhleSBvZnRlbiBtdXN0IGJl IHJlbWluZGVkIGhvdyBpbXBvcnRhbnQgdW5kZXJzdGFuZGluZyBmYSdvcm1hJ28gYXJlIHRvIHRo ZSB1bmRlcnN0YW5kaW5nIG9mIExvamJhbi4gVGhlcmVmb3JlLCBlYWNoIFR1ZXNkYXkgaGF2ZSBi ZWVuIGRlc2lnbmF0ZWQg4oCcVGVybWluYXRvciBEYXnigJ0gb3IgJydmYSdvcm1hJ28gZGplZGkn JyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRlcm1pbmF0b3IgRGF5LCBtYW55 IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJlciB3cml0aW5nIG91dCBhbGwg ZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVyc2F0aW9ucyBhcyBhIHJlc3Vs dC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUgKHN1bXRjaXRhKQoKU28gZmFy IHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRoZSBzZWxicmkgd2UgaGF2ZSBo YWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUgYW1vdW50IG9mIGRlZmluZWQg c2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhlIHN1bXRpIHBsYWNlcyBhcmUg bm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hhdCBpZiwgc2F5LCBpIHdhbnQg dG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNvbXB1dGVyPyBUaGVyZSBpcyBu byBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0byBzcGVjaWZ5IHdoYXQgdG9v bCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUgdGltZSwgdGhhdCBpcyBub3Qg bmVjZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlzIG9uIGhvdyB0byBhZGQgYWRk aXRpb25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoKVGhlIG1vc3QgYmFzaWMgd2F5 IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycgKHllcywg YW5vdGhlciBleGFtcGxlIG9mIGEgZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4gSXQncyBhbG1vc3QgbmV2 ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBsYXN0IHRpbWUgeW91IGV2ZXIgc2Vl IGl0LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdvZXMgYSBzZWxicmksIGFuZCBsaWtl ICcnbG8gU0VMQlJJIGt1JycsICcnZmknbyBTRUxCUkkgZmUndScnIGV4dHJhY3RzIHRoZSB4MSBv ZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcnZmknbyBTRUxCUkkgZmUn dScnLCB0aGUgc2VsYnJpIHBsYWNlIGlzIGNvbnZlcnRlZCwgbm90IHRvIGEgc3VtdGksIGJ1dCB0 byBhICcnc3VtdGNpdGEnJywgbWVhbmluZyDigJxzdW10aS1sYWJlbOKAnSwgd2l0aCB0aGUgcGxh Y2Ugc3RydWN0dXJlIG9mIHRoZSB4MSBvZiB0aGUgc2VsYnJpIGl0IGNvbnZlcnRlZC4gVGhpcyAn J3N1bXRjaXRhJycgdGhlbiBhYnNvcmJzIHRoZSBuZXh0IHN1bXRpLiBPbmUgY291bGQgc2F5IHRo YXQgdXNpbmcgYSAnJ3N1bXRjaXRhJycsIHlvdSBpbXBvcnQgYSBzdW10aSBwbGFjZSBmcm9tIGFu b3RoZXIgc2VsYnJpLCBhbmQgYWRkIGl0IHRvIHRoZSBicmlkaSBiZWluZyBzYWlkLgoKTm90ZTog U29tZXRpbWVzLCBlc3BlY2lhbGx5IGluIG9sZGVyIHRleHRzLCB0aGUgdGVybSDigJx0YWfigJ0g b3Ig4oCcbW9kYWzigJ0gaXMgdXNlZCBmb3IgJydzdW10Y2l0YScnLiBJZ25vcmUgdGhvc2UgcHVu eSBFbmdsaXNoIGV4cHJlc3Npb25zLiBXZSB0ZWFjaCBwcm9wZXIgTG9qYmFuIGhlcmUuCgoKCldo aWxlIGl0IGlzIGhhcmQgdG8gZ3Jhc3AgdGhlIHByb2Nlc3MgZnJvbSByZWFkaW5nIGFib3V0IGl0 LCBhbiBleGFtcGxlIGNhbiBwZXJoYXBzIHNob3cgaXRzIGFjdHVhbCBzaW1wbGljaXR5OgoKX18n J3NrYW1pJydfXyDigJx4MSBpcyBhIGNvbXB1dGVyIGZvciBwdXJwb3NlIHgy4oCdCgpfXycncGls bm8nJ19fIOKAnHgxIHVzZXMgeDIgYXMgYSB0b29sIGZvciBkb2luZyB4M+KAnQoKCgonJ21pIGZh bnZhIHRpIGZpJ28gc2UgcGlsbm8ge2ZlJ3V9IGxvIHNrYW1pIHtrdX17dmF1fScnIC0g4oCcSSB0 cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgyIG9mICcncGlsbm8nJywgd2hp Y2ggaXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNlIHN0cnVjdHVyZSBmb3IgYSB0 b29sIGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBzdHJ1Y3R1cmUgaXMgY2FwdHVy ZWQgYnkgJydmaSdvIFNFTEJSSSBmZSd1JycsIGFkZGVkIHRvIHRoZSBtYWluIHNlbGJyaSwgYW5k IHRoZW4gZmlsbGVkIGJ5ICcnbG8gc2thbWknJy4gVGhlIGlkZWEgb2YgJydzdW10Y2l0YScnIGlz IHNvbWV0aW1lcyBleHByZXNzZWQgaW4gRW5nbGlzaCB1c2luZyB0aGUgZm9sbG93aW5nIHRyYW5z bGF0aW9uOgoK4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoLXRvb2w6IEEgY29tcHV0ZXLigJ0KCgoK QSAnJ3N1bXRjaXRhJycgY2FuIG9ubHkgYWJzb3JiIG9uZSBzdW10aSwgd2hpY2ggaXMgYWx3YXlz IHRoZSBmb2xsb3dpbmcgb25lLiBBbHRlcm5hdGl2ZWx5LCB0aGUgJydzdW10Y2l0YScnIGNvbnN0 cnVjdCBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcna3UnJywgaW4gd2hpY2ggY2FzZSBhICcnem8n ZScnIGlzIGltcGxpZWQgdG8gZmlsbCB0aGUgJydzdW10Y2l0YScnLiBPciwgb25lIGNvdWxkIGlt YWdpbmUgYW4gZWxpZGVkIHN1bXRpIGJlaW5nIHRlcm1pbmF0ZWQgd2l0aCB0aGUgJydrdScnLgoK X18nJ3p1a3RlJydfXyDigJx4MSBpcyBhIHZvbGl0aW9uYWwgZW50aXR5IGNhcnJ5aW5nIG91dCBh Y3Rpb24geDIgZm9yIHB1cnBvc2UgeDPigJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1fSBrdSBsbyBz a2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX17dmF1fScnIC0g4oCcV2l0aCB2b2xpdGlv biwgYSBjb21wdXRlciB1c2VkIHNvbWV0aGluZyBMb2piYW5pY+KAnSAocGVyaGFwcyBpbXBseWlu ZyB0aGF0IGEgTG9qYmFuaWMgY29tcHV0ZXIgd2VudCBzZW50aWVudD8gVG91Z2ggaXQgZG9lcyBu b3Qgc3BlY2lmeSB3aG8gaGFkIHZvbGl0aW9uLiBJdCBjb3VsZCBqdXN0IGJlIHRoZSBwcm9ncmFt bWVyIHdobyBwcm9ncmFtbWVkIHRoZSBjb21wdXRlciAtIGhvdyBib3JpbmcuKQoKCgpXaGF0IGRv ZXMgJydtaSBqaW1wZSBmaSBsYSBsb2piYW4ge2t1fSBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScn IHN0YXRlPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgdW5kZXJzdGFuZCBzb21ldGhpbmcg YWJvdXQgTG9qYmFuLCBzcG9rZW4gdG8gbWXigJ1+fgoKCgpQdXR0aW5nIHRoZSAnJ3N1bXRjaXRh JycgcmlnaHQgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSBhbHNvIG1ha2VzIGl0IHNlbGYtdGVybWlu YXRlLCBzaW5jZSBzdW10Y2l0YSBvbmx5IGNhbiBhYnNvcmIgc3VtdGksIGFuZCBub3Qgc2VsYnJp LiBUaGlzIGZhY3Qgd2lsbCBiZSBvZiBpbXBvcnRhbmNlIGluIG5leHQgbGVzc29uLCBhcyB5b3Ug d2lsbCBzZWUuCgoKClNhZGx5LCAnJ2ZpJ28nJyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIGRlc3Bp dGUgaXRzIGZsZXhpYmlsaXR5LiBXaGF0IElTIHVzZWQgdmVyeSBvZnRlbiwgdGhvdWdoLCBhcmUg QkFJLiBCQUkgaXMgYSBjbGFzcyBvZiBMb2piYW4gd29yZHMsIHdoaWNoIGluIHRoZW1zZWx2ZXMg YWN0IGFzICcnc3VtdGNpdGEnJy4gQW4gZXhhbXBsZSBvZiB0aGlzIGlzICcnenUnZScnLCB0aGUg QkFJIGZvciAnJ3p1a3RlJycuIEdyYW1hdGljYWxseSwgJyd6dSdlJycgaXMgdGhlIHNhbWUgYXMg JydmaSdvIHp1a3RlIGZlJ3UnJy4gVGh1cywgdGhlIGFib3ZlIGV4YW1wbGUgY291bGQgYmUgcmVk dWNlZCB0bzoKCicnenUnZSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX0g e3ZhdX0nJy4gVGhlcmUgZXhpc3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2Yg dGhlc2UgYXJlIHZlcnkgdXNlZnVsIGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJl IGNvbnZlcnRlZCB3aXRoICcnc2UnJyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenUn ZScnIGlzIGVxdWFsIHRvICcnZmknbyBzZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJlc3VsdHMgaW4g YSBncmVhdCBkZWFsIG1vcmUgQkFJLgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAo UFUsIEZBaEEsIFpJLCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmds aXNoLXNwZWFrZXIgYSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3Vn aCBuaW5lIGxlc3NvbnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ug b25jZS4gVGhpcyBpcyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9z dCBJbmRvLUV1cm9wZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFu IGFyZSBvcHRpb25hbC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFu IOKAnEkgZWF0IGNoZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3 YXlzIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmlu aXNoZWQgZWF0aW5nIGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3Qs IGFuZCBpbiBtb3N0IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4g SG93ZXZlciwgd2hlbiBpdCdzIG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1 Z2h0LiBGdXJ0aGVybW9yZSwgTG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkg dHJlYXQgdGltZSBhbmQgc3BhY2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0 IEkgd29ya2VkIGEgbG9uZyB0aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQg dGhhbiBzYXlpbmcgSSB3b3JrIGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhl ciBsYW5ndWFnZXMsIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3Qg ZGlmZmljdWx0IHBhcnQgb2YgdGhlIGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFn ZXMgdGhvdWdoLCBpdCdzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVh ciBub3QsIGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBt b2RpZnkgdGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0 aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdl IGhhdmUgY29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2th eSBva2F5LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBv dGhlciBzdW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2Fu dCwgYW5kIHdpbGwgYmUgd29uJ3QgYmUgZXhwbGFpbmVkIHVudGlsIGxhdGVyLiBJbiBtb3N0IGFz cGVjdHMgdGhleSBhcmUgbGlrZSBhbGwgb3RoZXIgc3VtdGNpdGE7IHRoZXkgYXJlIHRlcm1pbmF0 ZWQgYnkgJydrdScnLCBtYWtpbmcgaXQgZXhwbGljaXQgdGhhdCBQVSBpcyB0ZXJtaW5hdGVkIGJ5 ICcna3UnJy4KClRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBraW5kcyBvZiB0ZW5zZS1zdW10Y2l0 YSwgc28gbGV0J3Mgc3RhcnQgYXQgdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLXNw ZWFrZXJzLgoKX18nJ3B1JydfXyAtIHN1bXRjaXRhOiBiZWZvcmUge3N1bXRpfQoKX18nJ2NhJydf XyAtIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1lIGFzIHtzdW10aX0KCl9fJydiYScnX18gLSBz dW10Y2l0YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVzZSBhcmUgbGlrZSB0aGUgRW5nbGlzaCBjb25j ZXB0cyDigJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBhbmQg4oCcYWZ0ZXLigJ0uIEluIGFjdHVhbGl0 eSB0aG91Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0IHR3byBwb2ludC1saWtlIGV2ZW50cyBjYW4g bmV2ZXIgb2NjdXIgZXhhY3RseSBzaW11bHRhbmVvdXNseSwgcmVuZGVyaW5nICcnY2EnJyB1c2Vs ZXNzLiBCdXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgdGhlIGZ1 dHVyZSwgbWVhbmluZyBqdXN0IOKAnGFib3V0IG5vd+KAnS4gVGhpcyBpcyBiZWNhdXNlIGh1bWFu IGJlaW5ncyBkb24ndCBwZXJjZWl2ZSB0aW1lIGluIGEgcGVyZmVjdGx5IGxvZ2ljYWwgd2F5LCBh bmQgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVmbGVjdHMgdGhhdC4KCgoKU2lkZSBub3RlOiBJ dCB3YXMgYWN0dWFsbHkgc3VnZ2VzdGVkIG1ha2luZyB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSBy ZWxhdGl2aXN0aWMuIFRoYXQgaWRlYSwgaG93ZXZlciwgd2FzIGRyb3BwZWQsIGJlY2F1c2UgaXQg aXMgY291bnRlci1pbnR1aXRpdmUsIGFuZCB3b3VsZCBtZWFuIHRoYXQgdG8gbGVhcm4gTG9qYmFu LCBvbmUgd291bGQgaGF2ZSB0byBsZWFybiB0aGUgdGhlb3J5IG9mIHJlbGF0aXZpdHkgZmlyc3Qu ICAKCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnEkgZXhwcmVzcyB0aGlzIGFmdGVyIEkgY2Ft ZSBoZXJlP+KAnSAocG9pbnRpbmcgdG8gYSBwYXBlcikKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J21pIGN1c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1hIHRpIHt2YXV9IHtrZWkge2t1fSB7dmF1fScn fn4KCgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5IHdo aWNoIGV2ZW50IHRoaXMgYWN0aW9uIGlzIGluIHRoZSBwYXN0IHJlbGF0aXZlIHRvLiBJbjog4oCc SSBnYXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24g aGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhl IHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBpdCdzIG9idmlvdXM6CgonJ3B1IGt1IG1p IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5kYSBsbyBza2FtaSB7a3V9 IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25seQoKJydtaSBwdSB7a3V9IGR1bmRhIGxv IHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBp cyBhbiBpbXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBhbG1vc3QgYWx3YXlzIHVuZGVyc3Rvb2Qg YXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBlc3Bl Y2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYg c3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBoYXBwZW5lZCBzb21lIG90aGVyIHRpbWUg dGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVuc2Vz IGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91dC4g SW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBz cGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdvcmQgJyduYXUnJyBjYW4gYmUgdXNlZCBh dCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycgbWFya3MgYSB0ZW5zZSB3aGljaCBpcyB0 aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4gVGhhdCB3aWxsIGJlIHRhdWdodCB3YXkg bGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBvcmFsIGFuZCBzcGFjaWFsIGZyYW1lIG9m IHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgaGVyZSBhbmQgbm93LgoKCgpfXycn Z3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkgb2YgcGVvcGxlIHgyIHdpdGggbGFuZC90 ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQgJydtaSBwdSB7a3V9IGtsYW1hIGxvIG1l cmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50IHRvIEFtZXJpY2HigJ0sIGRvZXMgbm90 IGltcGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxpbmcgdG8gVVNBLCBvbmx5IHRoYXQgaXQg d2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIGZvciBpbnN0YW5jZSBmaXZlIG1p bnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRpbWUgdGVu c2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0IHRoZSBwcmV2aW91cyB0aHJlZSB0aW1l IHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0ZW5zZXM6CgpfXycnenUnYScnX18gc3Vt dGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3UnJ19fIHN1bXRjaXRhOiBpbiBmcm9udCBv ZiB7c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6IHJpZ2h0IG9mIHtzdW10aX0KCl9fJydi dSd1JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBl cXVpdmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4 IHB1cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxk ICcnLm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUge2t1fSBjdSBkYXJ4aSBsbyBnZXJrdSBw dSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBtZWFuPyAobm90aWNlIHRoZSBmaXJzdCBl bGlkZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0cy9oaXRzIHgyIHdpdGggaW5zdHJ1bWVu dCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHthbmdlciF9IFRvIHRo ZSByaWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBtZSkgYW5kIGluIHRoZSBwYXN0IChvZiBz b21lIGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50IG9mIGEgcGVyc29uIGJlYXRpbmcgYSBk b2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBteSByaWdodCHigJ1+fgoKCgpJZiB0aGVy ZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBvbmUgYnJpZGksIHRoZSBydWxlIGlzIHRo YXQgeW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoaW5raW5nIGl0IGFzIGEgc28g Y2FsbGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBXaGVyZSB5b3UgYmVnaW4gYXQgYW4gaW1w bGllZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVmYXVsdDogdGhlIHNwZWFrZXIncyBub3cg YW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJv bSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkg bG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9IOKAnEF0IHNvbWUgdGltZSBpbiB0aGUg cGFzdCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJvdXQgZmEnb3JtYSdvcy7igJ0KCicnbWkg YmEge2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9Jycg 4oCcQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFi b3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBub3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9m IHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBpbiBi b3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIHRoZSBwb2ludCBv ZiByZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUg bWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwu IElmIHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2FuIHNvbWV0aW1lcyByZXN1bHQgaW4gc3lu dGFjdGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4gZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1 cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhlIGEgbWFuIGhpdCBhIGRvZyBqdXN0IGEg bWludXRlIGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6YScnIGFuZCAnJ3p1Jycgc3BlY2lmaWVz IGEgc2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5IG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFu Y2UgaW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRlciAnJ2knJywgJydhJycgYW5kICcndScn LiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFnYWluIGluIExvamJhbiwgYW5kIG1pZ2h0 IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKAnSBhbmQg4oCcbG9uZ+KAnSBpbiBhcmUg YWx3YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2ZSBhbmQgc3ViamVjdGl2ZS4gVHdvIGh1 bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBhIHNwZWNpZXMgdG8gZXZvbHZlLCBidXQg YSBsb25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4KCl9fJyd6aScnX18gc3VtdGNpdGE6IE9j dXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBv ZiByZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZp ZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZl cmVuY2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9m IHtzdW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgoKClNpbWlsYXJs eSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkgJyd2aScnLCAnJ3ZhJycgYW5kICcndnUn JyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHNw YWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9m IHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndmEnJ19fIHN1 bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3Vt dGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3Z1JydfXyBzdW10Y2l0 YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gdGhl IHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScnX18g4oCceDEgd29ya3MgYXQgeDIgd2l0 aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAnJ2JhIHtrdX0gemEga3UgbWkgdnUge2t1 fSBndW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZSB0aW1lIGluIHRo ZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9uZyBhd2F54oCdfn4KCk5vdGU6IFBlb3Bs ZSByYXJlbHkgdXNlICcnemknJywgJyd6YScnIG9yICcnenUnJyB3aXRob3V0IGEgJydwdScnIG9y ICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBiZWNhdXNlIG1vc3QgcGVvcGxlIGFsd2F5 cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUgaW4gdGhlaXIgbmF0aXZlIGxhbmd1YWdl LiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5pY2FsbHksIG1vc3Qgb2YgdGhlIHRpbWUg dGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFuZCB0aGUgJydwdScnIG9yICcnYmEnJyBz dXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNoIGRpcmVjdGlvbi1zdW10Y2l0YSBhbmQg ZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMgYSBkaWZmZXJlbmNlLiBSZW1lbWJlciB0 aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNlIHdvcmRzIHBsYWNlZCB0b2dldGhlciBh cmUgcGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8g cmlnaHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1 IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlzIGEg bG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhl IGZpcnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAn J3p1JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNlY29u ZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZhciBh d2F5IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dhcmRz IGZyb20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0LiAn J3p1IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1l IHRlbnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0 d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBv dGhlciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9u YWwgc3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFs bCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUg cG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBw bGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2luZyBm ZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMgb2Yg dGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0 aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5n IG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ3Un J19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoKCgpf XycndmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtz dW10aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZp ZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ3UnJ19fIHN1bXRjaXRhOiBzcGFu bmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGlt ZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUgc2lt aWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2 IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6aW5nLgoKX18nJy5vaScn X18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5zbGF0ZTogJycub2kgZGFp IGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdkZSB7a3V9IHplJ3Uge2t1fSB7dmF1fScn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgeW91IHNwZW5kIGEgbG9uZyB0aW1lIHRy YXZlbGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKAnSB+fgoKCgpUaG91Z2ggbW9zdCBwZW9w bGUgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwgdGVuc2VzLCB0aGVzZSBuZXcgd29yZHMg Y2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0IHVzZXMuIE9uZSBjb3VsZCwgZm9yIGlu c3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmlnIGRvZ+KAnSBhcyAnJ3RpIHZlJ3Uge2t1 fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMgdGhpbmcgZG9ncyBmb3IgYSBsb25nIHNw YWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1zcG9r ZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRzIGJyb3RoZXJzIGFsc28gY29tYmluZSB3 aXRoIG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5kIHRlbnNlcy4gVGhlIHJ1bGUgZm9yICcn emUndScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMgcHJlY2VkaW5nIGl0IG1h cmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0byB0aGUgcG9pbnQgb2Yg cmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQgbWFya3MgdGhlIG90aGVy IGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91bGQgYmUgZGVtb25zdHJh dGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5vJ29jdSdpIGRvIGNpdGthIHB1IHtr dX0gemUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScnIC0g4oCce3RvbGVyYW5jZX0geW91 IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBhIGxvbmcgdGltZSBlbmRpbmcgYXQg c29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdoZW4geW91IHN0YXJ0ZWTigJ0gb3Ig 4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9uZSBjYW4gYWxzbyBjb250cmFz dCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0ga2xhbWEge3ZhdX0nJyB3aXRoICcnZG8g cHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7dmF1fScnLiBUaGUgZmlyc3QgZXZlbnQg b2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHByZXNlbnQgYW5kIGV4dGVuZHMg YSBsaXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUgdGhlIHNlY29uZCBldmVudCBoYXMgb25l IGVuZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRzIG9ubHkgdG8gdGhlIHByZXNlbnQgKHRo YXQgaXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBmdXR1cmUpIG9mIHRoYXQgZW5kcG9pbnQu CgpfXycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5IHN0YW5kYXJkIHgy4oCdCgoKCldoYXQg ZG9lcyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUndSB7a3V9IGptaXZlIHt2YXV9JycgZXhw cmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7aGFwcGluZXNzIX0gSSBsaXZlIGZyb20g YSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25nIHdheSB0b3dhcmRzIHRoZSBmdXR1cmUg b3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGluIHRoaXMgY2FzZSkgb2YgdGhhdCBldmVu dOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBtb3N0IG9mIG15IGxpZmUgYWhlYWQgb2Yg bWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNp YWwgdGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGggc3Bh Y2lhbCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1ZGluYWw6IHdvbmRlciAtIGNvbW1vbnBs YWNlCgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9IHZlJ3Uge2t1fSBjYSd1IHtrdX0gemRh bmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDi gJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUg dG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxXb3csIHRoaXMgaG9tZSBleHRlbmRpbmcg YWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2UgY29udGludWUgd2l0aCB0aGlzIHN5bnRh eC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBt aW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vzbid0IG9jY3VweSB5b3VyIGJyYWluIGlu IG9yZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2luayBpbi4gU2luZyBhIHNvbmcgb3IgZWF0 IGEgY29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIsIGFzIGxvbmcgYXMgeW91IGxldCB5b3Vy IG1pbmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpU aG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9y IG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNob3Vs ZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBh bmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQg d2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0IHRvIGl0OgoKCgpVc2luZyB0aGUgdGVu c2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNhbiBpbWFnaW5lIGFuIGluZGVmaW5pdGUg dGltZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVudHMgb24gdGhhdCBsaW5lIHJlbGF0aXZl IHRvIHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29udG91cnMsIGhvd2V2ZXIsIHdlIHZpZXcg ZWFjaCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhhcyBjZXJ0YWluIHN0YWdlczogQSB0aW1l IGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBpdCBiZWdpbnMsIGEgdGltZSB3aGVuIGl0 IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVuZHMsIGFuZCBhIHRpbWUgYWZ0ZXIgaXQg aGFzIGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRlbGxzIHVzIHdoaWNoIHBhcnQgb2YgdGhl IGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUgdGltZSBzcGVjaWZpZWQg YnkgdGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoK Cl9fJydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHll dCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2NhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCl9fJydiYSdvJydf XyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlkaSBoYXMgZW5k ZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29t ZSBleGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnIG1l YW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2luIHRvIGhhdmUgYSBob21l4oCdLgoKCgpC dXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtrdX0gc2UgemRh bmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1c2UsIHJlbWVtYmVyLCBz YXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90aGlu ZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5nICcncHUnbycnLCB0aG91 Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBv ZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBvbmUg bm93LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0n JyBpcyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycsIGFuZCBsaWtl d2lzZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/ IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUgcHJlc2VudCBhcyBzZWVuIGZyb20gdGhl IHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcg ZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFy ZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9mIHRlbnNlcy4gRXZlbiBtb3JlIGNsYXJp dHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2VzOiAnJy5hJ28gbWkgYmF7 a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9JycgLSDigJxJIGhvcGUgSSd2ZSBzb29u IGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwgd2UgYWxzbyBvcGVyYXRlIHdpdGgg YW4gZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k 4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhpZ2hseSBzdWJqZWN0aXZlIGluIHRoaXMg c2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUgcHJv Y2VzcyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2FuIHNheSBhYm91dCBhIGxhdGUgdHJhaW4s IGZvciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBvZiByZWFjaGluZyB5b3UgaXMgbm93IGV4 dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNlcnZl ZCBtZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVuIGJlZm9yZSB0aGF0IHByb2Nlc3MnIG5h dHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxl cyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRv dXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1 bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGlt bWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKCgpfXycnY2lkamEnJ19fOiDigJx4 MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy4oCdCgoKClRyYW5zbGF0ZTogJycub2kg ZG8gY2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0gdSdlIGNpdGthIHpvJ2Ugbm9pIGNpZGph IGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91IGhhdmUgZmluaXNoZWQsIGluY3JlZGli bHksIGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVt Yj0ieSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6IFpBaE8gdGVuc2VzIChldmVudCBjb250 b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkgc3Rh Z2VzIGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93IHRoZSBldmVu dCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBwb2ludC1saWtlLgoKCgpBbGwgb2YgdGhl c2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2gg dGFrZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRlbnNl cyBhYm92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55IG9mIHRoZSBldmVudCBjb250b3VycyBk ZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lu bmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcnYnUndScnLCB0aGV5IGFjdHVhbGx5IGV4 dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBmdXR1cmUgb2YgdGhhdCBwb2ludCwgYW5k IG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0d28gbW9zdCBpbXBvcnRhbnQgcG9pbnQt bGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY28nYScnX18gLSBzdW10Y2l0YTogZXZlbnQg Y29udG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmluZyBkdXJpbmcge3N1bXRpfQoKX18nJ2Nv J3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcg ZHVyaW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhl IHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBl bmRlZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkg aXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgpNb3N0IG9mIHRoZSB0aW1l LCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQgYXQgdGhlaXIgbmF0dXJhbCBlbmRpbmc7 IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBUcmFpbnMgYXJlIG5vdCB1c3VhbGx5IGxh dGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRoZW1zZWx2ZXMgdG8gZWF0IG9ubHkgZWRp YmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4gYmUgaW50ZXJydXB0ZWQgYW5kIHJlc3Vt ZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVpciBvd24gZXZlbnQgY29udG91ciBhbHNv OgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNp bmcgZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3Vy OiBCcmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1 bmRpJycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0sICcnZGUnYSBqdW5kaScn IGFuZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExvamJhbiB3YXlzIG9mIHNheWluZyDigJxC UkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2 ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhvcGUgdGhlIHBvaW50IGdldHMgYWNyb3Nz LgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVudGlyZSBldmVudCwgZnJvbSB0aGUgYmVn aW5uaW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBwb2ludCB1c2luZyAnJ2NvJ2knJzoKCl9f JydwZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPigJ0KCicnbWkgcHUge2t1 fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3RjbyBwcmVudSB7a3V9IHt2YXV9JycgLSDi gJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkg bWV0IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdl bHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcsIHRob3NlIHR3byBsb25nIGxlc3NvbnMg d2l0aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRoZSBicmFpbiBzb21ldGhpbmcgdG8gcG9u ZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQncyBzbyBkaWZmZXJlbnQgZnJvbSBFbmds aXNoLiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRlcnMg YW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5kIGZvY3VzIV9fCgoKClNp bmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBvdXQg dGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQgd2Fz IHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBteXNlbGYsIG9yIGV4cHJl c3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5nbGlz aCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1cmUs IGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg4oCceW914oCd LCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCkluIExvamJhbiwgZWxpZGlu ZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNvIHRoYXQgcG9zc2liaWxpdHkgaXMgc2Fk bHkgbm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVzZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNo IGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycnLiBHcmFtbWF0aWNhbGx5IGFuZCBicmlk aS13aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycnLCBidXQgaXQgYWRkcyBhIGxheWVyIG9m IHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkgc3RhdGVtZW50IHdpdGggJydrbycnIGlu IGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhhdCB0aGlzIHNlbnRlbmNlIGlzIHRydWUg Zm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSByZWFzb24gd2UgZG9uJ3QgbmVlZCB0aGUg c3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9uJ3QgbmVlZCBvcmRlci13b3JkcyBk ZXJpdmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4gJydkbycnLgoKCgpIb3cgY291bGQgeW91 IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBsb25nIHRpbWUgKHVzaW5nICcna2xhbWEn JyBhcyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmtvIHZlJ3UgemUn dSBrbGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkgY2EgY28ndSBjaXNrYSBsbyBmYSdvcm1h J28gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxvb2sgdXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0 LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5 IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBibGFuaywgYW5kIHRydWUvZmFsc2UgcXVl c3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0 aGF0J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2UgaXQgb25seSBpbnZvbHZlcyBvbmUgd29y ZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNl IHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJlY2VkaW5n IHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVuY2UgaW50 byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIg dG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CgonJ3h1IHZlJ3UgemRhbmkg ZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2Vs YnJpLCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxp ZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVz aW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFu c3dlciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUg YnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3 aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhlIG90aGVyIGtp bmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3 b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRp IGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24g d2hhdCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydtYScnX18gLSBzdW10aSBxdWVzdGlvbgoK X18nJ21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18nJ3hvJydfXyAtIG51bWJlciBxdWVzdGlv bgoKX18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24KCgoKQXMgd2VsbCBhcyBtYW55IG90aGVy cy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVuIGp1c3QgcGxhY2UgdGhlIHF1ZXN0aW9u IHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6ICcnZG8gZHVuZGEgbWEgbWknJyAtIGFz a3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBhIGNvcnJlY3Qgc3VtdGkuIOKAnFlvdSBn aXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRpb24gb2YgJydzdW10Y2l0YScnICsgJydt YScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydtdSdpJydfXyAtIHN1bXRjaXRhOiBtb3Rp dmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10aX0KCgoKJycub2kgZG8gZGFyeGkgbWkg bXUnaSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0KCgoKTGV0J3MgdHJ5IGFu b3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xhdGU6CgonJy51aSBkYWkgZG8gY2EgemUn dSBwdSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91J3JlIGhhcHB5LCB3aGF0IGhh dmUgeW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5p Y2FsbHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBidXQg YW5zd2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZpb3Vz bHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5veWluZyBvbiBwdXJwb3NlLn5+CgoKClNp bmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3RydWN0dXJlIGRvZXMgbm90IHJldmVhbCB3 aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBvciBub3QsIG9uZSBiZXR0ZXIgbm90IG1p c3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8gZm9j dXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVu Y2VzLCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5j ZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0 IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBhdHRpdHVkaW5hbCBtYXJraW5nIHRoYXQg dGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNp dGx5IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBh cmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQncyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1l bnRpb24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0 IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3QgcXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRh a2UgYSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBkanVubyBsbyBkdSd1IG1hIGthdSB6ZGFu aSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBob21lLuKAnQoKX18nJ2RqdW5vJydfXyDi gJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9neSB4 NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAnJ21h IHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2FuIG1hcmsgYSBub24tcXVlc3Rpb24gd29y ZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0IGFz IHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBqaW1wZSBsbyBkdSd1IGR1bmRhIHRpIGth dSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhpcy7i gJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5IGFu ZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVzdGluZykgc3R1 ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQg dGhlIExvamJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2Jp biIsIG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExvamJhbiBvbiBNdW1ibGUsIGFuZCB0aGVu IHByYWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2aW5nIGFuIGludGVybmFsIGNvbnZlcnNh dGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9ubHkgZ29vZCBpZiBpdCBpc24ndCB3aXRo IGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5pbmcgcHJvbnVuY2lhdGlvbiBmcm9tIHdy aXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9u IHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9ydGFudCB0aGV5IG1pZ2h0IGJlLCBidXQg YSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJhbiBtb3JwaG9sb2d5LgoKCgpXaGF0IGlz IG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQgZnJvbSBHcmVlayBtZWFuaW5nIOKAnHRo ZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlzIGNvbnRleHQsIHdlIHRhbGsgYWJvdXQg aG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFuZCBzb3VuZHMsIGFzIGNvbnRyYXN0ZWQg d2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5jZXMgd2l0aCB3b3Jkcy4gTG9qYmFuIG9w ZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2ljYWwgd29yZCBjbGFzc2VzLCB3aGljaCBh cmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9neS4gVG8gbWFrZSBpdCBhbGwgbmljZSBh bmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGggY2VydGFpbiBmdW5jdGlvbnMgdGVuZCB0 byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xhc3NlcywgYnV0IGV4Y2VwdGlvbnMgbWF5 IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmluZWQgQnl8VHlwaWNhbCBGdW5jdGlvbgoK ICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8ICAgYnJpZGktd29yZHwgICBBbW9uZyBm aXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCYIOKAnCkgaXMgYSBjb25zb25hbnQgY2x1 c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBhcyBhIHNlbGJyaSBieSBkZWZhdWx0LiBB bHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAgLS1HaXNtdXwgICBSb290LXdvcmR8IDUg bGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZDViAgIHwgICBPbmUgdG8gZml2ZSBzdW10 aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4KCiAgIC0tTHVqdm98ICBDb21wb3VuZCB3 b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHigJ0sIG1lYW5pbmcg4oCcY29tcGxleCB3 b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBieSBzdHJpbmdpbmcgcmFmc2kgdG9nZXRo ZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNzYXJ5LnwgICBDb3ZlcnMgbW9yZSBjb21w bGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1J2l2bGF8ICBDb3B5LXdvcmQgfCBBcyBi cml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBjcml0ZXJpYSBvZiBnaXNtdSBvciBsdWp2 bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5pcXVlIGNvbmNlcHRzIGxpa2UgbmFtZXMg b2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZsYXwgIE5hbWUtd29yZCB8ICAgQmVnaW5u aW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBzdG9wKS4gTGFzdCBzb3VuZC9sZXR0ZXIg aXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFzIGEgbmFtZSBvciBhcyB0aGUgY29udGVu dCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1hci13b3JkLiBGcm9tIOKAnGNtYXZsYeKA nSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUgY29uc29uYW50IG9yIHplcm8sIGFsd2F5 cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93ZWwuICB8ICAgR3JhbW1hdGljYWwgZnVu Y3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRzOnwgICB8ICAgfAoKICAgUmFmc2l8ICAg QWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAtQ0NWQ1YsIENWQ0N5LSBvciBDQ1ZDeS0g IHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBzdHJpbmdlZCB0b2dldGhlciB0byBmb3Jt IGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBi ZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVs bCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIGNt ZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBhIG5h bWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5ub3Qg YXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2VkIGJ5 IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5 IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9m IGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9waGUp LCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBOYW1l cyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRlZDog JycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJlbW92 ZWQ6ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJpZGktd29yZHPi gJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJlZm9yZSBhbG1v c3QgYWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBicml2bGEuIFRo aXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxjb250ZW50LXdv cmRz4oCdLiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwgd2l0 aG91dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRlIGxv amJhbiBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRo ZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRhYmxl LCBicml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUg cm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2 ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMgY29u Y2VwdHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCc ZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcnZHVu ZGEnJwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1bmRl ciByYWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25lIG5h cnJvd3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4g ZWxhYm9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkgaXMg bmVhciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxwYSdpJycsIGZy b20gJydzZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBoYXZlIG9uZSBkZWZpbml0aW9uLiBJbnN0 ZWFkLCBsdWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRlZmluZWQsIGFu ZCB0aGVuIHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBkaWN0aW9uYXJ5 LiBFeGFtcGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGktd29yZCksICcnY2luamlrY2EnJyAoc2V4 dWFsLXNvY2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNoZWxsLWluc2Vj dCA9IGJlZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJlIG1hZGUgYnkgbWFraW5nIHVwIHdvcmRz IHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQgbm90IGZvciBsdWp2byBv ciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNoIGl0J3MgaGFyZCB0byBj b3ZlciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMgb3Ig dmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2Ry Z29ndXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScnIChh bmdlbCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHplcm8g Y29uc29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBleHRl cmlvciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0 aW9ucyBvY2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRpbmFscyBleGlz dHMgZm9yIHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJkIGV4YW1wbGUg YXJlIHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0IGFzIGJyaXZsYS4gSXQg aXMgdmFsaWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGluIGEgcm93IGFzIG9uZSB3b3JkLCBidXQg aW4gdGhlc2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBkb25lLiBCeSBncm91cGluZyBjZXJ0YWlu IGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwgaXQgaXMgc29tZXRpbWVzIGVhc2ll ciB0byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxpZCwgYW5kIGlz IHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6dSB2dSBrdSBtaSBjaXRrYScnLiBM aWtlIG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAoYnV0IG5lZWQgbm90IGFsd2F5cykg cGxhY2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0aCBhIHZvd2Vs LgoKY21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBvciBWJ1ZWIGFyZSBleHBlcmltZW50YWws IGFuZCBhcmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIsIGJ1dCB3 aGljaCBoYXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQgdG8gYSBjZXJ0 YWluIG5lZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5vdCBMb2piYW4gd29yZHMsIGFuZCBjYW4g bmV2ZXIgYXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZlcmFsIChtb3JlIHRoYW4gb25lKSByYWZz aSBjb21iaW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1cCB0byB0aGUg YnJpdmxhLWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAnJ2xvamJhbicnIGlzIGludmFsaWQgYmVj YXVzZSBpdCBlbmRzIGluIGEgY29uc29uYW50ICh3aGljaCBtYWtlcyBpdCBhIGNtZXZsYSksIGFu ZCAnJ2NpJ2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBub3QgY29udGFpbiBhIGNv bnNvbmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFkIGFzIHR3byBjbWF2byB3cml0dGVuIGFz IG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0cmluZyBpcyBib3RoIGEgY21hdm8gYW5k IGEgcmFmc2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhlIHJh ZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90aCBh IGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90 IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlm IHRoZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0 dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEgcmFm c2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2VsICJ5 IiBjYW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIg Y29tYmluYXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0sIC1DVkNDViBh bmQgLUNDVkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93IG5vdywgeW91IHNob3VsZCBiZSBhYmxl IHRvIGFuc3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2VudDoKCkNhdGVnb3JpemUgZWFjaCBvZiB0 aGUgZm9sbG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyksIGdpc211IChnKSwgbHVqdm8gKGwpLCAn J2Z1J2l2bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJsCgpC ICkgLmlyY2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCApIHhl bG1hbiAgICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2UgICAgICAgIEsgKSBkYW5zZWtlCgpGICkg ZGppc2t1ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6YS1jLCBiLWYs IGMtZywgZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGktYywgai1sLCBrLWYsIGwtZi4gSSBsZWZ0 IG91dCB0aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0IHdvdWxkbid0 IGJlIHRvbyBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1Jycg ZG8gbm90IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50LiBU aGUgbW9ycGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdCdzIGp1c3QgYW4gdW5k ZWZpbmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBMQSkK CklmIHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBs ZXNzb25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93bGVk Z2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2ggb3JkZXIgeW91 IGxlYXJuIHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBuZXh0IGxlc3Nv bnMgd2lsbCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNpbmcgZGlmZmljdWx0eSBh bmQgc29ydGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZlcnNhdGlvbi4K CgoKT25lIG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMgb24geW91ciBzcGVhayBub3cgaXMgeW91 ciBsaW1pdGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFrZSBzdW10aS4gU28gZmFyLCB5b3Ugb25s eSBrbm93ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywgd2hpY2ggZG9lc24ndCB0YWtlIHlvdSBm YXIgY29uc2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxl c3NvbiBhcyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExvamJh biBzdW10aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGks IHRoZSBvbmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGlu IGxvamJhbiBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0 aGlzIGxlc3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUgY29tYmluYXRp b25zICcnbGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01FVkxBJycuIFdl IHdpbGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMgb2YgZGVzY3JpcHRp dmUgc3VtdGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qgc28g c2ltcGxlIGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBnYWRyaTogR2VuZXJpYyB2ZXJpZGljYWwg 4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2Fy ZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsZScnX18gLSBnYWRyaTogR2VuZXJp YyBkZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZh Z3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xhJydfXyAt IGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBv ciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFsKHMpLgoKCgpZ b3UgYXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQgZG9lcy4gQnV0 IHdoYXQgZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3VlIHdpdGggcmVn YXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGluZGl2 aWR1YWxzIGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNrIHRvIGxhdGVyLiBGb3Igbm93LCDigJx2 ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhp bmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0byBh Y3R1YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBhIGNsYWltIHdo aWNoIG1heSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9u IGFyZSBhY3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuIAoKCgpUaGlz IG1heSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5k IHRodXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhh dmUgb25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUg c2VsYnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5 IGlkZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMuIFRoaXMgbWVhbnMgdGhhdCAnJ2xlJycg aGF2ZXMgdHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBmcm9tICcnbG8nJzogRmlyc3RseSwgaXQg Y2Fubm90IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyByZWZlcnMgdG8g c3BlY2lmaWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vya3UnJyBkZWZpbml0ZWx5 IGlzIG9uZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdzIG5vdCB2ZXJp ZGljYWwsIGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3MgdGhl IGRlc2NyaXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQ ZXJoYXBzIHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBm YW1pbGlhciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFw cHJveGltYXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlzIHBl cmhhcHMgb3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRv IGRlc2NyaWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBkb2cs IGFuZCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3UnJyBp cyB1c3VhbGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNvICcn bG8gZ2Vya3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDigJxh IGRvZ+KAnSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUg ZG9n4oCdIG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScnIHdv dWxkIGJlIOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJhc2lj ICcnZ2FkcmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hpY2gg SSBoYXZlIHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJ IG1lYW4gYnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRp Y2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJl ZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRl c2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMu IEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVycmVk IHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhlIGdh ZHJpIGRlcml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtlIGFu eSBvdGhlciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBub3Qg bWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNp bmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJp IG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlz dCBoYXZlIHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMgJydsYWknJyBhbmQgJydsYSdpJycgYXJl IGEgYml0IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fsd2F5c19fIG1hcmtzIHRoZSBiZWdpbm5p bmcgb2YgYSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0aGluZyB0aGF0IGNhbiBi ZSBncmFtbWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBj b25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBleGFtcGxlLCAnJ2xlIG1pIGdlcmt1Jycg aXMgIm15IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1JycgaXMgc29tZW9uZSBjYWxsZWQgIk15IERv ZyIuCgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0 aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2kn J19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJl YXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg 4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMp LgoKX18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCc Y29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFz cyhlcykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9u ZTogVGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJlIGlz IG9ubHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNv bnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0 d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNjcmli ZWQgdG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9mIGlu ZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpIGlmLCBhbmQgb25s eSBpZiwgYWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVhY2ggZml0IHRoZSBzZWxicmkuIEl0IGlz IGNvcnJlY3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcnbG8gZ2Vya3UnJywgY29uc2lkZXJlZCBp bmRpdmlkdWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBmb3IgZWFjaCBvZiB0aGUgZG9ncyBpdCdz IHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0 cyBvbmx5IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29tcG9uZW50cyBmaXQgYXMgYSB3aG9sZSwg YXMgYSB0ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwgYWxsIHRoZSBtZW1iZXJzIG9mIGEgbWFz cyAnJ2xvaSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBvcmRlciBmb3IgJydsb2knJyB0byBiZSBh cHBsaWNhYmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMiIGFyZSBzb3BoaXN0aWNhdGVkLCBhbmQg cmVxdWlyZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0cmF0ZSB3aGljaCBwcm9wZXJ0aWVzIGl0 IGNhbiBoYXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEgZmxhbmtzL2VuY2lyY2xlcy9lbmNsb3Nl cyB4MiBpbiBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPigJ0KCicnbGVpIHByZW51IGN1IHNydXJp IGxvIHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJvdW5kZWQgdGhlIGhvbWUu4oCdIGlzIHBs YXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9rZXMgbm90IGNvbnNpZGVyZWQsIGl0J3Mg Y29tcGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNvdWxkIGJlIHRydWUgZm9yIGFueSBvbmUg b2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2ggYW5hbG9neSBjb3VsZCBiZTog4oCcSHVt YW5zIGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRoIGNlbnR1cnnigJ0uIFN1cmVseSBubyBo dW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1hbnMgZGlkLCBhbmQgdGhhdCBtYWtlcyB0 aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3ZWxsIGFzIGluIExvamJhbiBpZiDigJxo dW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRoZSBMb2piYW4gbWFzcywgdGhlIEVuZ2xp c2ggbWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVmZXIgdG8gaW5kaXZpZHVhbHMgZWFjaCBv ZiB3aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBsZToKCl9fJydtaXZ5c2xlJydfXzogIngx IGlzIGEgYmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNtIHgyIgoKX18nJ3JlbW5hJydfXzogIngx IGlzIGEgaHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJlbW5hJycgLSAiU29tZSBtYXNzZXMgb2Yg Y2VsbHMgYXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2YgdGhlIGNlbGxzIGFyZSBodW1hbi4gSW5k ZWVkLCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1hbiB0cmFpdHMsIGJ1dCB0aGUgY2VsbHMg Y29uc2lkZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEgaHVtYW4uCgoKCkEgbWFzcyBtYWRlIHdp dGggJydsZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScnLCByZWZlcnMgdG8gYSBtYXNzIGZvcm1l ZCBieSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBz cGVha2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJl cyBieSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdob2xl IGlzIG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJ dCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZy YWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0 ICcnbG8nJyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRvIGRlc2NyaWJlIGJvdGggaW5kaXZpZHVh bHMgYW5kIG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBvZiBkb2dzLCBjb25zaWRlcmVkIGFzIGEg bWFzcyBuZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBkZXNjcmliZSBpdCBhcyBlaXRoZXIgJyds b2kgZ2Vya3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkgdXNlICcnbG8nJywgdGhpcyBhbGxvd3Mg bWUgdG8gY29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3aGljaCBsb29rcyBsaWtlIGEgY29udHJh ZGljdGlvbiwgYnV0IHJlYWxseSBpc24ndDogJydsbyBnZXJrdSBuYSBnZXJrdScnIC0gIlNvbWUg ZG9ncyBhcmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJlaW5nIGNvbnNpZGVyZWQgYSBtYXNzIG9m IGRvZ3MsIHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBhcyBhIHdob2xlIGlzIG5vdCBhIGRvZywg YnV0IHJhdGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0 aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGlu ZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNz LCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRp Zmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVy LCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFu ZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNh dXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4 dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBi ZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0 aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18n J2xvJ2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKA nS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xlJ2knJ19fIC0gZ2Fkcmk6IERlc2NyaXB0 aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQu CgpfXycnbGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCc Y29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBz ZXQuCgoKClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVhbHMgb3IsIHNvbWV0aW1lcywgbWFzc2Vz LCBzZXRzIGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20gdGhlIG9iamVj dHMgZnJvbSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4gQSBzZXQgaXMgYSBwdXJlbHkgbWF0aGVt YXRpY2FsIG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQgaGFzIHByb3BlcnRpZXMgbGlrZSBjYXJk aW5hbGl0eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1c2lvbi4gQWdhaW4sIG5vdGUgdGhlIGRp ZmZlcmVuY2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3MsIGFuZCB0aGUgdGhpbmdzIG9mIHdoaWNo IHRoZSBzZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1JydfXyDigJx4MSBpcyBhIHRpZ2VyL2xlb3Bh cmQvamFndWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0aCBjb2F0IG1hcmtpbmdzIHgz4oCdCgon J2xvJ2kgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcgY2F0 cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQg aW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0g dGhlcmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdv KSBnZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xvJ2UnJ19fIC0gZ2Fkcmk6IHZlcmlkaWNh bCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBhcmNo ZXR5cGUgb2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xlJ2UnJ19fIC0gZ2Fkcmk6IERlc2NyaXB0 aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGRl c2NyaWJlZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcnbGUge3NlbGJyaX0nJy4KCk9mIHdoaWNo IHRoZXJlIGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoKCgpTbywgd2hhdCBpcyBhY3R1YWxseSBt ZWFudCBieSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydlIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFs LCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJl c3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRo aXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMg c3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2 ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRo ZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBv ZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEg dHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18n J2tha25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJj dW1zdGFuY2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZsYScnIC0g4oCc VGhlIHR5cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr4oCdLgoKCgonJ2xlJ2UnJyB0aGVuLCBp cyB0aGUgaWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBvciBkZXNjcmliZWQgYnkgdGhlIHNwZWFr ZXIuIFRoaXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNvcnJlY3QsIGFuZCBpcyBvZnRlbiB0cmFu c2xhdGVkIGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBldmVuIHRob3VnaCB0aGUgRW5nbGlzaCBw aHJhc2UgaGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRpdmUgY29ubm90YXRpb25zLCB3aGljaCB0 aGUgTG9qYmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVyeW9uZSBoYXMgYSBzdGVyZW90eXBpY2Fs IGFyY2hldHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVnb3J5LiBJbiBvdGhlciB3b3JkcywgJyds bydlIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAn J2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZSdlIHJlbW5hJycgYmVzdCBleGVt cGxpZmllcyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUgZWxldmVuIGdhZHJpIGNhbiBiZSBzZWVu IGluIHRoZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVyaWN8TWFzc2VzfFNldHN8R2VuZXJhbGl6 aW5nCgp2ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoKRGVzY3JpcHRpdmV8bGV8bGVpfGxlJ2l8 bGUnZQoKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5vdGU6IEVhcmxpZXIs IHRoZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRoZSBnZW5lcmljIGdhZHJpLiBIb3dldmVy LCB0aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBnYWRyaSB3ZXJlIGNoYW5nZWQgaW4gbGF0 ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1bGVzIG9uIHRoaXMgdG9waWMsIG5pY2tl ZCDigJx4b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9sZCB3YXkuIE5vdywgJydsbycnIGlzIGdl bmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEgZWxsaXB0aWNhbCBkaWdpdCAobGVzc29u IG5pbmV0ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZpZnRlZW4gKHRoZSBM b2piYW4gc3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBLT2hBNikKClNlZSB3aGF0IGhhcHBlbnMg aWYgSSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5jZTog4oCcU3RlcmVvdHlwaWNhbCBwZW9w bGUgd2hvIGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8gZWFjaCBvdGhlciBhYm91dCB0aGUgbGFu Z3VhZ2VzIHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jhbmd1JydfXyDigJx4MSBpcyBhIGxhbmd1 YWdlIHVzZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJzdHJhY3Rpb24p4oCdCgonJ2xlJ2UgcHJl bnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgbGUn ZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBsbyBiYW5n dSBwb2kgbG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3Ugc2UgYmFuZ3Ug a2UnYScnCgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhlIExvamJhbiB2ZXJzaW9uIGlzIG11Y2gg bG9uZ2VyIHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMgcHJpbWFyaWx5IGJlY2F1c2UgdGhlIGZp cnN0LCByaWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBiZWluZyByZXBlYXRlZCB0d28gbW9yZSB0 aW1lcyBpbiB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRoZSBFbmdsaXNoIGNhbiByZWZlciB0byBp dCBieSDigJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV54oCdIC0gbXVjaCBtb3JlIGVmZmljaWVu dGx5LiBXb3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlz bXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1 cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29yZHMgY2FsbGVkICcnc3Vta2EnaScnIG1l YW5pbmcg4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCdLiBJbiBFbmdsaXNoLCB3ZSByZWZlciB0 byB0aGVtIGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5IGFyZSBlc3NlbnRpYWxseSB0aGUgc2Ft ZSBhcyB0aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdpdGggc3VtdGkgaW5zdGVhZCBvZiBub3Vu cy4gSW4gZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3RpJycsICcnZG8nJyBhbmQgJydtaScnLCBi dXQgdGhlcmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3MgZ2V0IGxlYXJuaW5nLiBGaXJzdCwgd2Ug d2FudCB0byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNhbiBiZWdpbiB3aXRoIHRoZSBvbmVzIG1v c3QgZmFtaWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQgeW91J3ZlIGFscmVhZHkgbGVhcm5lZDoK CgoKX18nJ3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVkaWF0ZSDigJhpdCc6IHJlcHJlc2VudHMg YSBzdW10aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFrZXLigJ0KCl9fJyd0YScnX18gLSBzdW1r YSdpOiDigJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkgc29tZSBwaHlzaWNhbCBk aXN0YW5jZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3NlIHRvIHRoZSBsaXN0ZW5lcuKAnQoKX18n J3R1JydfXyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkg cGh5c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZ b3UgY2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBw b3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmlu ZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5n IHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBj ZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQg b25seSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFj ZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUg YmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFu Y2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3Jk czogJyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRpc3RhbnQgZnJvbSBib3RoIHRoZSBzcGVh a2VyIGFuZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdoZXJlIHRoZSBzcGVha2VyIGFuZCBsaXN0 ZW5lciBpcyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5lciBjYW5ub3Qgc2VlIHRoZSBzcGVha2Vy IHRhbGtpbmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRoaW5nIGNsb3NlIHRvIHRoZSBsaXN0ZW5l ci4gVGhpcmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5kIGNvbnRleHQgZGVwZW5kZW50LiBUaGVz ZSB0aHJlZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGljIGluIHdyaXR0ZW4gdGV4dCwgZm9yIGlu c3RhbmNlLCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIg aXMgdW5rbm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hhbmdlcyBhcyB0aW1lIGdvZXMgYnkuIEZ1 cnRoZXJtb3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBjYW5ub3QgcG9pbnQgdG8gYW4gb2JqZWN0 IGFuZCBleHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUgYm9vay4KCgoKVGhlbiB0aGVyZSBpcyBh IHNlcmllcyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcnbWknJyBhbmQgJydkbycnIChhbmQgJydr bycnLCBidXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0g c3Vta2EnaTogVGhlIHNwZWFrZXIocykuCgpfXycnbWknbycnX18gLSBzdW1rYSdpOiBUaGUgbWFz cyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaSdhJydfXyAt IHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCBvdGhlcnMuCgpfXycnbWEn YScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSwgdGhlIGxpc3RlbmVy KHMpIGFuZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vta2EnaTogVGhlIGxpc3RlbmVyKHMpLgoK X18nJ2RvJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIGxpc3RlbmVyKHMpIGFuZCBv dGhlcnMuCgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBtb3JlIGVhc2lseSBncmFzcGVkIGluIHRo ZSBiZWxvdyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmlsZUlkPSIzIiB0aHVtYj0ieSIgcmVsPSJi b3hbZ10ifQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgnJ2tvJycgZXhjbHVkZWQpLiAnJ2xlIGRy YXRhJycgaXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDigJx0aGUgb3RoZXIocynigJ0KCgoKSXQg aXMgcG9zc2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRvIGJlIOKAnHRoZSBzcGVha2Vyc+KAnSwg aWYgb25lIHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBiZWhhbGYgb2YgYWxsIG9mIHRoZW0uIFRo ZXJlZm9yZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRyYW5zbGF0ZWQgYXMgZWl0aGVyICcnbWkn JywgJydtaSdvJycsICcnbWknYScnIG9yICcnbWEnYScnLCB3aGF0IG9uZSBxdWl0ZSBvZnRlbiBt ZWFucyBpcyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBvZiB0aGVzZSBzaXgsIGlmIHRoZXkgcmVm ZXIgdG8gbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCByZXByZXNlbnQgbWFzc2VzLiBXaXRoaW4g YnJpZGktbG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEEgaXMg ZXhhY3RseSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQiB0byBz cGVha2VyIEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZSBicmlkaS4gV2Ugd2lsbCBjb21l IGJhY2sgdG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJpa2EnaScnIChwcm8tYnJpZGkpIGxlc3Nv bi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFyZSB2ZXJ5IGNvbnRlbnQtc3BlY2lmaWMs IGFuZCBjYW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNl bnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVz IGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmkn J19fIC0gc3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydyYScnX18gLSBz dW1rYSdpOiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUgbGFzdCBzdW10aSBtZW50aW9uZWTigJ0K Cl9fJydydScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoK CgpUaGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBt b3N0IG90aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29uIHRoYXQgbW9zdCBvdGhlciAnJ3N1bWth J2knJyBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhlc2Ugc3VtdGksIGlzIHRoYXQgdGhleSBh cmUgc28gZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIHRv IHRoZSBydWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQgJyd0dScnLCBiZWNhdXNlIHlvdSBjb3Vs ZCBoYXZlIGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQsIGFuZCB0aHVzIGNhbm5vdCBqdXN0IHJl cGVhdCB0aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVmZXIgdG8gdGVybWluYXRlZCBzdW10aSwg YW5kIHRodXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW4gYWJz dHJhY3Rpb24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBhYnN0cmFjdGlvbjogJydsZSBwZW5kbyBu b2kga2UnYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3Jp JycgY2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWlu YXRlZCwgbm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywgc2luY2UgdGhleSBhcmUgc3Vta2EnaSwg c28gaXQgcmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicncmEnJyBhbmQgJydydScnIGFyZSBjb250 ZXh0LWRlcGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIgdG8sIGJ1dCB0aGV5IGZvbGxvdyB0aGUg cnVsZXMgbWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScnIGFsd2F5cyByZWZlciB0byBhIG1vcmUg ZGlzdGFudCBzdW10aSB0aGFuICcncmEnJywgd2hpY2ggaXMgYWx3YXlzIG1vcmUgZGlzdGFudCB0 aGFuICcncmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBz dWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcg aXQgdXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWthJ2knJyEKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJh bi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtlJ2EnJy4gJydyaScn IGlzIG5vdCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVycyB0byAnJ2xhIC5sb2piYW4uJycuICcn cmEnJyBjb3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUgbWlzdGFrZW5seSBiZSB0aG91Z2h0IHRv IHJlZmVyIHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4nJywgYnV0ICcncnUnJyBpcyBh c3N1bWVkIHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3RhbnQgc3VtdGkgLSB0aGUgbW9zdCBvdXRl ciBvbmUufn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRjaXRhIHdoaWNoIHJlcHJlc2VudCB1dHRl cmFuY2VzOiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlhYmxlcy4gVGhleSBuZWVkIG5vdCBiZSBy ZXN0cmljdGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEpLCBidXQgY2FuIGJlIHNldmVyYWwgc2Vu dGVuY2VzLCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6CgpfXycnZGEndScnX18gVXR0ZXJhbmNl IHZhcmlhYmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoKX18nJ2RlJ3UnJ19fIFV0dGVyYW5jZSB2 YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxl OiBQcmV2aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBUaGlz IHNlbnRlbmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZXh0IHNlbnRlbmNl CgpfXycnZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoK X18nJ2RhJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIGZ1dHVyZSBzZW50ZW5jZQoK X18nJ2RvJ2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogRWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFy aWFibGU6IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNlIHJlcHJlc2VudHMgc2VudGVuY2VzIGFz IHN1bXRpLCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bva2VuIHdvcmRzIG9yIHRoZSBsZXR0ZXJz LCBub3QgdG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0uCgoKClRoZXJlIGFyZSBtb3JlIExvamJh biAnJ3N1bWthJ2knJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5lZWQgYSBicmVhayBmcm9t IHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQgc3VtdGksIHN1bXRpIG1h ZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNpeHRl ZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllvdSBjYW4gcHJvYmFibHkg c2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJhbmd1IGtlJ2EnJyBpcyBh IGxlc3MgdGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9yIOKAnG15IGxhbmd1YWdl4oCdLiBUaGlz IGlzIGJlY2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFyb3VuZC4gQSBsYW5ndWFnZSB3aGljaCBJ IHNwZWFrIGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0aGUgeDEgb2YgdGhlIGJyaWRpICcnYmFu Z3UgbWknJy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRvIGEgc3VtdGkgdXNpbmcgYSBnYWRyaTog JydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBiZWNhdXNlICcnYmFuZ3UgbWknJyBp cyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcg JydsZSBzdSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2ZXMgdGhlIGJyaWRpIGEgbmV3IHgxLCB0 aGUgYWJzdHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRoZW4gZXh0cmFjdHMgdGhhdC4gVGhhdCBt YWtlcyBhbiBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5nIHNvbWV0aGluZyBsaWtlIOKAnHRoYXQg c29tZXRoaW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50ZXIgJydiZScnLiAnJ2JlJycgaXMgYSB3 b3JkIHdoaWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRpLCBzdW10Y2l0YSBhbmQgb3RoZXJzKSB0 byBhIHNlbGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkgc2VsYnJpIGhhcyBubyBlZmZlY3Q6IGlu ICcnbWkgbmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsIHdo ZW4gYSBzdW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0aGlzIHdheSwgeW91IGNhbiB1c2UgYSBn YWRyaSBvbiB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1bXRpIHNwbGl0dGluZyBvZmY6ICcnbGUg YmFuZ3UgYmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRpb24gdG8gdGhlIHByb2JsZW0gYWJvdmUu IExpa2V3aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRjaXRhOiAnJ2xlIG51IGRhcnhpIGtlaSBi ZSBnYXUgZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRpbmcsIHdoaWNoIGlzIGNhdXNlZCBieSB5 b3XigJ0uIE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiAnJ2tlaScnIG1ha2Vz IGl0IHBhcnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBmYSdvcm1hJ28gcHJlc2VudCwgJydiZScn IGF0dGFjaGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUgZmEnb3JtYSdvLCBpdCBhdHRhY2hlcyB0 byAnJ2RhcnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBpcyBiZWluZyBlbXBoYXNpc2VkOiBJcyB0 aGUgaGl0dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRpbmcgY2F1c2VkIGJ5IHlvdT8gSW4gdGhp cyBzcGVjaWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5n LgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBp bnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJyds ZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2Jl JycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKA nFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKAnSwgd2hpY2ggbWFrZXMgbm8gc2Vuc2Uu IEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpLCB0aGUgYWxsIHRo ZSBvbmVzIGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBiZSBib3VuZCB3aXRoICcnYmVpJycuIFRo ZSDigJxiaW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydiZSdvJycgLSBvbmUgaW5z dGFuY2Ugb2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBi eSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRj aXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGgg KGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxicmkKCl9fJydiZSdvJydfXyBlbmRzIGJp bmRpbmcgdG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28gd2F5cyB0byBsb29zZWx5IGFzc29jaWF0 ZSBhIHN1bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFuZCAnJ25lJycgZm9yIHJlc3RyaWN0aXZl IGFuZCBub24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24uIEFjdHVhbGx5LCAnJ2xlIGJhbmd1IHBl IG1pJycgaXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg4oCcbXkgbGFuZ3VhZ2XigJ0sIHNpbmNl IHRoaXMgcGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBpcyB2YWd1ZSBhcyB0byBob3cgdGhlIHR3 byBhcmUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIuCgonJ3BlJycgYW5kICcnbmUnJyBhcmUg dXNlZCBhcyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBsaWtlIHNheWluZyDigJxteSBjaGFpcuKA nSBhYm91dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24uIEl0J3Mgbm90IHJlYWxseSB5b3Vycywg YnV0IGhhcyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3UuIEEgbW9yZSBpbnRpbWF0ZSBjb25uZWN0 aW9uIGNhbiBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8nJywgd2hpY2ggbWFrZXMgdGhlIGFzc29j aWF0aW9uIHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBlcnNvbiwgYXMgaW4g4oCcbXkgY2Fy4oCd IGZvciBhIGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24uIFRoZSBsYXN0IGtpbmQgb2YgYXNzb2Np YXRvciBpcyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBzby1jYWxsZWQgImluYWxpZW5hYmxlIiBi b25kIGJldHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0aGUgYm9uZCBpcyBpbm5hdGUgYmV0d2Vl biB0aGUgdHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNvdWxkIGJlICJteSBtb3RoZXIiLCAibXkg YXJtIiBvciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBvZiB0aGVzZSAicG9zc2VzaW9ucyIgY2Fu IGJlIGxvc3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91ciBhcm0sIGl0J3Mgc3RpbGwgX195b3Vy X18gYXJtKSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGllbmFibGUuIEFsbW9zdCBhbGwgb2YgdGhl IHRpbWVzIGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUsIHRob3VnaCwgdGhlIHgyIG9mIHRoZSBz ZWxicmkgY29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0aGUgeDEgaXMgY29ubmVjdGVkLCBzbyAn J2JlJycgaXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhy YXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BlJydfXyByZXN0cmljdGl2 ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncG8n J19fIHBvc3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBzcGVjaWZpYyB0by4uLiIK Cl9fJydwbydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBiZWxvbmdz IHRvLi4uIgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVjdCB0byBrbm93IGlzICcne2dhZHJpfSB7 c3VtdGl9IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZhbGVudCB0byAnJ3tnYWRyaX0ge3NlbGJy aX0gcGUgIHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcnbGUgbWkgZ2Vya3UnJyBpcyBlcXVpdmFs ZW50IHRvICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNvdWxkIGhhdmUgZGVzY3JpcHRpb24gc3Vt dGkgaW5zaWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlpbmcgJydsZSBsZSBzZSBjaW5qaWtjYSBi ZSBtaSBrdSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUgbGUgc2UgY2luamlrY2EgYmUgbWknJyA9 4oCcdGhlIGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdCdzIG5v dCB2ZXJ5IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiksIGFuZCBp cyBvZnRlbiBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVlZCBhbHNvIHRvIGxlYXJuICcndHUnYScn LCBzaW5jZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2VudGVuY2VzIG11Y2ggZWFzaWVyLiBJdCB0 YWtlcyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBhbm90aGVyIHN1bXRpIC0gYW4gZWxsaXB0 aWNhbCBhYnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRoaW5nIHRvIGRvIHdpdGggdGhlIGZpcnN0 IHN1bXRpLiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkgJydtaSBkamljYSBsbyBudSBtaSBjaXRr YSBsbyBwbGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBiZSB1cCB0byBjb250ZXh0IHdoYXQgYWJz dHJhY3Rpb24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJlIGFuZCBqdXN0IHNheSAnJ21pIGRqaWNh IHR1J2EgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlv biB0aGUgc3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VNVEknJywgc28gaXQgc2hvdWxkIG9ubHkg YmUgdXNlZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFzeSB0byBndWVzcy4gQW5vdGhlciBleGFt cGxlOgoKX18nJ2dhc251JydfXyDigJx4MSBkb2VzL2JyaW5ncyBhYm91dCB4MiAodm9saXRpb24g bm90IGltcGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUgdHUnYSBsbyBza2FtaScnIC0g4oCcSSBz ZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5 LCAnJ3R1J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlJycu IFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90 IHVzZSAnJ3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291bGQgc2VlbSBzdWl0YWJsZS4gVGhlc2Ug c2l0dWF0aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQgdGhlIHJlc3VsdGluZyBzdW10aSB0byBi ZSBhbiBhYnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUgc3VtdGkuIEluIHRoaXMgY2FzZSwgb25l IGNhbiB1c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2YWd1 ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUgc3Un dSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNhbiBi ZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9f JydsdSdhJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBp bmRpdmlkdWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3Nl cXVlbmNlL3NldCB0byBhIHNldC4KCl9fJydsdSdvJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChz KS9tYXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18nJ3Z1J2knJ19fIC0gQ29udmVydCBpbmRp dmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNlcXVlbmNlOyB0aGUgb3JkZXIgaXMgbm90 IHN0YXRlZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMgaXMgc3RyYWlnaHQtZm9yd2FyZGx5OiBQ bGFjaW5nIHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBjZXJ0YWluIHR5cGUgbWFrZXMgYSBuZXcg c3VtdGkgb2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91Z2gsIHRoYXQgYXMgYSBmb3VydGgga2lu ZCBvZiBzdW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBpbnRyb2R1Y2VkLiBUaGlzIGlzIG5vdCB1 c2VkIHZlcnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFu Y2UpLCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdv IG1lbWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBi dXQgYWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNv bWV0aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRv IGEgc3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEg Ym9vaywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29t ZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xhJ2UgU1VNVEkgQScnIHJlZmVycyB0byBz dW10aSBCLiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxjaSBsYSdlIGRpJ3UnJyBmb3Ig4oCcSSBs aWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdoaWNoIGp1 c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCYJ2xhJ2UgbGUg Y21hbHUgbm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRoZSBMaXR0bGUgUHJpbmNl4oCdLCBhbmQg bm90IHNvbWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBUaGUgY21hdm8g4oCYJ2x1J2UnJyBkb2Vz IHRoZSBleGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBTVU1USScnIHJlZmVycyB0byBhbiBvYmpl Y3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpfXycnbGEnZScnX18gLSDigJx0aGUgdGhp bmcgcmVmZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBhIHN1bXRpIEEgZnJvbSBhIHN1bXRpIEIg d2hpY2ggcmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmlu ZyB0b+KAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9tIGEgc3VtdGkgQSwgd2hlbiBCIHJlZmVy cyB0byBBLgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoKRHVlIHRvIHRoZSBpbXByYWN0aWNhbGx5 IGxhcmdlIHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhlIHNlY29uZCBhbmQgdGhpcmQgaW5zdGFs bG1lbnQgY2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGljYXRlZCB0byAoKHdhdmVsZXNzb25zY29u dGludWVkcDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhlIGxh dHRlcikpLiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNraW5nIG9uICJ0aGUgZm9ybWVyIiBvciAi dGhlIGxhdHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBwYWlubGVzc2x5LgoKCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGlu ZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWls bWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==