Received: from localhost ([::1]:34356 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UcI1z-0002YN-0M; Tue, 14 May 2013 09:24:51 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:60655 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UcI1n-0002YG-M6 for wikichanges@lojban.org; Tue, 14 May 2013 09:24:47 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 14 May 2013 09:24:39 -0700 From: "Apache" Date: Tue, 14 May 2013 09:24:39 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by daeldir at 18:24 CEST Comment: incertain → pas certains You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_changed_by_daeldir?= X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDE4OjI0IENFU1QKQ29tbWVudDogaW5jZXJ0YWluIOKGkiBwYXMgY2VydGFpbnMKCllvdSBj YW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly9sb2piYW4u b3JnL3Rpa2kvbGUlQzMlQTdvbnMlMjB3YXZlJTIwZW4lMjBmcmFuJUMzJUE3YWlzCgpZb3UgY2Fu IHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRo aXMgbGluazogCmh0dHA6Ly9sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFn ZT1sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMlQTdhaXMmY29tcGFyZT0xJm9sZHZl cj0yOSZuZXd2ZXI9MzAKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJl bG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgor LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst KwpAQCAtTGluZXM6IDE0LTE4IGNoYW5nZWQgdG8gK0xpbmVzOiAxNC0xOCBAQAorLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpTaSBsZSBs b2piYW4gZXN0IHRvdGFsZW1lbnQgbm91dmVhdSBwb3VyIHZvdXMsIGplIHZvdXMgcmVjb21tYW5k ZSBkJ8OpY291dGVyIHRvdXQgbGVzIGVucmVnaXN0cmVtZW50IGRlIGxvamJhbiBwYXJsw6kgcXVl IHZvdXMgcG91cnJleiB0cm91dmVyLCB0YW50IGF2YW50IHF1ZSBwZW5kYW50IGxhIGxlY3R1cmUg ZGUgY2UgZGlkYWN0aWNpZWwsIGFmaW4gZGUgdm91cyBmYW1pbGlhcmlzZXIgYXZlYyBsZXMgc29u cyBldCBsZXMgbW90cyBkdSBsYW5nYWdlLiBEZSBwbHVzLCBlc3NheWV6IGRlIHByb25vbmNlciBj ZSBxdWUgdm91cyBsaXNleiBhdmVjIGwnYWNjZW50IGxvamJhbiBzaSB2b3VzIGxlIHBvdXZlei4g Q2VjaSB2b3VzIGFpZGVyYSDDoCBwcm9ub25jZXIgbGUgbG9qYmFuLiAKCi0gRW4gc3VpdmFudCBj ZSBkaWRhY3RpY2llbCwgaWwgZXN0IGNvbnNlaWxsIGRlIHByZW5kcmUgZGVzIHBhdXNlcyBlbnRy ZSBsZXMgbGVvbnMgYWZpbiBkZSBkaWdyZXIgY2UgcXVlIHZvdXMgYXZleiBhcHByaXMuIEonYWkg ZXNzYXkgZGUgY29uc3RydWlyZSBjZXMgbGVvbnMgZHUgc2ltcGxlIGF1IGNvbXBsZXhlLCBldCBk J2V4Y2x1cmUgdG91dCBtb3Qgb3UgY29uY2VwdCBxdWkgbidhIHBhcyB0IGV4cGxpcXUgZGFucyBs ZXMgbGVvbiBwcmNkZW50ZS4gVW5lIGZvaXMgZXhwbGlxdXMsIGlscyBzb250IHV0aWxpc3MgbGli cmVtZW50IHRvdXQgYXUgbG9uZyBkdSByZXN0ZSBkdSBkaWRhY3RpY2llbC4gSidleGhvcnRlIGxl IGxlY3RldXIgIG5lIHBhcyBmYWlyZSBsJ2ltcGFzc2Ugc3VyIHVuIGNvbnRlbnUgaW5jb21wcmlz OiBzaSB2b3VzIGF2ZXogdW5lIHF1ZXN0aW9uIG91IHRlcyBpbmNlcnRhaW4gZCd1bmUgY2hvc2Us IG4nYXlleiBwYXMgZGUgY29tcGxleGUgIGRlbWFuZGVyICBsYSBjb21tdW5hdXQgbG9qYmFuLCBx dWkgcGV1dCB0cmUgdHJvdXZlIHN1ciAjbG9qYmFuIHN1ciBsZSByc2VhdSBJUkMgRnJlZW5vZGUg KGVuIGFuZ2xhaXMpLCBvdSBzdXIgbGEgW2h0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9s aXN0aW5mby9sb2piYW4tZnJ8bWFpbGluZy1saXN0IGZyYW5jb3Bob25lXS4gRWxsZSBzZXJhIGhl dXJldXNlIGQnYWlkZXIuCisgRW4gc3VpdmFudCBjZSBkaWRhY3RpY2llbCwgaWwgZXN0IGNvbnNl aWxsIGRlIHByZW5kcmUgZGVzIHBhdXNlcyBlbnRyZSBsZXMgbGVvbnMgYWZpbiBkZSBkaWdyZXIg Y2UgcXVlIHZvdXMgYXZleiBhcHByaXMuIEonYWkgZXNzYXkgZGUgY29uc3RydWlyZSBjZXMgbGVv bnMgZHUgc2ltcGxlIGF1IGNvbXBsZXhlLCBldCBkJ2V4Y2x1cmUgdG91dCBtb3Qgb3UgY29uY2Vw dCBxdWkgbidhIHBhcyB0IGV4cGxpcXUgZGFucyBsZXMgbGVvbiBwcmNkZW50ZS4gVW5lIGZvaXMg ZXhwbGlxdXMsIGlscyBzb250IHV0aWxpc3MgbGlicmVtZW50IHRvdXQgYXUgbG9uZyBkdSByZXN0 ZSBkdSBkaWRhY3RpY2llbC4gSidleGhvcnRlIGxlIGxlY3RldXIgIG5lIHBhcyBmYWlyZSBsJ2lt cGFzc2Ugc3VyIHVuIGNvbnRlbnUgaW5jb21wcmlzOiBzaSB2b3VzIGF2ZXogdW5lIHF1ZXN0aW9u IG91IG4ndGVzIHBhcyBjZXJ0YWlucyBkJ3VuZSBjaG9zZSwgbidheWV6IHBhcyBkZSBjb21wbGV4 ZSAgZGVtYW5kZXIgIGxhIGNvbW11bmF1dCBsb2piYW4sIHF1aSBwZXV0IHRyZSB0cm91dmUgc3Vy ICNsb2piYW4gc3VyIGxlIHJzZWF1IElSQyBGcmVlbm9kZSAoZW4gYW5nbGFpcyksIG91IHN1ciBs YSBbaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvamJhbi1mcnxtYWls aW5nLWxpc3QgZnJhbmNvcGhvbmVdLiBFbGxlIHNlcmEgaGV1cmV1c2UgZCdhaWRlci4KCkRhbnMg Y2UgZGlkYWN0aWNpZWwsIGxlIHRleHRlIGVuIGxvamJhbiBlc3Qgw6ljcml0IGVuICcnaXRhbGlx dWVzJycuIExlcyBtb3RzIGVtcHJ1bnTDqXMgZHUgbG9qYmFuIGF1IGZyYW7Dp2FpcyBuZSBzb250 IHRvdXRlZm9pcyBwYXMgc291bWlzIMOgIGNldHRlIGVtcGhhc2UuIExlcyByw6lwb25zZXMgZGVz IGV4ZXJjaWNlcyBzb250IGFmZmljaMOpZXMgY29tbWUgdW5lIGJhcnJlIGdyaXNlLiBTw6lsZWN0 aW9ubmV6IGNldHRlIGJhcnJlIHBvdXIgdm9pciBsZSB0ZXh0ZS4KCgoKCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFn ZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCgp7Qk9YKHRpdGxlPSJUcmF2YWlsIGVuIGNvdXJz Iil9CgpDZXR0ZSBwYWdlIGVzdCB1bmUgdHJhZHVjdGlvbiBlbiBjb3VycyBkZSAoKHdhdmVsZXNz b25zY29udGludWVkKSkgZW4gZnJhbsOnYWlzLiBMYSBtYWpldXJlIHBhcnRpZSBkZSBsYSBwYWdl IGVzdCBlbmNvcmUgZW4gYW5nbGFpcy4gQXUgZnVyIGV0IMOgIG1lc3VyZSBkZSBsYSB0cmFkdWN0 aW9uLCBjZXR0ZSBub3RlIHNlcmEgbWlzZSDDoCBqb3VyIHBvdXIgaW5kaXF1ZXIgbCfDqXRhdCBk J2F2YW5jZW1lbnQgZGVzIGxlw6dvbnMuIAoKCgrDiXRhdCBhY3R1ZWzCoDogTGXDp29uIHrDqXJv IHRyYWR1aXRlIGxpdHTDqXJhbGVtZW50LiBOw6ljZXNzaXRlIHVuZSBhZGFwdGF0aW9uIGF1IGZy YW7Dp2FpcywgcHVpcyB1bmUgdmFsaWRhdGlvbiBwYXIgZGVzIGxvamJhbmlzdGVzIGNvbmZpcm3D qXMuLgoKe0JPWH0gCgoKCiFMZXMgbGXDp29ucyBXYXZlIGNvbnRpbnXDqWVzwqA6CgohISFSw6lk aWfDqWVzIHBhciBsYSBrbGFrdSwgYXZlYyBsJ2FpZGUgZGUgbG9qYmFuaXN0ZXMgdmFyacOpcy4g QmFzw6llIHN1ciBsZSB0cmF2YWlsIGRlIGxhIC5rcmliYWNyLiBQcmludGVtcHMgMjAxMy4KClRy YWR1aXRlcyBkZSBsJ2FuZ2xhaXMgdmVycyBsZSBmcmFuw6dhaXMgcGFyIERhZWxkaXIuCgoKCiEh TGXDp29ucyBkZSBsb2piYW4g4oCTIGxlw6dvbiB6w6lybzogYXZhbnQgcHJvcG9zCgpDZXMgbGXD p29ucyBzb250IHVuZSB0ZW50YXRpdmUgZGUgZMOpdmVsb3BwZXIgbGVzIMKrwqBMZcOnb25zIGRl IEdvb2dsZSBXYXZlwqDCuywgdW4gZXhjZWxsZW50IGRpZGFjdGljaWVsIGNvbnNhY3LDqSBhdSBs b2piYW4sIMOpY3JpdCBwYXIga3JpYmFjciwgeGFsYm8sIGV0IGQnYXV0cmVzLCBxdWksIGjDqWxh cywgbmUgY291dnJhaXQgcXVlIGxlcyBxdWF0cmVzIHByZW1pZXJzIGNoYXBpdHJlcyBkdSBwcsOp c2VudCBkaWRhY3RpY2llbC4gSWwgdHJhaXRlIGRlcyByw6hnbGVzIGxlcyBwbHVzIHLDqWNlbnRl cyBkdSBsb2piYW4sIHF1aSBuZSBzb250IHBhcyBjb3V2ZXJ0ZXMgcGFyIGRlIHBsdXMgYW5jaWVu cyBjb3VycyB0ZWxzIHF1ZSDCq8KgV2hhdCBpcyBMb2piYW4/wqDCuywgZXQgwqvCoExvamJhbiBm b3IgQmVnaW5uZXJzwqDCuy4KCgoKU2kgbGUgbG9qYmFuIGVzdCB0b3RhbGVtZW50IG5vdXZlYXUg cG91ciB2b3VzLCBqZSB2b3VzIHJlY29tbWFuZGUgZCfDqWNvdXRlciB0b3V0IGxlcyBlbnJlZ2lz dHJlbWVudCBkZSBsb2piYW4gcGFybMOpIHF1ZSB2b3VzIHBvdXJyZXogdHJvdXZlciwgdGFudCBh dmFudCBxdWUgcGVuZGFudCBsYSBsZWN0dXJlIGRlIGNlIGRpZGFjdGljaWVsLCBhZmluIGRlIHZv dXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVzIHNvbnMgZXQgbGVzIG1vdHMgZHUgbGFuZ2FnZS4gRGUg cGx1cywgZXNzYXlleiBkZSBwcm9ub25jZXIgY2UgcXVlIHZvdXMgbGlzZXogYXZlYyBsJ2FjY2Vu dCBsb2piYW4gc2kgdm91cyBsZSBwb3V2ZXouIENlY2kgdm91cyBhaWRlcmEgw6AgcHJvbm9uY2Vy IGxlIGxvamJhbi4gCgoKCkVuIHN1aXZhbnQgY2UgZGlkYWN0aWNpZWwsIGlsIGVzdCBjb25zZWls bMOpIGRlIHByZW5kcmUgZGVzIHBhdXNlcyBlbnRyZSBsZXMgbGXDp29ucyBhZmluIGRlIGRpZ8Op cmVyIGNlIHF1ZSB2b3VzIGF2ZXogYXBwcmlzLiBKJ2FpIGVzc2F5w6kgZGUgY29uc3RydWlyZSBj ZXMgbGXDp29ucyBkdSBzaW1wbGUgYXUgY29tcGxleGUsIGV0IGQnZXhjbHVyZSB0b3V0IG1vdCBv dSBjb25jZXB0IHF1aSBuJ2EgcGFzIMOpdMOpIGV4cGxpcXXDqSBkYW5zIGxlcyBsZcOnb24gcHLD qWPDqWRlbnRlLiBVbmUgZm9pcyBleHBsaXF1w6lzLCBpbHMgc29udCB1dGlsaXPDqXMgbGlicmVt ZW50IHRvdXQgYXUgbG9uZyBkdSByZXN0ZSBkdSBkaWRhY3RpY2llbC4gSidleGhvcnRlIGxlIGxl Y3RldXIgw6AgbmUgcGFzIGZhaXJlIGwnaW1wYXNzZSBzdXIgdW4gY29udGVudSBpbmNvbXByaXPC oDogc2kgdm91cyBhdmV6IHVuZSBxdWVzdGlvbiBvdSBuJ8OqdGVzIHBhcyBjZXJ0YWlucyBkJ3Vu ZSBjaG9zZSwgbidheWV6IHBhcyBkZSBjb21wbGV4ZSDDoCBkZW1hbmRlciDDoCBsYSBjb21tdW5h dXTDqSBsb2piYW4sIHF1aSBwZXV0IMOqdHJlIHRyb3V2w6llIHN1ciAjbG9qYmFuIHN1ciBsZSBy w6lzZWF1IElSQyBGcmVlbm9kZSAoZW4gYW5nbGFpcyksIG91IHN1ciBsYSBbaHR0cDovL21haWwu bG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvamJhbi1mcnxtYWlsaW5nLWxpc3QgZnJhbmNv cGhvbmVdLiBFbGxlIHNlcmEgaGV1cmV1c2UgZCdhaWRlci4KCgoKRGFucyBjZSBkaWRhY3RpY2ll bCwgbGUgdGV4dGUgZW4gbG9qYmFuIGVzdCDDqWNyaXQgZW4gJydpdGFsaXF1ZXMnJy4gTGVzIG1v dHMgZW1wcnVudMOpcyBkdSBsb2piYW4gYXUgZnJhbsOnYWlzIG5lIHNvbnQgdG91dGVmb2lzIHBh cyBzb3VtaXMgw6AgY2V0dGUgZW1waGFzZS4gTGVzIHLDqXBvbnNlcyBkZXMgZXhlcmNpY2VzIHNv bnQgYWZmaWNow6llcyBjb21tZSB1bmUgYmFycmUgZ3Jpc2UuIFPDqWxlY3Rpb25uZXogY2V0dGUg YmFycmUgcG91ciB2b2lyIGxlIHRleHRlLgoKCgpFbmZpbiwgaidhaSBhdXRhbnQgcXVlIHBvc3Np YmxlIGVzc2F5w6kgZCd1dGlsaXNlciBsZXMgbW90cyBkdSBsb2piYW4gcG91ciBkw6lzaWduZXIg bGVzIGNvbnN0cnVjdGlvbnMgZ3JhbW1hdGljYWxlc8Kg4oCTwqAnJ3N1bWthJ2knJyBhdSBsaWV1 IGRlIHByby1zdW10aSwgJydzdW10Y2l0YScnIGF1IGxpZXUgZGUgbW9kYWwsIGV0ICcnanVmcmEn JyBhdSBsaWV1IGQnw6lub25jw6nCoOKAkyBwYXJjZSBxdWUgaidhaSBsJ2ltcHJlc3Npb24gcXVl IGxlcyBtb3RzIGZyYW7Dp2FpcyBzb250IHNvdXZlbnQgc29pdCBhcmJpdHJhaXJlcyDigJPCoGp1 c3RlIGRlcyBtb3RzIGVuIHBsdXMgw6AgYXBwcmVuZHJlwqDigJMsIHNvaXQgdHJvbXBldXJzIOKA k8KgZG9uYyBwaXJlIHF1J2ludXRpbGVzLiBEYW5zIGxlcyBkZXV4IGNhcywgcHVpc3F1ZSBjZXMg bW90cyBzb250IGRlIHRvdXRlIGZhw6dvbiBzcMOpY2lmaXF1ZXMgw6AgbCdhcHByZW50aXNzYWdl IGR1IGxvamJhbiwgaWwgbidvbnQgcGFzIGRlIHJhaXNvbiBkJ2V4aXN0ZXIgY29tbWUgZGVzIG1v dHMgZnJhbsOnYWlzIGRpc3RpbmN0LgoKCgohISFQcsOpZmFjZS4gU29ucwoKTGEgcHJlbWnDqHJl IGNob3NlIMOgIGZhaXJlIHF1YW5kIHZvdXMgYXBwcmVuZXogdW5lIGxhbmd1ZSDDqXRyYW5nw6hy ZSBlc3QgZGUgdm91cyBmYW1pbGlhcmlzZXIgYXZlYyBsZXMgc29ucyBkdSBsYW5nYWdlIGV0IGxl dXIgw6ljcml0dXJlLiBJbCBlbiB2YSBkZSBtw6ptZSBwb3VyIGxlIGxvamJhbi4gSGV1cmV1c2Vt ZW50LCBsZXMgc29ucyBkdSBsb2piYW4gKF9fcGhvbsOobWVzX18pIHNvbnQgcGx1dMO0dCBzaW1w bGVzLgoKCgohISEhVm95ZWxsZXMKCklsIHkgYSBzaXggdm95ZWxsZXMgZW4gbG9qYmFuLgoKCgp8 fCcnYScnIHxjb21tZSBkYW5zIMKrwqBwX19hX19wX19hX1/CoMK7CgonJ2UnJyB8Y29tbWUgZGFu cyDCqyBiX19lX19yZ19fw6hfX3JlIMK7CgonJ2knJyB8Y29tbWUgZGFucyDCq8KgbWFjaF9faV9f bmXCoMK7CgonJ28nJyB8Y29tbWUgZGFucyDCqyBfX29fX23DqWdhIMK7LCDCq8KgX19hdV9fdF9f b19fbW9iaWxlwqDCuwoKJyd1JycgfGNvbW1lIGRhbnMgwqvCoF9fb3VfX8KgwrssIMKrwqBsX19v dV9fcMKgwrsKCicneScnIHxjb21tZSBkYW5zIMKrIG1hdF9fZV9fbG90IMK7fHwKCgoKTGEgc2l4 acOobWUgdm95ZWxsZSwgJyd5JycsIGVzdCBhcHBlbMOpZSB1biBfX3NjaHdhX18gZW4gbGluZ3Vp c3RpcXVlLiBDJ2VzdCB1biDCq8KgZcKgwrsgdHLDqHMgbMOpZ2VyLCBub24gYWNjZW50dcOpLCBq dXN0ZSBtaWxpZXUgZW50cmUgbGUgwqvCoGXCoMK7IG1hcnNlaWxsYWlzICjCq8KgbWF0X19ldV9f bG90wqDCuykgZXQgbGUgwqvCoGXCoMK7IG11ZXQgcGFyaXNpZW4gKMKrIG1hdCdsb3QgwrspLgoK CgpEZXV4IHZveWVsbGVzIGVuc2VtYmxlIHNvbnQgcHJvbm9uY8OpZXMgY29tbWUgdW4gc29uIChf X2RpcGh0b25ndWVfXykuIFBhciBleGVtcGxlwqA6CgoKCnx8JydhaScnIHxjb21tZSBkYW5zIMKr wqBjYW5fX2FpX19sbGXCoMK7CgonJ2F1JycgfGNvbW1lIGRhbnMgwqvCoGNfX2FvdV9fdGNob3Vj wqDCuwoKJydlaScnIHxjb21tZSBkYW5zIMKrwqBhYl9fZWlfX2xsZcKgwrsKCicnb2knJyB8Y29t bWUgZGFucyDCq8KgZ19fb3lfX8KgwrsKCicnaWEnJyB8Y29tbWUgZGFucyDCq8KgcF9faWFfX25v wqDCuwoKJydpZScnIHxjb21tZSBkYW5zIMKrwqBoX19pZV9fcsKgwrsKCicnaXUnJyB8Y29tbWUg ZGFucyDCq8KgY2FfX2lsbG91X1/CoMK7CgonJ3VhJycgfGNvbW1lIGRhbnMgwqvCoHFfX3VvaV9f wqDCuwoKJyd1ZScnIHxjb21tZSBkYW5zIMKrwqBicl9fb3VlX190dGXCoMK7CgonJ3VvJycgfGNv bW1lIGRhbnMgwqvCoGRyX19vdW9fX3TCoMK7CgonJ3VpJycgfGNvbW1lIGRhbnMgwqvCoF9fb3Vp X1/CoMK7IHx8CgoKCkxlcyB2b3llbGxlcyBkb3VibMOpZXMgc29udCByYXJlcy4gTGVzIHNldWxz IGV4ZW1wbGVzIHNvbnQgJydpaScnLCBwcm9ub25jw6kgY29tbWUgZGFucyDCq8KgZmFfX2lsbGlf X8KgwrssIGV0ICcndXUnJywgcHJvbm9uY8OpIGNvbW1lIGRhbnMgwqvCoF9fT3VfX2hfX291X1/C oCHCoMK7IChxdWFuZCBvbiBhcHBlbGxlIHF1ZWxxdSd1biwgbWFpcyBwYXMgY29tbWUgZGFucyDC q8KgSG91aG91wqDCu8KgOiBkYW5zIGxlIHByZW1pZXIgZXhlbXBsZSwgbGUgJydoJycgZXN0IG11 ZXQsIGRhbnMgbGUgZGV1eGnDqG1lLCBsZSAnJ2gnJyBlc3QgYXNwaXLDqSDigJMgY2UgcXVpIHNl IHRyYW5zY3JpcmFpdCBlbiBsb2piYW4gJyd1J3UnJykKCgoKISEhIUNvbnNvbm5lcwoKTGEgcGx1 cGFydCBkZXMgY29uc29ubmVzIHNvbnQgbGVzIG3Dqm1lcyBxdSdlbiBmcmFuw6dhaXMsIMOgIHF1 ZWxxdWUgZXhjZXB0aW9ucyBwcsOqdMKgOgoKCgp8fCcnZycnIHxzZSBwcm9ub25jZSB0b3Vqb3Vy cyBjb21tZSBkYW5zIMKrwqBfX2dfX8OidGVhdcKgwrssIGphbWFpcyBjb21tZSBkYW5zIMKrwqBf X2dfX2Vub3V4wqDCuyAob24gdXRpbGlzZSBhbG9ycyBsZSDCq8KgJydqJyfCoMK7KQoKJydzJycg fHNlIHByb25vbmNlIHRvdWpvdXJzIGNvbW1lIGRhbnMgwqvCoF9fc19fZXJwZW50wqDCuywgamFt YWlzIGNvbW1lIGRhbnMgwqvCoHJvX19zX19lwqDCuyAob24gdXRpbGlzZSBhbG9ycyBsZSDCqyAn J3onJyDCuykKCicnYycnIHxzZSBwcm9ub25jZSAnJ2NoJycsIGNvbW1lIGRhbnMgwqvCoF9fY2hf X2F0ZWF1wqDCuwoKJyd4JycgfHNlIHByb25vbmNlIGNvbW1lIGRhbnMgbCdhbGxlbWFuZCDCq8Kg QmFfX2NoX1/CoMK7LCBsJ2VzcGFnbm9sIMKrwqBfX0pfX29zZcKgwrsgb3UgbCdhcmFiZSDCq8Kg X19LaF9fYWxlZMKgwrsKCicncicnIHxhY2NlcHRlIGJlYXVjb3VwIGRlIHByb25vbmNpYXRpb25z ICjDoCBsYSBmcmFuw6dhaXNlLCDDoCBsJ2FuZ2xhaXNl4oCmKSBtYWlzIGxhIHByb25vbmNpYXRp b24gaXRhbGllbm5lICgnJ3InJyByb3Vsw6kpIGVzdCBwcsOpZsOpcsOpZXx8CgoKCkxlIGxvamJh biBuJ3V0aWxpc2UgcGFzIGxlcyBjYXJhY3TDqHJlcyDCq8KgSMKgwrssIMKrwqBRwqDCuyBvdSDC q8KgV8KgwrssIGV0IGlsIG4neSBhIHBhcyBkZSBjYXJhY3TDqHJlcyBhY2NlbnR1w6lzIGVuIGxv amJhbi4KCgoKISEhIUNhcmFjdMOocmVzIHNww6ljaWF1eAoKCgpMZSBsb2piYW4gbmUgcmVxdWnD qHJlIGF1Y3VuZSBwb25jdHVhdGlvbiwgbWFpcyBjZXJ0YWluIGNhcmFjdMOocmVzLCBoYWJpdHVl bGxlbWVudCB1dGlsaXPDqXMgY29tbWUgcG9uY3R1YXRpb24gZGFucyBkJ2F1dHJlIGxhbmd1ZXMs IGFmZmVjdGVudCBsYSBtYW5pw6hyZSBkb250IGxlIGxvamJhbiBlc3QgcHJvbm9uY8OpLgoKCgpM ZSBzZXVsIGRlIGNlcyBjYXJhY3TDqHJlcyBxdWkgc29pdCBvYmxpZ2F0b2lyZSBlbiBsb2piYW4g ZXN0IGwnYXBvc3Ryb3BoZS4gRW4gZmFpdCwgbCdhcG9zdHJvcGhlIGVzdCBjb25zaWTDqXLDqWUg Y29tbWUgdW5lIGxldHRyZSBkdSBsb2piYW4uIFVuZSBhcG9zdHJvcGhlIHPDqXBhcmUgZGV1eCB2 b3llbGxlcywgZW1ww6pjaGFudCBjZWxsZXMtY2kgZCfDqnRyZSBwcm9ub25jw6llcyBlbnNlbWJs ZSBjb21tZSB1bmUgX19kaXBodG9uZ3VlX18uIEVsbGUgZXN0IGVsbGUgbcOqbWUgcHJvbm9uY8Op ZSBjb21tZSB1biDCq8KgaMKgwrsuIFBhciBleGVtcGxlLCDCq8KgJyd1aScnwqDCuyBlc3Qgbm9y bWFsZW1lbnQgcHJvbm9uY8OpIGNvbW1lIMKrwqBfX291aV9fwqDCuywgbWFpcyDCq8KgJyd1J2kn J8KgwrsgZXN0IHByb25vbmPDqSBjb21tZSDCq8KgX19vdWhpX1/CoMK7LgoKCgpVbiBwb2ludCBl c3QgdW5lIGNvdXJ0ZSBwYXVzZSDDqXZpdGFudCDDoCBkZXV4IG1vdHMgZGUgc2UgY29uZm9uZHJl IGwndW4gZGFucyBsJ2F1dHJlLiBMZXMgcsOoZ2xlcyBkdSBsb2piYW4gcmVuZGVudCBmYWNpbGUg bGEgZnVzaW9uIGRlIGRldXggbW90cyBxdWFuZCBsZSBzZWNvbmQgY29tbWVuY2UgcGFyIHVuZSB2 b3llbGxlLCBldCBkb25jLCBwYXIgY29udmVudGlvbiwgY2hhcXVlIG1vdCBjb21tZW7Dp2FudCBw YXIgdW5lIHZveWVsbGUgZXN0IHByw6ljw6lkw6kgcGFyIHVuIHBvaW50LgoKCgpMZXMgdmlyZ3Vs ZXMgc29udCByYXJlIGVuIGxvamJhbiwgbWFpcyBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcG91 ciBlbXDDqmNoZXIgZGV1eCB2b3llbGxlcyBkZSBzZSBmb25kcmUgbCd1bmUgZGFucyBsJ2F1dHJl IHF1YW5kIHZvdXMgbmUgdm91bGV6IHBhcyB1dGlsaXNlciBkJ2Fwb3N0cm9waGUsIGNlIHF1aSBh am91dGVyYWlzIHVuIMKrwqBowqDCuyBlbnRyZSBlbGxlcy4gQXVjdW4gbW90IGxvamJhbiBuJ2Eg ZGUgdmlyZ3VsZSwgbWFpcyBlbGxlIGVzdCBwYXJmb2lzIHV0aWxpc8OpZSBkYW5zIGwnw6ljcml0 dXJlIGRlcyBub21zIGQnYXV0cmVzIGxhbmd1ZXMuIFBhciBleGVtcGxlLCDCq8KgJydwaSxFUi4n J8KgwrsgKFBpZXJyZSksIGF1IGxpZXUgZGUgwqvCoCcncGllci4nJ8KgwrsgKFAteWVyciksIMKr wqAnJ3BpLkVSLicnwqDCuyAoUGk7IEVociksIG91IMKrwqAnJ3BpJ0VSJyfCoMK7IChQaWhlcnIp LgoKCgpMZXMgbGV0dHJlcyBjYXBpdGFsZXMgbmUgc29udCBub3JtYWxlbWVudCBwYXMgdXRpbGlz w6llcyBlbiBsb2piYW4uIE5vdXMgbGVzIHV0aWxpc29ucyBkYW5zIGRlcyBtb3RzIG5vbiBsb2pi YW4gKGNvbW1lIMKrwqBQaWVycmXCoMK7KSwgcXVhbmQgbCdhY2NlbnQgdG9uaXF1ZSBkJ3VuIG1v dCBlc3QgZGlmZsOpcmVudCBkZSBjZWx1aSBkZSBsYSBub3JtZSBsb2piYW4uIExhIG5vcm1lIGNv bnNpc3RlIMOgIG1ldHRyZSB1biBhY2NlbnQgdG9uaXF1ZSBzdXIgbCdhdmFudCBkZXJuacOocmUg c3lsbGFiZS4gUGFyIGV4ZW1wbGUsICcna3VqbWlrY2UnJyAoaW5maXJtacOocmUpLCBlc3QgwqvC oGt1al9fTUlLX19jZcKgwrssIGV0IG5vbiBwYXMgwqvCoF9fS1VKX19taWtjZcKgwrsuIExlIG5v bSDCq8KgSnVsaWV0dGXCoMK7IHMnw6ljcmlyYWl0IMKrwqAnJ2p1TElFVC4nJ8Kgwrsgc2kgcHJv bm9uY8OpIGNvbW1lIGVuIGZyYW7Dp2FpcywgbWFpcyDCq8KgJydESlVsaSxldC4nJ8Kgwrsgc2kg cHJvbm9uY8OpIGNvbW1lIGVuIGFuZ2xhaXMuCgohISEhQWxwaGFiZXQKCgoKRGFucyBsYSBwbHVw YXJ0IGRlcyBtYW51ZWxzLCBsb3JzIGRlIGwnYXBwcmVudGlzc2FnZSBkJ3VuZSBsYW5ndWUsIHZv dXMgYXBwcmVuZXogbCdhbHBoYWJldCBkdSBsYW5nYWdlLCBldCBzYSBwcm9ub25jaWF0aW9uLiBM ZXMgbGV0dHJlcyAoJydsZXJmdScnKSDDqXRhbnQgcGx1cyBpbXBvcnRhbnRlcyBlbiBsb2piYW4g cXUnw6AgbCdhY2NvdXR1bcOpZSwgYXV0YW50IGFwcHJlbmRyZSBsZXVyIG5vbXMgcmFwaWRlbWVu dC4KCgoKTGVzIGNvbnNvbm5lcyBzb250IHNpbXBsZXPCoDogbGUgbm9tIGQndW5lIGNvbnNvbm5l IGVzdCBjZXR0ZSBsZXR0cmUsIHN1aXZpZSBkZSDCq8KgecKgwrsuIEFpbnNpLCBsZXMgY29uc29u bmVzIGR1IGxvamJhbiwgwqvCoGLCoMK7LCDCq8KgY8KgwrssIMKrwqBkwqDCuywgwqvCoGbCoMK7 LCDCq8KgZ8KgwrvigKYgc29udCBhcHBlbMOpZXMgwqvCoCcnYnkuJyfCoMK7LCDCq8KgJydjeS4n J8KgwrssIMKrwqAnJ2R5LicnwqDCuywgwqvCoCcnZnkuJyfCoMK7LCDCq8KgJydneS4nJ8Kgwrvi gKYgZW4gbG9qYmFuIChlbiB1dGlsaXNhbnQgdW4gcG9pbnQsIGNvbW1lIGTDqWNyaXQgZGFucyBs YSBwYXJ0aWUgcHLDqWPDqWRlbnRlKS4KCgoKTGVzIHZveWVsbGVzIF9fc2VyYWllbnRfXyBhcHBl bMOpZXMgwqvCoCcnLmF5JyfCoMK7LCDCq8KgJycuZXknJ8KgwrssIMKrwqAnJy5peScnwqDCu+KA piwgc2kgYyfDqXRhaXQgbW9pbnMgZGlmZmljaWxlIMOgIHByb25vbmNlci4gQXUgbGlldSBkZSDD p2EsIGVsbGVzIHNvbnQgbm9tbcOpZSBlbiBzdWl2YW50IGxlIHNvbiBkZSBsYSB2b3llbGxlIHBh ciBsZSBtb3QgJydidScnLCBxdWkgc2lnbmlmaWUgc2ltcGxlbWVudCDCq8KgbGV0dHJlwqDCuy4g QWluc2ksIGxlcyB2b3llbGxlcyBkdSBsb2piYW4gc29udMKgOiAgwqvCoCcnLmFidScnwqDCuywg wqvCoCcnLmVidScnwqDCuywgwqvCoCcnLmlidScnwqDCuywgwqsgJycub2J1JycgwrssIMKrwqAn Jy51YnUnJ8KgwrssIMKrwqAnJy55YnUnJ8KgwrsuCgoKCkwnYXBvc3Ryb3BoZSBlc3QgY29uc2lk w6lyw6llIGNvbW1lIHVuZSB2cmFpIGxldHRyZSBlbiBsb2piYW4sIGV0IGVzdCBub21tw6llIMKr wqAnJy55J3kuJyfCoMK7ICjCq8KgZXVoZXXCoMK74oCmIFVuIHBldSBjb21tZSB1bmUgcGV0aXRl IHRvdXgpLgoKCgpMZSBsb2piYW4gYSB1biBtb3llbiBkZSBzZSByw6lmw6lyZXIgw6AgbGEgcGx1 cGFydCBkZXMgbGV0dHJlcyBhdXhxdWVsbGVzIHZvdXMgcG91dmV6IHBlbnNlci4gU2kgdm91cyBk w6lzaXJleiBkw6hzIG1haW50ZW5hbnQgw6lwZWxlciB2b3RyZSBub20gZW4gbG9qYmFuLCBldCBx dWUgY2VsdWkgY2kgcG9zc8OoZGUgdW4gwqvCoEjCoMK7LCDCq8KgUcKgwrsgb3UgwqvCoFfCoMK7 LCB2b3VzIHBvdXZleiB1dGlsaXNlciDCqyAnJy55J3kuYnUnJyDCuywgwqsgJydreS5idScnIMK7 IGV0IMKrICcndnkuYnUnJyDCuy4gQWluc2ksIMKrwqBTY2h3YXJ6ZW5lZ2dlcsKgwrsgZXN0IMOp cGVsw6kgZW4gbG9qYmFuwqA6CgonJ3N5LiBjeS4gLnkneWJ1IHZ5YnUuIC5hYnUgcnkuIHp5LiAu ZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSByeS4nJwoKCgpFdCDDqXBlbGVyIF9fw6dhX18gZXN0 IHVuZSB0w6JjaGUgZGlnbmUgZHUgVGVybWluYXRvcsKgIQoKCgpNYWludGVuYW50LCDDqXBlbGV6 IHZvdHJlIG5vbSBlbiBsb2piYW4gKGxlIGNhcyDDqWNow6lhbnQsIGRlIGxhIG1hbmnDqHJlIGxh IHBsdXMgcHJvY2hlIHF1ZSB2b3VzIHBvdXZleiBhdmVjIGxlcyAyNiBsZXR0cmVzIHF1ZSBub3Vz IHZlbm9ucyBkJ2FwcHJlbmRyZSwgZXQgbCdhcG9zdHJvcGhlKS4KCiEhISEgUHJvbm9uY2lhdGlv biDCq8KgY29ycmVjdGXCoMK7CgoKCicnQ2V0dGUgcGFnZSBlc3Qgw6AgbGEgZm9pcyB1bmUgdHJh ZHVjdGlvbiBkZSBsYSB2ZXJzaW9uIGFuZ2xhaXNlLCBldCB1bmUgYWRhcHRhdGlvbiBhdXggcHJv YmzDqG1lcyByZW5jb250csOpcyBwYXIgbGVzIGZyYW5jb3Bob25lcyBwbHV0b3QgcXVlIHBhciBs ZXMgYW5nbG9waG9uZXMuIFBhciBtYW5xdWUgZCdleHDDqXJpZW5jZSBkYW5zIGwnZW5zZWlnbmVt ZW50IGR1IGxvamJhbiDDoCBkZXMgZnJhbmNvcGhvbmVzLCBjZXR0ZSBwYXJ0aWUgcGV1dCBkb25j IG1hbnF1ZXIgZGUgY29uc2VpbHMgb3UgcmVzdGVyIGluYWRhcHTDqWUsIHZvaXJlIGNvbmZ1c2Uu IE4naMOpc2l0ZXogcGFzIMOgIGRlbWFuZGVyIHN1ciBsYSBbaHR0cDovL21haWwubG9qYmFuLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xvamJhbi1mcnxtYWlsaW5nLWxpc3RdIGZyYW5jb3Bob25lIHNp IHZvdXMgYXZleiB1biBwcm9ibMOobWUg4oCTIGNlY2kgcG91cnJhaXQgbm91cyBhaWRlciDDoCBh bcOpbGlvcmVyIGNldHRlIHBhZ2XCoCEnJwoKCgpWb3VzIG4nYXZleiBwYXMgw6AgYXZvaXIgdW5l IHByb25vbmNpYXRpb24gcHLDqWNpc2UgZHUgbG9qYmFuLCBjYXIgY2hhcXVlIHBob27DqG1lIGVz dCBkaXN0cmlidcOpIGRlIG1hbmnDqHJlIMOgIGNlIHF1J2lsIHNvaXQgZGlmZmljaWxlIGRlIGNv bmZvbmRyZSBkZXV4IHNvbnMuIENlY2kgc2lnbmlmaWUgcXVlLCBwb3VyIHVuZSBsZXR0cmUsIHBs dXTDtHQgcXUndW5lIHByb25vbmNpYXRpb24gwqvCoGNvcnJlY3RlwqDCuywgaWwgeSBhIHVuZSBn YW1tZSBkZSBzb25zIGFjY2VwdMOpcyDigJMgbGUgcHJpbmNpcGUgZ8OpbsOpcmFsIMOpdGFudCBx dSd1biBzb24gZXN0IGJvbiB0YW50IHF1J2lsIG5lIHJlc3NlbWJsZSBwYXMgdHJvcCDDoCB1bmUg YXV0cmUgbGV0dHJlLiBQYXIgZXhlbXBsZSwgbGUgwqvCoHLCoMK7IGxvamJhbiBwZXV0IMOqdHJl IHByb25vbmPDqSBjb21tZSBlbiBhbmdsYWlzLCBpdGFsaWVuLCBmcmFuw6dhaXPigKYgCgoKCkNl cGVuZGFudCwgYmllbiBxdWUgbGUgW2h0dHBzOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0NvbnNv bm5lX2ZyaWNhdGl2ZV91dnVsYWlyZV92b2lzJUMzJUE5ZXzCq8KgcsKgwrsgZnJhbsOnYWlzXSBz b2l0IGNvbnNpZMOpcsOpIGNvbW1lIHVuIMKrwqAnJ3InJ8KgwrssIGNlbHVpLWNpIGVzdCBhdXNz aSBwcm9jaGUgZHUgW2h0dHBzOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0NvbnNvbm5lX2ZyaWNh dGl2ZV91dnVsYWlyZV9zb3VyZGV8wqvCoCcneCcnwqDCu10gbG9qYmFuLiBQb3VyIGNvbXByZW5k cmUgbGEgZGlmZsOpcmVuY2UgZW50cmUgY2VzIGRldXggc29ucywgb2JzZXJ2ZXogbGEgZGlmZsOp cmVuY2UgZW50cmUgbGUgc29uIMKrwqAnJ2QnJ8KgwrsgZXQgbGUgc29uIMKrwqAnJ3QnJ8KgwrvC oDogbCd1biBlc3Qgdm9jYWxpc8OpLCBsJ2F1dHJlIG5vbi4gTGEgbcOqbWUgZGlzdGluY3Rpb24g cydvcMOocmUgZW50cmUgbGUgwqvCoCcncicnwqDCuyBmcmFuw6dhaXMgZXQgbGUgwqvCoCcneCcn wqDCuy4gSmUgdm91cyBjb25zZWlsbGUgZG9uYyBkJ29wdGVyIHBvdXIgdW4gwqvCoHLCoMK7IG1v aW5zIGFtYmlndS4gQ29uY2VybmFudCBsZSDCq8KgcsKgwrsgcm91bMOpLCBkZXV4IHByb25vbmNp YXRpb25zIHNvbnQgcG9zc2libGXCoDogbGUgW2h0dHBzOi8vZnIud2lraXBlZGlhLm9yZy93aWtp L0NvbnNvbm5lX3JvdWwlQzMlQTllX2FsdiVDMyVBOW9sYWlyZV92b2lzJUMzJUE5ZXzCq8KgcsKg wrtdIGVzcGFnbm9sLCBzaXR1w6kgw6AgbCdhdmFudCBkdSBwYWxhaXMsIGV0IHVuIFtodHRwczov L2ZyLndpa2lwZWRpYS5vcmcvd2lraS9Db25zb25uZV9yb3VsJUMzJUE5ZV91dnVsYWlyZV92b2lz JUMzJUE5ZXzCq8KgcsKgwrtdIHBsdXMgcHJvY2hlIGRlIGxhIGdvcmdlLCBjb21tZSBjZWx1aSBk J0VkaXQgUGlhZi4gQ2hvaXNpc3NleiBsYSBwcm9ub25jaWF0aW9uIHF1aSB2b3VzIHBvc2UgbGUg bW9pbnMgZGUgcHJvYmzDqG1lLCB0YW50IHF1J2VsbGUgbmUgc2UgY29uZm9uZCBwYXMgYXZlYyB1 bmUgYXV0cmUgbGV0dHJlIGR1IGxvamJhbi4KCgoKRmFpdGVzIGF1c3NpIGF0dGVudGlvbiDDoCBi aWVuIGFwcHV5ZXIgbGVzIHZveWVsbGVzIOKAkyBtaXMgw6AgcGFydCBsZSDCq8KgJyd5JyfCoMK7 IHF1aSAnJ2RvaXQnJyDDqnRyZSBjb3VydC4gTGEgcmFpc29uIGVuIGVzdCBxdWUgbGVzIHZveWVs bGVzIMKrwqBub24tbG9qYmFuwqDCuyBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcG91ciBzw6lw YXJlciBsZXMgY29uc29ubmVzIHBhciBsZXMgcGVyc29ubmVzIHF1aSBuJ2Fycml2ZW50IHBhcyDD oCBsZXMgcHJvbm9uY2VyLiBQYXIgZXhlbXBsZSwgc2kgdm91cyBhdmV6IHVuIHByb2Jsw6htZSBh dmVjIGxlIMKrwqAnJ3pkJyfCoMK7IGRlIMKrwqAnJ3pkYW5pJyfCoMK7IChtYWlzb24pLCB2b3Vz IHBvdXZleiBkaXJlIMKrwqB6yapkYW5pwqDCuywgYXZlYyB1biDCq8KgyarCoMK7IHRyw6hzIGNv dXJ0LCBtYWlzIGxlIMKrwqBpwqDCuyBmaW5hbCBsb25nLiAKCiEhISFOb21zIGxvamJhbiAoY21l dmxhKQoKCgpEYW5zIGxlcyBmaWxtcyBvw7kgbGVzIHByb3RhZ29uaXN0ZXMgbidvbnQgcGFzIGRl IGxhbmd1ZSBjb21tdW5lLCBpbHMgY29tbWVuY2VudCBzb3V2ZW50IHBhciBkaXJlIGRlcyBjaG9z ZXMgdGVsbGVzIHF1ZSDCq8KgTW9pIFRhcnphbsKgwrssIGNlIHF1aSBlc3QgdW5lIG1hbmnDqHJl IGNvbW1lIHVuZSBhdXRyZSBkZSBkw6lidXRlciBlbiBsb2piYW4uIEV0IGRvbmPCoDoKCgoKX18n J21pJ2UgLnJvYmluLicnX18KCsKrwqBKZS1zdWlzLW5vbW3DqSBSb2JpbsKgwrsKCsKrwqBKZSBz dWlzIFJvYmluwqDCuwoKCgonJ21pJ2UnJyBlc3QgYXBwYXJlbnTDqSDDoCAnJ21pJycsIHF1aSBz aWduaWZpZSDCq8KgbW9pwqDCuywgwqvCoGplwqDCu+KApiBDJ2VzdCB1biBib24gZXhlbXBsZSBk ZSBsJ2Fwb3N0cm9wZSBzw6lwYXJhbnQgZGV1eCB2b3llbGxlcywgcHJvbm9uY8OpIMKrwqBtaSBo ZWjCoMK7LiAKCgoKQ2UgUm9iaW4gZXN0IGNoYW5jZXV4wqA6IHNvbiBub20gc2UgdHJhbnNjcml0 IGRpcmVjdGVtZW50IGVuIGxvamJhbiwgc2FucyBjaGFuZ2VtZW50LiBJbCB5IGEgdG91dGVmb2lz IGRlcyByw6hnbGVzIHBvdXIgbGVzIG5vbXMgbG9qYmFuLCBjZSBxdWkgc2lnbmlmaWUgcXVlIGNl cnRhaW5zIG5vbXMgZG9pdmVudCDDqnRyZXMgwqvCoGxvamJhbmlzw6lzwqDCuy4gQ2VsYSBwZXV0 IHNlbWJsZXIgw6l0cmFuZ2UuIEFwcsOocyB0b3V0LCB1biBub20gZXN0IHVuIG5vbeKApiBFbiBm YWl0LCB0b3V0IGxlcyBsYW5nYWdlcyBmb250IGNlIGdlbnJlIGQnYWRhcGF0aW9uIMOgIHVuIGNl cnRhaW4gbml2ZWF1LiBQYXIgZXhlbXBsZSwgbGVzIGFuZ2xhaXMgdGVuZGVudCDDoCBwcm9ub25j ZXIgwqvCoEpvc2XCoMK7IGNvbW1lIMKrwqBIb3phecKgwrssIGV0IMKrwqBNYXJnYXJldMKgwrsg ZGV2aWVudCDCq8KgTWFnZWxpdGHCoMK7IGVuIGNoaW5vaXMuCgoKCkNlcnRhaW5zIHNvbnMgbidl eGlzdGVudCBwYXMgZGFucyBjZXJ0YWlucyBsYW5nYWdlcy4gQWluc2ksIGxhIHByZW1pw6hyZSBj aG9zZSDDoCBmYWlyZSBlc3QgZGUgcsOpw6ljcmlyZSB2b3RyZSBub20gZGUgbWFuacOocmUgw6Ag Y2UgcXUnaWwgbmUgY29udGllbm5lIHF1ZSBkZXMgc29ucyBsb2piYW4sIGV0IHNvaXQgw6ljcml0 IGNvbW1lIHVuIG1vdCBsb2piYW4uCgoKCl9fTm90ZcKgOl9fIExhIHF1ZXN0aW9uIGljaSBlc3TC oDogcXVlbGxlIHZlcnNpb24gZGVzIHNvbnMgYWxsZXogdm91cyB1dGlsaXNlcsKgPyBFbiBhbmds YWlzLCBwYXIgZXhlbXBsZSwgbGVzIHZveWVsbGVzIGFuZ2xhaXNlcyBldCBhbcOpcmljYWluZXMg c29udCBhc3NleiBkaWZmw6lyZW50ZXMuIExlIMKrwqBSb2JpbsKgwrsgYW5nbGFpcyBwZXV0IMOq dHJlIHJhaXNvbm5hYmxlbWVudCBhcHByb3hpbcOpIHBhciDCq8KgJycucm9iaW4uJyfCoMK7LCBt YWlzIGxhIHZlcnNpb24gYW3DqXJpY2FpbmUgZXN0IHBsdXMgcHJvY2hlIGRlIMKrwqAnJy5yYWJ5 bi4nJ8Kgwrsgb3UgwqvCoCcnLnJhYixuLicnwqDCuy4gRXQgw6AgbCdpbnTDqXJpZXVyIG3Dqm1l IGRlIGwnYW5nbGV0ZXJyZSBvdSBkZXMgw6l0YXRzIHVuaXMgZCdhbcOpcmlxdWUsIGlsIHBldXQg eSBhdm9pciBub21icmUgdmFyaWF0aW9ucy4gQXVzc2kgZGV2cmlleiB2b3VzIHByZW5kcmUgbGVz IHRyYW5zbGl0ZXJhdGlvbnMgY2ktZGVzc3VzIGF2ZWMgZGVzIHBpbmNldHRlcy4KCgoKUHJlbm9u cyBsZSBub20gwqvCoFN1c2FuwqDCuywgZW4gYW5nbGFpcy4gTGVzIGRldXggwqvCoHPCoMK7IHNv bnQgcHJvbm9uY8OpcyBkaWZmw6lyZW1tZW50IOKAk8KgbGUgc2Vjb25kIMOpdGFudCBlbiBmYWl0 IHVuIMKrwqB6wqDCu8Kg4oCTIGV0IGxlIMKrwqBhwqDCuyBuJ2VzdCBwYXMgdnJhaW1lbnQgdW4g wqvCoGHCoMK7LCBtYWlzIGxlIMKrwqBzY2h3YcKgwrsgZG9udCBub3VzIGF2b25zIHBhcmzDqSBw bHVzIGhhdXQuIEFpbnNpLCDCq8KgU3VzYW7CoMK7IGRldmllbnQsIGVuIGxvamJhbiwgwqvCoCcn LnN1enluLicnwqDCuy4KCgoKVm91cyBhdmV6IHBldXQtw6p0cmUgbm90w6kgbGVzIGRldXggcG9p bnRzIHF1aSBhcHBhcmFpc3NlbnQgZGFucyBjaGFxdWUgbm9tIGxvamJhbuKApiBDZXV4LWNpIHNv bnQgbsOpY2Vzc2FpcmVzIGNhciBzYW5zIHBhdXNlLCBpbCBwZXV0IMOqdHJlIGRpZmZpY2lsZSBk ZSBzYXZvaXIgcXVhbmQgbGUgbW90IHByw6ljw6lkZW50IGZpbml0LCBldCBxdWFuZCBsZSBtb3Qg c3VpdmFudCBkw6lidXRlLgoKCgpWb3VzIGRldnJpZXogYXVzc2kgcGxhY2VyIHVuIHBvaW50IGVu dHJlIGxlIG5vbSBldCBsZSBwcsOpbm9tIGQndW5lIHBlcnNvbm5lIChiaWVuIHF1ZSBjZSBuZSBz b2l0IHBhcyBvYmxpZ2F0b2lyZSkuIEFpbnNpLCDCq8KgSm9zZXBoIEJlbmFyZMKgwrsgZGV2aWVu dCDCq8KgJycuam96ZWYuYmVuYXIuJyfCoMK7LgoKCgpVbmUgcsOoZ2xlIGltcG9ydGFudGUgZGFu cyBsYSBsb2piYW5pc2F0aW9uIGRlcyBub21zIGVzdCBxdWUgbGEgZGVybmnDqHJlIGxldHRyZSBk J3VuICcnY21ldmxhJycgKG5vbSBsb2piYW4pIGRvaXQgdG91am91cnMgw6p0cmUgdW5lIGNvbnNv bm5lLiBFbmNvcmUsIGNlY2kgYSBwb3VyIGJ1dCBkJ8Opdml0ZXIgbGEgY29uZnVzaW9uIHF1YW50 IMOgIHNhdm9pciBvw7kgZXN0IGxhIGZpbiBkJ3VuIG1vdCwgZXQgc2kgdW4gbW90IGVzdCBvdSBu J2VzdCBwYXMgdW4gbm9tICh0b3V0IGxlcyBhdXRyZXMgbW90IGxvamJhbiBmaW5pc3NhbnQgcGFy IHVuZSB2b3llbGxlKS4gRGFucyBsZSBjYXMgb8O5IHVuIG1vdCBmaW5pdCBwYXIgdW5lIHZveWVs bGUsIMKrwqAnJ3MnJ8KgwrsgZXN0IHNvdXZlbnQgYWpvdXTDqSDDoCBsYSBmaW4uIEFpbnNpLCDC q8KgTWFyaWXCoMK7IGRldmllbnQgZW4gbG9qYmFuIMKrwqAnJy5tYXJpcy4nJ8KgwrssIMKrwqBK b2XCoMK7IGRldmllbnQgwqvCoCcnLmRqb3MuJyfCoMK7LCBldCBhaW5zaSBkZSBzdWl0ZS4gVW5l IGFsdGVybmF0aXZlIGNvbnNpc3RlIMOgIHN1cHByaW1lciBsYSBkZXJuacOocmUgdm95ZWxsZSwg wqvCoE1hcmllwqDCuyBkZXZlbmFudCDCq8KgJycubWFyLicnwqDCuy4KCgoKVW5lIGRlcm5pw6hy ZSBjaG9zZcKgOiBjb21tZSBub3VzIGwnYXZvbnMgdnUsIGwnYWNjZW50IHRvbmlxdWUgZGVzIG1v dHMgbG9qYmFuIGVzdCBzaXR1w6kgc3VyIGwnYXZhbnQgZGVybmnDqHJlIHN5bGxhYmUuIFNpIGwn YWNjZW50IHRvbmlxdWUgZCd1biBub20gc2UgdHJvdXZlIGFpbGxldXJzLCBkZXMgbGV0dHJlcyBt YWp1c2N1bGVzIHNvbnQgdXRpbGlzw6llcy4gQ2VjaSBzaWduaWZpZSBxdWUgbGUgbm9tIMKrwqBS b2JlcnTCoMK7IHNlcmEgw6ljcml0IGRpZmbDqXJlbW1lbnQgc3VpdmFudCBxdSdpbCBzb2l0IGFu Z2xhaXMgb3UgZnJhbsOnYWlzwqA6IMKrICcnLnJvQkVSLicnIMK7IGVuIGZyYW7Dp2FpcywgwqvC oCcnLnJvYnl0LicnwqDCuyBlbiBhbmdsYWlzIGV0IMKrICcnLnJhYixydC4nJyDCuyBlbiBhbcOp cmljYWluLgoKCgpBZmluIGRlIHZvdXMgZG9ubmVyIHVuZSBpZMOpZSBkZSBjb21tZW50IHRvdXQg Y2VjaSBmb25jdGlvbm5lLCB2b2ljaSB1bmUgbGlzdGUgZGUgbm9tcyBkZSBxdWVscXVlIHBlcnNv bm5hZ2VzIGPDqWzDqGJyZXMgZGFucyBsZXVyIHByb3ByZSBsYW5ndWUgZXQgZW4gbG9qYmFuLgoK Cgp8fF9fRnJhbsOnYWlzX18KCk5hcG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQ QVJULicnCgpKdWxpZXR0ZSBCaW5vY2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHwKCnx8X19Bbmds YWlzX18KCk1hcmdhcmV0IFRoYXRjaGVyIHwnJy5tYWdyeXQudGF0Y3lyLicnCgpNaWNrIEphZ2dl ciB8JycubWlrLmRqYWd5cy4nJyB8fAoKfHxfX0NoaW5vaXNfXwoKTGFvemkgfCcnLmxhdWR6Licn CgpNYW8gWmVkb25nIHwnJy5tYXVkenlEWU4uJycgKExlIMKrwqBuZ8KgwrsgZmluYWwgZXN0IGNv bnZlbnRpb25lbGxlbWVudCB0cmFuZm9ybcOpIGVuIMKrwqAnJ24nJ8KgwrsgZW4gbG9qYmFuLikg fHwKCnx8X19UdXJjX18KCk11c3RhZmEgS2VtYWwgfCcnLk1VU3RhZmFzLmtlTUFMLicnCgpFcmtp biBLb3JheSB8JycuZXJraW4ua29yYWlzLicnIHx8Cgp8fF9fQWxsZW1hbmRfXwoKRnJpZWRyaWNo IE5pZXR6c2NoZSB8JycuZnJpZHJpeC5uaXRjeXMuJycKCkNsYXJhIFNjaHVtYW5uIHwnJy5rbGFy YXMuY3VtYW4uJycgfHwKCnx8X19Fc3BhZ25vbF9fCgpJc2FiZWwgQWxsZW5kZSB8JycuaXphQkVM LmFpZW5kZXMuJycKCkNoZSBHdWV2YXJhIHwnJy50Y2VnZXZhcmFzLicnIHx8CgoKCl9fRXhlcmNp Y2XCoDpfXwoKT8O5IHNvbnQgY2VzIGxpZXV4wqA/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54 YXZhbmFzLgoKIy5rYXJkaWYuCgojLmJlaWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMu CgojLnZhbmt1dmVyLgoKIy5rZWlwdGF1bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxpcy4K CiMubmlzLgoKIy5hdGluYXMuCgojLmxpZHouCgojLnhlbHNpbmtpcy4KCgoKUsOpcG9uc2VzOgoK fn5ncmF5LGdyYXk6fn4KCiN+fmdyYXksZ3JheTpOZXcgWW9yazogw4l0YXRzLVVuaXMgZCdBbcOp cmlxdWV+fgoKI35+Z3JheSxncmF5OlJvbWU6IEl0YWxpZX5+Cgojfn5ncmF5LGdyYXk6SGF2YW5h OiBDdWJhfn4KCiN+fmdyYXksZ3JheTpDYXJkaWZmOiBQYXlzIGRlIEdhbGxlcyAoTGUgZ2FsbG9p cyBwb3VyIMKrwqBDYXJkaWZmwqDCuyBlc3QgwqvCoENhZXJkeWRkwqDCuywgc2UgcXVpIHNlIGxv amJhbmlzZXJhaXQgY29tbWUgwqvCoCcnLmthaXJkeWQuJyfCoMK7Lil+fgoKI35+Z3JheSxncmF5 OkJlaWppbmc6IENoaW5lfn4KCiN+fmdyYXksZ3JheTpBbmthcmE6IFR1cmtpZX5+Cgojfn5ncmF5 LGdyYXk6QWxiZXF1ZXJxdWU6IE5vdXZlYXUtTWV4aXF1ZSwgw4l0YXRzLVVuaXMgZCdBbcOpcmlx dWV+fgoKI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4KCiN+fmdyYXksZ3JheTpDYXBl IFRvd246IEFmcmlxdWUgZHUgc3Vkfn4KCiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdhbiAoTm90 ZcKgOiBvbiB1dGlsaXNlIMKrwqAnJ2InJ8KgwrssIGV0IG5vbiDCq8KgJydwJyfCoMK7LiBCaWVu IHF1J2VuIGZhaXQsIGxlIGIgZW4gUGlueWluIHNvaXQgcHJvbm9uY8OpIHDigKYgTWFpcyBub3Vz IG5lIHNvbW1lcyBwYXMgZGFucyB1biBjb3VycyBkZSBtYW5kYXJpbsKgISl+fgoKI35+Z3JheSxn cmF5OkJvbm46IEFsbGVtYWduZX5+Cgojfn5ncmF5LGdyYXk6RGVsaGk6IEluZGUgKEwnaGluZGkg cG91ciDCq8KgRGVsaGnCoMK7IGVzdCDCq8KgRGlsbMOuwqDCuywgY2UgcXVpIGRvbm5lcmFpdCDC q8KgJycuZGlsaXlzLicnwqDCuyBvdSDCq8KgJycuZGlsaSdpcy4nJ8KgwrsuKX5+Cgojfn5ncmF5 LGdyYXk6TmljZTogRnJhbmNlfn4KCiN+fmdyYXksZ3JheTpBdGhlbnM6IEdyw6hjZSAowqvCoEF0 aGluYcKgwrsgZW4gZ3JlY3F1ZSl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBBbmdsZXRlcnJlfn4K CiN+fmdyYXksZ3JheTpIZWxzaW5raTogRmlubGFuZGV+fgoKCgpfX0V4ZXJjaXNlwqA6X18KCkxv amJhbmlzZXogbGVzIG5vbXMgc3VpdmFudMKgOgoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgoj TWF0dGhldwoKI01hdGhpZXUKCiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoK I1dpbGxpYW0gU2hha2VzcGVhcmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoK I0lzdGFuYnVsCgojTWFkcmlkCgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCgoKUsOpcG9uc2VzwqA6 Cgp+fmdyYXksZ3JheTpJbCB5IGEgc291dmVudCBkJ2F1dHJlcyDDqXBlbGxhdGlvbnMgcG91ciBs ZXMgbm9tcywgc29pdCBwYXJjZSBxdWUgbGVzIGdlbnMgcHJvbm9uY2VudCBsJ29yaWdpbmFsIGRp ZmbDqXJlbW1lbnQsIHNvaXQgcGFyY2UgcXVlIGxlIHNvbiBleGFjdCBuJ2V4aXN0ZSBwYXMgZW4g bG9qYmFuLCBldCBxdWUgbCdvbiBkb2l0IGNob2lzaXIgZW50cmUgZGV1eCBsZXR0cmVzLiBDZSBu J2VzdCBwYXMgaW1wb3J0YW50LCBkdSBtb21lbnQgcXVlIHRvdXQgbGUgbW9uZGUgc2FpdCBkZSBx dWkgb3UgcXVvaSB2b3VzIHBhcmxlei5+fgoKI35+Z3JheSxncmF5Oi5kam9uLiAob3UgLmRqYW4u IGF2ZWMgY2VydGFpbnMgYWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5tZWxpc2FzLiAoLm1lbGlz eXMuIGVuIGFuZ2xhaXMpfn4KCiN+fmdyYXksZ3JheTouYW1hbmRhcy4gKEVuIGFuZ2xhaXMsIHN1 aXZhbnQgbGVzIGFjY2VudHMsIGxlIMKrwqAnJ2EnJ8KgwrsgZmluYWwgcGV1dCDDqnRyZSB1biDC q8KgJyd5JyfCoMK7LCBkZSBtw6ptZSBwb3VyIGxlIMKrwqAnJ2EnJ8KgwrsgaW5pdGlhbCwgZXQg bGUgwqvCoCcnYScnwqDCuyBkdSBtaWxpZXUgcGV1dCDDqnRyZSB1biDCq8KgJydlJyfCoMK7Lil+ fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMufn4KCiN+fmdyYXksZ3JheToubWFUSVlTLn5+Cgojfn5n cmF5LGdyYXk6Lm1pa2FlbC4gKC5tYWlreWwuIG91IC5tYWlrLGwuIGVuIGFuZ2xhaXMuKX5+Cgoj fn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG91IC5ibyxpcy4gKHBhcyAuYnUsaXMuIOKAlCBj ZSBzZXJhaXQgYWxvcnMgbGUgJydjb3V0ZWF1JycgQm93aWUpfn4KCiN+fmdyYXksZ3JheTouZGpl aW4ub3N0aW4ufn4KCiN+fmdyYXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3Jh eTouc2lnb3JuaXMudWl2eXIuIG91IC5zeWdvcm5pcy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5y aXRjeXJkLm5pa3N5bi5+fgoKI35+Z3JheSxncmF5Oi5pc3RhbkJVTC4gYXZlYyB1biBhY2NlbnQg dG9uaXF1ZSBhbmdsYWlzLCAuSVN0YW5idWwuIGF2ZWMgdW4gYWNjZW50IHRvbmlxdWUgQW3DqXJp Y2FpbiwgLmlzdGFuYnVsLiBhdmVjIGwnYWNjZW50IHRvbmlxdWUgVHVyYy4gTGVzIGxvamJhbmlz dGVzIHByw6lmw6hyZW50IGVuIGfDqW7DqXJhbCBiYXNlciBsZXMgY21ldmxhIHN1ciBsYSBwcm9u b25jaWF0aW9uIGxvY2FsZSwgbWFpcyBjZSBuJ2VzdCBwYXMgdW5lIHLDqGdsZSBhYnNvbHVlLn5+ Cgojfn5ncmF5LGdyYXk6Lm1hRFJJRC5+fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdy YXksZ3JheTouc2FuLnNhbHZhRE9SLiAoYXZlYyBsJ2FjY2VudCB0b25pcXVlIGVzcGFnbm9sKX5+ CgohISEhTW90cyBsb2piYW4gY29tbWUgbm9tcwoKCgrDgCBwcsOpc2VudCwgdm91cyBkZXZyaWV6 IMOqdHJlIGNhcGFibGUgZGUgbG9qYmFuaXNlciB2b3RyZSBwcm9wcmUgbm9tLiBUb3V0ZWZvaXMs IHNpIHZvdXMgbGUgcHLDqWbDqXJleiwgdm91cyBwb3V2ZXogdHJhZHVpcmUgdm90cmUgbm9tIGVu IGxvamJhbiAoc2kgdm91cyBzYXZleiBjZSBxdSdpbCBzaWduaWZpZSwgYmllbiBzw7tyKSwgb3Ug YWRvcHRlciB1bmUgdG91dGUgbm91dmVsbGUgaWRlbnRpdMOpIGxvamJhbmUuIExlcyBpbmRpZW5z IGQnYW3DqXJpcXVlIG9udCB0ZW5kYW5jZSDDoCB0cmFkdWlyZSBsZXVyIG5vbSBlbiBhbmdsYWlz LCBwYXJ0aWVsbGVtZW50IHBhcmNlIHF1ZSBsZXVyIG5vbSBzaWduaWZpZSBxdWVscXVlIGNob3Nl LCBldCBwYXJ0aWVsbGVtZW50IHBhcmNlIHF1J2lsIG5lIHMnYXR0ZW5kZW50IHBhcyDDoCBjZSBx dWUgbGUgwqvCoHdhc2ljaHXCoMK7IHNvaXQgY2FwYWJsZSBkZSBwcm9ub25jZXIgZGVzIG1vdHMg ZW4gTGFrb3RhLCBDaGVyb2tlZSBvdSBhdXRyZcKgIQoKCgpMZXMgbW90cyBsb2piYW4gKG1pcyDD oCBwYXJ0IGxlcyBjbWV2bGEpIHNlIHRlcm1pbmVudCBwYXIgdW5lIHZveWVsbGUuIFZvdXMgcG91 dmV6IHV0aWxpc2VyIGRlcyBtb3RzIGxvamJhbiBjb21tZSBub20sIG1haXMgc2kgdm91cyBwcsOp ZsOpcmV6IHF1ZSB2b3RyZSBub20gc29pdCB1biBjbWV2bGEgZXQgcXUnaWwgc2UgdGVybWluZSBw YXIgdW5lIHZveWVsbGUsIHZvdXMgcG91dmV6IHNvaXQgYWpvdXRlciB1bmUgY29uc29ubmUgw6Ag bGEgZmluIGRlIGNlbHVpLWNpLCBzb2l0IHRyb25xdWVyIGxhIGRlcm5pw6hyZSB2b3llbGxlLgoK CgpWb2ljaSBxdWVscXVlcyBleGVtcGxlcyAobm9tIG9yaWdpbmFsLCBzaWduaWZpY2F0aW9uLCBu b20gZXQgbm9tIGNvbW1lIGNtZXZsYSnCoDoKCipGaXNoIChBbmdsYWlzID0gcG9pc3Nvbikg4oCT IGZpbnBlIOKAkyAnJy5maW5wLicnCgoqQmrDtnJuIChTY2FuZGluYXZlID0gb3Vycykg4oCTIGNy aWJlIOKAkyAnJy5jcmliLicnCgoqVmVyZGkgKEl0YWxpZW4gPSB2ZXJ0KSDigJMgY3Jpbm8g4oCT ICcnLmNyaW4uJycKCipNZWkgTGkgKENoaW5vaXMgPSBiZWF1KSDigJMgbWVsYmkg4oCTICcnLm1l bGIuJycKCipBeWhhbiAoVHVyYyA9IFNlaWduZXVyIEx1bmUpIOKAkyBsdW5yYSBub2JsaSAoPSBs dXJub2JsaSkg4oCTICcnLmx1cm5vYmxpcy4nJwoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29u IG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhl IG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2 ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJp ZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVh Y2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5k cyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVy YW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRo ZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEg ZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4g VGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJh IGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xp c2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBv ZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBh IHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHBy b3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBj b250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMg bm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcu IEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9u ZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0 LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0K CiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoK IyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXks IHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBj b250YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNs YWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25z aXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNl bGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBz dW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDi gJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwg c2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMs IGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Yg d2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug 4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDi gJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90 IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxl c3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3Ro ZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBl eHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVx dWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBk YXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKA nHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDi gJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgNSBuZXcgc2hpcnRzIGZyb20gTWFyayBmb3Ig anVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog 4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnDUgbmV3IHNoaXJ0 c+KAnSwg4oCcTWFya+KAnSBhbmQg4oCcdHdvIGh1bmRyZWQgZXVyb3PigJ1+fgoKCgpTaW5jZSB0 aGVzZSBjb25jZXB0cyBhcmUgc28gZnVuZGFtZW50YWwgdG8gTG9qYmFuLCBsZXQncyBoYXZlIGEg dGhpcmQgZXhhbXBsZTog4oCcU28gZmFyLCB0aGUgRVBBIGhhcyBkb25lIG5vdGhpbmcgYWJvdXQg dGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 c2VsYnJpOiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRpOiDigJxUaGUgRVBB4oCdLCDigJxu b3RoaW5n4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZeKAnX5+CgoKCk5v dyB0cnkgYmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9yIHRoaXMgeW91IHdpbGwgbmVlZCB0 byB1c2Ugc29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzZWxicmk6CgonJ19fZHVuZGFfXycn IHgxIGdpdmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQpCgonJ19fcGVseHVfXycnIHgxIGlz IHllbGxvdwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUgb2YgeDIKCgoKTm90aWNlIHRoYXQg dGhlc2Ugd29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5ZWxsb3figJ0gYW5kIOKAnGhvbWXi gJ0gd291bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFkamVjdGl2ZSBhbmQgYSBub3VuIGlu IEVuZ2xpc2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1Y2ggY2F0ZWdvcmllcyBhbmQgbm8g c3VjaCBkaXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0cmFuc2xhdGVkIOKAnGdpdmVz4oCd ICh2ZXJiKSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKAnGlzIGdpdmluZ+KAnSAoYWRqZWN0 aXZlKSBhcyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBUaGV5IGFsbCBhY3QgYXMgc2VsYnJp LCBhbmQgYXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpBcyB3ZWxsIGFzIGEgZmV3IHdvcmRz LCB3aGljaCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18nJyDigJxJ4oCdIG9yIOKAnHdl4oCd IOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtpbmcuCgonJ19fdGlfXycnIOKAnHRo aXPigJ0g4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVhcmJ5IHdoaWNoIGNhbiBiZSBwb2lu dGVkIHRvIGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDigJx5b3XigJ0g4oCTIHRoZSBvbmUg b3IgdGhvc2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoKClNlZSB0aGUgc3RyYW5nZSB0cmFu c2xhdGlvbnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVjaWFsbHkgdGhlIHgxLCB4MiBhbmQg eDM/IFRob3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBUaGV5IGFyZSBwbGFjZXMgd2hlcmUg c3VtdGkgY2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGluZyBhIHN1bXRpIGluIGEgcGxhY2Ug c3RhdGVzIHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBwbGFjZS4gVGhlIHNlY29uZCBwbGFj ZSBvZiAnJ2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMgdGhlIHRoaW5nIGJlaW5nIGdpdmVu LiBUaGUgdGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNlaXZlcyB0aGUgdGhpbmcuIE5vdGlj ZSBhbHNvIHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVuZGEnJyBoYXMgdGhlIHdvcmQg4oCc dG/igJ0gaW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUgdGhpcyB3b3JkIGlzIG5lZWRlZCBp biBFbmdsaXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0aGUgcmVjZWl2ZXIgaXMgaW4gdGhl IHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28gd2hlbiB5b3UgZmlsbCB0aGUgdGhp cmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3VtdGkgeW91IGZpbGwgaW4gaXMgYWx3 YXlzIHRoZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVkIGFuIGVxdWl2YWxlbnQgdG8gdGhl IHdvcmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5b3Ugc2ltcGx5IHNheSB0aGUgeDEg c3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBhbnkgb3RoZXIgc3VtdGkuCgpVc3Vh bCBicmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IHt4 NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhlIG9yZGVyIGNhbiBiZSBwbGF5ZWQg YXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3aXRoIHRoZSB1c3VhbCBmb3JtLiBU byBzYXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBqdXN0IHNheSAnJ21pIGR1bmRhIHRp IGRvJycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSByaWdodCBwbGFjZXMuCgoKClNvLCBo b3cgd291bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBvZiBtZeKAnT8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkgYSBmZXcgbW9yZSBpbiBvcmRlciB0 byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUgc2luayBpbi4KCgoK4oCcWW91IGdp dmUgdGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2RvIGR1bmRhIHRpIG1p Jyd+fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVhc3kgb25jZSB5b3UgZ2V0IHRoZSBo YW5nIG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkgYWZ0ZXIgZWFjaCBvdGhlciBhcmUg c2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiBmdWxs IHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJyaWRpIGluc3RlYWQgb2YgYWZ0ZXIg dGhlbS4gSXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0aG91Z2gs IGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycgU2VudGVuY2Ugc2VwYXJhdG9y LiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRpKS4KCgoK Jyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlzIGEgaG9tZSB0byBtZS4gVGhp cyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBsZXNzb24s IEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2ZW4gbWlu dXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoKISFMb2piYW4gTGVzc29u cyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0IHNlbGJyaSBoYXZlIGZyb20gb25l IHRvIGZpdmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZlIG1vcmUuIEhlcmUgaXMgYSBzZWxi cmkgd2l0aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNudV9fJycgeDEgc2VsbHMgeDIgdG8g eDMgZm9yIHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg4oCcSSBzZWxsIHRoaXPigJ0sIGl0 IHdvdWxkIGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0aGUgc3VtdGkgcGxhY2VzIHgzIGFu ZCB4NCwgd2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0aGluZyB0bywgYW5kIGZvciB3aGF0 IHByaWNlLiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1bXRpIHBsYWNlcyBjYW4gYmUgZmls bGVkIHdpdGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRlcyB0byB1cyB0aGF0IHRoZSB2YWx1 ZSBvZiB0aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQgYmVjYXVzZSBpdCdzIHVuaW1wb3J0 YW50IG9yIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4dC4KCicnX196bydlX18nJyDigJxz b21ldGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0aGluZywgYnV0IGRvZXMg bm90IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwgdG8geW914oCdLCBJIGNvdWxk IHNheSAnJ21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJIHNlbGwgc29tZXRoaW5nIHRvIHlv dSBmb3Igc29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxUaGF0J3MgYSBob21lIChm b3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIHpkYW5pIHpvJ2Un J35+CgoKCkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMgdGhpcyB0byAoc29tZW9uZSnigJ0/ CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRhIHRpIHpvJ2UnJ35+CgoKClN0aWxs LCBmaWxsaW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5IHRoYXQgYSB0aGluZyBpcyBiZWlu ZyBzb2xkIHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9uJ3QgbmVlZCB0byB3cml0ZSBhbGwg dGhlICcnem8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlvdSBs ZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5IGNv bnRhaW5lZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lucyB3aXRoIGEgc2VsYnJpLCB0aGUg eDEgaXMgcHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQgYmVjb21lcyAnJ3pvJ2UnJy4KClRy eSBpdCBvdXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRhbmkgbWknJyBtZWFu PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUgb2YgbWXigJ0g b3IganVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25lZCBlYXJsaWVyLCB0 aGUgZm9ybSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRpfSB7c2VsYnJpfSB7eDIgc3VtdGl9 IHt4MyBzdW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4gcGxhY2UgdGhlIHNlbGJyaSBhbnl3 aGVyZSB5b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkuIElm IHlvdSBkbyB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBsZWZ0IG91dCBhbmQgZmlsbGVkIHdp dGggJyd6bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0aHJlZSBqdWZyYSBhcmUgYWxs IHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRpIGRvJycKCicnbWkgdGkgZHVu ZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1lcyB0aGlzIGlzIHVzZWQgZm9y IHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNvdWxkIGJlICcnZG8gZG8g dmVjbnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8gdmVjbnUgZG8nJy4gT3IgaXQg Y2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2ZXJ5IGxvbmcgYW5kIHRo ZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4KCgoKVGhlcmUg YXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGggdGhlIG9yZGVyIG9mIHRo ZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUgaXMgYnkgdXNpbmcgdGhl IHdvcmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQgJydmdScnLiBOb3RpY2Ug dGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhlIExvamJhbiBhbHBoYWJl dCBpbiBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1hcmtzIHRoYXQgdGhlIG5leHQg c3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUgcmVzcGVjdGl2ZWx5LiBU aGUgbmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQgdG8gZmlsbCBhIHNsb3Qg b25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBleGFtcGxlOgoKJydkdW5k YSBmYSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91IG9mIHRoaXMgdGhpbmcgdG8g eW914oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdoaWNoIGlzIHlvdS4gJydm ZScnIG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBTdW10aSBjb3VudGluZyB0 aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0IHRoZSBsYXN0IHN1bXRpIGZp bGxzIHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhl IGZvbGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUgZm8gdGkgZmUgZG8nJwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBwcmljZSBvZiB0aGlzLCB5 b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0aGlz4oCdIChwcm9iYWJs eSBwb2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicnemRhbmkgZmUgdGknJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4gSGVyZSwgdGhlIGZlIGlz IHJlZHVuZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkgZmEgZG8nJwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3IgdGhpcyBwcmljZeKAnX5+ CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0YW5ydSBhbmQgbG8pCgpJ biB0aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGNvbmNlcHQg b2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBzZWxicmkgaXMgcHV0IGlu IGZyb250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1lYW5pbmcuIEEgdGFucnUg aXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBvdGhlciBzZWxicmkgb3Ig dGFucnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6ZGFuaSB2ZWNudScnIGlz IGEgdGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUnJywgd2hpY2ggaXMgbWFk ZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBzaW5nbGUgYnJpdmxhIHdv cmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHRhbnJ1LCBjb25zaWRl ciB0aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRyZWXigJ0uIElmIHlvdSBk aWRuJ3Qga25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1dCBoYWQgaGVhcmQgYWJvdXQgYm90 aCBsZW1vbnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJlIGFibGUgdG8gZGVkdWNlIHdoYXQg YSBsZW1vbiB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNvbG9yZWQgdHJlZSwgb3IgYSB0cmVl IHNoYXBlZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9zZSBiYXJrIHRhc3RlcyBsaWtlIGxl bW9uLiBUaGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cgZm9yIHN1cmUgd291bGQgYmUgdGhh dCBpdCB3b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBiZSBsZW1vbi1saWtlIGluIHNvbWUg d2F5LgoKQSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0byB0aGlzLiBJdCBjYW5ub3QgYmUg c2FpZCBleGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251JycgaXMsIGJ1dCBpdCBjYW4gYmUgc2Fp ZCB0aGF0IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5kIHRoYXQgaXQncyB6ZGFuaS1saWtl IGluIHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlrZSBpbiBhbnkgd2F5LiBJbiB0 aGVvcnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRoZSBjb25uZWN0aW9uIHRvIHpk YW5pIHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pkYW5pIHZlY251JycuIEhvd2V2 ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUgb3JkaW5hcnkgc2Vuc2UgaW4g b3JkZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxkIGdsb3NzICcnemRhbmkgdmVj bnUnJyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0ZXIgYnV0IHdvcnNlIHNvdW5k aW5nIOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBh IHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qgc2VsYnJpLiBJdCdzIGFsc28g c2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUgcmlnaHQgc2VsYnJpLgoK4oCc UmVhbGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0IGRvZXNuJ3QgbWF0dGVyIGhv dyBzaWxseSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3b3JkIGluIGEgdGFucnUgaXMsIGl0 J3Mgc3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBzZWxsZXJzIGZvciAnJ3pkYW5pIHZl Y251JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4Y3VzZSB3aHkgSSB0aGluayBpdCdz IHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW91J2QgYmUgYSBkaWNrLiBPciBh dCBsZWFzdCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xlYWRpbmcuIEluIGdlbmVyYWwsIHlv dSBzaG91bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlvdXMgaG93IHRoZSBsZWZ0IHdvcmQg cmVsYXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dp bmc6ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYXQg aXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBkb24ndCBrbm93IGluIHdoaWNo IHdheSBpdCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWludGVkIHllbGxvdywgYnV0IHdlIGRv bid0IGtub3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBkdW5kYScnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hhdCBjYW4gdGhhdCBtZWFuPyBObyBp ZGVhLiBJdCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQgeW91IHNvbGQgc29tZXRoaW5nLCBz aW5jZSwgYnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJlIGNhbiBiZSBubyBwYXltZW50 IGludm9sdmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0IGJlIHNlbGwtbGlrZSBpbiBz b21lIGFzcGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJl bnQuIFdoYXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdlcm1hbj8KCicnX19kb3Rj b19fJycgeDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJlIGluIGFzcGVjdCB4MgoK CgpJIGNhbid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28nJyBiZWNhdXNlIHRoYXQgd291bGQg bGVhdmUgdHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBpcyBub3QgcGVybWl0dGVkLiBJIGNv dWxkIHNheSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQgd291bGQgYmUgdW5uZWNlc3Nhcnkg dmFndWUgLSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5LiBMaWtld2lzZSwgaWYgSSB3YW50 IHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbuKAnSwgd2hhdCBzaG91bGQg SSBzYXk/CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5kIG9mIHgyCgonJ19fbWVya29fXycn IHgxIGlzIEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKQWdhaW4s IHRoZSBvYnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBlbmRvIG1lcmtvJycsIGJ1dCB0aGF0 IHdvdWxkIGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFtIGZyaWVuZC1saWtlIEFtZXJpY2Fu 4oCdLCB3aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkgd2FudCB0byBpcyB0byB0YWtlIHRo ZSBzZWxicmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIHN1bXRpIHNvIGl0IGNh biBiZSB1c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBUaGlzIGlzIGRvbmUgYnkgdGhlIHR3 byB3b3JkcyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycnX18g4oCTIGdlbmVyaWMgYmVnaW4g Y29udmVydCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFjdHMgeDEgb2Ygc2VsYnJpIHRvIHVz ZSBhcyBzdW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSBw cm9jZXNzLgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJpIGJldHdlZW4gdGhlc2UgdHdvIHdv cmRzLCBhbmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4gZmlsbCB0aGUgeDEgb2YgdGhhdCBz ZWxicmkgYW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNvIGZvciBpbnN0YW5jZSwgdGhlIHRo aW5ncyB0aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUgb25seSB0aGluZ3Mgd2hpY2ggYXJl IGhvbWVzIG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1JycgbWVhbnMg4oCcYSBob21lIG9y IHNvbWUgaG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFybHksIGlmIEkgc2F5IHRoYXQgc29t ZXRoaW5nIGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxvdy4gU28gJydsbyBwZWx4dSBrdScn IHJlZmVycyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91IGhhdmUgdGhlIG5lY2Vzc2Fy eSBncmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJp Y2FuLuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBr dScnfn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhlICcna3UnJyBpcyBuZWNlc3Nh cnkuIFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhpcyB0byBtZeKAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUgdGkgbWknJyBJZiB5b3UgbGVh dmUgb3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0IHNpbXBseSB0aHJlZSBz dW10aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlkaSwgdGhlIHRpIGlzIGZvcmNl ZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2Ug YW5kIGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBvZiAnJ2xvIGRvdGNvIHZlY251 IHtrdX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFsd2F5cyBoYXZlIHRvIGJlIGNh cmVmdWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVseHUnJy4gSWYgdGhlICcna3Un JyBpcyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0 IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBl bHh1JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoKCgoKCiEhTG9qYmFuIExlc3Nv bnMg4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90aGVyIGNvbmNlcHQgd2hpY2gg Y2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRp bmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0 bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVkIGluIHRoZSBmZW1pbmlzdCBj b25zdHJ1Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRseSB0byBlbmFibGUgdHJ1ZSBmZW1h bGUgZW1vdGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFsZSBlbW90aW9uYWwgZXhwcmVzc2lv biB3YXMgaGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFuZ3VhZ2UsIGFuZCBpZiBvbmx5IHRo ZXkgd2VyZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZyZWVseSwgdGhpcyB3b3VsZCBlbXBv d2VyIHdvbWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUgbGFuZ3VhZ2UuCgpJbiBMb2piYW4s IHRoZXJlIGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1ZGluYWxzIG1vc3QgcHJvYmFibHkg aGF2ZSBiZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdlIGJlY2F1c2UgdGhleSB0dXJuZWQg b3V0IHRvIGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNlZnVsLiBUaGV5IGFsbCBoYXZlIGEg c28tY2FsbGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5IGNhbiBhcHBlYXIg YWxtb3N0IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGJyaWRp J3MgZ3JhbW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4KCkluIExvamJhbiBncmFt bWFyLCBhbiBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91cyB3b3JkLiBJZiB0aGF0 IHByZXZpb3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNvbnN0cnVjdCAobGlrZSAn Jy5pJycgb3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50aXJlIGNvbnN0cnVjdC4gTGlr ZXdpc2UsIGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3aGljaCBlbmRzIGEgY29u c3RydWN0IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRlZCBjb25zdHJ1Y3QuCgoK CkxldCdzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycn LnVpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVu aGFwcGluZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFsOiBldmlkZW50aWFsOiBJIGRpcmVj dGx5IG9ic2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZpbml0aW9uIG9mICcnLnVpJycsIHRo ZXJlIGFyZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5lc3MgYW5kIHVuaGFwcGluZXNzLiBU aGlzIG1lYW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFzIGhhcHBpbmVzcywgd2hpbGUgaXRz IOKAnG5lZ2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g4oCcTmVnYXRpb27igJ0gbWlnaHQg YmUgdGhlIHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHksIHRoZSBvdGhlciBkZWZpbml0aW9u IG9mICcnLnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcnLnVpIG5haScnLiBNb3N0IG9mIHRo ZSB0aW1lLCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0aXR1ZGluYWxzIC0gdGhlIG9uZXMg c3VmZml4ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRoZSBuZWdhdGlvbiBvZiB0aGUgYmFy ZSBhdHRpdHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBtdWNoLgoKX18nJ25haScnX18gbWlz Yy4gbmVnYXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5hbHMsIGl0IGNoYW5nZXMgdGhlIG1l YW5pbmcgaW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRpb24iCgoKCkFuZCBzb21lIG1vcmUg c2VsYnJpLCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9fJydjaXRrYScnX18g4oCTIHgxIGVh dHMgeDIKCl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFwcGxlIG9mIHN0cmFpbi90eXBlIHgy CgoKClRoZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNlIGt1IC51aScnLCBtZWFucyDigJxZ b3UgZWF0IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5IGV4cHJlc3NpbmcgdGhhdCBpdCBp cyB0aGUgX19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMgaGFwcHkgYWJvdXQsIG5vdCB0aGUg ZWF0aW5nLCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3UuKSBJbiB0aGUgc2VudGVuY2UgJydk byB6YSdhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVz IHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBh cyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1ZGluYWwgaXMgcGxhY2Vk IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRlcnN0b29kIHRvIGFwcGx5 IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1cyBhcHBseWluZyB0byB0aGUg ZW50aXJlIGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKAkyDi gJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCdCgoK CicnbWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vja3Mh KSBhIGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3QsIHRo b3VnaCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9fJycudSd1JydfXyBhdHRp dHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQgLSByZW1vcnNlbGVzc25lc3MgLSBp bm5vY2VuY2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246 IGNvbXBsYWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18gYXR0aXR1ZGluYWw6IG1pc2NlbGxh bmVvdXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBhdCB0aGF0LCB0d28gd29y ZHMgd2l0aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEgVGhlIG1pZGRsZSBvbmUg aXMgYWNjZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3UnaScnLiBJdCdzIGNvbnNpZGVyZWQg dGhlIG1pZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1J2knJ19fIGF0dGl0dWRpbmFsIG1p ZHBvaW50IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFsIHRvIGNoYW5nZSB0aGUgbWVhbmlu ZyB0byB0aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4KCgoKVHJ5IHNheWluZyDigJxJIGdp dmUgc29tZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl4oCdCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUnJyBvciAnJ3pvJ2UnJyBpbnN0ZWFk IG9mICcnZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVsbG93IGFwcGxl4oCdCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4dSBwbGlzZSBrdScnfn4K CgoKTGV0J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9mIGEgZGlmZmVyZW50IGtpbmQgdG8g aWxsdXN0cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5laScnIEF0dGl0dWRpbmFsOiBjb21w bGV4IHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlvbiAtIGZyZWVkb20uCgoKClNvLCBx dWl0ZSBlYXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSBpcyAnJ21pIGR1 bmRhIC5laSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMsIGFjdHVhbGx5ISBXaGVuIHlvdSB0 aGluayBhYm91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMgaXQgdGhhdCBhbGwgdGhlIG90aGVy IGF0dGl0dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3NlcyB0aGUgc3BlYWtlcidz IGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3 aGF0IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUg dGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdoZXRoZXIgdGhlIGFwcGxl IGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVzZWQgJycudWknJywgaG93 ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUg YXdheSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXQncyB0aGF0IGFsbCBhYm91 dD8KCgoKVGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1ZGluYWxzIGNoYW5nZSB0aGUgY29u ZGl0aW9ucyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlzIGEgc3ViamVjdCBvZiBhIG1pbm9y IGRlYmF0ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KAnSBydWxlLCB3aGljaCBwcm9iYWJs eSB3b24ndCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEgZGlzdGluY3Rpb24gYmV0d2Vl biDigJxwdXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3NpdGlvbmFsIGVtb3Rpb25z4oCdLiBP bmx5IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0cnV0aCBjb25kaXRpb25z LCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8gZXhwcmVzcyBhIHByb3Bv c2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHRydXRo IHZhbHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRlIGl0IGZyb20gdGhlIGJy aWRpIHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3IgZXhwbGljaXRseSBjb25z ZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9mIGEgYnJpZGk6CgoKCl9f JydkYSdpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4gZmFjdAoK U2F5aW5nICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9ucyB0 byBoeXBvdGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IHVzaW5nIHByb3Bvc2l0aW9uYWwg YXR0aXR1ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRp dGlvbiB0byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0IHVzaW5nIHB1cmUgYXR0aXR1ZGlu YWxzLgoKCgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWluZyDigJxJIGdpdmUgdGhlIGFwcGxl IGF3YXnigJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAnJ21pIGR1bmRhIGRhJ2kg bmFpIC5laSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcgb2YgYW4gYXR0aXR1ZGluYWwgY2Fu IGJlIHN1YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5nICcnZGFpJycuIFVzdWFsbHkgaW4g b3JkaW5hcnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMgc3Vic2NyaWJlZCB0byB0aGUgbGlz dGVuZXIsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28uIEFsc28sIGJlY2F1c2UgdGhlIHdv cmQgaXMgZ2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5nIG90aGVycyBlbW90aW9ucyksIHNv bWUgTG9qYmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNwZWFrZXIgbXVzdCBzaGFy ZSB0aGUgZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90aGVycy4KCl9fJydkYWknJ19fIGF0 dGl0dWRpbmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0dGl0dWRpbmFsIHRvIHNv bWVvbmUgZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAnJ3UnaSAub2kgZGFpIGNpdGthIHRp JycgLSDigJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBoYXZlIGh1cnQh4oCdCgoK CldoYXQgb2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdSdpIGRhaScnIG1lYW4/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5ueS7igJ1+fgoKCgpBbmQgYW5vdGhl ciBvbmUgdG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRvIHRyYW5zbGF0ZSDigJxIZSB3YXMg c29ycnkgaGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5nLCB0aGF0IHRlbnNlIGlzIGltcGxp ZWQgYW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg4oCcaGXigJ0gY291bGQgYmUgb2J2 aW91cyBmcm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd1J3UgZGFpIHZlY251 IGxvIHpkYW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkgb2YgYW4gYXR0aXR1ZGlu YWwgY2FuIGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBUaGVzZSBjYW4gYmUgdXNl ZCBhZnRlciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwgd2l0aCAnJ25haScnIG9y ICcnY3UnaScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIgd2hhdCBoYXBwZW5zIHdoZW4geW91 IGF0dGFjaCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNlbGJyaSwgbXVzdCBpdCdzIG1vc3Rs eSB1bmRlcnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFrZW5pbmcgdGhlIHNlbGJyaSBpbiBz b21lIHVuc3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3b3JkICB8IEludGVuc2l0eSAgCgog Y2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5vbmUpfCAgIFVuc3BlY2lmaWVkICht ZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVtb3Rpb24gaXMgZXhwcmVzc2VkIHVz aW5nICcnLnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2knJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxl IHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNzCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291bGQgeW91IGV4cHJlc3MgdGhhdCB5 b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy51J3Ug Y3UnaSBydSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gZml2ZSAoU0UpCgpC ZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkgb2YgbW9yZSBjb21wbGV4IGNvbnN0 cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNoYW5pc20gZm9yIHJlb3JkZXJpbmcg dGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3aWxsIHNob3csIGlzIHZlcnkgdXNl ZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10aSAodGhlIGtpbmQgb2Ygc3VtdGkg d2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNlIOKAnEkgZWF0IGEgZ2lmdOKAnSwg d2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBnaWZ0IGlzIGFuIGFwcGxlLiBUbyB0 cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFsIHRvIGxvb2sgdXAgYSBzZWxicmkg bWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5nLiBIb3dldmVyLCBpZiBvbmUgbG9v a3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgeDEgZ2l2ZXMgeDIg dG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAnJ2R1bmRhJycgaXMgc29tZXRoaW5n IGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0aGF0IHNlbnRlbmNlLCB3ZSBjYW4n dCBzYXkgJydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBiZWNhdXNlICcnbG8gZHVuZGEga3UnJyB3 b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGljaCBpcyBhIGRvbm9yIG9mIGEgZ2lmdC4g Q2FubmliYWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQgdG8gc2F5IHRoYXQuIFdoYXQgd2Ugd2Fu dCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNlbGJyaS4KClRoaXMgaXMgb25lIGV4 YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUgd29yZCAnJ3NlJycuIFdoYXQgJydz ZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgeDEgYW5kIHgyIG9m IHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0cnVjdCBvZiAnJ3NlJycgKyBzZWxi cmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxicmkuIExldCdzIHRyeSB3aXRoIGFu IG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKAnHgxIHRyYW5zbGF0ZXMgeDIg dG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJlc3VsdCBvZiB0cmFuc2xhdGlv biB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBmYW52YSB0aScnCgpUaGlzIGlzIHRy YW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcykuIE9mdGVuLCBidXQgbm90IGFsd2F5 cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUgdHJhbnNsYXRlZCB0byBzZW50ZW5j ZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgxIGlzIG9mdGVuIHRoZSBvYmpl Y3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93biBmYW1pbHkgb2Ygd29yZHMuIEFs bCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0aGUgeDEuCgp8fHNlCXxzd2Fw IHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dhcCB4MSBhbmQgeDQKCnhlCXxz d2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5kIHggYXJlIGNvbnNlY3V0aXZl IGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4KCgoKU286IFVzaW5nIHRoaXMga25v d2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0aGlz4oCdIChvciAnJ2ZhbnZh IHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFtaWx5IGNhbiBvZiBjb3Vyc2UgYmUg Y29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRoZSByZXN1bHQgY2FuIGJlIHZl cnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFrZSBpdCBzbzoKCl9fJydrbGFt YScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4MyB2aWEgeDQgdXNpbmcgeDUg YXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1IGxvIHpkYW5pIGt1IHRlIGtsYW1hIGZl IGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxvIHpkYW5pIGt1JycgYW5kIHNp bmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcndGkga2xhbWEgZG8gbWkgbG8gemRh bmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1lIHZpYSBhIGhvbWUu4oCdIE9m IGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRlbmNlIGV4Y2VwdCB0byBjb25m dXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVuZGVyc3RhbmRpbmcgb2YgTG9q YmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21lIHRvIHRoZSBwb2ludCB3aGVyZSB3 ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBleGNoYW5nZSB0aGUgc3VtdGkg cGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8gYmUgeDEsIHRoZW4gZXh0cmFj dCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4gU28sIGhvdyB3b3VsZCB5b3Ugc2F5 IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpdGthIGxvIHNl IGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhlIG1hbnkgdXNlcyBmb3IgJydzZScn IGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzaXggKGFi c3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVzc2VkIHNpbmdsZSBzZW50ZW5j ZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBsZXggdGhpbmdzLCBob3dldmVy LCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMuIEx1Y2tpbHksIHRoZXNlIGFy ZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9uZSB3b3VsZCBleHBlY3QuCgpXZSBj YW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIHRoaXM6IOKAnEkgYW0gaGFw cHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwgdGhlIG1haW4gYnJpZGkgaXMg4oCc SSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlkaSBpcyDigJxZb3UgYXJlIG15 IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlvbiBmb3Ig4oCcaGFwcHnigJ0sIHdo aWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCceDEgaXMgaGFwcHkgYWJvdXQgeDIg KGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUgeDIgbmVlZHMgdG8gYmUgYW4gZXZl bnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNlIG9uZSBjYW5ub3QgYmUgaGFw cHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBhYm91dCBzb21lIHN0YXRlIHRoZSBv YmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBleHByZXNzIGEgc3RhdGUgb3Ig YW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4MiBvZiAnJ2dsZWtpJychCgpB cyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNvbHV0aW9uLiBUaGUgd29yZHMg JydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDigJxjb252ZXJ0IGJyaWRpIHRvIHNlbGJy aeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAnJ2xvJyfigKYnJ2t1JycuCgpfXycn c3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCgpfXycn a2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCgoKRXhhbXBsZToKCl9fJydtZWxiaScnX18geDEgaXMg YmVhdXRpZnVsIHRvIHgyLgoKX18nJ2RhbnN1JydfXyB4MSBkYW5jZXMgdG8gYWNjb21wYW5pbWVu dC9tdXNpYy9yaHl0aG0geDIuCgonJ21lbGJpIHN1J3UgZGFuc3Uga2VpJycgLSDigJxCZWF1dGlm aWwgZGFuY2luZ+KAnS/igJxCZWF1dGlmaWwgZGFuY2XigJ0KCgoKSXQncyB1c3VhbGx5IGhhcmQg dG8gZmluZCBnb29kIHVzZXMgb2YgYSBicmlkaSBhcyBhIHNlbGJyaS4gSG93ZXZlciwgc2luY2Ug JydzdSd1IEJSSURJIGtlaScnIGlzIGEgc2VsYnJpLCBvbmUgY2FuIGNvbnZlcnQgaXQgdG8gYSBz dW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1JycuCgpOb3cgd2UgaGF2ZSB0aGUgZXF1aXBtZW50IHRv IGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5k4oCdLiBUcnkgaXQg b3V0IQoKX18nJ3BlbmRvJydfXyDigJx4MSBpcyBhIGZyaWVuZCBvZiB4MuKAnQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gc3UndSBkbyBwZW5kbyBtaSBrZWkga3UnJ35+CgoK Ckhvd2V2ZXIsICcnc3UndScn4oCmJydrZWknJyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBlb3Bs ZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2VpJycg YW5kICcnZHUndScn4oCmJydrZWknJy4gVGhleSB3b3JrIHRoZSBzYW1lIHdheSwgYnV0IG1lYW4g c29tZXRoaW5nIGRpZmZlcmVudC4gJydudeKApmtlaScnIHRyZWF0cyB0aGUgYnJpZGkgaW4gYmV0 d2VlbiBhcyBhbiBldmVudCBvciBzdGF0ZSwgYW5kICcnZHUndeKApmtlaScnIHRyZWF0cyBpdCBh cyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3NpbmcgdGhpbmdzIGxpa2UgaWRlYXMsIHRo b3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRzIChleGNlcHQgJydrZWknJykgYXJlIGNh bGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkgb2YgdGhlbSwgYW5kIG9ubHkgZmV3IGFy ZSB1c2VkIG11Y2guICcnc3UndeKApmtlaScnIGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBhbmQg d2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcnbnUnJyB0byBzYXkg4oCcSSdtIGhhcHB5 IGFib3V0IHRhbGtpbmcgdG8geW91LuKAnQoKX18nJ3RhdmxhJydfXyB4MSB0YWxrcyB0byB4MiBh Ym91dCBzdWJqZWN0IHgzIGluIGxhbmd1YWdlIHg0LgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn bWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8ga2VpIGt1JycgKG5vdGljZSBib3RoIHRoZSBFbmdsaXNo IGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3VlIGFzIHRvIHdobyBpcyBkb2luZyB0aGUgdGFsa2luZyku fn4KCgoKT3RoZXIgaW1wb3J0YW50IGFic3RyYWN0b3JzIGluY2x1ZGU6ICcna2EuLi5rZWknJyAo cHJvcGVydHkvYXNwZWN0IGFic3RyYWN0aW9uKSwgJydzaSdvLi4ua2VpJycgKGNvbmNlcHQvaWRl YSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFtb25n IG90aGVycy4gVGhlIG1lYW5pbmdzIG9mIHRoZXNlIGlzIGEgY29tcGxpY2F0ZWQgbWF0dGVyLCBh bmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVjaCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS1uaW5lLiBG b3Igbm93LCB5b3UnbGwgaGF2ZSB0byBkbyB3aXRob3V0IHRoZW0uCgoKCkl0IGlzIGltcG9ydGFu dCB0byBub3RpY2UgdGhhdCBzb21lIGFic3RyYWN0b3JzIGhhdmUgc2V2ZXJhbCBzdW10aSBwbGFj ZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUndScnIGNhbiBiZSBtZW50aW9uZWQuICcnZHUndScnIGlz IGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKAnGFic3RyYWN0b3IuIHgxIGlzIHRoZSBwcmVkaWNhdGUv YnJpZGkgb2Yge2JyaWRpfSBleHByZXNzZWQgaW4gc2VudGVuY2UgeDLigJ0uCgpUaGUgb3RoZXIg c3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEgaXMgcmFyZWx5IHVzZWQsIGJ1dCAnJ2xvIHNlIGR1J3Ug e2JyaWRpfSBrZWkga3UnJyBpcyBzb21ldGltZXMgdXNlZCBhcyBhIHN1bXRpIGZvciBpbmRpcmVj dCBxdW90YXRpb246IOKAnEkgc2FpZCB0aGF0IEkgd2FzIGdpdmVuIGEgZG9n4oCdIGNhbiBiZSB3 cml0dGVuICcnbWkgY3Vza3UgbG8gc2UgZHUndSBtaSB0ZSBkdW5kYSBsbyBnZXJrdSBrdSBrZWkg a3UnJywgaWYgeW91IHdpbGwgcGFyZG9uIHRoZSB3ZWlyZCBleGFtcGxlLgoKX18nJ2N1c2t1Jydf XyB4MSBleHByZXNzZXMgeDIgdG8geDMgdGhyb3VnaCBtZWRpdW0geDQKCl9fJydnZXJrdScnX18g eDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNldmVu IChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUncyBhbm90aGVyIHR5cGUgb2Ygc3Vib3Jk aW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVsYXRpdmUgY2xhdXNlcy4gVGhleSBhcmUg c2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0aW9uIHRvIGEgc3VtdGkuIEluZGVlZCwg dGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBzZW50ZW5jZSBtYXJrZWQgdGhlIGJlZ2lu bmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmdsaXNoIGRlc2NyaWJpbmcgcmVsYXRpdmUg Y2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4gdHdvIGZsYXZvcnMsIGFuZCBpdCBtaWdo dCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdvIGtpbmRzIGJlZm9yZSBsZWFybmluZyBo b3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5kcyBhcmUgY2FsbGVkIHJlc3RyaWN0aXZl IGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50aWFsKSByZWxhdGl2ZSBjbGF1c2VzLiBB biBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKAnE15IGJyb3RoZXIsIHdobyBpcyB0d28g bWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0gVGhpcyBjYW4gYmUgdW5kZXJzdG9vZCBp biB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwgYnJvdGhlcnMsIGluIHdoaWNoIGNhc2Ug c2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxsIGxldCB5b3Uga25vdyB3aGljaCBicm90 aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdodCBoYXZlIG9ubHkgb25lIGJyb3RoZXIs IGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5nIHlvdSBhZGRpdGlvbmFsIGluZm9ybWF0 aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9qYmFuIHdlIGRpc3Rpbmd1aXNoIGJldHdl ZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3QgaW50ZXJwcmV0YXRpb24gaXMgcmVzdHJp Y3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRoZSBwb3NzaWJsZSBicm90aGVycyBJIG1p Z2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25kIG5vbi1yZXN0cmljdGl2ZS4gV2hlbiBz cGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25lIG9mIHZvaWNlIChvciBpbiB3cml0dGVu IEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNl IHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJhbiB1c2VzIHRoZSBjb25zdHJ1Y3RzICcn cG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1y ZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNwZWN0aXZlbHkuCgpMZXQncyBoYXZlIGEg TG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28gZXhwbGFpbiBvdXIgc3RyYW5nZSBnaWZ0 LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4gbGVzc29uIGZpdmU6CgpfXycnbm9p JydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRh Y2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiByZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1 c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydrdSdvJydfXyBlbmQgcmVsYXRpdmUg Y2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIHBsaXNlIGt1J28nJyA9IOKA nEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBpcykgYW4gYXBwbGXigJ0uIAoKSGVy ZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1c3QgYWZ0ZXIgJydsbyBzZSBkdW5kYSBr dScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBUbyBiZSBzdHJpY3QsIHRoZSByZWxhdGl2 ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0IGlzLCB3aGljaCBpcyBhbiBhcHBsZSwg YnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBwbGllcyB0byB0aGUgZ2lmdCwgd2UgY2Fu IHNhZmVseSBhc3N1bWUgdGhhdCBpdCBtZWFucyB0aGF0IHRoZSBnaWZ0IGlzIGFuIGFwcGxlLiBB ZnRlciBhbGwsIGluIHRoZSBjb250ZXh0IG9mIGxlc3NvbiBmaXZlLCB0aGlzIHNlZW1zIHJlYXNv bmFibGUuIElmIHdlIHdhbnQgdG8gYmUgYWJzb2x1dGVseSBzdXJlIHRoYXQgaXQgaW5kZWVkIHdh cyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBhcHBsZSwgd2UgdXNlIHRoZSB3b3JkICcna2UnYScnLCB3 aGljaCBpcyBhICcnc3Vta2EnaScnIChhIExvamJhbiBwcm9ub3VuLCBtb3JlIG9uIHRoZW0gbGF0 ZXIpIHJlcHJlc2VudGluZyB0aGUgc3VtdGkgd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpcyBh dHRhY2hlZCB0by4KCl9fJydrZSdhJydfXyBzdW1rYSdpOyByZWZlcnMgdG8gdGhlIHN1bXRpLCB0 byB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGl0IGF0dGFjaGVkLgoKCgonJy51aSBtaSBjaXRr YSBsbyBzZSBkdW5kYSBrdSBwb2kga2UnYSBwbGlzZSBrdSdvJycgPSDigJxZYXksIEkgZWF0IGEg Z2lmdCB3aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVuZGVybGluZSB0aGUgZGlmZmVyZW5jZSBi ZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywg aGVyZSdzIGFub3RoZXIgZXhhbXBsZToKCgoKX18nJ2xvamJvJydfXyDigJx4MSByZWZsZWN0cyBM b2piYW5pYyBjdWx0dXJlL2NvbW11bml0eSBpcyBhc3BlY3QgeDI7IHgxIGlzIExvamJhbmljLuKA nQoKCgonJ21pIG5vaSBsb2pibyBrdSdvIGZhbnZhIGZvIGxvIGxvamJvIGt1JycgPSDigJxJLCB3 aG8gYW0gYSBMb2piYW5pYywgdHJhbnNsYXRlIGZyb20gc29tZSBMb2piYW5pYyBsYW5ndWFnZS7i gJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11bHRpcGxlIHRoaW5ncyB3aGljaCAnJ21pJycgY291bGQg cmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0aGF0IEkgYW0gbG9qYmFuaWMgaXMgbWVyZWx5IGFkZGl0 aW9uYWwgaW5mb3JtYXRpb24gbm90IG5lZWRlZCB0byBpZGVudGlmeSBtZS4gVGhlcmVmb3JlICcn bm9p4oCma3UnbycnIGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlmIHlvdSBjYW4gdHJhbnNsYXRlIHRo aXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVhdXRpZnVsL2hhbmRzb21l4oCdLgoK X18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoKX18nJ21lbGJpJydfXyDigJx4MSBpcyBi ZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCl9fJydj aW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4MiwgZXhoaWJpdGluZyBzZXh1YWxpdHkg eDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpbmppa2Nh IGxvIG5hbm11IGt1IHBvaSB7a2UnYX0gbWVsYmkga3Unbycnfn4KCgoKT24gYSBtb3JlIHRlY2hu aWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0byBrbm93IHRoYXQgJydsbyB7c2Vs YnJpfSBrdScnIGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBhcyAnJ3pvJ2Ugbm9pIGtlJ2Ege3NlbGJy aX0ga3UnbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVybWlu YXRvciBlbGlzaW9uKQoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVu YmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8n YSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCiAt ICDigJxJIHdpc2ggdGhlIEFtZXJpY2FuLCB3aG8gaXMgbXkgc2libGluZywgd291bGQgdW5kZXJz dGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0aGF0IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNzIG9m IHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBzaG91 bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhlc2Ug bGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9qYmFu IHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNlcyBn ZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAnJ2t1J28nJyBhbmQgb3RoZXIgb2YgdGhv c2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNlbHZlcyBjYXJyeSBubyBtZWFuaW5nLgoKCgpUaGUgZnVu Y3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRzIGlzIHRvIHNpZ25hbCB0aGUgZW5kIG9mIGEgY2VydGFp biBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9yIGluc3RhbmNlIOKAnGNvbnZlcnQgc2Vs YnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcna3UnJy4gVGhlIEVuZ2xpc2ggd29yZCBm b3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWluYXRvcuKAnSwgdGhlIExvamJhbiB3b3Jk IGlzICcnZmEnb3JtYSdvJycuIFRoZXkgYXJlIHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhhbXBs ZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3ZhdScnIGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0aGUg ZmEnb3JtYSdvIGZvciDigJxlbmQgYnJpZGnigJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24geW91 IGhhdmUgbm90IHlldCBzZWVuIGl0LCBzdGF5IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3JtYSdv OiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJbiBtb3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2piYW4s IG1vc3QgZmEnb3JtYSdvIGFyZSBza2lwcGVkIChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2ZXMg c3lsbGFibGVzIGluIHNwZWVjaCBhbmQgc3BhY2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25lIG11 c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hlbiBlbGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNpbXBs ZSBleGFtcGxlICcnbG8gbWVya28ga3Uga2xhbWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEnbyAn J2t1Jycgd291bGQgeWllbGQgJydsbyBtZXJrbyBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmdsZSBz dW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnbWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVhbnMg 4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLigJ0gaW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0cmF2 ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lvbiBjYW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3VsdHMg aWYgZG9uZSBpbmNvcnJlY3RseSwgd2hpY2ggaXMgd2h5IHlvdSBoYXZlbid0IGxlYXJuZWQgYWJv dXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Igd2hlbiBmYSdvcm1hJ28gY2FuIGJlIGVs aWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4gdGhlb3J5OiDigJxZb3UgY2FuIGVsaWRl IGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18gZG9pbmcgc28gZG9lcyBub3QgY2hhbmdl IHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRoZSBzZW50ZW5jZS7igJ0KCk1vc3QgZmEn b3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLiBFeGNl cHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug4oCcZW5kIHF1b3Rl4oCdLWZhJ29ybWEn byBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZhJ29ybWEnby4gVGhpcyBpcyB3aHkgJyd2 YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2ltcGx5IGJlZ2lubmluZyBhIG5ldyBicmlk aSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMgdGVybWluYXRlIHRoZSBwcmVjZWRpbmcg YnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50IHVzZSwgaG93ZXZlci4gU2luY2UgYXR0 aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJlY2VkaW5nIHdvcmQsIGFwcGx5aW5nIGl0 IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qgd2hpY2gg aXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25lIGNhbiB0aGVuIHVzZSBhdHRpdHVkaW5h bHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJ3ph J2EgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVudSB7a3V9Li4uIHZhdSBpJ2UnJyAtIOKA nEkgc2VlIHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHigJ0K Cl9fJydwcmVudScnX18geDEgaXMgYSBwZXJzb247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoKCgpL bm93aW5nIHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0aHVz IHJldHVybiB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZhJ29y bWEnbzoKCgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkg X192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4 aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCgoKV2UgY2Fu IHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdyYW1tYXRpY2FsbHkgdW5uZWNlc3Nhcnks IGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13b3JkIGlzICcnamltcGUnJywgd2hpY2gg aXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBzZWxicmkgcGVyIGJyaWRp LCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcnamltcGUnJyBhcyBhIHNlbGJyaSBjYW5u b3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRoZXIgKG9ubHkgb25lIGJyaWRpIGluIGEg Y2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBicmlkaSksIHdlIGNhbiBlbGlkZSAnJ2t1 J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3QgYmUgYSBzZWNvbmQgc2VsYnJpIGluc2lk ZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4uLn0nJywgc28gdGhlICcna3UnJyBpcyBu b3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFsbCB0aGUgZmEnb3JtYSdvIGF0IHRoZSB2 ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVsaWRlZCB0b28sIHNpbmNlIGJlZ2lubmlu ZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwgb2YgdGhlc2UgY29uc3RydWN0cyBhbnl3 YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBt ZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRh cnhpIG1pJycg4oCTIHdpdGggbm8gZmEnb3JtYSdvIGF0IGFsbCEKCgoKV2hlbiBlbGlkaW5nIGZh J29ybWEnbywgaXQgaXMgYSBnb29kIGlkZWEgdG8gYmUgYWNxdWFpbnRlZCB3aXRoICcnY3UnJy4g JydjdScnIGlzIG9uZSBvZiB0aG9zZSB3b3JkcyB3aGljaCBjYW4gbWFrZSB5b3VyIChMb2piYW5p YykgbGlmZSBhIGxvdCBlYXNpZXIuIFdoYXQgaXQgZG9lcyBpcyB0byBzZXBhcmF0ZSBhbnkgcHJl dmlvdXMgc3VtdGkgZnJvbSB0aGUgc2VsYnJpLiBPbmUgY291bGQgc2F5IHRoYXQgaXQgZGVmaW5l cyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEgc2VsYnJpLCBhbmQgdGVybWluYXRlcyBleGFjdGx5IGFz IG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4gb3JkZXIgdG8gZG8gdGhhdC4KCl9fJydjdScnX18gZWxp ZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMgc2VsYnJpIGZyb20gcHJlY2VkaW5nIHN1bXRpLCBhbGxv d3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBlbGlzaW9uLgoKCgpfXycncHJhbWknJ19fID0g4oCceDEg bG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkgbWkg X192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamljYSBtaScnID0KCicnbG8gc3UndSBkbyBj dXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0 IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBtZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lz aCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXigJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1h J28sIGJlY2F1c2UgaXQgaXMgbm90IHRpZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0 IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRlIG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBn cmVhdGVzdCBzdHJlbmd0aHMgb2YgJydjdScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVh c3kgdG8gaW50dWl0aXZlbHkgdW5kZXJzdGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcs IGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlk ZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJyaS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0 aGUgdmlvbGVudCBBbWVyaWNhbiBicm90aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUn JyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXks IGJ1dCBtaWdodCBtYWtlIGl0IGVhc2llciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNv dXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycgd2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQg YWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYgcG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdp bGwgYmUgZW5jYXNlZCBpbiBjdXJseSBicmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0 cmFuc2xhdGUgaXQhCgpfXycndmFqbmknJ19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3Ig cmVhc29uIHgz4oCdCgpfXycnamltcGUnJ19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR1 J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPigJ0KCl9fJydhJ28nJ19fIC0gQXR0aXR1 ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IEhvcGUgLSBkZXNwYWlyCgoKCicn YSdvIGRvIG5vaSBrZSdhIGxvamJvIC5pJ2Uge2t1J299IHtrdX0gY3UgamltcGUgbG8gZHUndSBs byBmYSdvcm1hJ28ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQg ZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIGEg cHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0YW5kcyB0aGF0IGZhJ29ybWEnbyBhcmUgaW1wb3J0YW50 4oCdfn4KCgoKRnVuIHNpZGUgbm90ZTogTW9zdCBwZW9wbGUgd2VsbC12ZXJzZWQgaW4gZmEnb3Jt YSdvLWVsaXNpb24gZG8gaXQgc28gaW5zdGluY3RpdmVseSB0aGF0IHRoZXkgb2Z0ZW4gbXVzdCBi ZSByZW1pbmRlZCBob3cgaW1wb3J0YW50IHVuZGVyc3RhbmRpbmcgZmEnb3JtYSdvIGFyZSB0byB0 aGUgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4uIFRoZXJlZm9yZSwgZWFjaCBUdWVzZGF5IGhhdmUg YmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1pbmF0b3IgRGF54oCdIG9yICcnZmEnb3JtYSdvIGRqZWRp Jycgb24gdGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1cmluZyBUZXJtaW5hdG9yIERheSwgbWFu eSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQgYWxs IGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSByZXN1 bHQuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNvIGZh ciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhhdmUg aGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZpbmVk IHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMgYXJl IG5vdCB1c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3YW50 IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUgaXMg bm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0IHRv b2wgSSB0cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMgbm90 IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRkIGFk ZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2ljIHdh eSB0byBhZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnICh5ZXMs IGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywgJydmZSd1JycuIEl0J3MgYWxtb3N0IG5l dmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVyIHNl ZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQgbGlr ZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyBleHRyYWN0cyB0aGUgeDEg b2YgdGhlIHNlbGJyaSBwdXQgaW50byBpdC4gSG93ZXZlciwgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZl J3UnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0ZWQsIG5vdCB0byBhIHN1bXRpLCBidXQg dG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3VtdGktbGFiZWzigJ0sIHdpdGggdGhlIHBs YWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNlbGJyaSBpdCBjb252ZXJ0ZWQuIFRoaXMg JydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4dCBzdW10aS4gT25lIGNvdWxkIHNheSB0 aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1wb3J0IGEgc3VtdGkgcGxhY2UgZnJvbSBh bm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUgYnJpZGkgYmVpbmcgc2FpZC4KCk5vdGU6 IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0ZXh0cywgdGhlIHRlcm0g4oCcdGFn4oCd IG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3VtdGNpdGEnJy4gSWdub3JlIHRob3NlIHB1 bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2ggcHJvcGVyIExvamJhbiBoZXJlLgoKCgpX aGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9jZXNzIGZyb20gcmVhZGluZyBhYm91dCBp dCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0cyBhY3R1YWwgc2ltcGxpY2l0eToKCl9f Jydza2FtaScnX18g4oCceDEgaXMgYSBjb21wdXRlciBmb3IgcHVycG9zZSB4MuKAnQoKX18nJ3Bp bG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBmb3IgZG9pbmcgeDPigJ0KCgoKJydtaSBm YW52YSB0aSBmaSdvIHNlIHBpbG5vIHtmZSd1fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKAnEkg dHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycsIHdo aWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9yIGEg dG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNhcHR1 cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUndScnLCBhZGRlZCB0byB0aGUgbWFpbiBzZWxicmksIGFu ZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRoZSBpZGVhIG9mICcnc3VtdGNpdGEnJyBp cyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2ggdXNpbmcgdGhlIGZvbGxvd2luZyB0cmFu c2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aC10b29sOiBBIGNvbXB1dGVy4oCdCgoK CkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBvbmUgc3VtdGksIHdoaWNoIGlzIGFsd2F5 cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVseSwgdGhlICcnc3VtdGNpdGEnJyBjb25z dHJ1Y3QgY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2t1JycsIGluIHdoaWNoIGNhc2UgYSAnJ3pv J2UnJyBpcyBpbXBsaWVkIHRvIGZpbGwgdGhlICcnc3VtdGNpdGEnJy4gT3IsIG9uZSBjb3VsZCBp bWFnaW5lIGFuIGVsaWRlZCBzdW10aSBiZWluZyB0ZXJtaW5hdGVkIHdpdGggdGhlICcna3UnJy4K Cl9fJyd6dWt0ZScnX18g4oCceDEgaXMgYSB2b2xpdGlvbmFsIGVudGl0eSBjYXJyeWluZyBvdXQg YWN0aW9uIHgyIGZvciBwdXJwb3NlIHgz4oCdCgoKCicnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8g c2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9e3ZhdX0nJyAtIOKAnFdpdGggdm9saXRp b24sIGEgY29tcHV0ZXIgdXNlZCBzb21ldGhpbmcgTG9qYmFuaWPigJ0gKHBlcmhhcHMgaW1wbHlp bmcgdGhhdCBhIExvamJhbmljIGNvbXB1dGVyIHdlbnQgc2VudGllbnQ/IFRvdWdoIGl0IGRvZXMg bm90IHNwZWNpZnkgd2hvIGhhZCB2b2xpdGlvbi4gSXQgY291bGQganVzdCBiZSB0aGUgcHJvZ3Jh bW1lciB3aG8gcHJvZ3JhbW1lZCB0aGUgY29tcHV0ZXIgLSBob3cgYm9yaW5nLikKCgoKV2hhdCBk b2VzICcnbWkgamltcGUgZmkgbGEgbG9qYmFuIHtrdX0gZmknbyBzZSB0YXZsYSB7ZmUndX0gbWkn JyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5n IGFib3V0IExvamJhbiwgc3Bva2VuIHRvIG1l4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0 YScnIHJpZ2h0IGluIGZyb250IG9mIHRoZSBzZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1p bmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25seSBjYW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJy aS4gVGhpcyBmYWN0IHdpbGwgYmUgb2YgaW1wb3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91 IHdpbGwgc2VlLgoKCgpTYWRseSwgJydmaSdvJycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNw aXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJUyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJl IEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2YgTG9qYmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVz IGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhl IEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRpY2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFz ICcnZmknbyB6dWt0ZSBmZSd1JycuIFRodXMsIHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJl ZHVjZWQgdG86CgonJ3p1J2Uga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9 IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9m IHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBi ZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1 J2UnJyBpcyBlcXVhbCB0byAnJ2ZpJ28gc2UgenVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGlu IGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4g KFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEsIFZFaEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5n bGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91 Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNl IG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1v c3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJh biBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVh biDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFs d2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZp bmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0 LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwu IEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVkZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRh dWdodC4gRnVydGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5 IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhh dCBJIHdvcmtlZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50 IHRoYW4gc2F5aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3Ro ZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0 IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3Vh Z2VzIHRob3VnaCwgaXQncyBwZXJmZWN0bHkgcmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZl YXIgbm90LCBmb3IgaXQgd2lsbCBub3QgaW52b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8g bW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55dGhpbmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4g dGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0sIGFsbCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3 ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0IG1hZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9r YXkgb2theSwgdGVjaG5pY2FsbHksIHRlbnNlcyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20g b3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlzIGRpZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNh bnQsIGFuZCB3aWxsIGJlIHdvbid0IGJlIGV4cGxhaW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBh c3BlY3RzIHRoZXkgYXJlIGxpa2UgYWxsIG90aGVyIHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5h dGVkIGJ5ICcna3UnJywgbWFraW5nIGl0IGV4cGxpY2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBi eSAnJ2t1JycuCgpUaGVyZSBhcmUgbWFueSBkaWZmZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNp dGEsIHNvIGxldCdzIHN0YXJ0IGF0IHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1z cGVha2Vycy4KCl9fJydwdScnX18gLSBzdW10Y2l0YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScn X18gLSBzdW10Y2l0YTogYXQgdGhlIHNhbWUgdGltZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0g c3VtdGNpdGE6IGFmdGVyIHtzdW10aX0KCgoKVGhlc2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29u Y2VwdHMg4oCcYmVmb3Jl4oCdLCDigJxub3figJ0gYW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxp dHkgdGhvdWdoLCBvbmUgY291bGQgYXJndWUgdGhhdCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2Fu IG5ldmVyIG9jY3VyIGV4YWN0bHkgc2ltdWx0YW5lb3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNl bGVzcy4gQnV0ICcnY2EnJyBleHRlbmRzIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBm dXR1cmUsIG1lYW5pbmcganVzdCDigJxhYm91dCBub3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1h biBiZWluZ3MgZG9uJ3QgcGVyY2VpdmUgdGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwg YW5kIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTog SXQgd2FzIGFjdHVhbGx5IHN1Z2dlc3RlZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0g cmVsYXRpdmlzdGljLiBUaGF0IGlkZWEsIGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0 IGlzIGNvdW50ZXItaW50dWl0aXZlLCBhbmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJh biwgb25lIHdvdWxkIGhhdmUgdG8gbGVhcm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0 LiAgCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNh bWUgaGVyZT/igJ0gKHBvaW50aW5nIHRvIGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydtaSBjdXNrdSB0aSBiYSBsbyBudSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpIHtrdX0ge3ZhdX0n J35+CgoKClVzdWFsbHkgd2hlbiBzcGVha2luZywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3 aGljaCBldmVudCB0aGlzIGFjdGlvbiBpcyBpbiB0aGUgcGFzdCByZWxhdGl2ZSB0by4gSW46IOKA nEkgZ2F2ZSBhIGNvbXB1dGVyIGF3YXnigJ0sIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9u IGhhcHBlbmVkIHJlbGF0aXZlIHRvIOKAnG5vd+KAnSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRo ZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEsIGJlY2F1c2UgaXQncyBvYnZpb3VzOgoKJydwdSBrdSBt aSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9Jycgb3IKCicnbWkgZHVuZGEgbG8gc2thbWkge2t1 fSBwdSB7a3V9IHt2YXV9Jycgb3IsIG1vcmUgY29tbW9ubHkKCicnbWkgcHUge2t1fSBkdW5kYSBs byBza2FtaSB7a3V9IHt2YXV9JycuIFRoZSBzdW10aSB3aGljaCBmaWxscyB0aGUgc3VtdGNpdGEg aXMgYW4gaW1wbGllZCAnJ3pvJ2UnJywgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29k IGFzIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgdGltZSBhbmQgcGxhY2UgKHRoaXMgaXMgZXNw ZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBzcGVha2luZyBhYm91dCBsZWZ0IGFuZCByaWdodCkuIElm IHNwZWFraW5nIGFib3V0IHNvbWUgZXZlbnRzIHRoYXQgaGFwcGVuZWQgc29tZSBvdGhlciB0aW1l IHRoYW4gdGhlIHByZXNlbnQsIGl0IGlzIHNvbWV0aW1lcyBhc3N1bWVkIHRoYXQgYWxsIHRlbnNl cyBhcmUgcmVsYXRpdmUgdG8gdGhhdCBldmVudCB3aGljaCBpcyBiZWluZyBzcG9rZW4gYWJvdXQu IEluIG9yZGVyIHRvIGNsYXJpZnkgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGUg c3BlYWtlcidzIGN1cnJlbnQgcG9zaXRpb24sIHRoZSB3b3JkICcnbmF1JycgY2FuIGJlIHVzZWQg YXQgYW55IHRpbWUuIEFub3RoZXIgd29yZCwgJydraScnIG1hcmtzIGEgdGVuc2Ugd2hpY2ggaXMg dGhlbiBjb25zaWRlcmVkIHRoZSBuZXcgc3RhbmRhcmQuIFRoYXQgd2lsbCBiZSB0YXVnaHQgd2F5 IGxhdGVyLgoKX18nJ25hdScnX18gdXBkYXRlcyB0ZW1wb3JhbCBhbmQgc3BhY2lhbCBmcmFtZSBv ZiByZWZlcmVuY2UgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50IGhlcmUgYW5kIG5vdy4KCgoKX18n J2d1Z2RlJydfXyA9IOKAnHgxIGlzIHRoZSBjb3VudHJ5IG9mIHBlb3BsZSB4MiB3aXRoIGxhbmQv dGVycml0b3J5IHgz4oCdCgoKCkFsc28gbm90ZSB0aGF0ICcnbWkgcHUge2t1fSBrbGFtYSBsbyBt ZXJrbyBndWdkZSB7a3V9IHt2YXV9JycsIOKAnEkgd2VudCB0byBBbWVyaWNh4oCdLCBkb2VzIG5v dCBpbXBseSB0aGF0IEknbSBub3Qgc3RpbGwgdHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0 IHdhcyBhbHNvIHRydWUgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBt aW51dGVzIGFnby4KCgoKQXMgbWVudGlvbmVkLCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRl bnNlcyBhcmUgdmVyeSBtdWNoIGFsaWtlLiBDb250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGlt ZSB0ZW5zZXMgd2l0aCB0aGVzZSBmb3VyIHNwYWNpYWwgdGVuc2VzOgoKX18nJ3p1J2EnJ19fIHN1 bXRjaXRhOiBsZWZ0IG9mIHtzdW10aX0KCl9fJydjYSd1JydfXyBzdW10Y2l0YTogaW4gZnJvbnQg b2Yge3N1bXRpfQoKX18nJ3JpJ3UnJ19fIHN1bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycn YnUndScnX18gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwg ZXF1aXZhbGVudCBvZiAnJ2NhJycpCgoKCl9fJydvJ28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxl eCBwdXJlIGVtb3Rpb246IHBhdGllbmNlIC0gdG9sZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3Vs ZCAnJy5vJ29uYWkgcmkndSB7a3V9IG51IGxvIHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3Ug cHUge2t1fSB7a3V9IHt2YXV9IHtrZWl9IHt2YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3Qg ZWxpZGVkIGt1ISkKCl9fJydkYXJ4aScnX18geDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1l bnQgeDMgYXQgbG9jdXMgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0 aGUgcmlnaHQgKG9mIHNvbWV0aGluZywgcHJvYmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Yg c29tZSBldmVudCksIHNvbWV0aGluZyBpcyBhbiBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEg ZG9nLuKAnSBvciDigJxBIG1hbiBoaXQgYSBkb2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhl cmUgYXJlIHNldmVyYWwgdGVuc2Ugc3VtdGNpdGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0 aGF0IHlvdSByZWFkIHRoZW0gZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNv IGNhbGxlZCDigJxpbWFnaW5hcnkgam91cm5leeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGlt cGxpZWQgcG9pbnQgaW4gdGltZSBhbmQgc3BhY2UgKGRlZmF1bHQ6IHRoZSBzcGVha2VyJ3Mgbm93 IGFuZCBoZXJlKSwgYW5kIHRoZW4gZm9sbG93IHRoZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZy b20gbGVmdCB0byByaWdodC4KCkV4YW1wbGUKCicnbWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZp IGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4gdGhl IHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0byBrbm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgonJ21p IGJhIHtrdX0gcHUge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScn IOKAnEF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIGhhdmUgdW5kZXJzdG9vZCBh Ym91dCBmYSdvcm1hJ29zLuKAnQoKU2luY2Ugd2UgZG8gbm90IHNwZWNpZnkgdGhlIGFtb3VudCBv ZiB0aW1lIHdlIG1vdmUgYmFjayBvciBmb3J0aCwgdGhlIHVuZGVyc3RhbmRpbmcgY291bGQgaW4g Ym90aCBjYXNlcyBoYXBwZW4gaW4gdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiB0aGUgcG9pbnQg b2YgcmVmZXJlbmNlLgoKCgpBbHNvLCBpZiBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZXMgYXJl IG1peGVkLCB0aGUgcnVsZSBpcyB0byBhbHdheXMgcHV0IHRlbXBvcmFsIGJlZm9yZSBzcGFjaWFs LiBJZiB0aGlzIHJ1bGUgaXMgdmlvbGF0ZWQsIGl0IGNhbiBzb21ldGltZXMgcmVzdWx0IGluIHN5 bnRhY3RpY2FsIGFtYmlndWl0eSwgd2hpY2ggTG9qYmFuIGRvZXMgbm90IHRvbGVyYXRlLgoKCgpT dXBwb3NlIHdlIHdhbnQgdG8gc3BlY2lmeSB0aGF0IHRoZSBhIG1hbiBoaXQgYSBkb2cganVzdCBh IG1pbnV0ZSBhZ28uIFRoZSB3b3JkcyAnJ3ppJycsICcnemEnJyBhbmQgJyd6dScnIHNwZWNpZmll cyBhIHNob3J0LCB1bnNwZWNpZmllZCAocHJlc3VtYWJseSBtZWRpdW0pIGFuZCBsb25nIGRpc3Rh bmNlIGluIHRpbWUuIE5vdGljZSB0aGUgdm93ZWwgb3JkZXIgJydpJycsICcnYScnIGFuZCAnJ3Un Jy4gVGhpcyBvcmRlciBhcHBlYXJzIGFnYWluIGFuZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBtaWdo dCBiZSB3b3J0aCB0byBtZW1vcml6ZS4g4oCcU2hvcnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4gYXJl IGFsd2F5cyBjb250ZXh0IGRlcGVuZGVudCwgcmVsYXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3byBo dW5kcmVkIHllYXJzIGlzIGEgc2hvcnQgdGltZSBmb3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwgYnV0 IGEgbG9uZyB0aW1lIHRvIHdhaXQgZm9yIHRoZSBidXMuCgpfXycnemknJ19fIHN1bXRjaXRhOiBP Y3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQg b2YgcmVmZXJlbmNlIAoKX18nJ3phJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lm aWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVm ZXJlbmNlIAoKX18nJ3p1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBv ZiB7c3VtdGl9IGluIHRpbWUgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1pbGFy bHksIHNwYWNpYWwgZGlzdGFuY2UgaXMgbWFya2VkIGJ5ICcndmknJywgJyd2YScnIGFuZCAnJ3Z1 JycgZm9yIHNob3J0LCB1bnNwZWNpZmllZCAobWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiBz cGFjZS4KCl9fJyd2aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBv ZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydfXyBz dW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1 bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2dScnX18gc3VtdGNp dGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHRo ZSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnZ3Vua2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgyIHdp dGggb2JqZWN0aXZlIHgz4oCdCgoKClRyYW5zbGF0ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1IHtr dX0gZ3Vua2Ege3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWUgdGltZSBpbiB0 aGUgZnV0dXJlLCBJIHdpbGwgd29yayBhIHBsYWNlIGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQZW9w bGUgcmFyZWx5IHVzZSAnJ3ppJycsICcnemEnJyBvciAnJ3p1Jycgd2l0aG91dCBhICcncHUnJyBv ciAnJ2JhJycgaW4gZnJvbnQgb2YgaXQuIFRoaXMgaXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBhbHdh eXMgbmVlZCB0byBzcGVjaWZ5IHBhc3Qgb3IgZnV0dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5ndWFn ZS4gV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQgTG9qYmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0aW1l IHRoZSB0aW1lLWRpcmVjdGlvbiBpcyBvYnZpb3VzLCBhbmQgdGhlICcncHUnJyBvciAnJ2JhJycg c3VwZXJmbHVvdXMhCgoKClRoZSBvcmRlciBpbiB3aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEgYW5k IGRpc3RhbmNlLXN1bXRjaXRhIGFyZSBzYWlkIG1ha2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1iZXIg dGhhdCB0aGUgbWVhbmluZ3Mgb2Ygc2V2ZXJhbCB0ZW5zZSB3b3JkcyBwbGFjZWQgdG9nZXRoZXIg YXJlIHBpY3R1cmVkIGJ5IGFuIGltYWdpbmFyeSBqb3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRv IHJpZ2h0LiBUaHVzICcncHUgenUnJyBpcyDigJxhIGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6 dSBwdScnIGlzIOKAnGluIHRoZSBwYXN0IG9mIHNvbWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBh IGxvbmcgdGltZSB0b3dhcmQgdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRo ZSBmaXJzdCBleGFtcGxlLCAnJ3B1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwg Jyd6dScnIHRoZW4gdGhhdCBpdCBpcyBhIGxvbmcgdGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNv bmQgZXhhbXBsZSwgJyd6dScnIHNob3dzIHRoYXQgd2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIg YXdheSBpbiB0aW1lIGZyb20gbm93LCAnJ3B1JycgdGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJk cyBmcm9tIHRoYXQgcG9pbnQuIFRodXMgJydwdSB6dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4g Jyd6dSBwdScnIGNvdWxkIGJlIGluIHRoZSBmdXR1cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGlt ZSB0ZW5zZXMgY29tYmluZSBpbiB0aGlzIHdheSBpcyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJl dHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhLiBUaGUgbWVhbmluZ3Mgb2Yg b3RoZXIgc3VtdGNpdGEgYXJlIG5vdCBhbHRlcmVkIGJ5IHRoZSBwcmVzZW5jZSBvZiBhZGRpdGlv bmFsIHN1bXRjaXRhIGluIGEgYnJpZGkuCgoKCkFzIGJyaWVmbHkgaW1wbGllZCBlYXJsaWVyLCBh bGwgdGhlc2UgY29uc3RydWN0cyBiYXNpY2FsbHkgdHJlYXQgYnJpZGkgYXMgaWYgdGhleSB3ZXJl IHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3BhY2UuIEluIGFjdHVhbGl0eSwgbW9zdCBldmVudHMg cGxheSBvdXQgb3ZlciBhIHNwYW4gb2YgdGltZSBhbmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcg ZmV3IHBhcmFncmFwaHMsIHdlIHdpbGwgbGVhcm4gaG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9m IHRpbWUgYW5kIHNwYWNlLgoKCgpfXycnemUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIg dGhlIHNob3J0IHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmlu ZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSd1 JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoK X18nJ3ZlJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCBzcGFjZSBvZiB7 c3VtdGl9CgpfXycndmUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lm aWVkIChtZWRpdW0pIHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSd1JydfXyBzdW10Y2l0YTogc3Bh bm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFjZSBvZiB7c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRp bWUsIEkga25vdywgYnV0IHJlbWVtYmVyaW5nIHRoZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNp bWlsYXJpdHkgb2YgdGhlIGluaXRpYWwgbGV0dGVyIHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQg diBmb3Igc3BhY2lhbCB0ZW5zZXMgbWlnaHQgaGVscCB0aGUgbWVtb3JpemluZy4KCl9fJycub2kn J19fIC0gYXR0aXR1ZGluYWw6IHBhaW4gLSBwbGVhc3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRh aSBkbyB2ZSd1IHtrdX0ga2xhbWEgbG8gZG90Y28gZ3VnZGUge2t1fSB6ZSd1IHtrdX0ge3ZhdX0n JwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGltZSB0 cmF2ZWxpbmcgYSBsb25nIHNwYWNlIHRvIEdlcm1hbnnigJ0gfn4KCgoKVGhvdWdoIG1vc3QgcGVv cGxlIGFyZSBub3QgZmFtaWxpYXIgd2l0aCBzcGFjaWFsIHRlbnNlcywgdGhlc2UgbmV3IHdvcmRz IGNhbiBvcGVuIHVwIGZvciBzb21lIHByZXR0eSBzd2VldCB1c2VzLiBPbmUgY291bGQsIGZvciBp bnN0YW5jZSwgdHJhbnNsYXRlIOKAnFRoYXQncyBhIGJpZyBkb2figJ0gYXMgJyd0aSB2ZSd1IHtr dX0gZ2Vya3Uge3ZhdX0nJy4gU2F5aW5nOiDigJxUaGlzIHRoaW5nIGRvZ3MgZm9yIGEgbG9uZyBz cGFjZeKAnSBtYWtlcyB5b3Ugc291bmQgcmV0YXJkZWQgaW4gRW5nbGlzaCwgYnV0IHdlbGwtc3Bv a2VuIGluIExvamJhbiEKCgoKJyd6ZSd1JycgYW5kIGl0cyBicm90aGVycyBhbHNvIGNvbWJpbmUg d2l0aCBvdGhlciB0ZW5zZXMgdG8gZm9ybSBjb21wb3VuZCB0ZW5zZXMuIFRoZSBydWxlIGZvciAn J3plJ3UnJyBhbmQgdGhlIG90aGVycyBhcmUgdGhhdCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBt YXJrcyBhbiBlbmRwb2ludCBvZiB0aGUgcHJvY2VzcyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9m IHJlZmVyZW5jZSkgYW5kIGFueSB0ZW5zZXMgY29taW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhl ciBlbmRwb2ludCByZWxhdGl2ZSB0byB0aGUgZmlyc3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3Ry YXRlZCB3aXRoIGEgY291cGxlIG9mIGV4YW1wbGVzOgoKJycubydvY3UnaSBkbyBjaXRrYSBwdSB7 a3V9IHplJ3Uge2t1fSBiYSB7a3V9IHp1IHtrdX0ge3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlv dSBlYXQgYmVnaW5uaW5nIGluIHRoZSBwYXN0IGFuZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0 IHNvbWUgcG9pbnQgZmFyIGludG8gdGhlIGZ1dHVyZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9y IOKAnEhtcGYsIHlvdSBhdGUgZm9yIGEgbG9uZyB0aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJh c3QgJydkbyBjYSB7a3V9IHplJ2kge2t1fSBwdSB7a3V9IGtsYW1hIHt2YXV9Jycgd2l0aCAnJ2Rv IHB1IHtrdX0gemUnaSB7a3V9IGNhIHtrdX0ga2xhbWEge3ZhdX0nJy4gVGhlIGZpcnN0IGV2ZW50 IG9mIHRyYXZlbGluZyBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwcmVzZW50IGFuZCBleHRlbmRz IGEgbGl0dGxlIHRvd2FyZHMgdGhlIHBhc3QsIHdoaWxlIHRoZSBzZWNvbmQgZXZlbnQgaGFzIG9u ZSBlbmRwb2ludCBpbiB0aGUgcGFzdCBhbmQgZXh0ZW5kcyBvbmx5IHRvIHRoZSBwcmVzZW50ICh0 aGF0IGlzLCBzbGlnaHR5IGludG8gdGhlIHBhc3Qgb3IgZnV0dXJlKSBvZiB0aGF0IGVuZHBvaW50 LgoKX18nJ2ptaXZlJydfXyDigJx4MSBpcyBhbGl2ZSBieSBzdGFuZGFyZCB4MuKAnQoKCgpXaGF0 IGRvZXMgJycudWkgbWkgcHUge2t1fSB6aSB7a3V9IHplJ3Uge2t1fSBqbWl2ZSB7dmF1fScnIGV4 cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9t IGEgbGl0dGxlIGludG8gdGhlIHBhc3QgYW5kIGEgbG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJl IG9yIHBhc3QgKG9idmlvdXNseSB0aGUgZnV0dXJlLCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZl bnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywgYW5kIGhhdmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9m IG1lIDop4oCdfn4KCgoKSnVzdCB0byB1bmRlcmxpbmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFj aWFsIHRlbnNlcywgbGV0J3MgaGF2ZSBhbm90aGVyIGV4YW1wbGUsIHRoaXMgdGltZSB3aXRoIHNw YWNpYWwgdGVuc2VzOgoKX18nJy51J2UnJ19fIGF0dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25w bGFjZQoKCgonJy51J2UgemEnYSB7a3V9IGJ1J3Uge2t1fSB2ZSd1IHtrdX0gY2EndSB7a3V9IHpk YW5pIHt2YXV9JycgLSBXaGF0IGRvZXMgaXQgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTog 4oCce3dvbmRlcn0ge0kgb2JzZXJ2ZSF9IEV4dGVuZGluZyBhIGxvbmcgc3BhY2UgZnJvbSBoZXJl IHRvIG15IGZyb250IGlzIGEgaG9tZS7igJ0gb3Ig4oCcV293LCB0aGlzIGhvbWUgZXh0ZW5kaW5n IGFoZWFkIGlzIGh1Z2Uh4oCdfn4KCgoKQmVmb3JlIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBzeW50 YXgtaGVhdnkgdGVuc2Ugc3lzdGVtLCBpIHJlY29tbWVuZCBzcGVuZGluZyBhdCBsZWFzdCB0ZW4g bWludXRlcyBkb2luZyBzb21ldGhpbmcgd2hpY2ggZG9lc24ndCBvY2N1cHkgeW91ciBicmFpbiBp biBvcmRlciB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVh dCBhIGNvb2tpZSB2ZXJ5IHNsb3dseSAtIHdoYXRldmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91 ciBtaW5kIHJlc3QuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoK VGhvdWdoIHdlIHdvbid0IGdvIHRocm91Z2ggYWxsIExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZv ciBub3csIHRoZXJlIGlzIG9uZSBvdGhlciBraW5kIG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91 bGQgYmUgdGF1Z2h0IG5vdy4gVGhlc2UgYXJlIGNhbGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwg YW5kIHJlcHJlc2VudCBhIHZlcnkgZGlmZmVyZW50IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0 IHdlIGhhdmUgc2VlbiBzbyBmYXIuIFNvIGxldCdzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRl bnNlcyB3ZSBoYXZlIGxlYXJuZWQgc28gZmFyLCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRl IHRpbWUgbGluZSwgYW5kIHdlIHRoZW4gcGxhY2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2 ZSB0byB0aGUg4oCcbm934oCdLiBXaXRoIGV2ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3 IGVhY2ggZXZlbnQgYXMgYSBwcm9jZXNzLCB3aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGlt ZSBiZWZvcmUgaXQgdW5mb2xkcywgYSB0aW1lIHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBp dCBpcyBpbiBwcm9jZXNzLCBhIHRpbWUgd2hlbiBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0 IGhhcyBlbmRlZC4gRXZlbnQgY29udG91cnMgdGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRo ZSBldmVudCdzIHByb2Nlc3Mgd2FzIGhhcHBlbmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVk IGJ5IHRoZSBvdGhlciB0ZW5zZXMuIFdlIG5lZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoK CgpfXycncHUnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5 ZXQgaGFwcGVuZWQgZHVyaW5nIHtzdW10aX0KCl9fJydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVu dCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycn X18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVu ZGVkIGR1cmluZyB7c3VtdGl9CgoKClRoaXMgbmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNv bWUgZXhhbXBsZXMuIFdoYXQncyAnJy51aSBtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBt ZWFuPwoKCgpBbnN3ZXI6IOKAnFlheSwgSSdsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoK QnV0IGhleSwgeW91IGFzaywgd2h5IG5vdCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpk YW5pIHt2YXV9JycgYW5kIGV2ZW4gc2F2ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwg c2F5aW5nIHRoYXQgeW91IHdpbGwgaGF2ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhp bmcgYWJvdXQgd2hldGhlciB5b3UgaGF2ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhv dWdoLCB5b3Ugc2F5IHRoYXQgeW91IGFyZSBub3cgaW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mg b2YgeW91IGhhdmluZyBhIGhvbWUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25l IG5vdy4KCk5vdGUsIGJ5IHRoZSB3YXksIHRoYXQgJydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9 JycgaXMgc2ltaWxhciB0byAnJ21pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlr ZXdpc2Ugd2l0aCAnJ2JhJ28nJyBhbmQgJydwdScnLiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2Vk PyBCZWNhdXNlIGV2ZW50IGNvbnRvdXJzIHZpZXcgdGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRo ZSB2aWV3cG9pbnQgb2YgdGhlIHByb2Nlc3MsIHdoZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3 IGV2ZW50cyBzZWVuIGZyb20gdGhlIHByZXNlbnQuCgoKCk9mdGVuLCBldmVudCBjb250b3VycyBh cmUgbW9yZSBwcmVjaXNlIHRoYXQgb3RoZXIga2luZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFy aXR5IGlzIGFjaGlldmVkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJh e2t1fSB6aSB7a3V9IGJhJ28ge2t1fSBndW5rYSB7dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29v biBmaW5pc2hlZCB3b3JraW5nLuKAnQoKCgpJbiBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRo IGFuIGV2ZW50J3Mg4oCcbmF0dXJhbCBiZWdpbm5pbmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVu ZOKAnS4gVGhlIHRlcm0g4oCcbmF0dXJhbOKAnSBpcyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlz IHNlbnNlLCBhbmQgdGhlIG5hdHVyYWwgZW5kIHJlZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHBy b2Nlc3Mgd2hlcmUgaXQgc2hvdWxkIGVuZC4gWW91IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWlu LCBmb3IgaW5zdGFuY2UsIHRoYXQgaXRzIHByb2Nlc3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBl eHRlbmRpbmcgYmV5b25kIGl0cyBuYXR1cmFsIGVuZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2 ZWQgbWVhbCwgc2ltaWxhcmx5LCBpcyBiZWluZyBlYXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBu YXR1cmFsIGJlZ2lubmluZy4gVGhlIGV2ZW50IGNvbnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBs ZXMgYXJlIGFzIGZvbGxvd3M6CgoKCl9fJyd6YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtz dW10aX0KCl9fJyd4YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBp bW1hdHVyZWx5IGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCc eDEgaXMgZm9vZCwgd2hpY2ggaXMgZWRpYmxlIGZvciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9p IGRvIGNpdGthIHphJ28gbG8gbnUgZG8gYmEnbyB7a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRq YSBkbyB7dmF1fSB7a3Unb30ge3ZhdX0ge2tlaX0ge2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcT3ksIHlvdSBrZWVwIGVhdGluZyB3aGVuIHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRp Ymx5LCBlYXRpbmcgc29tZXRoaW5nIGVkaWJsZSHigJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1 bWI9InkiIHJlbD0iYm94W2ddIn0KCkltYWdlIGFib3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29u dG91cnMpLiBBbGwgdGVuc2VzIGFib3ZlIHRoZSBsaW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0 YWdlcyBjb3ZlcmluZyBhbiBhbW91bnQgb2YgdGltZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZl bnQgbGluZSBzaWduaWZ5IHN0YWdlcyB3aGljaCBhcmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRo ZXNlIHRlbnNlcyBoYXZlIGJlZW4gZGVzY3JpYmluZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNo IHRha2VzIHNvbWUgdGltZSAoYXMgc2hvd24gb24gdGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5z ZXMgYWJvdmUgdGhlIGV2ZW50IGxpa2UpLiBCdXQgbWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMg ZGVzY3JpYmVzIHBvaW50IGxpa2Ugc3RhZ2VzIGluIHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdp bm5pbmcuIEFzIGlzIHRydWUgb2YgJydjYScnIGFuZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBl eHRlbmQgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFu ZCBuZWVkIG5vdCB0byBiZSBwcmVjaXNlLgoKCgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50 LWxpa2UgZXZlbnQgY29udG91cnMgYXJlOgoKX18nJ2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBiZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydj byd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5n IGR1cmluZyB7c3VtdGl9CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRo ZSBwcm9jZXNzIGlzIG5hdHVyYWxseSBjb21wbGV0ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMg ZW5kZWQgeWV0OgoKX18nJ21vJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRp IGlzIGF0IGl0cyBuYXR1cmFsIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGlt ZSwgdGhvdWdoLCBwcm9jZXNzZXMgYWN0dWFsbHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5n OyB0aGlzIGlzIHdoYXQgbWFrZXMgaXQgbmF0dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBs YXRlLCBhbmQgcGVvcGxlIHVzdWFsbHkgcmV0cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVk aWJsZSBmb29kLgoKCgpTaW5jZSBhIHByb2Nlc3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1 bWVkLCB0aGVzZSBwb2ludHMgaGF2ZSBlYXJuZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxz bzoKCl9fJydkZSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVz aW5nIGR1cmluZyB7c3VtdGl9CgpfXycnZGknYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogQnJpZGkgaXMgcmVzdW1pbmcgZHVyaW5nIHtzdW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydq dW5kaScnIG1lYW5zIOKAnHgxIHBheXMgYXR0ZW50aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGkn JyBhbmQgJydkaSdhIGp1bmRpJycgYXJlIGNvbW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCc QlJC4oCdIGFuZCDigJxiYWNr4oCdLiBPbmUgY291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBl dmVudCBjb250b3VycyBieSB0aGVtc2VsdmVzIGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9z cy4KCgoKRmluYWxseSwgb25lIGNhbiB0cmVhdCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJl Z2lubmluZyB0byB0aGUgZW5kIGFzIG9uZSBzaW5nbGUgcG9pbnQgdXNpbmcgJydjbydpJyc6Cgpf XycncGVubWknJ19fIOKAnHgxIG1lZXRzIHgyIGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtr dX0gemkge2t1fSBjbydpIHtrdX0gcGVubWkgbG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g 4oCcQSBsaXR0bGUgd2hpbGUgYWdvLCBJIHdhcyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBp IG1ldCBhIEdlcm1hbiBwZXJzb27igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3 ZWx2ZSAob3JkZXJzIGFuZCBxdWVzdGlvbnMpCgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25z IHdpdGggc3ludGF4IGhlYXZ5IExvamJhbiBnaXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBv bmRlciBhYm91dC4gRXNwZWNpYWxseSBiZWNhdXNlIGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5n bGlzaC4gU28gbGV0J3MgdHVybiB0byBzb21ldGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJz IGFuZCBxdWVzdGlvbnMuCgoKCldoYXQgdGhlLi4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpT aW5jZSB0aGUgd2F5IHRvIGV4cHJlc3Mgb3JkZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0 IHRoZSBzdWJqZWN0IG9mIHRoZSBjbGF1c2UsIHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdh cyB5b3UgSSB3YXMgc3BlYWtpbmcgdG8sIGFuZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHBy ZXNzaW5nIHRoZSBvYmxpZ2F0aW9uIHNvbWVvbmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xp c2ggbGFuZ3VhZ2UgdW5kZXJzdGFuZHMgdGhhdCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJl LCBhcmUgYWx3YXlzIGRpcmVjdGVkIHRvd2FyZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKA nSwgYW5kIHNvIHRoZSBzdWJqZWN0IGlzIG5vdCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRp bmcgdGhlIHN1YmplY3QgeWllbGRzICcnem8nZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNh ZGx5IG5vdCBvcGVuIHRvIHVzLiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGlj aCBpcyB0aGUgaW1wZXJhdGl2ZSBmb3JtIG9mICcnZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJp ZGktd2lzZSwgaXQncyBlcXVpdmFsZW50IHRvICcnZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBv ZiBzZW1hbnRpY3MsIHNpbmNlIGl0IHR1cm5zIGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBp biBpdCBpbnRvIGFuIG9yZGVyLiDigJxEbyBzdWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVl IGZvciB5b3U9JydrbycnIeKAnSBGb3IgdGhlIHNhbWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhl IHN1YmplY3QgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMg ZGVyaXZlZCBmcm9tIGFueSBvdGhlciBzdW10aSB0aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlv dSBvcmRlciBvbmUgdG8gZ28gZmFyIGF3YXkgZm9yIGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1h JycgYXMgdGhlIG9ubHkgc2VsYnJpPykKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHpl J3Uga2xhbWF+fgoKKCcnLmkgemEnYSBkYWkgYSdvIG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3Jt YSdvIC5pIGtvIGppbXBlIHZhdSAudWknJykgLSBsb29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91 dC4KCgoKUXVlc3Rpb25zIGluIExvamJhbiBhcmUgdmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhl eSBjb21lIGluIHR3byBraW5kczogRmlsbCBpbiB0aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1 ZXN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0aCB0aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0g dGhhdCdzIHByZXR0eSBvdmVyY29tZWFibGUsIHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdv cmQsICcneHUnJy4KCicneHUnJyB3b3JrcyBsaWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5z ZSB0aGF0IGl0IGNhbiBnbyBhbnl3aGVyZSwgYW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGlu ZyB3b3JkIChvciBjb25zdHJ1Y3QpLiBJdCB0aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGlu dG8gYSBxdWVzdGlvbiwgYXNraW5nIHdoZXRoZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVy IHRvIGFmZmlybSwgeW91IHNpbXBseSByZXBlYXQgdGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5p IGRvJycgJycuaSB2ZSd1IHpkYW5pIG1pJycsIG9yIHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNl bGJyaSwgd2hpY2ggaXMgdGhlIGJyaWRpIHdpdGggYWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVs aWRlZDogJyd6ZGFuaScnLgoKVGhlcmUgaXMgYW4gZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1 c2luZyBicmlrYSdpLCBidXQgdGhvc2UgYXJlIGEgdGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBh bnN3ZXIg4oCcbm/igJ0gb3Ig4oCcZmFsc2XigJ0sIHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhl IGJyaWRpIG5lZ2F0ZWQuIFRoYXQgdG9vLCB3aWxsIGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ug d2lsbCByZXR1cm4gdG8gcXVlc3Rpb24gYW5zd2VyaW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBr aW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24g d29yZCB0byBiZSByZXBsYWNlZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlk aSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9u IHdoYXQgeW91IGFyZSBhc2tpbmcgYWJvdXQ6CgpfXycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24K Cl9fJydtbycnX18gLSBzZWxicmkgcXVlc3Rpb24KCl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rp b24KCl9fJydjdSdlJydfXyAtIHRlbnNlIHF1ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhl cnMuIFRvIGFzayBhYm91dCBhIHN1bXRpLCB5b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlv biB3b3JkIHdoZXJlIHlvdSB3YW50IHlvdXIgYW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBh c2tzIGZvciB0aGUgeDIgdG8gYmUgZmlsbGVkIHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3Ug Z2l2ZSB3aGF0IHRvIG1lP+KAnS4gVGhlIGNvbWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcn bWEnJyBpcyB2ZXJ5IHVzZWZ1bCBpbmRlZWQ6CgpfXycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90 aXZhdGVkIGJ5IHRoZSBhYnN0cmFjdGlvbiBvZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1p IG11J2kgbWEnJyAtIOKAnE95LCB3aHkgZG8geW91IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBh bm90aGVyIG9uZS4gVGhpcyB0aW1lLCB5b3UgdHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHpl J3UgcHUgbW8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBo YXZlIHlvdSBiZWVuIGRvaW5nIGFsbCB0aGlzIGxvbmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2hu aWNhbGx5LCBpdCBjb3VsZCBhbHNvIG1lYW4g4oCcd2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0 IGFuc3dlcmluZyB3aXRoICcnLnVhIG5haSBsaSdhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91 c2x5KSBpcyBqdXN0IGJlaW5nIGluY3JlZGlibHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpT aW5jZSB0b25lIG9mIHZvaWNlIG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwg d2hldGhlciBhIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBt aXNzIHRoZSBxdWVzdGlvbiB3b3JkLiBUaGVyZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZv Y3VzIG1vcmUgb24gd29yZHMgaW4gdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRl bmNlcywgaXQncyB1c3VhbGx5IHdvcnRoIHRoZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVu Y2Ugc28gdGhhdCB0aGUgcXVlc3Rpb24gd29yZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhh dCBpcyBub3QgZmVhc2FibGUsICcncGF1JycgaXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0 IHRoZSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uLiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGlj aXRseSBtYXJrcyBhbnkgcXVlc3Rpb24gYXMgYmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2Ug YXJlIG9uIHRoZSB0b3BpYyBvZiBxdWVzdGlvbnMsIGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBt ZW50aW9uIHRoZSB3b3JkICcna2F1JycsIHdoaWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVj dCBxdWVzdGlvbuKAnS4gV2hhdCdzIGFuIGluZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0 YWtlIGEgbG9vayBhdCB0aGUgc2VudGVuY2U6ICcnbWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRh bmkgZG8nJyAtIOKAnEkga25vdyB3aGF0IGlzIHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g 4oCceDEga25vd3MgZmFjdChzKSB4MiBhcmUgdHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kg eDTigJ0KCk9uZSBjYW4gdGhpbmsgaXQgYXMgdGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydt YSB6ZGFuaSBkbycnLiBNb3JlIHJhcmVseSwgb25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdv cmQgd2l0aCAnJ2thdScnLCBpbiB3aGljaCBjYXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBh cyB0aGUgYW5zd2VyIHRvIGEgcXVlc3Rpb246ICcnbWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBr YXUgZG8nJyAtIOKAnEkga25vdyB3aGF0IHlvdSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu 4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBh bmQgd29yZCBjbGFzc2VzKQoKQmFjayB0byBtb3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0 dWZmLgoKSWYgeW91IGhhdmVuJ3QgYWxyZWFkeSwgSSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5k IHRoZSBMb2piYW5pYyByZWNvcmRpbmcgY2FsbGVkICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9i aW4iLCBvciBsaXN0ZW4gdG8gc29tZW9uZSBzcGVhayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhl biBwcmFjdGljZSB5b3VyIHByb251bmNpYXRpb24uIEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJz YXRpb24gaW4geW91ciBoZWFkIGluIExvamJhbiBpcyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0 aCBhbGwgdGhlIHdyb25nIHNvdW5kcywgYW5kIGxlYXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3 cml0dGVuIHRleHQgaXMgaGFyZC4gVGhlcmVmb3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBv biB0aGUgTG9qYmFuIHNvdW5kcywgaG93ZXZlciBpbXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0 IGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHRoZSBMb2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBp cyBtb3JwaG9sb2d5PyBUaGUgd29yZCBpcyBkZXJpdmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0 aGUgc3R1ZHkgb2Ygc2hhcGVz4oCdLCBhbmQgaW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0 IGhvdyB3ZSBtYWtlIHdvcmRzIGZyb20gbGV0dGVycyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVk IHdpdGggc3ludGF4IC0gaG93IHdlIG1ha2Ugc2VudGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBv cGVyYXRlcyB3aXRoIGRpZmZlcmVudCBtb3JwaG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2gg YXJlIGFsbCBkZWZpbmVkIGJ5IHRoZWlyIG1vcnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2Ug YW5kIHN5c3RlbWF0aWMgdGhvdWdoLCB3b3JkcyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQg dG8gYmUgZ3JvdXBlZCBieSBtb3JwaG9sb2dpY2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1h eSBvY2N1ci4KCnx8ICAgQ2xhc3N8TWVhbmluZ3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24K CiAgIFdvcmRzOnwgICB8ICAgfCAgIAoKICAgQnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcg Zmlyc3QgNSBsZXR0ZXJzIChleGNsdWRpbmcg4oCcIOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNs dXN0ZXIuIEVuZHMgaW4gdm93ZWwuICAgfCAgIEFjdHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4g QWx3YXlzIGhhcyBhIHBsYWNlIHN0cnVjdHVyZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1 IGxldHRlcnMgb2YgdGhlIGZvcm0gQ1ZDQ1Ygb3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3Vt dGkgcGxhY2VzLiBDb3ZlcnMgYmFzaWMgY29uY2VwdHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQg d29yZC4gRGVyaXZlZCBmcm9tIGZyb20g4oCcbHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXgg d29yZOKAnSB8ICAgTWluLiA2IGxldHRlcnMuIE1hZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0 aGVyIHdpdGggYmluZGluZyBsZXR0ZXJzIGlmIG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29t cGxleCBjb25jZXB0cyB0aGFuIGdpc211LgoKICAgLS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMg YnJpdmxhLCBidXQgZG8gbm90IG1lZXQgZGVmaW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVq dm8sIGV4OiAnJ2FuZ2VsaScnICB8ICAgQ292ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVz IG9mIHBsYWNlcyBvciBvcmdhbmlzbXMuCgogICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lu bmluZyBhbmQgZW5kaW5nIHdpdGggcGF1c2UgKGZ1bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVy IGlzIGEgY29uc29uYW50LnwgICBBbHdheXMgYWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRl bnQgb2YgYSBxdW90ZS4KCiAgIENtYXZvfCAgIEdyYW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHi gJ0sIG1lYW5pbmcg4oCcc21hbGwgd29yZOKAnXwgT25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdh eXMgYXQgdGhlIGJlZ2lubmluZy4gRW5kcyBpbiBhIHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1 bmN0aW9ucy4gVmFyaWVzCgogICBXb3JkLWZyYWdtZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAg IEFmZml4fCAgQ0NWLCBDVkMsIENWJ1YsIC1DVkNDViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3kt ICB8IE5vdCBhY3R1YWwgd29yZHMsIGJ1dCBjYW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9y bSBsdWp2byB8fAoKCgoKCl9fJydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkg YmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1 bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBj bWV2bGEgY2FuJ3QgaGF2ZSBhbnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBu YW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90 IGFwcGVhciBpbiBMb2piYW4gd2l0aG91dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBi eSBjZXJ0YWluIHF1b3RlIHdvcmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBi eSBjYXBpdGFsaXppbmcgdGhlIGxldHRlcnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBv ZiBjbWV2bGEgYXJlOiAnJy5pb2hBTi4nJyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhl KSwgJycubWF0LicnIChNYXR0KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFt ZXMgd2hpY2ggZG8gbm90IGVuZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6 ICcnLml2eW4uJycgKEV2ZSksIG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1v dmVkOiAnJy5pdi4nJwoKCgpfXycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz 4oCdIGJlY2F1c2UgdGhleSBieSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxt b3N0IGFsbCBMb2piYW4gd29yZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBU aGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13 b3Jkc+KAnS4gSXQncyBuZWFybHkgaW1wb3NzaWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdp dGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBs b2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0 aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJlZCBieSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJs ZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJjYXRlZ29yaWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhl IHJvb3Qgd29yZHMgb2YgdGhlIGxhbmd1YWdlLiBPbmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQg dmVyeSBmZXcgbmV3IG9uZXMgYXJlIGFkZGVkLiBUaGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNv bmNlcHRzIGxpa2Ug4oCcY2lyY2xl4oCdLCDigJxmcmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKA nGRyZWFt4oCdLiBFeGFtcGxlcyBpbmNsdWRlICcnemRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1 bmRhJycKCl9fJydsdWp2bycnX18gYXJlIG1hZGUgYnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5k ZXIgcmFmc2kpLCByZXNwcmVzZW50aW5nIGdpc211LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBu YXJyb3dzIGRvd24gdGhlIG1lYW5pbmcgb2YgdGhlIHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFu IGVsYWJvcmF0ZSBhbGdvcml0aG0sIHNvIG1ha2luZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlz IG5lYXIgaW1wb3NzaWJsZSwgd2l0aCBmZXcgZXhjZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBm cm9tICcnc2UgcHJhbWknJywgd2hpY2ggY2FuIG9ubHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5z dGVhZCwgbHVqdm8gYXJlIG1hZGUgb25jZSwgaXRzIHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBh bmQgdGhlbiB0aGF0IGRlZmluaXRpb24gaXMgbWFkZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFy eS4gRXhhbXBsZXMgaW5jbHVkZSBicml2bGEgKGJyaWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNl eHVhbC1zb2NpYWxpemluZyA9IGZsaXJ0aW5nKSBhbmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNl Y3QgPSBiZWV0bGUpLgoKX18nJ2Z1J2l2bGEnJ19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3Jk cyB3aGljaCBmaXQgdGhlIGRlZmluaXRpb24gZm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8g b3IgZ2lzbXUuIFRoZXkgdGVuZCB0byBjb3ZlciBjb25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8g Y292ZXIgYnkgbHVqdm8sIGZvciBpbnN0YW5jZSBuYW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9y IHZlcnkgY3VsdHVyYWwgc3BlY2lmaWMgY29uY2VwdHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdk cmdvZ3VyaW8nJyAoS29yZWEpICcnY2lkanJwaXRzYScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAo YW5nZWwpLgoKCgpfXycnY21hdm8nJ19fIGFyZSBzbWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJv IGNvbnNvbmFudHMuIFRoZXkgdGVuZCB0byBub3Qgc2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0 ZXJpb3Igd29ybGQsIGJ1dCB0byBoYXZlIG9ubHkgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2Vw dGlvbnMgb2NjdXIsIGFuZCBpdCdzIGRlYmF0YWJsZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhp c3RzIGZvciB0aGVpciBncmFtbWF0aWNhbCBmdW5jdGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxl IGFyZSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIEdPaEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0 IGlzIHZhbGlkIHRvIHR5cGUgc2V2ZXJhbCBjbWF2byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0 IGluIHRoZXNlIGxlc3NvbnMsIHRoYXQgd29uJ3QgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFp biBjbWF2byBpbiBmdW5jdGlvbmFsIHVuaXRzLCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNp ZXIgdG8gcmVhZC4gVGh1cywgJycudWlwdXp1dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBp cyBwYXJzZWQgYW5kIHVuZGVyc3Rvb2QgYXMgJycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4g TGlrZSBvdGhlciBMb2piYW4gd29yZHMsIG9uZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMp IHBsYWNlIGEgZnVsbCBzdG9wIGJlZm9yZSBhbnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dl bC4KCmNtYXZvIG9mIHRoZSBmb3JtIHhWViwgQ1YnVlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFs LCBhbmQgYXJlIHdvcmRzIHdoaWNoIGFyZSBub3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQg d2hpY2ggaGF2ZSBiZWVuIGFkZGVkIGJ5IExvamJhbiB1c2VycyB0byByZXNwb25kIHRvIGEgY2Vy dGFpbiBuZWVkLgoKCgpfXycncmFmc2knJ19fIGFyZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2Fu IG5ldmVyIGFwcGVhciBhbG9uZS4gSG93ZXZlciwgc2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFm c2kgY29tYmluZSB0byBmb3JtIGx1anZvLiBUaGVzZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhl IGJyaXZsYS1kZWZpbml0aW9uLCBmb3IgaW5zdGFuY2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJl Y2F1c2UgaXQgZW5kcyBpbiBhIGNvbnNvbmFudCAod2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBh bmQgJydjaSdla2VpJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBj b25zb25hbnQgY2x1c3RlciwgYW5kIGlzIHRodXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBh cyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00IGxldHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFu ZCBhIHJhZnNpLCBsaWtlICcnenUnZScnLCB3aGljaCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSBy YWZzaSBmb3IgJyd6dWt0ZScnLiBOb3RlIHRoYXQgdGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGgg YSBjbWF2byBhbmQgYSByYWZzaSB3b3VsZCBiZSBncmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5v dCBjb25zaWRlcmVkIGhvbW9waG9uZXMuIEFsbCBnaXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBp ZiB0aGV5IGFyZSBwcmVmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxl dHRlciBvZiBhIGdpc211IHN1ZmZpeGVkIHdpdGggYW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJh ZnNpLCBpZiB0aGV5IGFyZSBzdWZmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAi eSIgY2FuIG9ubHkgYXBwZWFyIGluIGx1anZvIG9yIGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVy IGNvbWJpbmF0aW9ucyBhcmU6IENWViwgQ1YnViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1Yg YW5kIC1DQ1ZDVi4KCgoKVXNpbmcgd2hhdCB5b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJs ZSB0byBhbnN3ZXIgdGhlIHRlc3QgaSB0aHVzIHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2Yg dGhlIGZvbGxvd2luZyB3b3JkcyBhcyBjbWV2bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwg JydmdSdpdmxhJycgKGYpIG9yIGNtYXZvIChjKToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoK QiApIC5pcmNpICAgICAgICBIICkgLmknaQoKQyApIGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4 ZWxtYW4gICAgICAgIEogKSBwbGFqdmEKCkUgKSBwbydlICAgICAgICBLICkgZGFuc2VrZQoKRiAp IGRqaXNrdSAgICAgICAgTCApIC5lcnRzYQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1m LCBjLWcsIGQtQywgZS1jLCBmLWwsIGctQywgaC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVm dCBvdXQgdGhlIGZ1bGwgc3RvcHMgYmVmb3JlIGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4n dCBiZSB0b28gZWFzeS4KCk5vdGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScn IGRvIG5vdCBleGlzdCBpbiB0aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4g VGhlIG1vcnBob2xvZ3kgc3RpbGwgbWFrZXMgaXQgYSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVu ZGVmaW5lZCBnaXNtdS4gU2ltaWxhcmx5IHdpdGggJycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiBmb3VydGVlbiAodGhlIExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEp CgpJZiB5b3UgaGF2ZSByZWFkIGFuZCB1bmRlcnN0b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUg bGVzc29ucyB1bnRpbCBub3csIHlvdSBoYXZlIGFtYXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xl ZGdlIG9mIExvamJhbiBzbyB0aGF0IGl0IGRvZXNuJ3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlv dSBsZWFybiB0aGUgcmVzdC4gQXMgYSByZXN1bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNz b25zIHdpbGwgYmUgYSBtaXh0dXJlIG9mIHNvcnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkg YW5kIHNvcnRlZCBieSBpbXBvcnRhbmNlIGluIG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24u CgoKCk9uZSBvZiB0aGUgYmlnZ2VzdCBjb25zdHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlv dXIgbGltaXRlZCBrbm93bGVkZ2Ugb24gaG93IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9u bHkga25vdyAnJ3RpJycgYW5kICcnbG8gU0VMQlJJJycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3Ug ZmFyIGNvbnNpZGVyaW5nIGhvdyBpbXBvcnRhbnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBs ZXNzb24gYXMgd2VsbCBhcyB0aGUgZm9sbG93aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2pi YW4gc3VtdGkuIEZvciBub3csIHdlIGZvY3VzIG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRp LCB0aGUgb25lcyBtYWRlIHdpdGggYXJ0aWNsZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBp biBsb2piYW4gY2FsbGVkICcnZ2FkcmknJywgYW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4g dGhpcyBsZXNzb24gYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0 aW9ucyAnJ2xhIENNRVZMQScnLCAnJ2xhaSBDTUVWTEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBX ZSB3aWxsIGJlZ2luIGJ5IGRlc2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0 aXZlIHN1bXRpLCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNv IHNpbXBsZSBhZnRlciBhbGw6CgpfXycnbG8nJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2Fs IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdh cmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVy aWMgZGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2 YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18g LSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkg b3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoK WW91IGFyZSBhbHJlYWR5IGZhbWlsaWFyIHdpdGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1 dCB3aGF0IGRvZXMgaXQgbWVhbiwg4oCcdmVyaWRpY2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJl Z2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzc+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRp dmlkdWFscyBhbmQgbWFzc2VzLCBJJ2xsIGNvbWUgYmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCc dmVyaWRpY2Fs4oCdIGluIHRoaXMgY29udGV4dCBtZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRo aW5nIHRvIHF1YWxpZnkgYmVnaW4gbGFiZWxsZWQgYXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8g YWN0dWFsbHkgJydrbGFtYScnLiBUaHVzLCB2ZXJpZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3 aGljaCBtYXkgYmUgdHJ1ZSBvciBmYWxzZSAtIHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlv biBhcmUgYWN0dWFsbHkgdGhlIHgxIG9mIHRoZSBzZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhp cyBtYXkgYmUgY29udHJhc3RlZCB3aXRoICcnbGUnJywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFu ZCB0aHVzIG5vdCB2ZXJpZGljYWwuIFNheWluZyAnJ2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBo YXZlIG9uZSBvciBtb3JlIHNwZWNpZmljIG9iamVjdHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhl IHNlbGJyaSAnJ2dlcmt1JycgdG8gZGVzY3JpYmUgaXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1h eSBpZGVudGlmeSB0aG9zZSBzcGVjaWZpYyBvYmplY3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScn IGhhdmVzIHR3byBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0 IGNhbm5vdCByZWZlciB0byBvYmplY3RzIGluIGdlbmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRv IHNwZWNpZmljIG9iamVjdHMuIFNlY29uZGx5LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVs eSBpcyBvbmUgb3IgbW9yZSBkb2dzLCAnJ2xlIGdlcmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVy aWRpY2FsLCBjYW4gYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRo ZSBkZXNjcmlwdGlvbiB3aWxsIGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4g UGVyaGFwcyB0aGUgc3BlYWtlciBpcyByZWZlcnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3Qg ZmFtaWxpYXIgd2l0aCB0aGVtIGFuZCB0aGluayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBh cHByb3hpbWF0aW9uIHRvIGJlIHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBw ZXJoYXBzIG92ZXItZW1waGFzaXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0 byBkZXNjcmliZSBhIGRvZyBpcyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9n LCBhbmQgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1Jycg aXMgdXN1YWxseSBwcmVzdW1lZCB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAn J2xvIGdlcmt1JycuCgpJbiB0cmFuc2xhdGlvbiwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCc YSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhl IGRvZ+KAnSBvciDigJx0aGUgZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3 b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNp YyAnJ2dhZHJpJycsIHRoZXJlIGlzICcnbGEnJywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNo IEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5IGNhbGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQg SSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBpdCdzIG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlk aWNhbCwgc2luY2UgaXQgcmVmZXJzIHRvIGEgcHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCBy ZWZlciB0byBhIHBlcnNvbiBjYWxsZWQgSW5ub2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBk ZXNjcmliZSBoZXIgYXMgYmVpbmcgaW5ub2NlbnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlz LiBJIG9ubHkgc3RhdGUgdGhhdCBieSBjb252ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJl ZCB0byBieSB0aGF0IHNlbGJyaSBvciBjbWV2bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBn YWRyaSBkZXJpdmVkIGZyb20gaXQgY2FuIGNvbnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBh bnkgb3RoZXIgJydnYWRyaScnLiBBbHNvOiBCZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90 IG1lbnRpb24gdGhhdCBuYW1lcyBjYW4gYmUgZm9ybWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVz aW5nIHRoZSBnYWRyaSAnJ2xhJycuIEJ1dCB0aG9zZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJy aSBuYW1lcyBhcmUgYXMgZ29vZCBhcyB0aGV5IGdldCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5p c3QgaGF2ZSB0aGVtLgoKJydsYScnLCBhcyB3ZWxsIGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFy ZSBhIGJpdCBlY2NlbnRyaWMsIHNpbmNlIHRoZXkgX19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5u aW5nIG9mIGEgbmFtZS4gVW5saWtlIHRoZSBvdGhlciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4g YmUgZ3JhbW1hdGljYWxseSBwbGFjZWQgYWZ0ZXIgJydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUg Y29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBGb3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScn IGlzICJteSBkb2ciLCBidXQgJydsYSBtaSBnZXJrdScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBE b2ciLgoKCgpUaGVzZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGgg dGhyZWUgbW9yZSwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9p JydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRy ZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCl9fJydsZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZl IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVz KS4KCl9fJydsYWknJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKA nGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1h c3MoZXMpLgoKCgpUaGVzZSBhcmUgdGhlIHNhbWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBv bmU6IFRoZXkgdHJlYXQgdGhlIHN1bXRpIGV4cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBp cyBvbmx5IG9uZSBvYmplY3QgaW4gcXVlc3Rpb24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBj b25zaXN0aW5nIG9mIG9uZSBvYmplY3QgYXJlIGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJl dHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIGxpZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3Jp YmVkIHRvIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBp bmRpdmlkdWFscyBjYW4gYmUgc2FpZCB0byBmaXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9u bHkgaWYsIGFsbCBtZW1iZXJzIG9mIHRoZSBncm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBp cyBjb3JyZWN0IHRvIGRlc2NyaWJlIGEgcGFjayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQg aW5kaXZpZHVhbGx5LCBhcyBiZWluZyBibGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQn cyB0cnVlIHRoYXQgdGhleSBhcmUgYmxhY2suIEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZp dHMgb25seSB0aG9zZSBzZWxicmkgd2hpY2ggaXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUs IGFzIGEgdGVhbSwgc28gdG8gc3BlYWsuIEhvd2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1h c3MgJydsb2kgZ2Vya3UnJyBtdXN0IGJlIGRvZ3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUg YXBwbGljYWJsZS4gVGhlIG5vdGlvbiBvZiAibWFzc2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5k IHJlcXVpcmVzIHNvbWUgZXhhbXBsZXMgdG8gZGVtb25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBp dCBjYW4gaGF2ZToKCl9fJydzcnVyaScnX186IOKAnHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9z ZXMgeDIgaW4gbGluZS9wbGFuZS9kaXJlY3Rpb25zIHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVy aSBsbyB6ZGFuaScnIC0g4oCcVGhlIHBlb3BsZSBzdXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBw bGF1c2libGUsIGV2ZW4gdGhvdWdoLCB5byBtb21hIGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdz IGNvbXBsZXRlbHkgaW1wbGF1c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25l IG9mIHRoZSBtZW1iZXJzIGFsb25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1 bWFucyBkZWZlYXRlZCBzbWFsbHBveCBpbiB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8g aHVtYW4gZGlkIHNvLCBidXQgdGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMg dGhlIHNlbnRlbmNlIHRydWUgaW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCc aHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmds aXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2gg b2Ygd2hpY2ggYXJlIGh1bWFuLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4 MSBpcyBhIGJpb2xvZ2ljYWwgY2VsbCBvZiBvcmdhbmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4 MSBpcyBhIGh1bWFuIgoKJydsb2kgbWl2eXNsZSBjdSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9m IGNlbGxzIGFyZSBodW1hbiIuIEFnYWluLCBub25lIG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIElu ZGVlZCwgdGhlIGNlbGxzIGhhdmUgdmVyeSBmZXcgaHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxz IGNvbnNpZGVyZWQgYXMgYSB3aG9sZSBtYWtlcyB1cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3 aXRoICcnbGVpJycsIHN1Y2ggYXMgJydsZWkgZ2Vya3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3Jt ZWQgYnkgYSBncm91cCBvZiBzcGVjaWZpYyBpbmRpdmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUg c3BlYWtlciByZWZlcnMgdG8gYXMgJydsZSBnZXJrdScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmli ZXMgYnkgJydsYWknJyBhcmUgb25seSBhcHByb3ByaWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9s ZSBpcyBuYW1lZCBzdWNoLCBhbmQgbm90IGp1c3QgaWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4g SXQgY2FuLCBob3dldmVyIGJlIHVzZWQgaWYgdGhlIGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBm cmFjdGlvbiBvZiB0aGF0IGdyb3VwLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhh dCAnJ2xvJycgYW5kICcnbGUnJyBjYW4gYmUgdXNlZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1 YWxzIGFuZCBtYXNzZXMuIExldCdzIHNheSBhIHBhY2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBh IG1hc3MgbmVlZHMgZGVzY3JpcHRpb24uIEkgbWlnaHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcn bG9pIGdlcmt1Jycgb3IgJydsbyBnZXJrdScnLiBJZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dz IG1lIHRvIGNvcnJlY3RseSBzdGF0ZSBzb21ldGhpbmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRy YWRpY3Rpb24sIGJ1dCByZWFsbHkgaXNuJ3Q6ICcnbG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21l IGRvZ3MgYXJlIG5vdCBkb2dzIi4gU2luY2UgaXQncyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBv ZiBkb2dzLCB0aGUgbWFueSBkb2dzIGNvbnNpZGVyZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2cs IGJ1dCByYXRoZXIgYSBwYWNrIG9mIGRvZ3MuCgpZb3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQg dGhlcmUgaXMgbm8gd29yZCB3aGljaCB1bmFtYmlndW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBp bmRpdmlkdWFsKHMpLiBJbiBvcmRlciB0byBiZSBleHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVz cywgb25lIG5lZWRzICcnbG8nJywgJydsZScnIG9yICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50 aWZpZXIuIFRoZSBzdWJqZWN0IG9mIHF1YW50aWZpZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRl ciwgaW4gbGVzc29uIHR3ZW50eS10d28uIFdoYXQgaXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBh bmQgJydsZScnIHZhZ3VlLCBhbmQgbm90IGV4cGxpY2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVj YXVzZSB0aGVpciB2YWd1ZW5lc3MgZW5hYmxlcyB0aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRl eHQsIHdpdGhvdXQgdGhlIHNwZWFrZXIgaGF2aW5nIHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMg YmVoYXZlcyBhcyBhIG1hc3Mgb3IgYSBncm91cCBvZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4g dGhpcyBzZXJpZXMsIHRoZXJlIGFyZSB0aHJlZSBzZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9f JydsbydpJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGni gJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlw dGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0 LgoKX18nJ2xhJ2knJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKA nGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEg c2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9mIGluZGl2aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nl cywgc2V0cyBkb2VzIG5vdCB0YWtlIGFueSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmpl Y3RzIGZyb20gd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhl bWF0aWNhbCBvciBsb2dpY2FsIGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2Fy ZGluYWxpdHksIG1lbWJlcnNoaXAgYW5kIHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBk aWZmZXJlbmNlIGJldHdlZW4gYSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGlj aCB0aGUgc2V0IGlzIGZvcm1lZDoKCl9fJyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9w YXJkL2phZ3VhciBvZiBzcGVjaWVzL2JyZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoK JydsbydpIHRpcnh1IGN1IGNtYWx1Jycgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNh dHMgYXJlIHNtYWxsICh3aGljaCBpcywgYnkgdGhlIHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0 IGluc3RlYWQgc2F5IHRoYXQgdGhlIHNldCBvZiBiaWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAt IHRoZXJlIGFyZSBmZXcgb2YgdGhlbS4KCgoKTGFzdGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3 bykgZ2VuZXJhbGl6aW5nICcnZ2FkcmknJzoKCl9fJydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGlj YWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJj aGV0eXBlIG9mICcnbG8ge3NlbGJyaX0nJy4KCl9fJydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlw dGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBk ZXNjcmliZWQvcGVyY2VpdmVkIGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGlj aCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkg bWVhbnQgYnkgdGhlIGFyY2hldHlwZT8gRm9yICcnbG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVh bCwgaW1hZ2luZWQgYmlnIGNhdCwgd2hpY2ggaGFzIGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBi ZXN0IGV4ZW1wbGlmaWVzIGJpZyBjYXRzLiBJdCB3b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0 aGlzIGluY2x1ZGVzIGhhdmluZyBhIHN0cmlwZWQgZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGlj IHN1Ymdyb3VwIG9mIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhh dmUgc3RyaXBlZCBmdXIsIHRoZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0 aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5vdCBsaXZlIGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qg b2YgaHVtYW5zIGRvLiBIb3dldmVyLCBpZiBzdWZmaWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBh IHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVpbmcgYWJsZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9f JydrYWtuZScnX186IOKAnHgxIGlzIGNhcGFibGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2ly Y3Vtc3RhbmNlIHgz4oCdCgonJ2xvJ2UgcmVtbmEgY3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKA nFRoZSB0eXBpY2FsIGh1bWFuIGJlaW5nIGNhbiBzcGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwg aXMgdGhlIGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVh a2VyLiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJh bnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2gg cGhyYXNlIGhhdmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2gg dGhlIExvamJhbiBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNh bCBhcmNoZXR5cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcn bG8nZSByZW1uYScnIGlzIHRoZSBhcmNoZXR5cGUgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwg JydsbyByZW1uYScnLCB3aGlsZSB0aGUgYXJjaGV0eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhl bXBsaWZpZXMgYWxsICcnbGUgcmVtbmEnJy4KCgoKVGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2Vl biBpbiB0aGUgZGlhZ3JhbSBiZWxvdy4KCnx8IHxHZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxp emluZwoKdmVyaWRpY2FsfGxvfGxvaXxsbydpfGxvJ2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdp fGxlJ2UKCk5hbWV8bGF8bGFpfGxhJ2l8ZG9lcyBub3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVy LCB0aGVyZSB3YXMgYSB3b3JkICcneG8nZScnIGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZl ciwgdGhlIHJ1bGVzIGFuZCBkZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxh dGUgMjAwNCwgYW5kIHRoZSBjdXJyZW50IHNldCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNr ZWQg4oCceG9ybG/igJ0gaGFzIHJlcGxhY2VkIHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBn ZW5lcmljLCBhbmQgJyd4bydlJycgaXMgdXNlZCBhcyBhIGVsbGlwdGljYWwgZGlnaXQgKGxlc3Nv biBuaW5ldGVlbikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmaWZ0ZWVuICh0aGUg TG9qYmFuIHN1bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09oQTYpCgpTZWUgd2hhdCBoYXBwZW5z IGlmIEkgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6IOKAnFN0ZXJlb3R5cGljYWwgcGVv cGxlIHdobyBjYW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVhY2ggb3RoZXIgYWJvdXQgdGhlIGxh bmd1YWdlcyB0aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5ndScnX18g4oCceDEgaXMgYSBsYW5n dWFnZSB1c2VkIGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3RyYWN0aW9uKeKAnQoKJydsZSdlIHBy ZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIGxl J2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gbG8gYmFu Z3UgcG9pIGxvIHByZW51IHBvaSBrZSdhIHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHNlIGJhbmd1 IGtlJ2EnJwoKCgpXaGF0IHdlIHNlZSBpcyB0aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNo IGxvbmdlciB0aGFuIHRoZSBFbmdsaXNoLiBUaGlzIGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBm aXJzdCwgcmlkaWN1bG91c2x5IGxvbmcgc3VtdGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUg dGltZXMgaW4gdGhlIExvamJhbiB0ZXh0LCB3aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8g aXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBhbmQg4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2ll bnRseS4gV291bGRuJ3QgaXQgYmUgY2xldmVyIGlmIExvamJhbiBzb21laG93IGhhZCBtZWNoYW5p c21zIGZvciBkb2luZyB0aGUgc2FtZT8KCgoKSXQgdHVybnMgb3V0IGl0IGRvZXMsIHdoYXQgYSBz dXJwcmlzZSEgTG9qYmFuIGhhcyBhIHJhbmdlIG9mIHdvcmRzIGNhbGxlZCAnJ3N1bWthJ2knJyBt ZWFuaW5nIOKAnHN1bXRpLXJlcHJlc2VudGF0aXZlc+KAnS4gSW4gRW5nbGlzaCwgd2UgcmVmZXIg dG8gdGhlbSBhcyBwcm8tc3VtdGksIGJlY2F1c2UgdGhleSBhcmUgZXNzZW50aWFsbHkgdGhlIHNh bWUgYXMgdGhlIEVuZ2xpc2ggcHJvbm91bnMsIGJ1dCB3aXRoIHN1bXRpIGluc3RlYWQgb2Ygbm91 bnMuIEluIGZhY3QsIHlvdSBhbHJlYWR5IGtub3cgJyd0aScnLCAnJ2RvJycgYW5kICcnbWknJywg YnV0IHRoZXJlIGFyZSBtYW55IG1vcmUsIHNvIGxldCdzIGdldCBsZWFybmluZy4gRmlyc3QsIHdl IHdhbnQgdG8gcHV0IGl0IGludG8gc3lzdGVtLiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBt b3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gsIGFuZCB3aGF0IHlvdSd2ZSBhbHJlYWR5IGxlYXJuZWQ6 CgoKCl9fJyd0aScnX18gLSBzdW1rYSdpOiDigJxpbW1lZGlhdGUg4oCYaXQnOiByZXByZXNlbnRz IGEgc3VtdGkgcGh5c2ljYWxseSBuZWFyIHRoZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vt a2EnaTog4oCcbmVhcmJ5IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHNvbWUgcGh5c2ljYWwg ZGlzdGFuY2UgZnJvbSB0aGUgc3BlYWtlciBPUiBjbG9zZSB0byB0aGUgbGlzdGVuZXLigJ0KCl9f Jyd0dScnX18gLSBzdW1rYSdpOiDigJxkaXN0YW50IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRp IHBoeXNpY2FsbHkgZmFyIGZyb20gdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci7igJ0KCgoK WW91IGNhbiBhZ2FpbiByZWNvZ25pemUgdGhlIOKAnGksIGEsIHXigJ0tc2VxdWVuY2Ugd2hpY2gg cG9wcyB1cCBvdmVyIGFuZCBvdmVyLiBTb21lIHRoaW5ncyBtaWdodCB0YWtlIHNvbWUgY2xlYXJp bmcgdXAsIHRob3VnaC4gRmlyc3RseSwgdGhlc2Ugc3VtdGkgY2FuIHJlcHJlc2VudCBhbnl0aGlu ZyB3aGljaCBjYW4gYmUgc2FpZCB0byBvY2N1cHkgYSBwaHlzaWNhbCBzcGFjZS4gT2JqZWN0cywg Y2VydGFpbmx5LiBJZGVhcywgY2VydGFpbmx5IG5vdC4gRXZlbnRzIGFyZSBhY2NlcHRlZCwgYnV0 IG9ubHkgdG8gdGhlIGV4dGVudCB0aGV5IGFyZSByZXN0cmljdGVkIHRvIGEgc3BlY2lmaWMgcGxh Y2UgLSB0aGUgSmFzbWluIFJldm9sdXRpb24gY2Fubm90IGJlIHBvaW50ZWQgYXQsIGJ1dCBzb21l IGJhci1maWdodCBvciBhIGtpc3MgbWlnaHQuIFNlY29uZGx5LCBub3RlIHRoYXQgdGhlIGRpc3Rh bmNlIGlzIHJlbGF0aXZlIHRvIGRpZmZlcmVudCB0aGluZ3MgZm9yIHRoZSBkaWZmZXJlbnQgd29y ZHM6ICcndHUnJyBvbmx5IGFwcGxpZXMgaWYgaXQncyBkaXN0YW50IGZyb20gYm90aCB0aGUgc3Bl YWtlciBhbmQgdGhlIGxpc3RlbmVyLiBJbiBjYXNlcyB3aGVyZSB0aGUgc3BlYWtlciBhbmQgbGlz dGVuZXIgaXMgZmFyIGFwYXJ0IGFuZCB0aGUgbGlzdGVuZXIgY2Fubm90IHNlZSB0aGUgc3BlYWtl ciB0YWxraW5nLCAnJ3RhJycgcmVmZXJzIHRvIHNvbWV0aGluZyBjbG9zZSB0byB0aGUgbGlzdGVu ZXIuIFRoaXJkbHksIGl0J3MgYWxsIHJlbGF0aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhl c2UgdGhyZWUgd29yZHMgYXJlIGFsbCBwcm9ibGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBp bnN0YW5jZSwgYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVy IGlzIHVua25vd24gdG8gZWFjaCBvdGhlciwgYW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBG dXJ0aGVybW9yZSwgdGhlIGF1dGhvciBvZiBhIGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVj dCBhbmQgZXhwcmVzcyB0aGUgcG9pbnRpbmcgaW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMg YSBzZXJpZXMgY2FsbGVkIEtPaEEzLCB0byB3aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcn a28nJywgYnV0IEkgd29uJ3Qgd3JpdGUgdGhhdCBoZXJlKSBiZWxvbmdzOgoKX18nJ21pJydfXyAt IHN1bWthJ2k6IFRoZSBzcGVha2VyKHMpLgoKX18nJ21pJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1h c3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIHRoZSBsaXN0ZW5lcihzKSAuCgpfXycnbWknYScnX18g LSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgb3RoZXJzLgoKX18nJ21h J2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocyksIHRoZSBsaXN0ZW5l cihzKSBhbmQgb3RoZXJzLgoKX18nJ2RvJydfXyAtIHN1bWthJ2k6IFRoZSBsaXN0ZW5lcihzKS4K Cl9fJydkbydvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBsaXN0ZW5lcihzKSBhbmQg b3RoZXJzLgoKCgpUaGVzZSBzaXggc3Vta2EnaSBhcmUgbW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0 aGUgYmVsb3cgVmVubiBkaWFncmFtOgoKCgp7aW1nIGZpbGVJZD0iMyIgdGh1bWI9InkiIHJlbD0i Ym94W2ddIn0KClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAoJydrbycnIGV4Y2x1ZGVkKS4gJydsZSBk cmF0YScnIGlzIG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0 IGlzIHBvc3NpYmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0byBiZSDigJx0aGUgc3BlYWtlcnPigJ0s IGlmIG9uZSBzdGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUgYmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBU aGVyZWZvcmUsIHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21p JycsICcnbWknbycnLCAnJ21pJ2EnJyBvciAnJ21hJ2EnJywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4g bWVhbnMgaXMgcmVhbGx5IGp1c3QgJydtaScnLiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJl ZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5kaXZpZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0aGlu IGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkgJydtaSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBBIGlz IGV4YWN0bHkgZXF1aXZhbGVudCB0byAnJ2RvIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIgdG8g c3BlYWtlciBBLCBhbmQgYXJlIGNvbnNpZGVyZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwgY29t ZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGluIHRoZSAnJ2JyaWthJ2knJyAocHJvLWJyaWRpKSBsZXNz b24uCgoKCkFsbCBvZiB0aGVzZSAnJ3N1bWthJ2knJyBhcmUgdmVyeSBjb250ZW50LXNwZWNpZmlj LCBhbmQgY2Fubm90IGJlIHVzZWQsIGZvciBpbnN0YW5jZSwgdG8gaGVscCB1cyB3aXRoIHRoZSBz ZW50ZW5jZSB3aGljaCB0aGlzIGxlc3NvbiBiZWdhbiB3aXRoLiBUaGUgZm9sbG93aW5nIHNlcmll cyBjYW4gaW4gcHJpbmNpcGxlIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW55IHN1bXRpOgoKX18nJ3Jp JydfXyAtIHN1bWthJ2k6IOKAnExhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncmEnJ19fIC0g c3Vta2EnaTog4oCcQSByZWNlbnQsIGJ1dCBub3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCd CgpfXycncnUnJ19fIC0gc3Vta2EnaTog4oCcQSBzdW10aSBtZW50aW9uZWQgbG9uZyBhZ2/igJ0K CgoKVGhlc2Ugc3VtdGkgd2lsbCByZWZlciB0byBhbnkgdGVybWluYXRlZCBzdW10aSBleGNlcHQg bW9zdCBvdGhlciAnJ3N1bWthJ2knJy4gVGhlIHJlYXNvbiB0aGF0IG1vc3Qgb3RoZXIgJydzdW1r YSdpJycgY2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkg YXJlIHNvIGVhc3kgdG8ganVzdCByZXBlYXQgYnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0 byB0aGUgcnVsZSBhcmUgJyd0aScnLCAnJ3RhJycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291 bGQgaGF2ZSBjaGFuZ2VkIHdoYXQgeW91IHBvaW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCBy ZXBlYXQgdGhlIHdvcmQuIFRoZXkgd2lsbCBvbmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGks IGFuZCB0aHVzIGNhbm5vdCwgZm9yIGluc3RhbmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFi c3RyYWN0aW9uIGlmIHRoZSB3b3JkIGluIGlzIHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8g bm9pIGtlJ2EgcGVuZG8gbWkgY3UgZGppY2EgbG8gbnUgcmkgc2UgemRhbmknJyAtIGhlcmUgJydy aScnIGNhbm5vdCByZWZlciB0byB0aGUgYWJzdHJhdGlvbiwgc2luY2UgaXQgaXMgbm90IHRlcm1p bmF0ZWQsIG5vciB0byAnJ21pJycgb3IgJydrZSdhJycsIHNpbmNlIHRoZXkgYXJlIHN1bWthJ2ks IHNvIGl0IHJlZmVycyB0byAnJ2xlIHBlbmRvJycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29u dGV4dC1kZXBlbmRlbnQgaW4gd2hhdCB0aGV5IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhl IHJ1bGVzIG1lbnRpb25lZCBhYm92ZSwgYW5kICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3Jl IGRpc3RhbnQgc3VtdGkgdGhhbiAnJ3JhJycsIHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQg dGhhbiAnJ3JpJycuCgoKCicncmknJyBhbmQgaXQncyBicm90aGVycyBhcmUgcHJldHR5IHdlbGwg c3VpdGVkIGZvciBkZWFsaW5nIHdpdGggdGhlIG9yaWdpbmFsIHNlbnRlbmNlLiBUcnkgc2F5aW5n IGl0IHVzaW5nIHR3byBpbnN0YW5jZXMgb2YgJydzdW1rYSdpJychCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2pi YW4uIGN1IHRhdmxhIHJ1IGxvIGJhbmd1IHBvaSBydSBjdSBzZSBiYW5ndSBrZSdhJycuICcncmkn JyBpcyBub3QgY29ycmVjdCwgYmVjYXVzZSBpdCByZWZlcnMgdG8gJydsYSAubG9qYmFuLicnLiAn J3JhJycgY291bGQgYmUgdXNlZCwgYnV0IGNvdWxkIGJlIG1pc3Rha2VubHkgYmUgdGhvdWdodCB0 byByZWZlciB0byAnJ2xvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uJycsIGJ1dCAnJ3J1JycgaXMg YXNzdW1lZCB0byByZWZlciB0byB0aGUgbW9zdCBkaXN0YW50IHN1bXRpIC0gdGhlIG1vc3Qgb3V0 ZXIgb25lLn5+CgoKCkxhc3RseSwgdGhlcmUgYSBzdW10Y2l0YSB3aGljaCByZXByZXNlbnQgdXR0 ZXJhbmNlczogU28gY2FsbGVkIHV0dGVyYW5jZSB2YXJpYWJsZXMuIFRoZXkgbmVlZCBub3QgYmUg cmVzdHJpY3RlZCB0byBvbmUgc2VudGVuY2UgKGp1ZnJhKSwgYnV0IGNhbiBiZSBzZXZlcmFsIHNl bnRlbmNlcywgaWYgdGhlIGNvbnRleHQgYWxsb3dzIGl0OgoKX18nJ2RhJ3UnJ19fIFV0dGVyYW5j ZSB2YXJpYWJsZTogUmVtb3RlIHBhc3Qgc2VudGVuY2UKCl9fJydkZSd1JydfXyBVdHRlcmFuY2Ug dmFyaWFibGU6IFJlY2VudCBzZW50ZW5jZQoKX18nJ2RpJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJs ZTogUHJldmlvdXMgc2VudGVuY2UKCl9fJydkZWknJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogVGhp cyBzZW50ZW5jZQoKX18nJ2RpJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBzZW50ZW5j ZQoKX18nJ2RlJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmVhciBmdXR1cmUgc2VudGVuY2UK Cl9fJydkYSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBmdXR1cmUgc2VudGVuY2UK Cl9fJydkbydpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVsbGlwdGljYWwgdXR0ZXJhbmNlIHZh cmlhYmxlOiDigJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSByZXByZXNlbnRzIHNlbnRlbmNlcyBh cyBzdW10aSwgYW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tlbiB3b3JkcyBvciB0aGUgbGV0dGVy cywgbm90IHRvIHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoKCgpUaGVyZSBhcmUgbW9yZSBMb2pi YW4gJydzdW1rYSdpJycsIGJ1dCBmb3Igbm93IHlvdSBwcm9iYWJseSBuZWVkIGEgYnJlYWsgZnJv bSB0aGVtLiBUaGUgbmV4dCBsZXNzb24gd2lsbCBiZSBvbiBkZXJpdmVkIHN1bXRpLCBzdW10aSBt YWRlIGZyb20gb3RoZXIgc3VtdGkuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzaXh0 ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDM6IGRlcml2ZWQgc3VtdGkpCgpZb3UgY2FuIHByb2JhYmx5 IHNlZSB0aGF0IHRoZSBzdW10aSAnJ2xlIGJhbmd1IHBvaSBtaSBzZSBiYW5ndSBrZSdhJycgaXMg YSBsZXNzIHRoYW4gZWxlZ2FudCBleHByZXNzaW9uIGZvciDigJxteSBsYW5ndWFnZeKAnS4gVGhp cyBpcyBiZWNhdXNlIGl0J3MgcmVhbGx5IGEgd29yayBhcm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2gg SSBzcGVhayBjYW4gYmUgc2FpZCB0byBmaWxsIGludG8gdGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jh bmd1IG1pJycuIFdlIGNhbid0IGNvbnZlcnQgdGhhdCB0byBhIHN1bXRpIHVzaW5nIGEgZ2Fkcmk6 ICcnbGUgYmFuZ3Uge2t1fSBtaScnIGlzIHR3byBzdW10aSwgYmVjYXVzZSAnJ2Jhbmd1IG1pJycg aXMgYSBicmlkaSwgbm90IGEgc2VsYnJpLiBOZWl0aGVyIGNhbiB3ZSBjb252ZXJ0IGl0IHVzaW5n ICcnbGUgc3UndScnLCBiZWNhdXNlIHRoZSBzdSd1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4MSwg dGhlIGFic3RyYWN0aW9uLCBhbmQgdGhlICcnbGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQg bWFrZXMgYW4gYWJzdHJhY3Rpb24gc3VtdGkgbWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0 IHNvbWV0aGluZyBpcyBteSBsYW5ndWFnZeKAnS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlzIGEg d29yZCB3aGljaCBiaW5kcyBjb25zdHJ1Y3RzIChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVycykg dG8gYSBzZWxicmkuIFVzaW5nIGl0IGluIG9yZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBp biAnJ21pIG5lbGNpIGJlIGRvJycsIHRoZSAnJ2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3 aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8gYSBzZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNlIGEg Z2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRob3V0IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xl IGJhbmd1IGJlIG1pJycgaXMgYSBjb3JyZWN0IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFib3Zl LiBMaWtld2lzZSwgeW91IGNhbiBhdHRhY2ggYSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkg YmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVudCBvZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkg eW914oCdLiBOb3RlIHRoYXQgdGhlIHByZXNlbmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBtYWtl cyBpdCBwYXJzZSBkaWZmZXJlbnRseTogV2l0aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcnYmUn JyBhdHRhY2hlcyB0byAnJ251JycsIHdpdGhvdXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNoZXMg dG8gJydkYXJ4aScnLiBTbyBpdCBkZWNpZGVzIHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDogSXMg dGhlIGhpdHRpbmcsIG9yIHRoZSBldmVudCBvZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IEluIHRo aXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdoLCB0aGF0J3MganVzdCBhYm91dCB0aGUgc2FtZSB0aGlu Zy4KCgoKV2hhdCBpZiBJIHdhbnQgdG8gYXR0YWNoIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmkg aW5zaWRlIGEgZ2Fkcmk/IOKAnFRoZSBnaXZlciBvZiB0aGUgYXBwbGUgdG8geW914oCdIGlzICcn bGUgZHVuZGEgYmUgbG8gcGxpc2UgYmUgZG8nJywgcmlnaHQ/IE5vcGUuIFRoZSBzZWNvbmQgJydi ZScnIGF0dGFjaGVzIHRvIHRoZSBhcHBsZSwgbWVhbmluZyAnJ2xlIHBsaXNlIGJlIGRvJycgLSDi gJxUaGUgYXBwbGUgb2YgdGhlIHN0cmFpbiBvZiB5b3XigJ0sIHdoaWNoIG1ha2VzIG5vIHNlbnNl LiBJbiBvcmRlciB0byBzdHJpbmcgc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSwgdGhlIGFsbCB0 aGUgb25lcyBmb2xsb3dpbmcgdGhlIGZpcnN0IG11c3QgYmUgYm91bmQgd2l0aCAnJ2JlaScnLiBU aGUg4oCcYmluZGluZ+KAnSBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcnYmUnbycnIC0gb25lIGlu c3RhbmNlIG9mICcnYmUnbycnIGZvciBlYWNoIHNlbGJyaSB3aGljaCBoYXMgc3VtdGkgYm91bmQg YnkgJydiZScnLgoKVG8gbGlzdCB0aGVtOgoKX18nJ2JlJydfXyBiaW5kcyBzdW10aSBvciBzdW10 Y2l0YSB0byBzZWxicmkKCl9fJydiZWknJ19fIGJpbmRzIGEgc2Vjb25kLCB0aGlyZCwgZm91cnRo IChlY3QpIHN1bXRpIG9yIHN1bXRjaXRhIHRvIGEgc2VsYnJpCgpfXycnYmUnbycnX18gZW5kcyBi aW5kaW5nIHRvIHNlbGJyaQoKCgpUaGVyZSBpcyBhbHNvIHdheXMgdG8gbG9vc2VseSBhc3NvY2lh dGUgYSBzdW10aSB3aXRoIGFub3RoZXIuICcncGUnJyBhbmQgJyduZScnIGZvciByZXN0cmljdGl2 ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIGFzc29jaWF0aW9uLiBBY3R1YWxseSwgJydsZSBiYW5ndSBw ZSBtaScnIGlzIGEgYmV0dGVyIHRyYW5zbGF0aW9uIG9mIOKAnG15IGxhbmd1YWdl4oCdLCBzaW5j ZSB0aGlzIHBocmFzZSwgbGlrZSB0aGUgRW5nbGlzaCwgaXMgdmFndWUgYXMgdG8gaG93IHRoZSB0 d28gYXJlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIG90aGVyLgoKJydwZScnIGFuZCAnJ25lJycgYXJl IHVzZWQgYXMgbG9vc2UgYXNzb2NpYXRpb24gb25seSwgbGlrZSBzYXlpbmcg4oCcbXkgY2hhaXLi gJ0gYWJvdXQgYSBjaGFpciB3aGljaCB5b3Ugc2l0IG9uLiBJdCdzIG5vdCByZWFsbHkgeW91cnMs IGJ1dCBoYXMgc29tZXRoaW5nIGRvIHRvIHdpdGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVj dGlvbiBjYW4gYmUgZXN0YWJsaXNoZWQgd2l0aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3Nv Y2lhdGlvbiB1bmlxdWUgYW5kIGJpbmRpbmcgdG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKA nSBmb3IgYSBjYXIgdGhhdCB5b3UgYWN0dWFsbHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29j aWF0b3IgaXMgJydwbydlJycsIHdoaWNoIG1ha2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIg Ym9uZCBiZXR3ZWVuIHN1bXRpLCBtZWFuaW5nIHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdl ZW4gdGhlIHR3byBzdW10aS4gU29tZSBleGFtcGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15 IGFybSIgb3IgIm15IGhvbWUgY291bnRyeSI7IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNh biBiZSBsb3N0IChldmVuIGlmIHlvdSBzYXcgb2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91 cl9fIGFybSksIGFuZCBhcmUgdGhlcmVmb3JlIGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRo ZSB0aW1lcyBhICcncG8nZScnIGlzIGFwcHJvcHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUg c2VsYnJpIGNvbnRhaW5zIHRoZSBvbmUgdG8gd2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28g JydiZScnIGlzIGJldHRlci4KCl9fJyduZScnX18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBo cmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3Rp dmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3Bv JydfXyBwb3NzZXNpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4i CgpfXycncG8nZScnX18gaW5hbGllbmFibGUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25n cyB0by4uLiIKCgoKQSB2ZXJ5IHVzZWZ1bCBjb25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0g e3N1bXRpfSB7c2VsYnJpfScnLiB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxi cml9IHBlICB7c3VtdGl9JycuIEZvciBpbnN0YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZh bGVudCB0byAnJ2xlIGdlcmt1IHBlIG1pJycuIE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1 bXRpIGluc2lkZSBkZXNjcmlwdGlvbiBzdW10aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2Eg YmUgbWkga3UgZ2Vya3UnJywgPSAnJ2xlIGdlcmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycg PeKAnHRoZSBkb2cgb2YgdGhlIG1hbiBJJ20gZmxpcnRpbmcgd2l0aOKAnSwgYnV0IHRoYXQncyBu b3QgdmVyeSBlYXN5IHRvIHJlYWQgKG9yIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4pLCBhbmQg aXMgb2Z0ZW4gYmVpbmcgYXZvaWRlZC4KCgoKT25lIG5lZWQgYWxzbyB0byBsZWFybiAnJ3R1J2En Jywgc2luY2UgaXQgd2lsbCBtYWtlIGEgbG90IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQg dGFrZXMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlw dGljYWwgYWJzdHJhY3Rpb24gd2hpY2ggaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJz dCBzdW10aS4gRm9yIGV4YW1wbGUsIEkgY291bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0 a2EgbG8gcGxpc2UnJywgb3IgSSBjb3VsZCBsZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFi c3RyYWN0aW9uIGFib3V0IHRoZSBhcHBsZSBJIGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamlj YSB0dSdhIGxvIHBsaXNlJycuIE9uZSBhbHdheXMgaGFzIHRvIGd1ZXNzIHdoYXQgYWJzdHJhY3Rp b24gdGhlIHNwZWFrZXIgbWVhbnMgYnkgJyd0dSdhIFNVTVRJJycsIHNvIGl0IHNob3VsZCBvbmx5 IGJlIHVzZWQgd2hlbiBjb250ZXh0IG1ha2VzIGl0IGVhc3kgdG8gZ3Vlc3MuIEFub3RoZXIgZXhh bXBsZToKCl9fJydnYXNudScnX18g4oCceDEgZG9lcy9icmluZ3MgYWJvdXQgeDIgKHZvbGl0aW9u IG5vdCBpbXBsaWVkKeKAnQoKJyd6YSdhIGRvIGdhc251IHR1J2EgbG8gc2thbWknJyAtIOKAnEkg c2VlIHRoYXQgeW91IG1ha2UgdGhlIGNvbXB1dGVyIGRvIHNvbWV0aGluZ+KAnS4gT2ZmaWNpYWxs eSwgJyd0dSdhIFNVTVRJJycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZScn LiBWYWd1ZSwgYnV0IHVzZWZ1bC4gVGhlcmUgYXJlIHNpdHVhdGlvbnMgd2hlcmUgeW91IGNhbm5v dCB1c2UgJyd0dSdhJycsIGV2ZW4gdGhvdWdoIGl0IHdvdWxkIHNlZW0gc3VpdGFibGUuIFRoZXNl IHNpdHVhdGlvbnMgYXJlIHdoZW4gSSBkb24ndCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8g YmUgYW4gYWJzdHJhY3Rpb24sIGJ1dCBhIGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9u ZSBjYW4gdXNlICcnem8nZSBwZScnLgoKX18nJ3R1J2EnJ19fIGNvbnZlcnQgc3VtdGkgdG8gdmFn dWUgYWJzdHJhY3Rpb24gaW52b2x2aW5nIHRoZSBzdW10aS4gRXF1aXZhbGVudCB0byAnJ2xlIHN1 J3UgU1VNVEkgY28nZSBrZWkga3UnJwoKCgpGaW5hbGx5LCBvbmUga2luZCBvZiBzdW10aSBjYW4g YmUgdHVybmVkIGludG8gYW5vdGhlciBieSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIExBaEUuCgpf XycnbHUnYScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8g aW5kaXZpZHVhbHMuCgpfXycnbHUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9z ZXF1ZW5jZS9zZXQgdG8gYSBzZXQuCgpfXycnbHUnbycnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwo cykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gbWFzcy4KCl9fJyd2dSdpJydfXyAtIENvbnZlcnQgaW5k aXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5v dCBzdGF0ZWQuCgpUaGUgdXNlIG9mIHRoZXNlIHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTog UGxhY2luZyB0aGVtIGJlZm9yZSBhIHN1bXRpIG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3 IHN1bXRpIG9mIGEgbmV3IHR5cGUuIE5vdGljZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtp bmQgb2Ygc3VtdGksIGEgc2VxdWVuY2UgaGFzIGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3Qg dXNlZCB2ZXJ5IG9mdGVuIChpdCBkb2Vzbid0IGhhdmUgaXRzIG93biBnYWRyaSwgZm9yIGluc3Rh bmNlKSwgYnV0IGp1c3QgaW5jbHVkZWQgaGVyZSBmb3IgY29tcGxldGlvbi4KClRoZSBsYXN0IHR3 byBtZW1iZXJzIG9mIExBaEUgZG8gbm90IGNvbnZlcnQgYmV0d2VlbiB0eXBlcyBvZiBzdW10aSwg YnV0IGFsbG93cyB5b3UgdG8gc3BlYWsgb2YgYSBhIHN1bXRpIGJ5IG9ubHkgbWVudGlvbmluZyBz b21ldGhpbmcgd2hpY2ggcmVmZXJlbmNlcyB0byBpdDoKCklmIG9uZSBzdW10aSBBIHJlZmVycyB0 byBhIHN1bXRpIEIsIGZvciBpbnN0YW5jZSBiZWNhdXNlIHN1bXRpIEEgaXMgYSB0aXRsZSBvZiBh IGJvb2ssIG9yIGEgbmFtZSwgb3IgYSBzZW50ZW5jZSAod2hpY2ggYWx3YXlzIHJlZmVyIHRvIHNv bWV0aGluZywgYXQgbGVhc3QgYSBicmlkaSksIOKAmCdsYSdlIFNVTVRJIEEnJyByZWZlcnMgdG8g c3VtdGkgQi4gRm9yIGluc3RhbmNlLCDigJgnbWkgbmVsY2kgbGEnZSBkaSd1JycgZm9yIOKAnEkg bGlrZSB3aGF0IHlvdSBqdXN0IHNhaWTigJ0gKG5vdCAnJ21pIG5lbGNpIGRpJ3UnJyB3aGljaCBq dXN0IG1lYW5zICJJIGxpa2UgeW91ciBwcmV2aW91cyBzZW50ZW5jZSIpIG9yIOKAmCdsYSdlIGxl IGNtYWx1IG5vbHRydScnIGZvciB0aGUgYm9vayDigJxUaGUgTGl0dGxlIFByaW5jZeKAnSwgYW5k IG5vdCBzb21lIGxpdHRsZSBwcmluY2UgaGltc2VsZi4gVGhlIGNtYXZvIOKAmCdsdSdlJycgZG9l cyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg4oCYJ2x1J2UgU1VNVEknJyByZWZlcnMgdG8gYW4gb2Jq ZWN0IHdoaWNoIHJlZmVycyB0byB0aGUgc3VtdGkuIAoKX18nJ2xhJ2UnJ19fIC0g4oCcdGhlIHRo aW5nIHJlZmVycmVkIHRvIGJ54oCdIC0gZXh0cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBC IHdoaWNoIHJlZmVycyB0byBBLiAKCl9fJydsdSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJp bmcgdG/igJ0gLSBleHRyYWN0cyBhIHN1bXRpIEIgZnJvbSBhIHN1bXRpIEEsIHdoZW4gQiByZWZl cnMgdG8gQS4KCgoKCgohISFFbmQgb2YgcGFydCBvbmUKCkR1ZSB0byB0aGUgaW1wcmFjdGljYWxs eSBsYXJnZSBzaXplIG9mIHRoZXNlIGxlc3NvbnMsIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGluc3Rh bGxtZW50IGNhbiBiZSBmb3VuZCBvbiBwYWdlcyBkZWRpY2F0ZWQgdG8gKCh3YXZlbGVzc29uc2Nv bnRpbnVlZHAyfHRoZSBmb3JtZXIpKSBhbmQgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZSBs YXR0ZXIpKS4gTm8gd29ycmllcywgdGhvdWdoLCBjbGlja2luZyBvbiAidGhlIGZvcm1lciIgb3Ig InRoZSBsYXR0ZXIiIHdpbGwgdGFrZSB5b3UgdGhlcmUgcGFpbmxlc3NseS4KCgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxp bmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFp bG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=