Received: from localhost ([::1]:44179 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UfGVC-0002LW-Iu; Wed, 22 May 2013 14:23:18 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:36198 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UfGV4-0002LO-2t for wikineurotic@lojban.org; Wed, 22 May 2013 14:23:16 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 22 May 2013 14:23:09 -0700 From: "Apache" Date: Wed, 22 May 2013 14:23:09 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français p2 was created by lomicmenes at 23:22 CEST You can view the page by following this link: http://www.lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais%20p2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7?= =?utf-8?q?ais_p2_created_by_lomicmenes?= X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyBwMiB3YXMgY3JlYXRlZCBieSBsb21p Y21lbmVzIGF0IDIzOjIyIENFU1QKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL2xlJUMzJUE3b25zJTIwd2F2 ZSUyMGVuJTIwZnJhbiVDMyVBN2FpcyUyMHAyCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRl bnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKCntCT1godGl0bGU9IlRyYXZhaWwgZW4gY291cnMiKX1DZXR0 ZSBwYWdlIGVzdCB1bmUgdHJhZHVjdGlvbiBlbiBjb3VycyBkZSAoKHdhdmVsZXNzb25zY29udGlu dWVkcDIpKSBlbiBmcmFuw6dhaXMuIExhIG1hamV1cmUgcGFydGllIGRlIGxhIHBhZ2UgZXN0IGVu Y29yZSBlbiBhbmdsYWlzLiBBdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxhIHRyYWR1Y3Rpb24sIGNl dHRlIG5vdGUgc2VyYSBtaXNlIMOgIGpvdXIgcG91ciBpbmRpcXVlciBsJ8OpdGF0IGQnYXZhbmNl bWVudCBkZXMgbGXDp29ucy4gCgoKCsOJdGF0IGFjdHVlbMKgOiByaWVuIGRlIHRyYWR1aXQuIE7D qWNlc3NpdGVudCB1bmUgdmFsaWRhdGlvbiBwYXIgZGVzIGxvamJhbmlzdGVzIGNvbmZpcm3DqXMu Cgp7Qk9YfSAKCgoKIUxvamJhbiBXYXZlIExlc3NvbnMgQ29udGludWVkIChwYXJ0IHR3byk6Cgoh ISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFz ZWQgb24gdGhlIHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoKCgpUaGlzIGlzIHRo ZSBzZWNvbmQgaW5zdGFsbG1lbnQgb2YgdGhlIFdhdmUgTGVzc29ucyBDb250aW51ZWQuIElmIHlv dSBkaWRuJ3QgY2F0Y2ggdGhlIGZpcnN0IHBhcnQsIG9yIHdhbnQgdG8gZ28gYmFjayBmb3Igc29t ZSByZWFzb24sIGp1c3QgY2xpY2sgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxvbiB0aGVzZSBmb3Vy IHdvcmRzLikpLiBZb3UgY2FuIGFsc28gZ28gdG8gdGhlIHRoaXJkIHBhcnQgYnkgY2xpY2tpbmcg KCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRoaXMgbGluaykpLCBpZiB5b3UgZmVlbCBsaWtlIGRv aW5nIHRoYXQuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFz c29ydGVkIHdvcmRzKQoKQW5kIHdpdGggdGhhdCwgdGhpcmQgY2hhcHRlciwgeW91IGtub3cgYSBs b3QgYWJvdXQgTG9qYmFuIHN1bXRpLiBBZnRlciBzdWNoIGEgbG9uZyB0aW1lIG9mIHJpZ29yb3Vz IHN5c3RlbWF0aWMgbGVhcm5pbmcsIHdoYXQgY291bGQgYmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhp cyBsZXNzb24gd2hlcmUgSSBzcGVhayBhYm91dCBzb21lIHdvcmRzIHdoaWNoIEkgY291bGQgbm90 LCBvciB3YW50ZWQgbm90IHRvIGZpdCBpbnRvIGFueSBvdGhlciBsZXNzb25zPyBTbyBoZXJlIGFy ZSBhIGZldyBzbWFsbCBhbmQgcmVhbGx5IHVzZWZ1bCB3b3JkczoKCgoKVGhlIGZvbGxvd2luZyBj bWF2byBhcmUgYWxsIGVsbGlwdGljYWwgd29yZHMuIFlvdSBzaG91bGQgYWxyZWFkeSBiZSBmYW1p bGlhciB3aXRoIHRoZSBmaXJzdC4KCl9fJyd6bydlJydfXyAtIGVsbGlwdGljYWwgc3VtdGkKCl9f JydjbydlJydfXyAtIGVsbGlwdGljYWwgc2VsYnJpCgpfXycnZG8nZScnX18gLSBlbGxpcHRpY2Fs IHN1bXRjaXRhCgpfXycnanUnYScnX18gLSBlbGxpcHRpY2FsIGV2aWRlbnRpYWwKCl9fJydkbydp JydfXyAtIGVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlCgpfXycnZ2UnZScnX18gLSBlbGxp cHRpY2FsIGF0dGl0dWRpbmFsCgoKCkFsbCBvZiB0aGVzZSBhY3QgZ3JhbW1hdGljYWxseSBhcyBh IGNtYXZvIG9mIHRoZSBraW5kIHRoZXkgcmVwcmVzZW50LCBidXQgdGhleSBjb250YWluIG5vIGlu Zm9ybWF0aW9uLCBhbmQgY2FuIGJlIHF1aXRlIGhhbmR5IHdoZW4geW91J3JlIGxhenkgYW5kIGRv bid0IG5lZWQgdG8gYmUgc3BlY2lmaWMgYW55d2F5LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGEgZmV3 IHRoaW5ncyB3aGljaCBuZWVkIHRvIGJlIGNsZWFyZWQgdXA6CgoKCiAgICAnJ3pvJ2UnJyBoYXZl IHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBjbGFpbWVkIHRvIGhhdmUgYSB2YWx1ZS4g 4oCcemVybyBjYXJz4oCdIG9yIOKAnG5vdGhpbmfigJ0sIGZvciBpbnN0YW5jZSwgaGFzIG5vIHZh bHVlLCBhbmQgdGhlcmVmb3JlIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSAnJ3pvJ2UnJy4gVGhp cyBpcyBiZWNhdXNlLCBpZiBpdCBjb3VsZCBtZWFuIOKAnG5vdGhpbmfigJ0gYnkgJyd6bydlJycs IHRoZW4gYW55IHNlbGJyaSBjb3VsZCBiZSBpZGVudGljYWwgdG8gaXRzIG5lZ2F0aW9uLCBpZiBv bmUgb2YgdGhlIGVsaWRlZCBzdW10aSB3ZXJlIGZpbGxlZCB3aXRoIGEgJyd6bydlJycgd2l0aCBu byB2YWx1ZS4KCiAgICAnJ2dlJ2UnJyBkb2VzIG5vdCBtZWFuIHRoYXQgeW91IGZlZWwgbm8gZW1v dGlvbiwganVzdCB0aGF0IHlvdSBmZWVsIG5vdGhpbmcgc3BlY2lhbCBvciB3b3J0aCB0byBtZW50 aW9uIGF0IHRoZSBtb21lbnQuIEl0J3Mgc2ltaWxhciB0byDigJxJJ20gZmluZS7igJ0uICcnZ2Un ZSBwZWknJyBhc2sgYWJvdXQgYW4gZWxsaXB0aWNhbCBlbW90aW9uIGFuZCBpcyBhIGdvb2QgdHJh bnNsYXRpb24gZm9yOiDigJxIb3cgYXJlIHlvdSBmZWVsaW5nP+KAnS4KCiAgICAnJ2NvJ2UnJyBp cyBoYW5keSB3aGVuIG5lZWRpbmcgYSBzZWxicmkgaW4gYSBjb25zdHJ1Y3QgZm9yIGdyYW1tYXRp Y2FsIHJlYXNvbnMsIGxpa2UgaW4gdGhlIGRlZmluaXRpb24gb2YgJyd0dSdhJycgaW4gdGhlIHBy ZXZpb3VzIGxlc3Nvbi4KCiAgICAnJ2p1J2EnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHRydXRoIHZh bHVlIG9yIHN1YmplY3RpdmUgdW5kZXJzdGFuZGluZyBvZiB0aGUgYnJpZGkgb3IgYW55dGhpbmcg bGlrZSB0aGF0LiBJbiBmYWN0LCBpdCdzIG1vc3RseSBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsICcn anUnYSBwZWknJywg4oCcV2hhdCBpcyB5b3VyIGJhc2lzIGZvciBzYXlpbmcgdGhhdD/igJ0gaXMg aGFuZHkuCgogICAgJydkbydpJycgaXMgcmVhbGx5IHVzZWZ1bC4gQSBsb3Qgb2YgdGltZXMgd2hl biB5b3UgcmVmZXIgdG8gdXR0ZXJhbmNlcyBvciBjb252ZXJzYXRpb25zIGJ5IHdvcmRzIGxpa2Ug 4oCcdGhpc+KAnSBvciDigJx0aGF04oCdLCB5b3Ugd2FudCAnJ2RvJ2knJy4KCiAgICBJZiB5b3Ug ZmlsbCBpbiBtb3JlIHN1bXRpIHRoYW4gYSBzZWxicmkgaGFzIHBsYWNlcyBmb3IsIHRoZSBsYXN0 IHN1bXRpIGhhdmUgaW1wbGllZCAnJ2RvJ2UnJyBzdW10Y2l0YSBpbiBmcm9udCBvZiB0aGVtLgoK CgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSB3b3JkLCAnJ3ppJ28nJywgdGhhdCB5b3UgY2FuIGZp bGwgYSBzdW10aSBwbGFjZSB3aXRoIHRvIGRlbGV0ZSBpdCBmcm9tIGFueSBzZWxicmkuICcnbG8g bWVsYmkgYmUgemknbycnLCBmb3IgaW5zdGFuY2UsIGlzIGp1c3Qg4oCcU29tZXRoaW5nIGJlYXV0 aWZ1bOKAnSwgYW5kIGRvZXMgbm90IGluY2x1ZGUgdGhlIHVzdWFsIHgyIG9mICcnbWVsYmknJywg d2hpY2ggaXMgdGhlIG9ic2VydmVyIHdobyBqdWRnZXMgc29tZXRoaW5nIHRvIGJlIGJlYXV0aWZ1 bC4gVGh1cywgaXQgY2FuIG1lYW4gc29tZXRoaW5nIGxpa2Ug4oCcT2JqZWN0aXZlbHkgYmVhdXRp ZnVsLuKAnSBJdCBkb2VzIG5vdCBzdGF0ZSB0aGF0IG5vdGhpbmcgZmlsbHMgdGhlIHN1bXRpIHBs YWNlIHdoaWNoIGlzIGJlaW5nIGRlbGV0ZWQsIGp1c3QgdGhhdCB0aGUgc3VtdGkgcGxhY2UgaXMg bm90IGJlaW5nIGNvbnNpZGVyZWQgaW4gdGhlIHNlbGJyaS4gVXNpbmcgJyd6aSdvJycgd2l0aCBh IHN1bXRjaXRhIGdpdmVzIHdlaXJkIHJlc3VsdHMuIEZvcm1hbGx5LCB0aGV5IHNob3VsZCBjYW5j ZWwgZWFjaCBvdGhlciBvdXQuIFByYWN0aWNhbGx5LCBpdCB3b3VsZCBwcm9iYWJseSBiZSB1bmRl cnN0b29kIGFzIGFuIGV4cGxpY2l0IHdheSBvZiBzYXlpbmcgdGhhdCB0aGUgc3VtdGNpdGEgZG9l cyBub3QgYXBwbHksIGFzIGluOiAnJ21pIGRhcnhpIGRvIG11J2kgemknbycnIC0g4oCcSSBoaXQg eW91LCB3aXRoIG9yIHdpdGhvdXQgbW90aXZhdGlvbi7igJ0KCgoKVGhlbiB0aGVyZSBpcyB0aGUg d29yZCAnJ2phaScnLiBJdCdzIG9uZSBvZiB0aG9zZSBjb29sLCBzbWFsbCB3b3JkcyB3aGljaCBh cmUgaGFyZCB0byBncmFzcCwgYnV0IGVhc3kgdG8gd29yayB3aXRoIG9uY2UgeW91IGtub3cgaXQu IEl0IGhhcyB0d28gZGlzdGluY3QsIGJ1dCBzaW1pbGFyIGZ1bmN0aW9ucy4gQm90aCBoYXZlIHNv bWV0aGluZyB0byBkbyB3aXRoIGNvbnZlcnRpbmcgdGhlIHNlbGJyaSwgbGlrZSAnJ3NlJycgZG9l cy4KCl9fJydqYWknJ19fIFNlbGJyaSBjb252ZXJzaW9uOiBDb252ZXJ0cyBzdW10Y2l0YSBvciB1 bnNwZWNpZmllZCBhYnN0cmFjdGlvbiB0byB4MS4gVXNlIHdpdGggJydmYWknJwoKX18nJ2ZhaScn X18gTWFya3Mgc3VtdGkgcGxhY2UuIFdvcmtzIGxpa2UgJydmYScnLiBUbyBiZSB1c2VkIHdpdGgg JydqYWknJy4KClRoZSBmaXJzdCBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rpb24gaXQgY2FuIG1ha2Ug aXMgIicnamFpJycge3N1bXRjaXRhfSB7c2VsYnJpfSIuIEl0IGNoYW5nZXMgdGhlIHN1bXRpIHBs YWNlcyBzdWNoIHRoYXQgdGhlIHN1bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YSBiZWNvbWVzIHRo ZSBzZWxicmkncyB4MSwgYW5kIHRoZSBzZWxicmkncyBvbGQgeDEgaXMgcmVtb3ZlZCwgYW5kIG9u bHkgYWNjZXNzaWJsZSBieSB1c2luZyAnJ2ZhaScnLCB3aGljaCB3b3JrcyBsaWtlICcnZmEnJy4g WW91IGNhbiBzZWUgaXQgd2l0aCB0aGlzIGV4YW1wbGU6CgpfXycnZ2F1JydfXyAtIHN1bXRjaXRh IChmcm9tICcnZ2FzbnUnJykg4oCcYnJpZGkgaGFzIGJlZW4gYnJvdWdodCBhYm91dCBieS93aXRo IGFjdGl2ZSBhZ2VudCB7c3VtdGl94oCdCgonJ2RvIGphaSBnYXUganVuZGkgdGkgZmFpIG1pJycu IC0g4oCcWW91IGJyaW5nIGFib3V0IGF0dGVudGlvbiB0byB0aGlzIGJ5IG1l4oCdLiBUaGUgbmV3 IHNlbGJyaSwgJydqYWkgZ2F1IGp1bmRpJycsIGhhcyB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIOKA nHgxIGJyaW5ncyBhYm91dCBhdHRlbnRpb24gcGFpZCB0byB4MuKAnS4gVGhlc2UgYXJlIHRoZW4g ZmlsbGVkIGJ5ICcnZG8nJyBhbmQgJyd0aScnLiBUaGUgJydmYWknJyB0aGVuIG1hcmtzIHRoZSBw bGFjZSBmb3IgdGhlIG9sZCB4MSwgdGhlIG9uZSB3aG8gd2FzIHBheWluZyBhdHRlbnRpb24sIGFu ZCBpdCBpcyBmaWxsZWQgd2l0aCAnJ21pJycuIFRoaXMgd29yZCBjYW4gYmUgdmVyeSBjb252ZW5p ZW50IGFuZCBoYXMgdG9ucyBvZiB1c2VzLiBBIGdvb2QgZXhhbXBsZSBpcyBkZXNjcmlwdGl2ZS1s aWtlIHN1bXRpLiBPbmUgY2FuLCBmb3IgaW5zdGFuY2UsIHJlZmVyIHRvIOKAnHRoZSBtZXRob2Qg b2Ygdm9saXRpb25hbCBhY3Rpb27igJ0gYnkgJydsbyBqYWkgdGEnaSB6dWt0ZScnLgoKX18nJ3Rh J2knJ19fOiBzdW10Y2l0YSAoZnJvbSAnJ3RhZGppJycpIOKAnEJyaWRpIGlzIGRvbmUgd2l0aCB0 aGUgbWV0aG9kIG9mIHtzdW10aX3igJ0KCkNhbiB5b3UgZGVkdWNlIHdoYXQgdGhlIG9yZGluYXJ5 IExvamJhbiBwaHJhc2UgJydkbyBqYWkgZ2F1IG1vJycgbWVhbnM/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcV2hhdCBhcmUgeW91IGRvaW5nP+KAnX5+CgoKClRoZSBvdGhlciBmdW5jdGlvbiBv ZiAnJ2phaScnIGlzIGVhc2llciB0byBleHBsYWluLiBJdCBzaW1wbHkgY29udmVydHMgdGhlIHNl bGJyaSBzdWNoIHRoYXQgdGhlIHN1bXRpIGluIHRoZSB4MSBnZXRzIGEgJyd0dSdhJycgaW4gZnJv bnQgb2YgaXQgKCcna28nYSBqYWkgYnJvZGEnJyBfXz1fXyAnJ3R1J2Ega28nYSBicm9kYScnKS4g SW4gb3RoZXIgd29yZHMsIGl0IGNvbnZlcnRzIHRoZSBzZWxicmkgaW4gYSB3YXkgc3VjaCB0aGF0 IGl0IGJ1aWxkcyBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIGZyb20gdGhlIHN1bXRpIGluIHRo ZSB4MSwgYW5kIHRoZW4gZmlsbHMgeDEgd2l0aCB0aGUgYWJzdHJhY3Rpb24gaW5zdGVhZCBvZiB0 aGUgYWN0dWFsIHN1bXRpLiBBZ2FpbiwgdGhlIG9yaWdpbmFsIHN1bXRpIHBsYWNlIGlzIGFjY2Vz c2libGUgYnkgJydmYWknJy4KCkEgdmVyeSBhY3RpdmUgTG9qYmFuIElSQy11c2VyIG9mdGVuIHNh eXMgJydsZSBnZXJrdSBwZSBkbyBqYWkgc2Ugc3RpZGkgbWknJywgdG8gdXNlIGEgcmFuZG9tIGV4 YW1wbGUgb2YgYSBzdW10aSBpbiB4MS4gV2hhdCdzIGhlIHNheT8KCl9fJydzdGlkaScnX18geDEg aW5zcGlyZXMvc3VnZ2VzdHMgeDIgaW4vdG8geDPigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxJIHN1Z2dlc3QgKHNvbWV0aGluZyBhYm91dCkgeW91ciBkb2cu4oCdfn4KCgoKU28gZmFyIHlv dSd2ZSBsZWFybmVkIGhvdyB0byBjb252ZXJ0IGJyaWRpIHRvIHNlbGJyaSwgc2VsYnJpIHRvIHN1 bXRpLCBhbmQgc2VsYnJpIGludG8gYnJpZGksIHNpbmNlIGFsbCBzZWxicmkgYnkgdGhlbXNlbHZl cyBhcmUgYWxzbyBicmlkaS4gWW91IG9ubHkgbmVlZCBvbmUgbGFzdCBmdW5jdGlvbjogY29udmVy dCBzdW10aSB0byBzZWxicmkuIFRoaXMgaXMgZG9uZSB3aXRoIHRoZSB3b3JkICcnbWUnJy4gSXQg YWNjZXB0cyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCBpbnRvIGEgc2VsYnJpIHdpdGggdGhlIHBs YWNlIHN0cnVjdHVyZSDigJx4MSBpcyBzcGVjaWZpYyB0byB7c3VtdGl9IGluIHByb3BlcnR5L2Fz cGVjdCB4MuKAnS4KCl9fJydtZScnX186IEdlbmVyaWMgY29udmVydCBzdW10aSB0byBzZWxicmku IHgxIGlzIHNwZWNpZmljIHRvIFNVTVRJIGluIHByb3BlcnR5L2FzcGVjdCB4MgoKCgpXaGVuIHNj cmV3aW5nIGEgc2VudGVuY2UgdXAsIGtub3dpbmcgaG93IHRvIGNvcnJlY3QgeW91cnNlbGYgaXMg YSBnb29kIGlkZWEuIFRoZXJlIGFyZSB0aHJlZSB3b3JkcyBpbiBMb2piYW4gd2hpY2ggeW91IGNh biB1c2UgdG8gZGVsZXRlIHlvdXIgcHJldmlvdXMgd29yZChzKQoKX18nJ3NpJydfXyAtIGRlbGV0 aW9uOiBEZWxldGVzIGxhc3Qgd29yZCBvbmx5LgoKX18nJ3NhJydfXyAtIGRlbGV0aW9uOiBEZWxl dGVzIGJhY2sgdW50aWwgbmV4dCBjbWF2byBzcG9rZW4uCgpfXycnc3UnJ19fIC0gZGVsZXRpb246 IERlbGV0ZXMgZW50aXJlIGRpc2NvdXJzZS4KClRoZSBmdW5jdGlvbiBvZiB0aGVzZSB3b3JkcyBh cmUgb2J2aW91czogVGhleSBkZWxldGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJlZW4g c3Bva2VuLiBUaGV5IGRvIG5vdCB3b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1b3Rl cyBleGNlcHQgJydsdS4ubGkndScnKSwgdGhvdWdoLCBhcyB0aGF0IHdvdWxkIGxlYXZlIGl0IGlt cG9zc2libGUgdG8gcXVvdGUgdGhlc2Ugd29yZHMuIFNldmVyYWwgJydzaScnIGluIGEgcm93IGRl bGV0ZXMgc2V2ZXJhbCB3b3Jkcy4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVpZ2h0 ZWVuIChxdW90ZXMpCgpPbmUgb2YgdGhlIGtleSBkZXNpZ24gZmVhdHVyZXMgb2YgTG9qYmFuIGlz IHRoYXQgaXQncyBzdXBwb3NlZCB0byBiZSBhdWRpby12aXN1YWwgaXNvbW9ycGhpYywgbWVhbmlu ZyB0aGF0IGV2ZXJ5dGhpbmcgZXhwcmVzc2VkIGluIHRleHQgc2hvdWxkIGFsc28gYmUgZXhwcmVz c2VkIGluIHNwZWVjaCBhbmQgdmljZSB2ZXJzYS4gVGhlcmVmb3JlLCB0aGVyZSBjYW5ub3QgYmUg YW55IHB1bmN0dWF0aW9uIHdoaWNoIGlzIG5vdCBwcm9ub3VuY2VkLiBUaGlzIG1lYW5zIHRoYXQg TG9qYmFuIGhhcyBhIHdpZGUgcmFuZ2Ugb2Ygd29yZHMgdG8gcXVvdGUgb3RoZXIgd29yZHMuIEFs bCBMb2piYW4gcXVvdGVzIHRha2Ugc29tZSBpbnB1dCBvZiB0ZXh0IGFuZCBjb252ZXJ0cyBpdCB0 byBhIHN1bXRpLiBMZXQncyBiZWdpbiB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoKX18nJ2x1Jydf XyBRdW90ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoK X18nJ2xpJ3UnJ19fIFF1b3RlIHdvcmQ6IEVuZCBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4g Y29udGVudAoKCgpUaGUgdGV4dCBpbnNpZGUgdGhpcyBjb25zdHJ1Y3QgbXVzdCBieSBpdHNlbGYg YmUgZ3JhbW1hdGljYWwuIEl0IGNhbiBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIHdpdGggc29tZSBm ZXcgZXhjZXB0aW9ucywgbW9zdCBub3RhYmx5LCBvYnZpb3VzbHksICcnbGkndScnLgoKCgpUcnkg dG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UuIFRha2UgeW91ciB0aW1lLgoKJydt aSBzdGlkaSBsbyBkcmF0YSBiZSB0dSdhIGx1IGtvIGphaSBnYXUgbW8gbGkndScnCgpfXycnZHJh dGEnJ19fIHgxIGlzIGRpZmZlcmVudCBmcm9tIHgyIGJ5IHN0YW5kYXJkCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcSSBzdWdnZXN0IHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBzb21ldGhpbmcg YWJvdXQg4oCca28gamFpIGdhdSBtb+KAnS7igJ1+fgoKCgpUaGVzZSBxdW90ZSB3b3JkcyBjYW5u b3QgcXVvdGUgdW5ncmFtbWF0aWNhbCB0ZXh0LiBUaGlzIGlzIHNvbWV0aW1lcyB1c2VmdWwsIHdo ZW4geW91IHdhbnQgdG8gb25seSBwaWNrIG91dCBwYXJ0IG9mIGEgc2VudGVuY2UsIGFzIGluOiDi gJwgaXMg4oCcZ2knZeKAnSBhIExvamJhbiBzdW10Y2l0YT/igJ0KCgoKRm9yIHRoaXMsIHlvdSBu ZWVkIHRoZXNlIHR3byBjbWF2bwoKX18nJ2xvJ3UnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3Rl IG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgpfXycnbGUndScnX18gUXVvdGUg d29yZDogRW5kIHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgoKClRo ZSB0ZXh0IGluc2lkZSBtdXN0IGJlIExvamJhbiB3b3JkcywgYnV0IG5lZWQgbm90IGJlIGdyYW1t YXRpY2FsLiBUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBleGFtcGxlICh0aGUgb25lIHdpdGgg JydnaSdlJycpIGludG8gTG9qYmFuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsbyd1IGdp J2UgbGUndSBsb2pibyBzdW10Y2l0YScnfn4KCgoKVGhpcyBxdW90ZSBjYW4gYmUgdXNlZCB0byBx dW90ZSBhbGwgTG9qYmFuIHdvcmRzIGV4Y2VwdCAnJ2xlJ3UnJy4gSG93ZXZlciwgdGhpcyBpcyBu b3QgZW5vdWdoLiBJZiB3ZSB3YW50IHRvIHRyYW5zbGF0ZSDigJxpcyDigJ1kbyBtb+KAnSBhIGNv cnJlY3QgdHJhbnNsYXRpb24gb2Yg4oCcV2hhdCdzIHVwP+KAneKAnSwgd2UgbWlnaHQgYmUgc2xp Z2h0bHkgd3JvbmcgYWJvdXQgd2hhdCB3ZSBoZXJlIHN0YXRlLCBzaW5jZSAnJ2RvIG1vJycgYWxz byBjYW4gbWVhbiDigJxXaGF0IGFyZSB5b3U/4oCdLCBidXQgbGV0J3Mgcm9sbCB3aXRoIGl0IGZv ciBhIHNlY29uZC4gV2hhdCB3ZSBuZWVkIGhlcmUgaXMgdGhlIHdvcmQgJyd6b2knJy4KCgoKJyd6 b2knJyBOZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwt cHVycG9zZSBxdW90ZS4KCgoKV2hlbiB1c2luZyAnJ3pvaScnLCB5b3UgcGljayBhbnkgbW9ycGhv bG9naWNhbGx5IGNvcnJlY3QgbG9qYmFuIHdvcmQgYXQgd2lsbCAoY2FsbGVkIHRoZSBkZWxpbWl0 ZXIpLCB3aGljaCB0aGVuIG9wZW5zIGEgcXVvdGUuIFRvIGNsb3NlIGl0LCB1c2UgdGhhdCB3b3Jk IGFnYWluLiBUaGlzIHdheSwgeW91IGNhbiBxdW90ZSBhbnl0aGluZyBleGNlcHQgdGhlIGRlbGlt aXRlciwgd2hpY2ggc2hvdWxkbid0IGJlIGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gcGljayBp dCB5b3Vyc2VsZi4gVXN1YWxseSwgdGhlIHdvcmQgcGlja2VkIGlzIGVpdGhlciAnJ3pvaScnIGl0 c2VsZiwgb3IgYSBsZXR0ZXIgd2hpY2ggc3RhbmRzIGZvciB0aGUgbGFuZ3VhZ2Ugd2hpY2ggdGhl IHF1b3RlIGlzIHdyaXR0ZW4gaW4uIEV4YW1wbGU6IOKAnEkgbGlrZWQgVGhlIFBoYW50b20gb2Yg dGhlIE9wZXJh4oCdIGlzICcnbWkgcHUgbmVsY2kgbGEnZSB6b2kgem9pLiBUaGUgUGhhbnRvbSBv ZiB0aGUgT3BlcmEgLnpvaScnIE5vdGljZSB0d28gdGhpbmdzOiBGaXJzdGx5LCBJIG5lZWQgYSAn J2xhJ2UnJywgc2luY2UgSSBkaWRuJ3QgbGlrZSB0aGUgcXVvdGUsIGJ1dCByYXRoZXIgd2hhdCBp dCByZWZlcnJlZCB0by4gU2Vjb25kbHksIGJldHdlZW4gdGhlIGNob3NlbiBkZWxpbWl0ZXIgYW5k IHRoZSBxdW90ZSwgdGhlcmUgYXJlIHBhdXNlcywgb3B0aW9uYWxseSByZXByZXNlbnRlZCBieSBh IGZ1bGwgc3RvcCBpbiB3cml0aW5nLiBUaGlzIHBhdXNlIGlzIG5lY2Vzc2FyeSB0byBjb3JyZWN0 bHkgaWRlbnRpZnkgdGhlIGRlbGltaXRlci4KCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUg c2VudGVuY2UgY29uY2VybmluZyDigJxXaGF0J3MgdXA/4oCdCgoKCl9fJydkcmFuaScnX18geDEg aXMgY29ycmVjdC9wcm9wZXIgaW4gYXNwZWN0IHgyIGluIHNpdHVhdGlvbiB4MyBieSBzdGFuZGFy ZCB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicneHUgbHUgZG8gbW8gbGkndSBkcmFuaSB4ZSBm YW52YSB6b2kgZ3kuIFdoYXQncyB1cD8gLmd5JycuIEhlcmUgdGhlIGRlbGltaXRlciAnJ2d5Jycg aXMgY2hvc2VuIGJlY2F1c2UgaXQncyBzaG9ydCBmb3IgJydnbGljbycnLCBtZWFuaW5nICJFbmds aXNoIn5+CgoKCkNsb3NlbHkgYW5hbG9nb3VzbHksIHRoZXJlIGlzICcnbGEnbycnLiBJdCB3b3Jr cyBleGFjdGx5IGxpa2UgJyd6b2knJywgYnV0IHR1cm5zIHRoZSByZXN1bHRpbmcgcXVvdGUgaW50 byBhIG5hbWUuIEl0IGlzIG5lZWRlZCBiZWNhdXNlIG5vcm1hbGx5LCBvbmx5IHNlbGJyaSBhbmQg Y21ldmxhIGNhbiBiZSBuYW1lcywgbm90IHF1b3Rlcy4KCl9fJydsYSdvJydfXyBOZXh0IGNtYXZv IGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZSDi gJMgdXNlIGFzIG5hbWUuCgoKCkxhc3Qgb2YgdGhlIG9mZmljaWFsIHF1b3RlIHdvcmRzLCB0aGVy ZSBpcyAnJ3pvJycuICcnem8nJyBhbHdheXMgcXVvdGVzIHRoZSBuZXh0IExvamJhbiB3b3JkLCBu byBtYXR0ZXIgd2hhdCBpdCBpcy4gSXQncyBwcmV0dHkgaGFuZHkuCgonJ3pvJycgUXVvdGUgbmV4 dCBMb2piYW4gd29yZCwgbm8gbWF0dGVyIHdoYXQuCgpFeGFtcGxlOiAnJ3pvIHpvIHpvJ28gcGxp eGF1JycgPSDigJwg4oCcem/igJ0gaXMgdXNlZnVsLCBoZWhl4oCdCgpfXycnem8nbycnX18gYXR0 aXR1ZGluYWw6IGRpc2N1cnNpdmU6IEh1bW9yb3VzbHksIOKAnGtpZGRpbmcgeW914oCdCgpfXycn cGxpeGF1JydfXyB4MSBpcyB1c2VmdWwgZm9yIHgyIHRvIGRvIHB1cnBvc2UgeDMKCgoKTG9qYmFu IHVzZXJzIGhhdmUgZm91bmQgaXQgdXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0aCBmb3VyIGFkZGl0 aW9uYWwgcXVvdGUgd29yZHMuIFRoZXkgYXJlIGFsbCBleHBlcmltZW50YWwsIGFuZCB0aGUgZm9y bWFsIGdyYW1tYXIgZG9lcyBub3Qgc3VwcG9ydCBpdC4gTm9uZXRoZWxlc3MsIHRoZXkgYXJlIHVz ZWQgb2Z0ZW4sIGFuZCBpdCdzIGdvb2QgdG8gYmUgYWJsZSB0byByZWNvZ25pemUgdGhlbS4gVGhl IG1vc3QgdXNlZCBpczoKCgoKX18nJ3pvJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seS4gTmV4 dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlIGlu IHdyaXRpbmc6CgoKCkV4YW1wbGU6ICcncmkgcHUgY3Vza3Ugem8nb2kgRG9oISAudSdpJycg4oCc SGEgaGEsIGhlIHNhaWQg4oCcRG9oIeKAnSDigJwKCgoKSXQncyB2ZXJ5IGVhc3kgdG8gdXNlLiBB Z2Fpbiwgbm90ZSB0aGF0IGFsbCBncmFtbWFyIGJvdHMgd2lsbCBjb25zaWRlciB0aGUgc2VudGVu Y2Ugbm90IGdyYW1tYXRpY2FsLCBiZWNhdXNlIHRoZXNlIHdvcmRzIGRvIG5vdCBleGlzdCBpbiB0 aGUgZm9ybWFsIGdyYW1tYXIuCgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5kICcnbGEnbycn LCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGEnb2knJywgd2hpY2ggd29ya3MganVzdCBsaWtl ICcnem8nb2knJywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMgYSBuYW1lOgoKX18nJ2xhJ29pJydf XyBRdW90ZSBuZXh0IHdvcmQgb25seSwgdXNlIGFzIG5hbWUuIE5leHQgd29yZCBpcyBpZGVudGlm aWVkIGJ5IHBhdXNlcyBpbiBzcGVlY2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgoKCgpIb3cg d291bGQgeW91IHNheTog4oCcTXkgRW5nbGlzaCBuYW1lIGlzIOKAnFNhZmnigJ3igJ0/CgpfXycn Z2xpY28nJ19fIHgxIGlzIEVuZ2xpc2gvcGVydGFpbnMgdG8gRW5nbGlzaCBjdWx0dXJlIGluIGFz cGVjdCB4MgoKX18nJ2NtZW5lJydfXyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBhcyB1c2VkIGJ5IHgz CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGljbyBzZSBjbWVuZSBsYSdvaSBTYWZpJycu IE5vdGljZSB0aGUgbmVjZXNzYXJ5IHNlLiBXZSBkb24ndCB3aGF0IHRvIHNheSB0aGF0IHdlJ3Jl IGEgbmFtZSF+fgoKCgpUaGlyZGx5LCAnJ3JhJ29pJycgcXVvdGVzIHRoZSBuZXh0IHJhZnNpLiBT aW5jZSByYWZzaSBhcmUgbm90IHdvcmRzLCB0aGV5IHdvdWxkIHVzdWFsbHkgaGF2ZSB0byBiZSBx dW90ZWQgYnkgJyd6b2knJy4gRnVydGhlcm1vcmUsIHNldmVyYWwgcmFmc2kgYXJlIGFsc28gY21h dm8uIFRvIGF2b2lkIGNvbmZ1c2lvbiBvZiB3aGljaCBpcyBtZWFudCwgJydyYSdvaScnIGFsd2F5 cyByZWZlciB0byBhIHJhZnNpLCBhbmQgaXMgd3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQgc3Ry aW5nIHdoaWNoIGFyZSBub3QgcmFmc2kuCgoKCldoYXQgZG9lcyAnJ3JhJ29pIHp1J2UgcmFmc2kg em8genVrdGUgLmlrdSdpIHpvJ29pIHp1J2Ugc3VtdGNpdGEnJyBtZWFuPwoKX18nJ2t1J2knJ19f IGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBIb3dldmVyIC8gdGhvdWdoIChjb250cmFzdHMgdG8g c29tZXRoaW5nIHByZXZpb3VzbHkgc2FpZCkKCl9fJydyYWZzaScnX18geDEgYW4gYWZmaXggZm9y IHdvcmQvY29uY2VwdCB4MiB3aXRoIHByb3BlcnRpZXMvb2YgZm9ybSB4MyBpbiBsYW5ndWFnZSB4 NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoZSByYWZzaSDigJx6dSdl4oCdIGlzIGEgcmFm c2kgZm9yIOKAnHp1a3Rl4oCdLiBCdXQg4oCcenUnZeKAnSBpcyBhIHN1bXRjaXRh4oCdfn4KCgoK QW5kIGZpbmFsbHkgdGhlIHVzZWZ1bCB3b3JkICcnbWEnb2knJy4gJydtYSdvaScnIHF1b3RlcyBh bnkgY21hdm8sIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQgY2xh c3MgKHNlbG1hJ28pIHRvIHdoaWNoIHRoYXQgd29yZCBiZWxvbmdzLiBTbywgZm9yIGluc3RhbmNl LCBiYSdvIGJlbG9uZ3MgdG8gdGhlIHdvcmRjbGFzcyBjYWxsZWQgWkFoTywgc28gJydtYSdvaSBi YSdvJycgaXMgdW5vZmZpY2lhbCBMb2piYW4gZm9yIOKAnFphaE/igJ0KCgoKVHJ5IGl0IG91dC4g U2F5IHRoYXQgJydwdScnIGFuZCAnJ2JhJycgYXJlIGluIHRoZSBzYW1lIHNlbG1hJ28hCgpfXycn Y21hdm8nJ19fIHgxIGlzIGEgZ3JhbW1hdGljYWwgd29yZCBvZiBjbGFzcyB4MiBpbiBsYW5ndWFn ZSB4MwoKCgooT25lIHBvc3NpYmxlKSBBbnN3ZXI6ICB+fmdyZXksZ3JleTonJ3pvIHB1IGNtYXZv IG1hJ29pIGJhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZXRlZW4gKG51 bWJlcnMpCgpXaGVuIGxlYXJuaW5nIGEgbGFuZ3VhZ2UsIG9uZSBvZiB0aGUgdGhpbmdzIHdoaWNo IGFyZSB1c3VhbGx5IHRhdWdodCB2ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0byBjb3VudC4gVGhpcyBy ZWFsbHkgbWFrZXMgbGl0dGxlIHNlbnNlLCBiZWNhdXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBr bm93IG51bWJlcnMgaWYgeW91IGRvbid0IGtub3cgaG93IHRvIHNwZWFrIGFib3V0IHRob3NlIHRo aW5ncyB0byB3aGljaCB0aGV5IGFwcGx5LiBUaGlzIGlzIHBhcnRseSB0aGUgcmVhc29uIHdoeSBJ IGhhdmUgbGVmdCBpdCBmb3IgbGVzc29uIG51bWJlciBuaW5ldGVlbi4gVGhlIG90aGVyIHJlYXNv biBpcyB0aGF0IHdoaWxlIHRoZSBudW1iZXJzIHRoZW1zZWx2ZXMgYXJlIGVhc3kgdG8gbGVhcm4s IGhvdyB0aGV5IGFwcGx5IHRvIHN1bXRpIGNhbiBnZXQgdmVyeSBjb25mdXNpbmcgaW5kZWVkLiBU aGF0LCBob3dldmVyLCB3ZSB3aWxsIHNhdmUgZm9yIGEgbGF0ZXIgbGVzc29uLgoKQmVmb3JlIGxl YXJuaW5nIHRoZSB3b3JkcyB0aGVtc2VsdmVzLCB5b3Ugc2hvdWxkIGtub3cgdGhhdCBudW1iZXJz IGRvIG5vdCBoYXZlIGFueSBpbnRlcm5hbCBncmFtbWFyLiBUaGlzIG1lYW5zIHRoYXQgYW55IHJv dyBvZiBudW1iZXIgd29yZHMgKGhlbmNlZm9ydGggcmVmZXJyZWQgdG8gYXMgYSAibnVtYmVyIHN0 cmluZyIpIGFyZSB0cmVhdGVkIGlkZW50aWNhbGx5IHRvIGFueSBvdGhlciBudW1iZXIgc3RyaW5n IHRvIHRoZSBMb2piYW4gZ3JhbW1hciwgZXZlbiBpZiB0aGUgc3RyaW5nIG1ha2VzIG5vIHNlbnNl LiBUaGVyZWZvcmUsIG9uZSBjYW4gbmV2ZXIgYW5zd2VyIHVuYW1iaWd1b3VzbHkgd2hldGhlciBh IG51bWJlciBjb25zdHJ1Y3QgbWFrZXMgc2Vuc2Ugb3Igbm90LiBUaGVyZSBhcmUsIGhvd2V2ZXIs IGludGVuZGVkIHdheXMgb2YgdXNpbmcgdGhlIG51bWJlciB3b3JkcywgYW5kIGNvbmZ1c2lvbiB3 aWxsIHByb2JhYmx5IHJlc3VsdCBpZiB5b3UgZGV2aWF0ZSBmcm9tIHRoZSBzdGFuZGFyZC4KCkxl YXJuaW5nIGFsbCB0aGUgbnVtYmVyIHdvcmRzIG9mIExvamJhbiBhcmUgd2F5IGJleW9uZCB0aGUg c2NvcGUgb2YgdGhpcyBsZXNzb24sIHNvIHlvdSB3aWxsIG9ubHkgYmUgaW50cm9kdWNlZCB0byB3 aGF0IGlzIG5vcm1hbGx5IHVzZWQgaW4gdGV4dC4gVGhlIHdpZGUgcmFuZ2Ugb2YgTG9qYmFuIG1h dGhlbWF0aWNhbCBjbWF2byBhcmUgY2FsbGVkICcnbWVrc28nJyAoTG9qYmFuIGZvciAibWF0aGVt YXRpY2FsIGV4cHJlc3Npb24iKSwgYW5kIGlzIHdpZGVseSBkaXNyZWdhcmRlZCBiZWNhdXNlIG9m IGl0cyBjb21wbGV4aXR5IGFuZCBxdWVzdGlvbmFibGUgYWR2YW50YWdlIG92ZXIgc28tY2FsbGVk IGJyaWRpIG1hdGguCgpMZXQncyBiZWdpbiB3aXRoIHRoZSBvcmRpbmFyeSBMb2piYW4gbnVtYmVy cywgZnJvbSB6ZXJvIHRvIG5pbmU6Cgp8fHplcm98b25lfHR3b3x0aHJlZXxmb3VyfGZpdmV8c2l4 fHNldmVufGVpZ2h0fG5pbmUKCm5vfHBhfHJlfGNpfHZvfG11fHhhfHplfGJpfHNvfHwKCk5vdGlj ZSBob3cgdGhlIHZvd2VscyBhcmUgYWx0ZXJuYXRpbmcgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAn J25vJycpLCBhbmQgaG93IG5vIGNvbnNvbmFudCBpcyB1c2VkIGZvciB0d28gZGlnaXRzLgoKSW4g b3JkZXIgdG8gZXhwcmVzcyBudW1iZXJzIGhpZ2hlciB0aGFuIG5pbmUsIHRoZSBudW1iZXJzIGFy ZSBqdXN0IHN0cnVuZyB0b2dldGhlcjoKCicndm8gbXUgY2knJyDigJMgZm91ciBodW5kcmVkIGFu ZCBmaWZ0eSB0aHJlZSAoNDUzKQoKJydwYSBubyBubyBubyBubycnIHRlbiB0aG91c2FuZCAoMTAg MDAwKQoKVGhlcmUgaXMgYWxzbyBhIOKAnHF1ZXN0aW9uLWRpZ2l04oCdLCB3aGljaCBpcyB1c2Vk IGxpa2Ugb3RoZXIgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb24gd29yZHMuIEl0J3MgJyd4bycn LiBUaGUgYW5zd2VyIHRvIHN1Y2ggYSBxdWVzdGlvbiBtYXkgYmUganVzdCB0aGUgcmVsZXZhbnQg ZGlnaXQocykgYnkgaXRzZWxmLCBvciB0aGV5IGNhbiBiZSBudW1lcmljYWwgY29uc3RydWN0cywg YXMgc2hvd24gbGF0ZXIuCgonJ2NpIHhvIHhvIHhvJycg4oCTICJUaHJlZSB0aG91c2FuZCBhbmQg aG93IG1hbnk/IiAoMz8/PykKCl9fJyd4bycnX18gcXVlc3Rpb24gZGlnaXQg4oCTIHVzZSBsaWtl IGFueSBvdGhlciBkaWdpdCB0byBhc2sgZm9yIHRoZSBjb3JyZWN0IGRpZ2l0LgoKVGhlIGV4cGVy aW1lbnRhbCB3b3JkICcneG8nZScnIGlzIHNvbWV0aW1lcyB1c2VkIHRvIG1lYW4gYW4gdW5zcGVj aWZpZWQsIGVsbGlwdGljYWwgZGlnaXQuIEl0cyBkZWZpbml0aW9uIGlzIG5vdCBvZmZpY2lhbCwg dGhvdWdoLgoKJydjaSB4bydlIHhvJ2UgeG8nZScnIOKAkyBUaHJlZSB0aG91c2FuZCBhbmQgc29t ZXRoaW5nCgpfXycneG8nZScnX18gZWxsaXB0aWNhbCBkaWdpdC4KClNpbmNlIGFsbCBudW1iZXIg c3RyaW5ncyBhcmUgdHJlYXRlZCBncmFtbWF0aWNhbGx5IHRoZSBzYW1lLCBvbmUgbWlnaHQgYWxz byBhbnN3ZXIgc2V2ZXJhbCBkaWdpdHMgdG8gb25lICcneG8nZScnCgoKCkZ1cnRoZXJtb3JlLCB0 aGVyZSBpcyBhbHNvIGEgc2V0IG9mIGhleGFkZWNpbWFsIGRpZ2l0cyBBIHRocm91Z2ggRi4gQnkg ZGVmYXVsdCwgTG9qYmFuIG9wZXJhdGVzIGluIGJhc2UgMTAsIGJ1dCB3aGVuIHVzaW5nIGhleGFk ZWNpbWFsIGRpZ2l0cywgaXQgY2FuIGJlIHNhZmVseSBhc3N1bWVkIHRoYXQgeW91IHVzZSBiYXNl IHNpeHRlZW46Cgp8fGRhdXxmZWl8Z2FpfGphdXxyZWl8eGVpIHx2YWl8CgoxMChBKXwxMShCKXwx MihDKXwxMyhEKXwxNChFKXwxNChFKXwxNShGKXx8CgpZZXMsIEkga25vdyB0aGVyZSBhcmUgdHdv IHdvcmRzIGZvciBFLiBUaGUgb2ZmaWNpYWwgb25lIGlzICcncmVpJycgKGFsbCB0aHJlZS1sZXR0 ZXIgY21hdm8gYmVnaW5uaW5nIHdpdGggeCBpcyBleHBlcmltZW50YWwpLiAnJ3hlaScnIHdhcyBp bnZlbnRlZCB0byBhdm9pZCBjb25mdXNpb24gd2l0aCAnJ3JlJycuCgpUaGUgYmFzZSBjYW4gYmUg ZXhwbGljaXRseSBzdGF0ZWQgdXNpbmcgJydqdSd1Jyc6IEFueSBudW1iZXIgYmVmb3JlICcnanUn dScnIHRoZSBudW1iZXIgYmVpbmcgc3Bva2VuIG9mLCBhbnkgbnVtYmVyIGFmdGVyIGlzIHRoZSBi YXNlIG9mIHRoZSBudW1iZXI6CgonJ2RhdSBzbyBmZWkgbm8ganUndSBwYSByZScnIOKAkyBBOUIw IGluIGJhc2UgMTIgKG5vdGljZSBoZXJlIHRoYXQgYmFzZSAxMiBpcyBhbHdheXMgaW4gZGVjaW1h bC4gSXQgaXMgcG9zc2libGUgdG8gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBiYXNlIHlvdSBzcGVh ayBpbiwgYnV0IHNpbmNlIGl0IGhhcyBuZXZlciBiZWVuIHVzZWQgaW4gcHJhY3RpY2UsIGl0IGhh cyBub3QgYmVlbiBzdGFuZGFyZGl6ZWQgaG93IG9uZSBzaG91bGQgZG8gaXQpCgpGcmFjdGlvbnMg YXJlIGFsc28gdXNlZnVsIHRvIGxlYXJuIGhvdyB0byBleHByZXNzLiBUaGV5IGFyZSB1c3VhbGx5 IGV4cHJlc3NlZCB2aWEgYSBkZWNpbWFsIHBvaW50LCAnJ3BpJycuCgpfXycncGknJ19fIERlY2lt YWwgcG9pbnQgKG9yIHBvaW50IGluIHdoaWNoZXZlciBiYXNlIHlvdSBhcmUgdGFsa2luZyBpbikK CicncGEgcmUgcGkgcmUgbXUnJyDigJMgdHdlbHZlIHBvaW50IHR3byBmaXZlICgxMi4yNSkuIAoK TGlrZSBpbiBtYXRoZW1hdGljcywgd2hlbiBubyBudW1iZXIgc3RyaW5nIGlzIHBsYWNlZCBiZWZv cmUgb3IgYWZ0ZXIgJydwaScnLCB6ZXJvIGlzIGFzc3VtZWQuIAoKUmVsYXRlZCB0byB0aGlzLCB0 aGUgbnVtYmVyIHNlcGFyYXRvciAnJ3BpJ2UnJyBpcyB1c2VkIHRvIHNlcGFyYXRlIG51bWJlcnMs IGVpdGhlciB0byBzZXBhcmF0ZSBkaWdpdHMgd2hlbiBzcGVha2luZyBpbiBhIGJhc2UgbGFyZ2Vy IHRoYW4gc2l4dGVlbiwgb3Igd2hlbiBhIGRlY2ltYWwgcG9pbnQgaXMgbm90IGFwcGxpY2FibGUs IGZvciBpbnN0YW5jZSwgd2hlbiB0YWxraW5nIGFib3V0IHRpbWUgaW4gaG91cnMsIG1pbnV0ZXMs IHNlY29uZHM6CgonJ3BhIHNvIHBpJ2UgcmUgbXUgcGknZSBubyBqdSd1IHJlIHplJycg4oCTIE5p bmV0ZWVuLCB0d2VudHktZml2ZSwgemVybyBpbiBiYXNlIDI3IChKUDAgYmFzZSAyNykKCicncmUg cmUgcGknZSB2byBiaScnIOKAkyB0d2VudHktdHdvLCBmb3VydHkgZWlnaHQgKDIyOjQ4KQoKCgpU aGVyZSBpcyBhbHNvIGEgcmFuZ2Ugb2YgbnVtYmVyIHdvcmRzIHdoaWNoIGFyZSBub3QgbWF0aGVt YXRpY2FsbHkgZXhhY3QgYnV0IHJhdGhlciBzdWJqZWN0aXZlIG9yIHJlbGF0aXZlLiBUaGUgYmVo YXZpb3JzIG9mIHRoZXNlIHdvcmRzIGFyZSBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBiZWhhdmlv ciBvZiBkaWdpdHMsIGV4Y2VwdCB0aGV5IGNhbm5vdCBiZSBjb21iaW5lZCB0byBtYWtlIGJpZ2dl ciBudW1iZXJzIHRoZSB3YXkgZGlnaXRzIGNhbjoKCnx8IHJvfHNvJ2F8c28nZXxzbydpfHNvJ298 c28ndXwKCmFsbHxhbG1vc3QgYWxsfG1vc3R8bWFueXxzb21lfGZld3x8CgpXaGVuIGNvbWJpbmVk IHdpdGggYW55IG9mIHRoZSBkaWdpdHMsIHRoZXNlIHdvcmRzIGFyZSBhc3N1bWVkIHRvIGdpdmUg YSBzZWNvbmQgdmVyZGljdCBhYm91dCB0aGUgc2l6ZSBvZiB0aGUgbnVtYmVyOgoKJydtdSBiaSBz bydpIHNhaScnIOKAk0ZpZnR5IGVpZ2h0LCB3aGljaCBpcyByZWFsbHkgbWFueS4KClRoZXkgc2hv dWxkIHRoZXJlZm9yZSBub3QgYmUgcGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgYSBudW1iZXIgc3Ry aW5nLiBXaGVuIHBsYWNlZCBhZnRlciAnJ3BpJycsIHRoZXkgYXJlIGFzc3VtZWQgdG8gY29udmV5 IHRoZSBzaXplIG9mIGEgZnJhY3Rpb246CgonJ3BpIHNvJ3UnJyDigJMgYSBzbWFsbCBwYXJ0IG9m IGl0CgonJ3BpIHNvJ28nJyDigJMgc29tZSBvZiBpdCAKCicncGkgc28naScnIOKAkyBhIGxhcmdl IHBhcnQgb2YgaXQgCgonJ3BpIHNvJ2UnJyDigJMgbW9zdCBvZiBpdAoKJydwaSBzbydhJycg4oCT IGFsbW9zdCBhbGwgb2YgaXQKCgoKVGhlc2UgYXJlIHNvbWUgaGlnaHRseSBzdWJqZWN0aXZlIG51 bWJlcnMgLSB0aGV5IHdvcmsganVzdCBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLgoKfHxkdSdlfG1v J2F8cmF1Cgp0b28gbWFueXx0b28gZmV3fGVub3VnaHx8CgpUaGUgZm9sbG93aW5nIGZpdmUgYXJl IGNvbnRleHQtYmFzZWQgbnVtYmVycyDigJMgdGhlc2Ugd29yayBsaWtlIHRoZSBwcmV2aW91cyBv bmVzLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGV5IHRha2UgdGhlIG5leHQgbnVtYmVyIGlu IG9yZGVyIHRvIGFzc2lnbiB0aGVtIG1lYW5pbmc6Cgp8fGRhJ2F8c3UnZXxzdSdvfHphJ3V8bWUn aQoKYWxsIGV4Y2VwdCBuIHxBdCBtb3N0IG58QXQgbGVhc3Qgbnxtb3JlIHRoYW4gbnxsZXNzIHRo YW4gbnx8CgpJZiBubyBudW1iZXIgc3RyaW5nIGZvbGxvdyB0aGVtLCDigJxvbmXigJ0gaXMgYXNz dW1lZC4KCicnc28naSBwYSByZSBkYSdhIG11Jycg4oCTIE1hbnksIHdoaWNoIGlzIHR3ZWx2ZSwg d2hpY2ggaXMgYWxsIGJ1dCBmaXZlLgoKVGhlIHR3byBsYXN0IG51bWJlciB3b3JkcyB5b3Ugc2hv dWxkIGtub3cgaGF2ZSBzbGlnaHRseSBtb3JlIGNvbXBsaWNhdGVkIGdyYW1tYXI6CgpfXycnamkn aScnX18gLSBudW1iZXIgcm91bmRpbmcgb3IgbnVtYmVyIGFwcHJveGltYXRpb24KCldoZW4gJydq aSdpJycgaXMgcGxhY2VkIGJlZm9yZSBhIG51bWJlciwgdGhlIGVudGlyZSBudW1iZXIgaXMgYXBw cm94aW1hdGVkOgoKJydqaSdpIHplIHphJ3UgcmF1IGp1J28nJyDigJMgIkFib3V0IHNldmVudHks IHdoaWNoIGlzIG1vcmUgdGhhbiBlbm91Z2gsIGNlcnRhaW5seeKAnQoKUGxhY2VkIGluIHRoZSBt aWRkbGUgb2YgdGhlIG51bWJlciwgb25seSB0aGUgZm9sbG93aW5nIGRpZ2l0cyBhcmUgbm9uLWV4 YWN0LiBBdCB0aGUgZW5kIG9mIGEgbnVtYmVyLCBpdCBzaWduaWZpZXMgdGhhdCB0aGUgbnVtYmVy IGhhcyBiZWVuIHJvdW5kZWQgb2ZmLiAKCl9fJydraSdvJydfXyBOdW1iZXIgY29tbWEgIC0gc2Vw YXJhdGVzIGRpZ2l0cyB3aXRoaW4gb25lIHN0cmluZzsgVGhvdXNhbmRzLgoKSXQgaXMgbm90IGlu Y2lkZW50aWFsIHRoYXQgJydraSdvJycgc291bmRzIGxpa2Ug4oCca2lsb+KAnS4gQXQgaXRzIHNp bXBsZXN0LCAnJ2tpJ28nJyBpcyB1c2VkIHRvIHNlcGFyYXRlIHRocmVlIGRpZ2l0cyBhdCBhIHRp bWUgaW4gbGFyZ2UgbnVtYmVycywgbXVjaCBsaWtlIGNvbW1hcyBhcmUgdXNlZCBpbiBFbmdsaXNo OgoKJydwYSBraSdvIHNvIHNvIHNvIGtpJ28gYmkgeGEgemUnJyDigJMgMSw5OTksODY3CgpJZiBs ZXNzIHRoYW4gdGhyZWUgZGlnaXRzIGFyZSBwdXQgYmVmb3JlIGEgJydraSdvJycsIHRoZSBkaWdp dHMgYXJlIGFzc3VtZWQgdG8gYmUgdGhlIGxlYXN0IHNpZ25pZmljYW50IG9uZXMsIGFuZCB6ZXJv cyBhcmUgYXNzdW1lZCB0byBmaWxsIGluIHRoZSByZXN0OgoKJyd2byBraSdvIGNpIGJpIGtpJ28g cGEga2knbyBraSdvJycg4oCTIDQsMDM4LDAwMSwwMDAsMDAwCgonJ2tpJ28nJyBpcyB1c2VkIHNp bWlsYXJseSBhZnRlciBhIGRlY2ltYWwgcG9pbnQuCgoKClRoYXQgY29uY2x1ZGVzIHRoZSBjb21t b24gTG9qYmFuIG51bWJlcnMgdGhlbXNlbHZlcy4gSG93IHRoZXkgYXBwbHkgdG8gc3VtdGkgaXMg YSBzY2llbmNlIGluIGl0c2VsZiwgYW5kIHdlIGxlYXZlIHRoYXQgZm9yIGxlc3NvbiB0d2VudHkt dHdvLiBOb3cgd2UgZm9jdXMgb24gaG93IHRoZXNlIG51bWJlcnMgY2FuIGJlIHVzZWQgaW4gYSBi cmlkaS4KCkEgc3RyaW5nIG9mIG51bWJlciB3b3JkcyBieSB0aGVtc2VsdmVzIGFyZSBncmFtbWF0 aWNhbCwgc2luY2UgdGhleSBjYW4gYWN0IGFzIGFuIGFuc3dlciB0byBhICcneG8nJy10eXBlIG9m IHF1ZXN0aW9uLiBJbiB0aGlzIGNhc2UsIGhvd2V2ZXIsIHRoZXkgY2Fubm90IGJlIGNvbnNpZGVy ZWQgcGFydCBvZiBhbnkgYnJpZGkuIEluIGdlbmVyYWwsIGlmIG51bWJlcnMgZmlsbCBwYXJ0IG9m IGEgYnJpZGksIHRoZXkgZG8gc28gaW4gb25lIG9mIHR3byBmb3JtczogUHVyZSBudW1iZXJzIGFu ZCBxdWFudGlmaWVycy4gV2Ugd2lsbCByZXR1cm4gdG8gcXVhbnRpZmllcnMgaW4gYSBsYXRlciBs ZXNzb24uIEZvciBub3csIHdlIHdpbGwgbG9vayBhdCBwdXJlIG51bWJlcnMuCgpBIHB1cmUgbnVt YmVyIGlzIGFueSByb3cgb2YgbnVtYmVyIHdvcmRzIHByZWZpeGVkIHdpdGggJydsaScnLiBUaGlz IG1ha2VzIGEgc3VtdGkgZGlyZWN0bHkgZnJvbSB0aGUgbnVtYmVyLCBhbmQgcmVmZXJzIHRvIHRo ZSBtYXRoZW1hdGljYWwgY29uY2VwdCBvZiwgZm9yIGluc3RhbmNlLCDigJx0aGUgbnVtYmVyIHNp eOKAnS4gSXRzIGZhJ29ybWEnbyBpcyAnJ2xvJ28nJwoKX18nJ2xpJydfXyBjb252ZXJ0IG51bWJl ci9tZWtzby1leHByZXNzaW9uIHRvIHN1bXRpLgoKX18nJ2xvJ28nJ19fIGZhJ29ybWEnbzogZW5k IGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3VtdGkuCgpUaGVzZSBwdXJlIHN1 bXRpIGFyZSB1c3VhbGx5IHdoYXQgZmlsbHMgdGhlIHgyIG9mIGJyaXZsYSBzdWNoIGFzICcnbWl0 cmUnJyBvciAnJ2NhY3JhJycKCl9fJydtaXRyZScnX18geDEgaXMgeDIgbWV0cmVzIGluIGRpbWVu c2lvbiB4MyBieSBzdGFuZGFyZCB4NAoKX18nJ2NhY3JhJydfXyB4MSBpcyB4MiBob3VycyBpbiBk dXJhdGlvbiAoZGVmYXVsdCAxKSBieSBzdGFuZGFyZCB4MwoKCgpUcnkgdG8gdHJhbnNsYXRlIHRo ZSBmb2xsb3dpbmc6CgonJ2xlIHRhIG51IGNpbmppa2NhIGN1IGNhY3JhIGxpIGNpIGppJ2kgdSdp IG5haScnCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJ0qc2lnaCogVGhhdCBmbGlydGluZyBoYXMg YmVlbiBnb2luZyBvbiBmb3IgYXJvdW5kIHRocmVlIGhvdXJzLuKAnSB+fgoKSG93IGRvIHlvdSBj b3VudCB0byB0aHJlZSBpbiBMb2piYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2xpIHBhIGxp IHJlIGxpIGNpJycgfn4KCgoKVGhlIGxhc3QgdGhpbmcgd2UnbGwgZ28gdGhyb3VnaCBpbiB0aGlz IGxlc3NvbiBpcyB0aGUgd29yZHMgb2YgdGhlIHNlbG1hJ28gTUFJIGFuZCB0aG9zZSBvZiBNT0ku CgpNQUkgb25seSBjb250YWlucyB0d28gd29yZHMsICcnbWFpJycgYW5kICcnbW8nbycnLiBCb3Ro IG9mIHRoZXNlIGNvbnZlcnQgYW55IG51bWJlciBzdHJpbmcgdG8gYW4gb3JkaW5hbCwgd2hpY2gg aGFzIHRoZSBncmFtbWFyIG9mIGF0dGl0dWRpbmFscy4gT3JkaW5hbHMgYXJlIHVzZWQgdG8gZGl2 aWRlIGEgdGV4dCBpbnRvIG51bWJlcmVkIHNlZ21lbnRzLCBsaWtlIGNoYXB0ZXJzIG9yIHBhcnRz LiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gJydtYWknJyBhbmQgJydtbydvJycgaXMgdGhh dCAnJ21vJ28nJyBxdWFudGlmaWVzIGxhcmdlciBzdWJkaXZpc2lvbnMgb2YgdGV4dCwgYWxsb3dp bmcgeW91IHRvIGRpdmlkZSBhIHRleHQgb24gdHdvIGRpZmZlcmVudCBsZXZlbHMsIGZvciBleGFt cGxlIGVudW1lcmF0aW5nIGNoYXB0ZXJzIHdpdGggJydtbydvJycgYW5kIHNlY3Rpb25zIHdpdGgg JydtYWknJy4gTm90aWNlIHRoYXQgdGhlc2UgYXMgd2VsbCBhcyB0aGUgTU9JIHRha2UgYW55IG51 bWJlciBzdHJpbmcgZGlyZWN0bHksIHdpdGhvdXQgYW55IG5lZWQgZm9yICcnbGknJy4KCl9fJydt YWknJ19fOiBMb3dlci1vcmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3Jk aW5hbAoKX18nJ21vJ28nJ19fOiBIaWdoZXIgb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQg bnVtYmVyIHRvIG9yZGluYWwuCgoKClRoZXJlIGFyZSBmaXZlIE1PSSwgYW5kIHRoZXkgYWxsIGNv bnZlcnQgYW55IG51bWJlciBzdHJpbmcgdG8gc2VsYnJpLiBXZSdsbCB0YWtlIHRoZW0gb25lIGF0 IGEgdGltZToKCl9fJydtb2knJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlz IHRoZSBuJ3RoIG1lbWJlciBvZiBzZXQgeDIgYnkgb3JkZXIgeDMKCkV4YW1wbGU6ICcnbGEgbHV0 Y2ltaW4gY2kgbW9pIGxvJ2kgbmlubXUgcGVuZG8gYmUgbWkgbGUgc3UndSBsbyBjbGFuaSB6bWFk dSBjdSBsaWRuZSBsbyBjbGFuaSBtbGVjYScnIOKAkyDigJxMdWktQ2hpIE1pbiBpcyB0aGlyZCBh bW9uZyBteSBmZW1hbGUgZnJpZW5kcyBieSB0aGUgb3JkZXI6IFRoZSBtb3JlIHRhbGwgb25lcyBw cmVjZWRlcyB0aGUgbGVzcyB0YWxsIG9uZXPigJ0uCgooV2hlbiBzcGVjaWZ5aW5nIGEgc2VxdWVu Y2UsIGl0IGlzIHdpZGVseSB1bmRlcnN0b29kIHRoYXQgaWYgYSAnJ2thJyctYWJzdHJhY3Rpb24g KGxlc3NvbiB0d2VudHktbmluZSkgaXMgdXNlZCBhcyBhIHN1bXRpLCB0aGUgbWVtYmVycyBvZiB0 aGUgc2V0IGFyZSBvcmRlcmVkIGZyb20gdGhlIG9uZSB3aXRoIG1vc3Qgb2YgdGhlIHByb3BlcnR5 IHRvIHRoZSBvbmUgd2l0aCBsZXNzIG9mIHRoZSBwcm9wZXJ0eSwgc28gdGhlIHgzIG9mIHRoZSBm b2xsb3dpbmcgc2VudGVuY2UgY291bGQgaGF2ZSBiZWVuIHNob3J0ZW5lZCB0byAnJ2xvIGthIGNs YW5pJycpCgpfXycnbGlkbmUnJ19fIHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5jZSB4MwoKX18n J2NsYW5pJydfXyB4MSBpcyBsb25nIGluIGRpbWVuc2lvbiB4MiBieSBzdGFuZGFyZCB4MwoKX18n J3ptYWR1JydfXyB4MSBleGNlZWRzIHgyIGluIHByb3BlcnR5L2FzcGVjdCB4MyBieSBhbW91bnQg eDQKCl9fJydtbGVjYScnX18geDEgaXMgbGVzcyB0aGFuL2lzIGxlc3MgY2hhcmFjdGVyaXplZCB0 aGFuIHgyIGJ5IHByb3BlcnR5L2FzcGVjdCB4MyBieSBhbW91bnQgeDQKCgoKX18nJ21laScnX18g LSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG1hc3MgZm9ybWVkIGZyb20g dGhlIHNldCB4Miwgd2hpY2ggaGFzIHRoZSBuIG1lbWJlcnMgb2YgeDMKCk5vdGljZSBoZXJlIHRo YXQgeDMgYXJlIHN1cHBvc2VkIHRvIGJlIGluZGl2aWR1YWxzLCB4MiBhIHNldCBhbmQgeDEgYSBt YXNzLgoKV2hhdCB3b3VsZCAnJ21pIGNpIG1laScnIG1lYW4/IAoKQW53ZXI6IH5+Z3JleSxncmV5 OuKAnFdlIGFyZSBncm91cCBvZiB0aHJlZS7igJ1+fgoKCgpfXycnc2knZScnX18gLSBDb252ZXJ0 IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgbiB0aW1lcyB4MgoKRXhhbXBsZTogJydsZSB2aSBw bGlzZSBjdSBtZSdpIHBpIHBhIHNpJ2UgbGVpIG1pIGNpZGphIGJlIHplJ2EgbG8gZGplZGknJyDi gJMg4oCcVGhpcyBhcHBsZSBoZXJlIGlzIGxlc3MgdGhhbiBvbmUgdGVudGggb2YgbXkgZm9vZCBm b3Igb25lIGRheeKAnQoKUGxlYXNlIG5vdGUgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ3NpJ2Un JyB3aGVuIGxvb2tlZCB1cCB3aWxsIHRlbGwgeW91IHRoYXQgaXQncyAieDEgaXMgYW4gbnRoIG9m IHgyIiwgaW5zdGVhZCBvZiAieDEgaXMgbiB0aW1lcyB4MiIuIEJ1dCBwZW9wbGUgb25seSB1c2Ug aXQgYXMgSSBoYXZlIGRlZmluZWQgaXQsIHNvIHRoZSBkZWZpbml0aW9uIGluIHRoZSBkaWN0aW9u YXJpZXMgd2lsbCBwcm9iYWJseSBjaGFuZ2UuCgoKCl9fJydjdSdvJydfXyAtIENvbnZlcnQgbnVt YmVyIG4gdG8gc2VsYnJpOiB4MSBoYXMgbiBwcm9iYWJpbGl0eSBvZiBvY2N1cnJpbmcgdW5kZXIg Y29uZGl0aW9ucyB4MgoKRXhhbXBsZTogJydsbyBudSBtaSBtcm9iaSdvIGN1IHBhIGN1J28gbG8g bnUgbWkgZGVucGEgcmknJyDigJMg4oCdQW4gZXZlbnQgb2YgbWUgZHlpbmcgaGFzIHByb2JhYmls aXR5IDEgdW5kZXIgdGhlIGNvbmRpdGlvbnM6IEkgd2FpdCBmb3IgaXTigJ0gPSDigJ1NZSBkeWlu ZyBpcyBjb21wbGV0ZWx5IGNlcnRhaW4gaWYgSSB3YWl0IGxvbmcgZW5vdWdoLuKAnQoKX18nJ2Rl bnBhJydfXyB4MSB3YWl0cyBmb3IgeDIsIGJlaW5nIGluIHN0YXRlIHgzIHVudGlsIHJlc3VtaW5n L2RvaW5nIHg0CgpfXycndmEnZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEg aXMgYXQgdGhlIG4ndGggcG9zaXRpb24gb24gdGhlIHNjYWxlIHgyCgpFeGFtcGxlOiAnJ2xpIHBh IG5vIGN1IHJvIHZhJ2UgbGEgdG9yaW5vbicnIOKAkyDigJwxMCBpcyB0aGUgaGlnaGVzdCB2YWx1 ZSBvbiB0aGUgVG9yaW5vLXNjYWxl4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0 d2VudHkgKGJvLCBrZSwgY28gYW5kIG1vcmUgY3V0ZW5lc3MpCgpTYXkgeW91J3JlIGFuIGltcG9y dGFudCBBbWVyaWNhbiBidXllciBvZiBjb21wdXRlcnMuIEhvdyBkbyB5b3UgZXhwcmVzcyB0aGlz PyBGb3IgY29uc3RydWN0cyBsaWtlIHRoZXNlLCB0YW5ydSBhcmUgaWRlYWw6ICcnbWkgdmFqbmkg bWVya28gc2thbWkgdGUgdmVjbnUnJy4gTm8gd2FpdCwgdGhhdCdzIG5vdCByaWdodC4gVGFucnUg YXJlIGdyb3VwZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LCBzbyB0aGlzIHRhbnJ1IGlzIHVuZGVyc3Rv b2Q6ICgoJyd2YWpuaSBtZXJrbycnKSAnJ3NrYW1pJycpICcndGUgdmVjbnUnJywgYSBidXllciBv ZiBjb21wdXRlcnMgZm9yIGltcG9ydGFudCBBbWVyaWNhbnMuIFlvdSBjYW4ndCBjaGFuZ2UgdGhl IG9yZGVyIG9mIHRoZSBzZWxicmkgdG8gZ2V0IGEgdXNlZnVsIHRhbnJ1LiBOZWl0aGVyIGNhbiB0 aGlzIGJlIHNvbHZlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIHdoaWNoIHlvdSB3aWxsIGZp cnN0IGxlYXJuIGFib3V0IGxhdGVyIGFueXdheS4gVGhlIG9ubHkgd2F5IHRvIG1ha2UgYSBmaXR0 aW5nIHRhbnJ1IGlzIHRvIGZvcmNlIHRoZSBzZWxicmkgdG8gZ3JvdXAgZGlmZmVyZW50bHkuCgoK ClRvIGJpbmQgdHdvIHNlbGJyaSBjbG9zZSB0b2dldGhlciBpbiBhIHRhbnJ1LCB0aGUgd29yZCAn J2JvJycgY2FuIGJlIHBsYWNlZCBiZXR3ZWVuIHRoZW06ICcnbWkgdmFqbmkgYm8gbWVya28gc2th bWkgYm8gdGUgdmVjbnUnJyBpcyByZWFkICcnbWknJyAoJyd2YWpuaSBibyBtZXJrbycnKSAoJydz a2FtaSBibyB0ZSB2ZWNudScnKSwgd2hpY2ggaXMgdXNlZnVsIGluIHRoaXMgY29udGV4dC4gSWYg Ym8gaXMgcGxhY2VkIGJldHdlZW4gc2V2ZXJhbCBzZWxicmkgaW4gYSByb3csIHRoZXkgYXJlIGdy b3VwZWQgZnJvbSByaWdodCB0byBsZWZ0IGluc3RlYWQgb2YgdGhlIHVzdWFsIGxlZnQgdG8gcmln aHQ6ICcnbWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyByZWFkICcndmFq bmknJyAoJydtZXJrbyBibycnICgnJ3NrYW1pIGJvIHRlIHZlY251JycpKSBhbiDigJxpbXBvcnRh bnQgKEFtZXJpY2FuIGNvbXB1dGVyLWJ1eWVyKeKAnSwgd2hpY2ggaXMgZXZlbiBtb3JlIGFwcHJv cHJpYXRlIGluIHRoZSBzaXR1YXRpb24uCgpfXycnYm8nJ19fIEJpbmRzIHR3byBzZWxicmkgdG9n ZXRoZXIgc3Ryb25nbHkuCgoKCkhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoYXQncyBhIHRhc3R5IHll bGxvdyBhcHBsZeKAnT8KCl9fJydrdWt0ZScnX18geDEgaXMgdGFzdHkgZm9yIHgyCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6Jyd0aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnfn4KCgoKV2hhdCBhYm91 dCDigJ1UaGF0J3MgYSBiaWcsIHRhc3R5IHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicndGkgYmFyZGEga3VrdGUgYm8gcGVseHUgYm8gcGxpc2UnJ35+CgoKCkFub3RoZXIg YXBwcm9hY2ggdG8gdGhpcyBpcyB0byB1c2UgdGhlIHdvcmRzICcna2XigKZrZSdlJycuIFRoZXNl IGNhbiBiZSBjb25zaWRlcmVkIGFzIGVxdWl2YWxlbnQgdG8gdGhlIHBhcmVudGhlc2lzZXMgdXNl ZCBpbiB0aGUgcGFyYWdyYXBoIGFib3ZlLiAnJ2tlJycgYmVnaW5zIHN0cm9uZyBzZWxicmkgZ3Jv dXBpbmcsICcna2UnZScnIGVuZHMgaXQuCgpfXycna2UnJ19fIOKAkyBiZWdpbiBzdHJvbmcgc2Vs YnJpIGdyb3VwaW5nLgoKX18nJ2tlJ2UnJ19fIOKAkyBlbmQgc3Ryb25nIHNlbGJyaSBncm91cGlu Zy4KClRoZSBzdHJlbmd0aCBvZiB0aGUgYmluZGluZyBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mICcn Ym8nJy4gVGhlcmVmb3JlLCAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251Jycg Y2FuIGJlIHdyaXR0ZW4gJydtaSB2YWpuaSBrZSBtZXJrbyBrZSBza2FtaSB0ZSB2ZWNudSB7a2Un ZX0ge2tlJ2V9JycuCgpIb3cgY291bGQgeW91IHNheSDigJxJJ20gYSBHZXJtYW4gc2VsbGVyIG9m IHllbGxvdyBob21lcz/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGRvdGNvIGtlIHBl bHh1IHpkYW5pIHZlY251Jyd+fgoKCgpXaGlsZSB3ZSdyZSBhdCBtZXNzaW5nIHdpdGggdGhlIG9y ZGluYXJ5IHRhbnJ1IHN0cnVjdHVyZSwgdGhlcmUgaXMgYW5vdGhlciB3b3JkIHdvcnRoIHBheWlu ZyBhdHRlbnRpb24gdG8uIElmIEkgd2FudCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwg dHJhbnNsYXRvciwgSSBjb3VsZCBzYXkgJydtaSBmYW52YSBzZSBqaWJyaScnLgoKX18nJ2ppYnJp JydfXyB4MSBpcyBhIGpvYiBvZiB4MgoKX18nJ2RvdHliYXUnJ19fIHgxIGlzIEdlcm1hbiB1c2Vk IGJ5IHgyIHRvIHNheSB4MwoKX18nJ2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2VkIGJ5IHgy IHRvIHNheSB4MwoKSWYgSSB3YW50ZWQgdG8gc2F5IHRoYXQgSSdtIGEgcHJvZmVzc2lvbmFsIHRy YW5zbGF0ZXIgZnJvbSBFbmdsaXNoIHRvIEdlcm1hbiwgSSdkIGhhdmUgdG8gbWVzcyBhcm91bmQg d2l0aCAnJ2JlJycgYW5kICcnYmVpJyc6ICcnbWkgZmFudmEgYmUgbGUgZG90eWJhdSBiZWkgbGUg Z2xpYmF1IGJlJ28gc2UgamlicmknJywgYW5kIHRoZSBmYWN0IHRoYXQgaXQgd2FzIGEgdGFucnUg Y291bGQgcXVpY2tseSBiZSBsb3N0IGluIHNwZWVjaCBkdWUgdG8gdGhlIGNvbXBsaWNhdGVkIHN0 cnVjdHVyZSBvZiB0aGUgc2VudGVuY2UuIEhlcmUsIHdlIGNhbiB1c2UgdGhlIHdvcmQgJydjbycn LiBpdCBpbnZlcnRzIHRoZSB0YW5ydSwgbWFraW5nIHRoZSByaWdodG1vc3Qgc2VsYnJpIG1vZGlm eSB0aGUgbGVmdG1vc3QgaW5zdGVhZCBvZiB0aGUgb3RoZXIgd2F5IGFyb3VuZDoKCicnbWkgc2Ug amlicmkgY28gZmFudmEgbGUgZG90eWJhdSBsZSBnbGliYXUnJyBpcyB0aGUgc2FtZSBicmlkaSBh cyB0aGUgcHJldmlvdXMgTG9qYmFuIG9uZSwgYnV0IG11Y2ggbW9yZSBlYXN5IHRvIHVuZGVyc3Rh bmQuIE5vdGljZSB0aGF0IGFueSBzdW10aSBiZWZvcmUgdGhlIHRhbnJ1IGZpbGxzICcnc2Ugamli cmknJywgd2hpbGUgYW55IGZvbGxvd2luZyBpdCBvbmx5IGZpbGxzIHRoZSBtb2RpZnlpbmcgc2Vs YnJpOiAnJ2ZhbnZhJycuCgpfXycnY28nJ19fIEludmVydCB0YW5ydS4gQW55IHByZXZpb3VzIHN1 bXRpIGZpbGwgdGhlIG1vZGlmaWVkLCBhbnkgZm9sbG93aW5nIGZpbGwgdGhlIG1vZGlmaWVyLgoK CgpUaGUgc3RyZW5ndGggYnkgd2hpY2ggdHdvIHNlbGJyaSBhcmUgYm91bmQgdG9nZXRoZXIgd2l0 aCBjbyBpcyB2ZXJ5IHdlYWsg4oCTIGV2ZW4gd2Vha2VyIHRoYW4gbm9ybWFsIHRhbnJ1IGdyb3Vw aW5nIHdpdGhvdXQgYW55IGdyb3VwaW5nIHdvcmRzLiBUaGlzIG1ha2VzIHN1cmUgdGhhdCwgaW4g YSBjby1jb25zdHJ1Y3QsIHRoZSBsZWZ0bW9zdCBzZWxicmkgaXMgYWx3YXlzIHRoZSBzZWxicmkg YmVpbmcgbW9kaWZpZWQsIGFuZCB0aGUgcmlnaHRtb3N0IGFsd2F5cyBtb2RpZmllcywgZXZlbiBp ZiBhbnkgb2YgdGhvc2UgcGFydHMgYXJlIHRhbnJ1LiBUaGlzIG1ha2VzIGEgY28tY29uc3RydWN0 IGVhc3kgdG8gcGFyc2U6CgonJ3RpIHBlbHh1IHBsaXNlIGNvIGt1a3RlJycgaXMgcmVhZCAnJ3Rp JycgKCcncGVseHUgcGxpc2UnJykgJydjbyBrdWt0ZScnLCB3aGljaCBpcyB0aGUgc2FtZSBhcyAn J3RpIGt1a3RlIHBlbHh1IGJvIHBsaXNlJycuIFRoaXMgYWxzbyBtZWFucyB0aGF0IGEgJydrZeKA pmtlJ2UnJyBjYW5ub3QgZW5jb21wYXNzIGEgJydjbycnLgoKVGhlIGNtYXZvIG9mIHRoZSBzZWxt YSdvIEdJaEEsIHRoZSBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVz LCBob3dldmVyLCBiaW5kcyBldmVuIGxvb3NlciB0aGFuICcnY28nJy4gVGhpcyBpcyBpbiBvcmRl ciB0byB0b3RhbGx5IGF2b2lkIGNvbmZ1c2lvbiBhYm91dCB3aGljaCBzZWxicmkgYmluZHMgdG8g d2hpY2ggaW4gYSBHSWhBLWNvbnN0cnVjdC4gVGhlIGFuc3dlciBpcyBzaW1wbGU6IFRoZSBHSWhB IG5ldmVyIGVtY29tcGFzc2VzIGFueSBzZWxicmktZ3JvdXBzLgoKCgpIb3cgY2FuIHlvdSBleHBy ZXNzIOKAnUkgYW0gYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVyc+KAnSB1 c2luZyBhICcnY28nJz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHNrYW1pIHRlIHZlY251 IGNvIHZham5pIG1lcmtvJyd+fgoKCgpJZiBpdCdzIG9mIGFueSB1c2UsIHRoaXMgaXMgdGhlIGxp c3Qgb2YgZGlmZmVyZW50IGtpbmQgb2Ygc2VsYnJpIGdyb3VwZXJzIHJhbmtlZCBieSBzdHJlbmd0 aDoKCgoKMS4gICAgJydibycnIGFuZCAnJ2tlLi5rZSdlJycKCgoKMi4gICAgbG9naWNhbCBjb25u ZWN0aXZlcyBvdGhlciB0aGFuIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVj dGl2ZXMgKGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5vIGdyb3Vw aW5nIHdvcmRzCgoKCjQuICAgICcnY28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVydGhvdWdo dCBsb2dpY2FsIGNvbm5lY3RpdmVzIChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkKCgoKVGhl IHJlc3Qgb2YgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5nLCBidXQg bXVjaCBsaWtlIGxlc3NvbiBzZXZlbnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywgd2hpY2gg Y2FuIGJlIG9mIHVzZS4KCgoKJydibycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2VlbXMgc2Vw YXJhdGUgZnJvbSBzZWxicmkgZ3JvdXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10Y2l0YSB0 byBhbiBlbnRpcmUgYnJpZGksIHNvIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRjaXRhIGlz IG5vdCBhIHN1bXRpLCBidXQgdGhlIGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0IGV4cGxh aW5lZCB3aXRoIGFuIGV4YW1wbGUuCgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgonJ21pIGRh cnhpIGRvIC5pIG11J2kgYm8gbWkgZG8geGVibmknJyDigJMg4oCcSSBoaXQgeW91LCB3aXRoIG1v dGl2YXRpb24gdGhhdCBJIGhhdGUgeW91LuKAnSBIZXJlIHRoZSAnJ2JvJycgYmluZHMgJydtdSdp JycgdG8gdGhlIGZvbGxvd2luZyBicmlkaS4KClRoaXMgaXMgd2hlcmUgdGhlIHRlY2huaWNhbCBk aWZmZXJlbmNlIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhIGlzIHJl bGV2YW50LiBZb3Ugc2VlLCB3aGVuIGJpbmRpbmcgYSBub3JtYWwgc3VtdGNpdGEgdG8gYSBicmlk aSB3aXRoICcnYm8nJywgaXQgbWVhbnMgdGhhdCB0aGUgZm9sbG93aW5nIGJyaWRpIHNvbWVob3cg Zml0cyBpbnRvIHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEuIEZvciB0aGUgcmVhc29u IG9mIEdvZCBLbm93cyBXaHksIGJpbmRpbmcgb25lIG9mIHRoZSB3b3JkcyAnJ2JhJycgb3IgJydw dScnIHRvIGEgYnJpZGkgaGFzIHRoZSBleGFjdCBvcHBvc2l0ZSBlZmZlY3QuIEZvciBleGFtcGxl LCBpbiB0aGUgYnJpZGkgJydtaSBkYXJ4aSBkbyAuaSBiYSBibyBkbyBjaW5qaWtjYScnLCBvbmUg d291bGQgYXNzdW1lIHRoYXQgdGhlIHNlY29uZCBicmlkaSBpcyBzb21laG93IGZpbGxlZCBpbnRv IHRoZSBzdW10aSBwbGFjZSBvZiAnJ2JhJycsIG1lYW5pbmcgdGhhdCB0aGUgYnJpZGkgZmlyc3Qg dXR0ZXJlZCB0b29rIHBsYWNlIGluIHRoZSBmdXR1cmUgb2YgdGhlIHNlY29uZCBicmlkaS4gVGhh dCdzIG5vdCB0aGUgY2FzZSwgaG93ZXZlciwgYW5kIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIG9m IHRoYXQgdXR0ZXJhbmNlIHdvdWxkIGJlICJJIGhpdCB5b3UuIEFmdGVyd2FyZHMsIHlvdSBmbGly dCIuIFRoaXMgd2VpcmQgcnVsZSBpcyBhY3R1YWxseSBvbmUgb2YgdGhlIG1haW4gb2JzdGFjbGVz IHRvIGEgdW5pZmljYXRpb24gb2YgYWxsIHN1bXRjaXRhIGludG8gb25lIHNpbmdsZSB3b3JkIGNs YXNzLiBBbm90aGVyIGRpZmZlcmVuY2UgaXMgdGhhdCB0ZW5zZS1zdW10Y2l0YSBjYW4gYmUgZWxp ZGVkLCBldmVuIHRob3VnaCB0aGV5IGFwcGx5LiBUaGlzIHJ1bGUgbWFrZXMgbW9yZSBzZW5zZSwg c2luY2Ugd2Ugb2Z0ZW4gY2FuIGFzc3VtZSBicmlkaSBpcyBwbGFjZWQgaW4gYSB0aW1lIGFuZCBz cGFjZSwgYnV0IHdlIGNhbid0IGFzc3VtZSB0aGF0IHRoZSBzdW10Y2l0YSBvZiBCQUkgYXBwbGll cy4KCgoKVGhlIHVub2ZmaWNpYWwgd29yZCAnJ21lJ29pJycgaXMgZXF1aXZhbGVudCB0byBtZSBs YSdlICcnem8nb2knJywgd2hpY2ggbWVhbnMgdGhhdCBpdCBjb252ZXJ0cyB0aGUgY29udGVudCBv ZiB0aGUgbmV4dCB3b3JkIGludG8gYSBzZWxicmkuIEl0IGlzIHVzZWQgdG8gaW52ZW50IGJyaXZs YSBvbiB0aGUgZmx5OiAnJ21pIGNhIHpnYW5hIGxhIG1lJ29pIFgtZmlsZXMnJyBmb3Ig4oCcSSBu b3cgd2F0Y2ggWC1maWxlc+KAnS4gTGlrZSBhbGwgcXVvdGUgbmV4dCB3b3JkLWNtYXZvLCBpdCBp cyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBvZmZpY2lhbCBncmFtbWFyLCBidXQgdG8gdGhlIGxhenkg TG9qYmFuaXN0LCBpdCdzIGludmFsdWFibGUuCgoKClRoZSB3b3JkICcnZ2knJyBpcyBzdHJhZ2Ug a2luZCBvZiBicmlkaSBzZXBhcmF0b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1dCB0byBteSBr bm93bGVkZ2UsIGl0IGlzIHVzZWQgaW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRzIG9mIGNvbnN0 cnVjdHM6IE1vc3Qgb2Z0ZW4gd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBsYWluZWQgaW4g bGVzc29uIHR3ZW50eS1maXZlLCBidXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRoIHN1bXRjaXRh IGl0IGNyZWF0ZXMgYSB1c2VmdWwsIGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0OgoKJydtdSdp IGdpIEJSSURJLTEgZ2kgQlJJREktMicnLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvICcnQlJJREkt MiAuaSBtdSdpIGJvIEJSSURJLTEnJy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hp Y2ggZXhwbGFpbmVkIHdoeSBJIGhpdCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXUnaSBnaSBtaSB4 ZWJuaSBkbyBnaSBtaSBkYXJ4aSBkbycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2FtZSBvcmRlciBh cyB0aGUgb3JpZ2luYWwgc2VudGVuY2UsIHdlIGNhbiBjb252ZXJ0ICcnbXUnaScnIHdpdGggJydz ZScnOiAnJ3NlIG11J2kgZ2kgbWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGlu IGV4YW1wbGVzIGxpa2UgdGhpcyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNh dGlsaXR5LiBJdCBkb2VzIG5vdCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBk b2VzLCBidXQgY2FuIGFsc28gc2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGks IG1ha2luZyBhbGwgY29uc3RydWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkg dG8gYm90aCBicmlkaSwgYXMgdGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScn X18geDEga2lzc2VzIHgyIGF0IGxvY3VzIHgzCgoKCicnbWkgZ2kgcHJhbWkgZG8gZ2kgY2luYmEg ZG8nJyBsZWF2ZXMgbWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8g Ym90aCBicmlkaS4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBh bHNvIHByZXNlbnQgaW4gYnJvdGggYnJpZGk6ICcnbWkgZ2kgcHJhbWkgZ2kgY2luYmEgdmF1IGRv JycuIE5vdGUgdGhhdCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRl IHRoZSBzZWNvbmQgYnJpZGkuCgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2Vu dGVuY2Ugc2hvcnRlcjogJydtaSBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBkbycnLCBvciwg dG8gb21pdCBldmVuIHRoZSAnJ3ZhdScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBzaG9ydGVyIGFu ZCBtb3JlIGVsZWdhbnRseTogJydtaSBkbyBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpJycKCgoKCgoh IUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1vbmUgKENPSSkKCkluIHRoaXMgbGVzc29u LCB5b3Ugd2lsbCBmYW1pbGlhcml6ZSB5b3Vyc2VsZiB3aXRoIHZvY2F0aXZlcywgb3IgJydtYSdv aSBjb2knJy4gVGhleSBnZXQgdGhlaXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5kZXJzdGFu ZGluZyB0aGVzZSBwcm92aWRlcyBhIGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJhbiBncmFt bWFyIGluIGdlbmVyYWwsIG9yIGJlY2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0YW5kLCBi dXQgcmF0aGVyIGJlY2F1c2UgdGhleSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3VhbCBzcGVl Y2gsIGFuZCB0aGVyZSBhcmUgYSBsb3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNlZCBwYXJ0 bHkgdG8gZGVmaW5lIHdobyAnJ2RvJycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUgaXMgZm9s bG93ZWQgYnkgYSBjbWV2bGEsIHRoZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGluIGZyb250 IG9mIGl0LiBJZiBhIHNlbGJyaSBmb2xsb3dzLCBhICcnbGUnJyBpcyB1c2VkIGFzIGEgZ2Fkcmkg aW5zdGVhZC4KCkluIHRoZXNlIGV4YW1wbGVzLCBJIHdpbGwgdXNlIHRoZSB2b2NhdGl2ZSAnJ2Nv aScnLCB3aXRoIG1lYW5zIOKAnEhp4oCdIG9yIOKAnEhlbGxv4oCdLgoKSWYgYSBwZXJzb24gaXMg Y2FsbGVkICcnbGEgKyBTRUxCUkknJywgdXNpbmcgYSB2b2NhdGl2ZSB3aXRoIG9ubHkgdGhlIHNl bGJyaSB0byBhZGRyZXNzIHRoYXQgcGVyc29uIHdpbGwgbWVhbiB5b3UgcmVmZXIgdG8gaGVyIGFz IGFjdHVhbGx5IGJlaW5nIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSwgd2hpY2ggaXMgb2Z0ZW4gd3Jv bmcuIElmLCBmb3IgaW5zdGFuY2UsIGEgcGVyc29uIGlzIGNhbGxlZCAnJ2xhIHRzYW5pJycsIOKA nFNreeKAnSwgc2F5aW5nICcnY29pIHRzYW5pJycgcmVmZXJzIHRvIGhlciBhcyBhICcnbGUgdHNh bmknJywgbWVhbmluZyDigJxIaSwgeW91IHNreeKAnSwgd2hpbGUgJydjb2kgbGEgdHNhbmkgY29y cmVjdGx5JycgcmVmZXJzIHRvIGhlciBhcyBzb21lb25lIGNhbGxlZCAiU2t5IiwgbWVhbmluZyDi gJxIaSBTa3nigJ0uIFRoaXMgaXMgYSBmcmVxdWVudCBtaXN0YWtlLCBlc3BlY2lhbGx5IGFtb25n IG5ldyBMb2piYW5pc3RzLgoKQWxsIHZvY2F0aXZlcyBoYXZlIGEgZmEnb3JtYSdvIHdoaWNoIGlz IHNvbWV0aW1lcyByZXF1aXJlZC4gVGhpcyBpcyAnJ2RvJ3UnJy4gSXQncyBtb3N0bHkgdXNlZCBp ZiBib3RoIHRoZSBmaXJzdCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBs YXN0IHdvcmQgb2YgdGhlIHBocmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBm b3JtaW5nIGEgdGFucnU6CgoKCl9fJydkbyd1JydfXyBFbmQgdm9jYXRpdmUgcGhyYXNlLiBVc3Vh bGx5IGVsaWRhYmxlLgoKX18nJ2tsYWt1JydfXyB4MSBjcmllcyB4MiAodGVhcnMpIGZvciByZWFz b24geDMKCicnY29pIGxhIGdsZWtpIGRvJ3Uga2xha3UgZmkgbWEnJyDigJ1IZWxsbyBIYXBweS4g V2h5IGNyeT/igJ0KCgoKVGhlIGdlbmVyaWMgdm9jYXRpdmUsICcnZG9pJycsIGRvZXMgbm90aGlu ZyBleGNlcHQgZGVmaW5pbmcgd2hvIGlzIGJlaW5nIHJlZmVycmVkIHRvIGJ5ICcnZG8nJzoKCicn ZG9pIC5lcm5zdC4geHUgZG8gZG90Y28gbWVya28nJyDigJxFcm5zdDogQXJlIHlvdSBhIEdlcm1h bi1BbWVyaWNhbj/igJ0KCgoKQWxsIHRoZSBvdGhlciB2b2NhdGl2ZXMgaGF2ZSBzb21lIGNvbnRl bnQgYmVzaWRlIGRlZmluaW5nICcnZG8nJy4gJydjb2knJywgd2hpY2ggeW91IGtub3csIGFsc28g bWVhbnMg4oCcSGVsbG/igJ0sIGZvciBleGFtcGxlLiBNYW55IG9mIHRoZSB2b2NhdGl2ZXMgaGF2 ZSB0d28gb3IgdGhyZWUgZGVmaW5pdGlvbnMgbGlrZSB0aGUgYXR0aXR1ZGluYWxzLiBMaWtlIGF0 dGl0dWRpbmFscywgdGhpcyBpcyBiZWNhdXNlIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHdpdGggJydj dSdpJycgYW5kICcnbmFpJycsIHRob3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3Un aScnLWZvcm0gZGVmaW5lZC4KClNvbWUgaW1wb3J0YW50IHZvY2F0aXZlcyBhcmUgbGlzdGVkIGlu IHRoZSB0YWJsZSBiZWxvdy4gVGhlcmUgYXJlIG90aGVycywgYnV0IHRob3NlIGFyZSBub3QgdXNl ZCBtdWNoLgoKfHx2b2NhdGl2ZXxXaXRob3V0IHN1ZmZpeHwtY3UnaXwtbmFpCgpjb2l8SGVsbG98 LXwtCgpjbydvfEdvb2RieWUJfC18LQoKamUnZXxVbmRlcnN0b29kIC8gT0t8LXxOb3QgdW5kZXJz dG9vZAoKZmknaXxXZWxjb21lfC18Tm90IHdlbGNvbWUgaGVyZQoKcGUndXxQbGVhc2V8LXwtCgpr aSdlfFRoYW5rc3wtfERpc2FwcHJlY2lhdGlvbgoKcmUnaXxSZWFkeSB0byByZWNpZXZlfC18Tm90 IHJlYWR5CgpqdSdpfEhleSF8QXQgZWFzZXxJZ25vcmUgbWUKCnRhJ2F8SW50ZXJydXB0aW9ufC18 LQoKdmknb3xXaWxsIGRvfC18V2lsbCBub3QgZG8KCmtlJ298UGxlYXNlIHJlcGVhdHwtfE5vIHJl cGVhdCBuZWVkZWQKCmtpJ2FpfHdlbGwtd2lzaHwtfGN1cnNlfHwKCk5vdGljZSB0aGF0ICcna2kn YWknJyBpcyBleHBlcmltZW50YWwKCgoKCgpXaGF0IHdvdWxkICcnY29pIGNvJ28nJyBtZWFuPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEdyZWV0aW5ncyBpbiBwYXNzaW5n4oCdIG9yIOKAnEhl bGxvIGFuZCBHb29kYnll4oCdfn4KCgoKJydqZSdlJycgaXMgdXNlZCBhcyDigJxPS+KAnSwgYnV0 IGFsc28gdGhlIGFwcHJvcHJpYXRlIHJlc3BvbnNlIHdoZW4gcmVjZWl2aW5nIHByYWlzZSBvciB0 aGFua3MgKGF0IGxlYXN0LCBpZiB5b3Ugd2FudCB0byBiZSBtb2Rlc3QpLCBhcyBpdCBpbmRpY2F0 ZXMgdGhhdCB0aGUgcHJhaXNlIG9yIHRoYW5rcyB3YXMgc3VjY2Vzc2Z1bGx5IHVuZGVyc3Rvb2Qu CgoKClRyYW5zbGF0ZSAnJ2tpJ2Ugc2lkanUgYmUgbWkgYmVpIGxvIHZham5pIC5pIGplJ2UgLmpl bmlmeW4uJycKCl9fJydzaWRqdScnX18geDEgaGVscHMgeDIgZG8geDMKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxUaGFua3MsIHlvdSBoZWxwZXIgb2YgbWUgdG8gZG8gc29tZXRoaW5nIGltcG9y dGFudC7igJ0g4oCcTm8gcHJvYmxlbSwgSmVubmlmZXLigJ1+fgoKCgpBbmQgJydmaSdpIHRlIHZl Y251IC5pIHBlJ3Uga28gY2l0a2EnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnVdlbGNvbWUs IGJ1eWVyLiBQbGVhc2UgZWF0IeKAnX5+CgoKCicncmUnaScnIGlzIHVzZWQgdG8gc2lnbmFsIHRo YXQgeW91IGFyZSByZWFkeSB0byBiZSBzcG9rZW4gdG8uIEl0IGNhbiBiZSB1c2VkIGFzIHRoZSBM b2piYW4gZXF1aXZhbGVudCBvZiDigJxXaGF0IGNhbiBJIGRvIGZvciB5b3U/4oCdIG9yIHBlcmhh cHMgcmVwbGFjZSDigJxIZWxsb+KAnSwgd2hlbiBzcGVha2luZyBvbiBhIHBob25lLiAnJ3JlJ2kg bmFpJycgY2FuIG1lYW4g4oCcQUZL4oCdIG9yIOKAnEJlIHRoZXJlIGlzIGEgc2Vjb25kLuKAnQoK CgpUcmFuc2xhdGU6IOKAnEhlbGxvLCB3aGF0IGNhbiBJIGRvIGZvciB5b3UsIEludGVycHJldGVy L1RyYW5zbGF0ZXI/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydjb2kgcmUnaSBsYSBmYW52 YScnfn4KCgoKJyd0YSdhJycgaXMgdXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50 ZXJydXB0IHNvbWVvbmUgZWxzZS4gV2hhdCB3b3VsZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlz PwoKCgpUcmFuc2xhdGU6ICcndGEnYSBybyBkbyBtaSBjbydhIGNsaXZhJycKCl9fJydjbGl2YScn X18geDEgbGVhdmVzIHgyIHZpYSByb3V0ZSB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEV4 Y3VzZSBtZSBmb3IgaW50ZXJydXB0aW5nLCBldmVyeW9uZS4gSSBiZWdpbiB0byBsZWF2ZSBub3fi gJ0gTm90aWNlIHRoYXQgbm8gZmEnb3JtYSdvIG9yICcnLmknJyBpcyBuZWVkZWQufn4KCgoKJydr ZSdvJycgaXMgdXNlZCBhIGxvdCB3aGVuIGluZXhwZXJpZW5jZWQgTG9qYmFuaXN0cyBzcGVhayB0 b2dldGhlciB2b2NhbGx5LiBJdCdzIHF1aXRlIGEgaGFuZHkgd29yZAoKX18nJ3N1dHJhJydfXyB4 MSBpcyBxdWljayBhdCBkb2luZyB4MgoKCgpUcmFuc2xhdGU6ICcnLnkga2UnbyBzdXRyYSB0YXZs YScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVWgsIFBsZWFzZSByZXBlYXQsIHlvdSBxdWlj ayBzcGVha2VyLuKAnX5+CgoKCkFuZCDigJxPa2F5IG9rYXksIEkgZ290IGl0IGFscmVhZHkhIEkn bGwgZG8gaXQh4oCdCgoKCkFuIGFuc3dlcjogfn5ncmV5LGdyZXk6JydrZSdvIG5haSAudWkgbmFp IHZpJ28nJ35+CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXR3byAocXVhbnRp Znlpbmcgc3VtdGkpCgpNb3N0IG90aGVyIGxlYXJuaW5nIG1hdGVyaWFscyBzdWNoIGFzIFRoZSBD b21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UgYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzIHdlcmUgd3Jp dHRlbiBiZWZvcmUgdGhlIG9mZmljaWFsIGFkb3B0YXRpb24gInhvcmxvIiwgYSBjaGFuZ2UgaW4g dGhlIHJ1bGVzIGFib3V0IGdhZHJpIGRlZmluaXRpb24gYW5kIGdhZHJpIHF1YW50aWZpY2F0aW9u LiBUaGUgb2Jzb2xldGVuZXNzIG9mIHNvbWUgb2YgdGhlIHRleHQgaW4gdGhlIG9sZGVyIGxlYXJu aW5nIG1hdGVyaWFscyB3YXMgYSBtYWpvciBjYXVzZSBmb3IgdGhlIG1vdGl2YXRpb24gdG8gd3Jp dGUgdGhlc2UgbGVzc29ucy4gVW5mb3J0dW5hdGVseSBmb3IgbWUsIHF1YW50aWZpY2F0aW9uIG9m IHN1bXRpIGNhbiBiZWNvbWUgYSB2ZXJ5IGNvbXBsZXggdG9waWMgd2hlbiB0aGUgaW1wbGljYXRp b25zIG9mIGNlcnRhaW4gcnVsZXMgYXJlIGRpc2N1c3NlZCBpbiBkZXRhaWwuIEluIG9yZGVyIHRv IGZ1bGZpbGwgdGhlIGdvYWwgb2YgdGhpcyB0ZXh0IGJlaW5nIGFjY3VyYXRlIGVub3VnaCB0byBy ZXByZXNlbnQgdGhlIG9mZmljaWFsICJnb2xkIHN0YW5kYXJkIiBCUEZLIHJ1bGVzLCB0aGlzIGNo YXB0ZXIgd2FzIGFtb25nIHRoZSBsYXN0IG9uZXMgZmluaXNoZWQgYW5kIHRoZSBvbmVzIG1vc3Qg ZnJlcXVlbnR5IHJld3JpdHRlbi4gSSBzdHJvbmdseSBlbmNvdXJhZ2UgYW55b25lIHdobyBmaW5k cyBtaXN0YWtlcyBpbiB0aGlzIHRleHQgdG8gY29udGFjdCBtZSBpbiBvcmRlciBmb3IgdGhlbSB0 byBiZSBjb3JyZWN0ZWQuCgpIYXZpbmcgc2FpZCB0aGF0IGRpc2NsYWltZXIsIGxldCdzIGdldCBz dGFydGVkOgoKVGhlIGZpcnN0IGNvbmNlcHQgeW91IHNob3VsZCBrbm93IGFib3V0IGlzICJkaXN0 cmlidXRpdml0eSIuIEluIGxlc3NvbiBmb3VydGVlbiBpIHVzZWQgdGhlIHdvcmQgImluZGl2aWR1 YWxzIiBhYm91dCBhIGdyb3VwIG9mIG9iamVjdHMgY29uc2lkZXJlZCBkaXN0cmlidXRpdmVseS4g QSBkaXN0cmlidXRpdmUgZ3JvdXAgJydrbydhJycgaXMgZm9yIGFueSBzZWxicmkgJydicm9kYScn IGEgZ3JvdXAgc3VjaCB0aGF0LCBpZiAnJ2tvJ2EgYnJvZGEnJyBpcyB0cnVlLCBpdCBtZWFucyB0 aGF0IGV2ZXJ5IG1lbWJlciBvZiB0aGUgZ3JvdXAgYWxzbyBpcyBjaGFyYWN0ZXJpemVkIGJ5ICcn YnJvZGEnJy4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gbm9uLWRpc3RyaWJ1dGl2aXR5ICh3 aGljaCBtYXNzZXMgaGF2ZSksIGluIHdoaWNoIHRoZSBncm91cCBoYXMgb3RoZXIgcHJvcGVydGll cyB0aGFuIGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGRvLiBUaGUgZGlzdGluY3Rpb24gYmV0d2Vl biBkaXN0cmlidXRpdml0eSAoaW5kaXZpZHVhbC1saWtlKSBhbmQgbm9uLWRpc3RyaWJ1dGl2aXR5 IChtYXNzLWxpa2UpIGlzIG9mIHJlbGV2YW5jZSB3aGVuIHF1YW50aWZ5aW5nIHN1bXRpLgoKTGV0 IHVzIGZpcnN0IGNvbnNpZGVyIGhvdyBvbmUgY2FuIHF1YW50aWZ5IGRlY3JpcHRpb24gc3VtdGks IHdoaWNoIGFyZSBzdW10aSBvZiB0aGUgZm9ybSBHQURSSSBCUklWTEEuIFRoZSBudW1iZXIgc3Ry aW5nIHdoaWNoIGRvZXMgdGhlIHF1YW50aWZpY2F0aW9uIGNhbiBiZSBwbGFjZWQgYmVmb3JlIHRo ZSBnYWRyaSwgaW4gd2hpY2ggY2FzZSBpdCBpcyByZWZlcnJlZCB0byBhcyBhbiBfX291dGVyIHF1 YW50aWZpZXJfXywgYW5kIGl0IGNhbiBiZSBwbGFjZWQgYmV0d2VlbiB0aGUgZ2FkcmkgYW5kIHRo ZSBicml2bGEsIGluIHdoaWNoIGNhc2UgaXQncyBhbiBfX2lubmVyIHF1YW50aWZpZXJfXy4gQW55 IGtpbmQgb2YgbnVtYmVyIHN0cmluZyBjYW4gYWN0IGFzIGEgcXVhbnRpZmllci4KClRoZSBydWxl cyBmb3IgaG93IGlubmVyIGFuZCBvdXRlciBxdWFudGlmaWVycyBhZmZlY3RzIHN1bXRpIGRlcGVu ZCBvbiB0aGUga2luZCBvZiBnYWRyaSB3aGljaCBpcyB1c2VkOgoKCgotIC0nJ2xvJycgYW5kICcn bGUnJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55IG9iamVjdHMgYXJl IGJlaW5nIHNwb2tlbiBvZiAtIGhvdyBtYW55IG9iamVjdHMgYXJlIGluIHRoZSBkaXNjb3Vyc2Ug dG90YWwuIElmIGFuIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgdGhlIHN1bXRpIGlzIGRp c3RyaWJ1dGVkIG92ZXIgdGhhdCBhbW91bnQgb2Ygb2JqZWN0cy4gQXMgc3RhdGVkIGVhcmxpZXIs IGlmIG5vIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQncyB2YWd1ZSBob3cgbWFueSBv YmplY3RzIHRoZSBzZWxicmkgYXBwbGllcyB0byAodGhvdWdoIG5vdCBub25lKSwgYW5kIHdoZXRo ZXIgaXQgZG9lcyBzbyBkaXN0cmlidXRpdmVseSBvciBub24tZGlzdHJpYnV0aXZlbHkuIEV4YW1w bGVzIGFyZSBhbHdheXMgYSBnb29kIGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CgonJ211IGxvIG11 IGJha25pIGN1IHNlIGppcm5hJycgLSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxz IHVzIHRoYXQgd2Ugc3BlYWsgYWJvdXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91 dGVyIHF1YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBm b3IgZWFjaCBvZiB0aGUgZml2ZS4gVGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNv d3MgaGFkIGhvcm5zIi4gCgpfXycnYmFrbmknJ19fIHgxIGlzIGEgY293L294L2NhdHRsZS9jYWxm IGV0YyBvZiBicmVlZCB4MgoKX18nJ2ppcm5hJydfXyB4MSBpcyB0aGUgaG9ybiBvZiB4MiAobWV0 YXBob3I6IGFueSBwb2ludGVkIGV4dHJlbWl0eSkKCgoKV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcg YnJpZGkgbWVhbj8KCicnbG8gcnUndXJndWJ1cHUgYmUgbGkgcmUgcGkgemUgbXUgY3UgamRpbWEg bG8gcGEgcmUgc292ZGEnJwoKX18nJ3J1J3VyZ3VidXB1JydfXyB4MSBpcyBtZWFzdXJlcyB0byBi ZSB4MiBCcml0aXNoIHBvdW5kcyAoR0JQKQoKX18nJ2pkaW1hJydfXyB4MSBpcyB0aGUgcHJpY2Ug b2YgeDIgdG8gYnV5ZXIgeDMgc2V0IGJ5IHZlbmRvciB4NAoKX18nJ3NvdmRhJydfXyB4MSBpcyBh IGdhbWV0ZSAoZWdnL3NwZXJtKSBvZiB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlR3ZWx2ZSBl Z2dzIGNvc3QgMi43NSBCcml0aXNoIHBvdW5kcyIgd2hpY2gsIGFzIHRoZSBFbmdsaXNoIHRyYW5z bGF0aW9uLCBjb3VsZCBtZWFuIGJvdGggdGhhdCB0aGV5IGNvc3QgMi43NSBlYWNoIChkaXN0cmli dXRpdmVseSkgb3IgdGhhdCBhbGwgdHdlbHZlIHRvZ2V0aGVyIGNvc3QgMi43NSAobm9uLWRpc3Ry aWJ1dGl2ZWx5KX5+CgoKCicnc28gbGUgdGEgcGEgcGEgY2knZXJrZWkgY3UgY2xhbWF1IG1pJycg KG5vdGljZSB0aGF0IHRoZSAnJ3RhJycgZ29lcyBiZWZvcmUgdGhlIGlubmVyIHF1YW50aWZpZXIp CgpfXycnY2knZXJrZWknJ19fIHgxIHBsYXlzIGdhbWUgeDIgZ292ZW5lcmQgYnkgcnVsZXMgeDMg aW50ZXJyZWxhdGluZyBnYW1lIHBhcnRzIHg0IHt0aGlzIGlzIHVzZWQgdG8gdHJhbnNsYXRlICJw bGF5IiBpbiB0aGUgc2Vuc2UgInBsYXkgYSBnYW1lIiByYXRoZXIgdGhhbiwgZm9yIGluc3RhbmNl ICJwbGF5aW5nIHByZXRlbmQiIG9yICJwbGF5aW5nIEhvdXNlIn0KCl9fJydjbGFtYXUnJ19fIHgx IGlzIHRhbGxlci9sb25nZXIgdGhhbiB4MiBpbiBkaXJlY3Rpb24geDMgbXkgbWFyaWdpbiB4NAoK QW5zd2VyOiB+fmdyZXksZ3JleTpUaGUgaW5uZXIgc3RhdGVzIHRoZXJlIGFyZSAxMSBwbGF5ZXJz IGluIHRoZSBkaXNjb3Vyc2UsIGFuZCB0aGUgb3V0ZXIgc3RhdGVzIHRoYXQgdGhlIHNlbGJyaSBh cHBsaWVzIHRvIG5pbmUgb2YgdGhlbSBkaXN0cmlidXRpdmVseS4gVGh1cyBpdCBtZWFucyAiTmlu ZSBvZiB0aGUgZWxldmVuIHBsYXllcnMgYXJlIHRhbGxlciB0aGFuIG1lIn5+CgoKClRoZXJlIGFy ZSBhIGZldyBwb2ludHMgdGhhdCBuZWVkcyB0byBiZSByYWlzZWQgcmVnYXJkaW5nIHF1YW50aWZp Y2F0aW9uIG9mICcnbG8nJy8nJ2xlJyc6CgpGaXJzdGx5LCAnJ2xvJycgaXMgdW5pcXVlIGluIHRo YXQgIntudW1iZXJ9IHtzZWxicml9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2xvJycge3Nl bGJyaX0iLiBUaGVyZWZvcmUsICcnY2kgZ2Vya3UgY3UgYmF0Y2kgcmUgbmFubXUnJyBpcyBkZWZp bmVkIHRvIGJlICcnY2kgbG8gZ2Vya3UgY3UgYmF0Y2kgcmUgbG8gbmFubXUnJywgd2hpY2ggY29u c2lkZXJzIGJvdGggdGhlIGdyb3VwIG9mIGRvZ3MgYW5kIHRoZSBncm91cCBvZiBtZW4gZGlzdHJp YnV0aXZlbHkuIFRoZXJlZm9yZSwgZWFjaCBvZiB0aGUgdGhyZWUgZG9ncyBiaXQgZWFjaCBvZiB0 aGUgdHdvIG1lbiwgd2l0aCBzaXggYml0aW5nIGV2ZW50cyBpbiB0b3RhbC4KCl9fJydiYXRjaScn X18geDEgYml0ZXMvcGluY2hlcyB4MiBhdCBsb2N1cyB4MyB1c2luZyB4NCBhcyBwaW5jaGluZyB0 b29sLgoKU2Vjb25kbHk6IFdoYXQgaWYgdGhlcmUgaXMgbm8gb3V0ZXIgcXVhbnRpZmllcj8gRG9l cyB0aGlzIG1lYW4gdGhhdCBpdCBfX2lzX18gdGhlcmUsIGJ1dCBpdCdzIGVsaWRlZD8gTm9wZS4g SWYgdGhlcmUgaXMgYW55IGtpbmQgb2Ygb3V0ZXIgcXVhbnRpZmllciwgZWxpZGVkIG9yIG5vdCwg aXQgd291bGQgZm9yY2UgdGhlIHN1bXRpIHRvIGJlIGRpc3RyaWJ1dGl2ZSwgd2hpY2ggd291bGQg bWVhbiB0aGF0IG5laXRoZXIgJydsbycnIG5vciAnJ2xlJycgY291bGQgYmUgdXNlZCB0byBkZXNj cmliZSBtYXNzZXMuIFRoZXJlZm9yZSwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50 LCBpdCdzIG5vdCBvbmx5IGVsaWRlZCAtIGl0J3Mgc2ltcGx5IG5vdCB0aGVyZS4gU3VtdGkgd2l0 aG91dCBhbiBvdXRlciBxdWFudGlmaWVyIGNhbiBiZSByZWZlcnJlZCB0byBhcyAiY29uc3RhbnRz IiwgZXZlbiB0aG91Z2ggSSB3b24ndC4KClRoaXJkbHksIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGhh dmUgYW4gb3V0ZXIgcXVhbnRpZmllciB3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgaW5uZXIgb25l LiBJdCBtZWFucyB0aGF0IHRoZSBzZWxicmkgaG9sZHMgdHJ1ZSBmb3IgbW9yZSBzdW10aSB0aGFu IGFyZSBwcmVzZW50IGluIHRoZSBkaXNjb3Vyc2UgLSBidXQgc2luY2UgdGhleSBhcHBlYXIgaW4g YSBicmlkaSwgdGhleSBfX2FyZV9fIHBhcnQgb2YgdGhlIGRpc2NvdXJzZS4gSXQncyBncmFtbWF0 aWNhbCB0byBkbyBpdCwgdGhvdWdoLgoKTGFzdGx5LCBwbGFjaW5nIGEgJydsbycnIG9yIGEgJyds ZScnIGluIGZyb250IG9mIGEgc3VtdGkgaXMgZ3JhbW1hdGljYWwsIGlmIHRoZXJlIGlzIGFuIGlu bmVyIHF1YW50aWZpZXIgcHJlc2VudC4gIicnbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIg aXMgZGVmaW5lZCBhcyAiJydsbycnLycnbGUnJyB7bnVtYmVyfSAnJ21lJycge3N1bXRpfSIuCgpT byB3aGF0IHdvdWxkIHRoaXMgbWVhbj8gJydtaSBuZWxjaSBsb2kgbWkgYnJpanUga2Fuc2EgLmkg a3UnaSBjaSBsbyByZSBtdSBqaSdpIHJpIGN1IGxhem5pJycKCl9fJydicmlqdScnJ19fIHgxIGlz IGFuIG9mZmljZSBmb3Igd29ya2VyIHgyIGF0IGxvY2F0aW9uIHgzCgpfXycna2Fuc2EnJ19fIHgx IGFjY29tcGFuaWVzIHgyIGluIGFjdGlvbi9zdGF0ZS9lbnRlcnByaXNlIHgzCgpfXycnbGF6bmkn J19fIHgxIGlzIGxhenksIGF2b2lkaW5nIHdvcmsgY29uY2VybmluZyB4MgoKQW5zd2VyOiB+fmdy ZXksZ3JleToiSSBsaWtlIG15IGNvLXdvcmtlcnMsIGJ1dCB0aHJlZSBvdXQgb2YgYWJvdXQgdHdl bnR5IGZpdmUgb2YgdGhlbSBhcmUgbGF6eSJ+fgoKCgotIC0nJ2xhJyctIC0gQW4gaW5uZXIgcXVh bnRpZmllciBpcyBncmFtbWF0aWNhbCBpZiB0aGUgbmFtZSBpcyBhIHNlbGJyaSAtIGluIHRoaXMg Y2FzZSwgaXQncyBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIHF1YW50aWZp ZXIgaXMgdXNlZCB0byBxdWFudGlmeSBkaXN0cmlidXRpdmVseSBvdmVyIHN1Y2ggaW5kaXZpZHVh bHMgKG11Y2ggbGlrZSAnJ2xvJycvJydsZScnKSBJdCdzIGdyYW1tYXRpY2FsIHdoZW4gcGxhY2Vk IGluIGZyb250IG9mIHtudW1iZXJ9IHtzdW10aX0sIGluIHdoaWNoIGNhc2UsIHRoZSBib3RoIHRo ZSBudW1iZXIgYW5kIHRoZSBzdW10aSBpcyBjb25zaWRlcmVkIHRoZSBuYW1lLgoKCgpUcmFuc2xh dGUgdGhpczogJydyZSBsYSBjaSBiYXJndSBjdSBqaWJuaSBsZSBtaSB6ZGFuaScnCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OiBUd28gIlRoZSBUaHJlZSBBcmNoZXMiIGFyZSBsb2NhdGVkIGNsb3NlIHRv IG15IGhvdXNlIiAoUGVyaGFwcyBUaGUgVGhyZWUgQXJjaGVzIGFyZSBhIGtpbmQgb2YgcmVzdGF1 cmFudD8pfn4KCgoKLSAtJydsb2knJyBhbmQgJydsZWknJy0gLSBBbiBpbm5lciBxdWFudGlmaWVy IHRlbGxzIHVzIGhvdyBtYW55IG1lbWJlcnMgdGhlcmUgYXJlIGluIHRoZSBtYXNzL21hc3NlcyBp biBxdWVzdGlvbi4gQW4gb3V0ZXIgcXVhbnRpZmllciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5 IHshfSBvdmVyIHRoZXNlIG1hc3NlcwoKTm90aWNlIGhlcmUgdGhhdCB3aGlsZSBtYXNzZXMgY29u c2lzdCBvZiBhIG51bWJlciBvZiBvYmplY3RzIGNvbnNpZGVyZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5 LCBhbiBvdXRlciBxdWFudGlmaWVyIGFsd2F5cyB0cmVhdHMgZWFjaCBvZiB0aGVzZSBtYXNzZXMg YXMgYW4gaW5kaXZpZHVhbC4KCldoZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBzdHJpbmcsIHRo ZW4gYSBzdW10aSwgJydsb2knJy8nJ2xlaScnIGlzIGRlZmluZWQgYXMgIicnbG8gZ3VubWEgYmUg bG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIG1hc3MgY29uc2lzdGluZyBvZiB0 aGUge251bWJlcn0gb2Yge3N1bXRpfSIuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoaXM6ICcn cmUgZGVpIGd1bm1hIHJlIGxvaSB6ZSB2YWxzaSAuaSBjYSdlIHBhIGRlaSBqYWkgZ2F1IGpldG51 JycKCl9fJydndW5tYScnX18geDEgaXMgYSBtYXNzIG9mIHRoZSBpbmRpdmlkdWFscyB4MgoKX18n J3ZhbHNpJydfXyB4MSBpcyBhIHdvcmQsIG1lYW5pbmcgeDIgaW4gbGFuZ3VhZ2UgeDMKCl9fJydj YSdlJydfXyBBdHRpdHVkaW5hbDogRXZpZGVudGlhbDogSSBkZWZpbmUKCl9fJydqZXRudScnX18g eDEgaXMgdHJ1ZSBhY2NvcmRpbmcgdG8gbWV0YXBoeXNpY3MvZXBpc3RlbW9sb2d5IHgyCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OiAiVGhlc2UgdHdvIHV0dGVyYW5jZXMgYXJlIGEgbWFzcywgY29uc2lz dGluZyBvZiB0d28gaW5kaXZpZHVhbCBtYXNzZXMgZWFjaCBvZiBzZXZlbiB3b3Jkcy4gSSBkZWZp bmU6IFRoaXMgb25lIHV0dGVyYW5jZSBjYXVzZXMge2l0fSB0byBiZSB0cnVlLiJ+fgoKCgotIC0n J2xhaScnLSAtIE11Y2ggbGlrZSAnJ2xhJycsIGFuIGlubmVyIHF1YW50aWZpZXIgKHdoZW4gbmFt ZSBpcyBhIHNlbGJyaSkgaXMgcGFydCBvZiB0aGUgbmFtZS4gQW4gb3V0ZXIgb25lIHF1YW50aWZp ZXMgZGlzdHJpYnV0aXZlbHkuIEJlZm9yZSBhIG51bWJlcitzdW10aSwgYm90aCB0aGUgc3VtdGkg YW5kIHRoZSBudW1iZXIgbWFrZSB1cCB0aGUgbmFtZS4KCldoZW4gYSBmcmFjdGlvbiBpcyB1c2Vk IGFzIGFuIG91dGVyIHF1YW50aWZpZXIgdG8gcXVhbnRpZnkgJydsb2knJywgJydsZWknJyBvciAn J2xhaScnLCBvbmUgc3BlYWtzIGFib3V0IG9ubHkgcGFydCBvZiB0aGUgbWFzcyAoZm9yIGluc3Rh bmNlLCAiaGFsZiBvZiB0aGUgSm9obnNvbnMiIC0gJydwaSBtdSBsYWkgLmRqYW5zeW4uJycpLgoK CgotIC0nJ2xvJ2knJyBhbmQgJydsZSdpJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBkZXNjcmli ZXMgdGhlIGFtb3VudCBvZiBtZW1iZXJzIG9mIHRoZSBzZXQuIEFuIG91dGVyIHF1YW50aWZpZXMg ZGlzdHJpYnV0aXZlbHkgb3ZlciBzZXZlcmFsIG9mIHN1Y2ggc2V0cy4gV2hlbiBwbGFjZWQgYmVm b3JlIGEgbnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJl ICcnbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBvZiB7bnVtYmVyfSB7 c3VtdGl9Ii4KCgoKVHJhbnNsYXRlICcnbG8naSBybyBzZSBjaW5raSBjdSBicmFtYXUgbGEnYSBw YSBubyBubyBsbydpIHJvIHNlIGJvZ3lrYW1qdSBqdXRzaScnCgpfXycnY2lua2knJ19fIHgxIGlz IGFuIGluc2VjdCBvZiBzcGVjaWVzIHgyCgpfXycnbGEnYScnX18gQXR0aXR1ZGluYWw6IERpc2N1 cnNpdmU6IFByb2JhYmx5CgpfXycnYnJhbWF1JydfXyB4MSBpcyBiaWdnZXIgdGhhbiB4MiBpbiBk aW1lbnNpb24geDMgYnkgbWFyaWdpbiB4NAoKX18nJ2JvZ3lrYW1qdScnX18geDEgaXMgdGhlIHNw aW5lIG9mIHgyCgpfXycnanV0c2knJ19fIHgxIGlzIHRoZSBzcGVjaWVzIG9mIGdlbnVzIHgyLCBm YW1pbHkgeDMgLi4uIChvcGVuIGVuZGVkIGNsYXNzaWZpY2F0aW9uKQoKQW5zd2VyOiB+fmdyZXks Z3JleTogIlRoZSBzZXQgb2YgYWxsIHRoZSBzcGVjaWVzIG9mIGluc2VjdHMgaXMgcHJvYmFibHkg YmlnZ2VyIHRoYW4gb25lIGh1bmRyZWQgc2V0cyBvZiBhbGwgc3BlY2llcyBvZiB2ZXJ0ZWJyYXRl cyJ+fgoKCgotIC0nJ2xhJ2knJy0gLSBBcyB3aXRoICcnbGFpJycKCkxpa2Ugd2l0aCB0aGUgbWFz cyBnYWRyaSwgYW4gb3V0ZXIgcXVhbnRpZmllciBiZWZvcmUgYSBzZXQgZ2FkcmkgZW5hYmxlcyBv bmUgdG8gc3BlYWsgYWJvdXQgYSBmcmFjdGlvbiBvZiBhIHNldC4gSW4gZnJvbnQgb2YgYSBudW1i ZXIgYW5kIGEgc3VtdGksIGl0J3MgZGVmaW5lZCBhcyAiJydsbyBzZWxjbWkgYmUgbGEnJyB7bnVt YmVyfSB7c3VtdGl9IiAtICJUaGUgc2V0IGNvbnNpc3Rpbmcgb2YgVGhlIHtOdW1iZXJ9IHtTdW10 aX0iIChjb25zaWRlcmVkIGEgbmFtZSkKCgoKLSAtJydsbydlJycgYW5kICcnbGUnZScnLSAtIEFy ZSBmb3Igc29tZSByZWFzb24gbm90IGluY2x1ZGVkIGluIHRoZSBjdXJyZW50bHkgYWNjZXB0ZWQg Z2FkcmkgcHJvcG9zYWwuIElmIG9uZSB3ZXJlIHRvIGV4dGVuZCB0aGUgcnVsZXMgb2YgYW5vdGhl ciBnYWRyaSwgJydsbycnLycnbGUnJyB3b3VsZCBwcm9iYWJseSBiZSB0aGUgYmVzdCBjaG9pY2Ug KHNpbmNlIGJvdGggb3BlcmF0ZXMgd2l0aCBpbmRpdmlkdWFscyByYXRoZXIgdGhhbiBncm91cHMp LCBhbmQgc28gb25lIHdvdWxkIGV4cGVjdCB0aGUgb3V0ZXIgcXVhbnRpZmllciB0byBmb3JjZSBk aXN0cmlidXRpdml0eSBvdmVyIHRoZSBhbW91bnQgb2YgdHlwaWNhbC9zdGVyZW90eXBpY2FsIHRo aW5ncyBnaXZlbiBieSB0aGUgaW5uZXIgcXVhbnRpZmllci4KCgoKV2hlbiBxdWFudGlmeWluZyBz dW1rYSdpIHJlcHJlc2VudGluZyBzZXZlcmFsIG9iamVjdHMsIGl0IGlzIHVzZWZ1bCB0byByZW1l bWJlciB0aGF0IHRoZXkgYXJlIHVzdWFsbHkgbWFzc2VzLiBCeSBkZWZpbml0aW9uLCAie251bWJl cn0ge3N1bXRpfSIgaXMgZGVmaW5lZCBhcyAie251bWJlcn0gJydkYSBwb2kga2UnYSBtZScnIHtz dW10aX0iLiBZb3Ugd2lsbCBub3QgYmUgZmFtaWxpYXIgd2l0aCAnJ2RhJycgdW50aWwgYSBmZXcg bGVzc29ucyBsYXRlciwgc28gdGFrZSBpdCBvbiBmYWl0aCB0aGF0IGl0IG1lYW5zICJzb21ldGhp bmciIGluIHRoaXMgY29udGV4dC4gVGhlcmVmb3JlLCAnJ2NpIG1pJycgbWVhbnMgIlR3byBvZiB0 aG9zZSB3aG8gYmVsb25nIHRvICJ1cyIiLiBXaGVuIHF1YW50aWZ5aW5nIHN1Y2ggbWFzc2VzLCBp dCBjYW4gc2FmZWx5IGJlIGFzc3VtZWQgdGhhdCB0aGUgcmVsYXRpb24gaW1wbGllZCBieSAnJ21l JycgaXMgbWVtYmVyc2hpcCBvZiB0aGUgbWFzcywgYW5kIHRoZXJlZm9yZSAnJ2NpIG1pJycgaXMg IlRocmVlIG9mIHVzIi4KCgoKU29tZSBpbXBvcnRhbnQgdXNlcyBvZiBxdWFudGlmaWNhdGlvbiBy ZXF1aXJlcyB5b3UgdG8gYmUgcXVhbnRpZnkgc2VsYnJpIG9yIG9iamVjdHMgd2hvc2UgaWRlbnRp dHkgaXMgdW5rbm93bi4gVGhpcyBpcyBkb25lIGJ5ICJsb2dpY2FsbHkgcXVhbnRpZmllZCB2YXJp YWJsZXMiLiBUaGVzZSwgYXMgd2VsbCBhcyBob3cgdG8gcXVhbnRpZnkgdGhlbSB3aWxsIGJlIGNv dmVyZWQgaW4gbGVzc29ucyB0d2VudHktc2V2ZW4uCgoKCkxhc3RseSwgaG93IGNhbiB5b3UgcXVh bnRpZnkgdW5jb3VudGFibGUgc3Vic3RhbmNlcyBsaWtlIHN1Z2FyIG9yIHdhdGVyPyBPbmUgc29s dXRpb24gaXMgdG8gcXVhbnRpZnkgaXQgdXNpbmcgaW5leGFjdCBudW1iZXJzLiBUaGlzIHVzZSBp cyB2YWd1ZSwgbm90IG9ubHkgYmVjYXVzZSB0aGUgdmFsdWUgb2YgdGhlIG51bWJlciBpcyB2YWd1 ZSwgYnV0IGFsc28gYmVjYXVzZSBpdCdzIG5vdCBzcGVjaWZpZWQgb24gd2hhdCBzY2FsZSB5b3Un cmUgY291bnRpbmc6IFRoZSBzdWdhciBjb3VsZCBiZSBjb25zaWRlcmVkIGEgZ3JvdXAgb2YgbWFu eSBjcnlzdGFscywgY291bnRlZCBvbmUgYXQgYSB0aW1lLCBhbmQgdGhlIHdhdGVyIGNvdWxkIGJl IHF1YW50aWZpZWQgYnkgdGhlIGFtb3VudHMgb2YgcmFpbmRyb3BzIGl0IHRvb2sgdG8gbWFrZSB0 aGUgYm9keSBvZiB3YXRlciBpbiBxdWVzdGlvbi4gV2hpbGUgdGhpcyB3YXkgb2YgY291bnRpbmcg aXMgbGVnaXRpbWF0ZSwgaXQncyBub3QgdmVyeSBleGFjdCBhbmQgY2FuIGVhc2lseSBjb25mdXNl IG9yIG1pc2xlYWQuCgpBIHdheSB0byBiZSBleHBsaWNpdCBhYm91dCBub24tY291bnRhYmlsaXR5 IGlzIHRvIHVzZSB0aGUgbnVsbCBvcGVyYW5kICcndHUnbycnIGFzIGFuIGlubmVyIHF1YW50aWZp ZXIuCgpfXycndHUnbycnX18gTnVsbCBvcGVyYW5kICggw5ggKS4gVXNlZCBpbiB1bmFyeSBtZWtz by4KClRoaXMgc29sdXRpb24gaXMgZWxlZ2FudCBhbmQgaW50dWl0aXZlLCBhbmQgYWxzbyBnaXZl cyBtZSBhbiBleGN1c2UgdG8gcXVvdGUgdGhpcyBob3JyaWZ5aW5nLCB5ZXQgY29taWNhbCBleGFt cGxlIGZyb20gdGhlIG9yaWdpbmFsICcneG9ybG8nJy1wcm9wb3NhbDoKCicnbGUgbmFubXUgY3Ug c2Ugc251dGkgLmkgamEnZSBibyBsbyB0dSdvIGdlcmt1IGN1IGt1c3BlIGxlIGtsYWppJycKCl9f JydzbnV0aScnX18geDEgaXMgYW4gYWNjaWRlbnQgb24gdGhlIHBhcnQgb2YgeDIKCl9fJydqYSdl JydfXyBzdW10Y2l0YTogQkFJOiAoZnJvbSAnJ2phbGdlJycpOiBCcmlkaSByZXN1bHRzIGluIHtz dW10aX0gCgpfXycna3VzcGUnJ19fIHgxIHNwYW5zL2V4dGVuZHMgb3ZlciB4MgoKX18nJ2tsYWpp JydfXyB4MSBpcyBhIHJvYWQvYXZlbnVlL3N0cmVldCBhdCB4MiBhY2Nlc3NpbmcgeDMKCgoKV2hh dCBkb2VzIGl0IG1lYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIG1hbiBoYWQgYW4gYWNj aWRlbnQgYW5kIHNvIHRoZXJlIHdhcyBkb2cgYWxsIG92ZXIgdGhlIHJvYWQifn4KCgoKQSBzZWNv bmQgbWV0aG9kIG9mIHF1YW50aWZ5aW5nIHN1YnN0YW5jZXMgaXMgdG8gdXNlIHRoZSB0ZW5zZXMg Jyd2ZSdpJycsICcndmUnYScnIGFuZCAnJ3ZlJ3UnJyBhcyBtZW50aW9uZWQgaW4gbGVzc29uIHRl bjoKCicndGkgdmUnaSBkamFjdScnIC0gVGhpcyBpcyBhIHNtYWxsIGFtb3VudCBvZiB3YXRlcgoK X18nJ2RqYWN1JydfXyB4MSBpcyBhbiBleHBhbnNlIG9mIHdhdGVyL2lzIG1hZGUgb2Ygd2F0ZXIv Y29udGFpbnMgd2F0ZXIKCgoKVGhpcmRseSwgb2YgY291cnNlLCB5b3UgY291bGQgdXNlIGEgYnJp dmxhIHRvIGdpdmUgYW4gZXhhY3QgbWVhc3VyZW1lbnQ6CgonJ2xlIHRhIGRqYWN1IGN1IGtpJ29n cmEgYmUgbGkgcmUgcGkga2knbyBraSdvJycgLSAiVGhhdCB3YXRlciBoYXMgYSBtYXNzIG9mIDIu MDAwIDAwMCBraWxvZ3JhbXMiCgpfXycna2knb2dyYScnX18geDEgbWVhc3VyZXMgaW4gbWFzcyB4 MiBraWxvZ3JhbXMgYnkgc3RhbmRhcmQgeDMKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0 d2VudHktdGhyZWUgKG5lZ2F0aW9uKQoKU29tZXRpbWVzLCBqdXN0IHNheWluZyB3aGF0J3MgdGhl IHRydXRoIGlzIG5vdCBlbm91Z2guIE9mdGVuLCB3ZSB3YW50IHRvIHNwZWNpZnkgd2hhdCdzIG5v dCB0aGUgdHJ1dGgsIGFuZCB3ZSBkbyB0aGlzIGJ5IHVzaW5nIG5lZ2F0aW9uLgoKTmVnYXRpb24g aW4gRW5nbGlzaCBtb3N0bHkgaW52b2x2ZXMg4oCcbm904oCdLCBhbmQgaXMgY29tcGxldGVseSBh cmJpdHJhcnkgYW5kIGFtYmlndW91cy4gV2UsIGFzIExvamJhbmlzdHMsIGNhbid0IGhhdmUgdGhh dCwgb2YgY291cnNlLCBzbyBMb2piYW4gY29udGFpbnMgYW4gZWxlZ2FudCBhbmQgdW5hbWJpZ2lv dXMgc3lzdGVtIGZvciBuZWdhdGluZy4gV2hhdCB3aWxsIGJlIHByZXNlbnRlZCBoZXJlIGFyZSB0 aGUgb2ZmaWNpYWwgZ29sZC1zdGFuZGFyZCBydWxlcy4gRGlzYXBwcm92YWwgb2YgdGhlc2UgImdv bGRlbiBydWxlcyIgY29uY2VybmluZyAnJ25hJycgaXMgZ3Jvd2luZywgYW5kIHRoZXJlIGlzIGRp c2FncmVlbWVudCBhYm91dCB3aGF0IHJ1bGUgc2V0IHNob3VsZCByZXBsYWNlIGl0LiBGb3Igbm93 LCBJIHdpbGwgc3RpY2sgd2l0aCB0aGUgb2ZmaWNpYWwgcnVsZXMsIGFuZCB0aGVyZWZvcmUsIHNv IHdpbGwgeW91LCBkZWFyIHJlYWRlci4KClRoZSBmaXJzdCB5b3UgbmVlZCB0byBrbm93IGFib3V0 IGlzIGJyaWRpIG5lZ2F0aW9uLCBzbyBjYWxsZWQgYmVjYXVzZSBpdCBuZWdhdGVzIHRoZSBicmlk aSBpdCdzIGluLCBzYXlpbmcgaXQncyBub3QgdHJ1ZS4gVGhlIHdheSB0byBuZWdhdGUgYSBicmlk aSBpcyB0byBwbGFjZSAnJ25hJycgZmlyc3QgaW4gdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2t1Jycg YWZ0ZXIgaXQsIG9yIGp1c3QgYmVmb3JlIHRoZSBzZWxicmkuIAoKX18nJ3NwZW5pJydfXyB4MSBp cyBtYXJyaWVkIHRvIHgyIHVuZGVyIGNvbnZlbnRpb24geDMKClRodXM6ICcnbmEga3UgbGUgbWkg c3BlbmkgY3UgbmlubXUnJyBzdGF0ZXMgdGhhdCDigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7i gJ0uIEl0IHN0YXRlcyBub3RoaW5nIGFib3V0IHdoYXQgbXkgd2lmZSBpcywgb3IgaWYgSSBldmVu IGhhdmUgYSB3aWZlLiBJdCBvbmx5IHN0YXRlcyB0aGF0IEkgZG8gbm90IGhhdmUgYSB3aWZlIHdo byBpcyBhbHNvIGEgd29tYW4uIFRoaXMgaGFzIGFuIGltcG9ydGFudCBpbXBsaWNhdGlvbjogSWYg dGhlIG5lZ2F0aW9uIG9mIGEgYnJpZGkgaXMgZmFsc2UsIHRoZSBicmlkaSBtdXN0IGJlIHRydWU6 ICcnbmEga3UgbGUgbWkgc3BlbmkgY3UgbmEgbmlubXUnJyBtdXN0IG1lYW4gdGhhdCBJIGhhdmUg Ym90aCBhIHNwb3VzZSwgYW5kIHRoYXQgc2hlIGlzIGEgc2hlLgoKSXQgaXMgcG9zc2libGUgdG8g dXNlIGJyaWRpIG5lZ2F0aW9ucyBpbiBhbGwgYnJpZGksIGV2ZW4gdGhlIGltcGxpY2l0IGJyaWRp IG9mIGRlc2NyaXB0aXZlIHN1bXRpLiAnJ2xvIG5hIHByZW51JycgY2FuIHJlZmVyIHRvIGFueXRo aW5nIG5vbi1odW1hbiwgd2hldGhlciBpdCBiZSBhIHNwaGlueCwgYSBiYXNlYmFsbCBvciB0aGUg cHJvcGVydHkgb2YgYXBwcm9wcmlhdGVuZXNzLgoKCgpfXycnYmF1JydfXyBzdW10Y2l0YSwgZnJv bSBiYW5ndTogdXNpbmcgdGhlIGxhbmd1YWdlIG9mIHtzdW10aX0KCl9fJydzZSBqYSdlJydfXyBz dW10Y2l0YSwgZnJvbSBzZSBqYWxnZTogYmVjYXVzZSBvZiB7c3VtdGl9CgoKCk9mdGVuIHdoZW4g dXNpbmcgJyduYScnLCBpdCdzIGEgcHJvYmxlbSB0aGF0IGl0IG5lZ2F0ZXMgdGhlIGVudGlyZSBi cmlkaS4gSWYgSSBzYXkgJydtaSBuYSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2Ug bGUgbnUgbWkgZG90Y28nJywgSSBlbmQgdXAgbmVnYXRpbmcgdG9vIG11Y2gsIGFuZCBpdCBpcyBu b3QgY2xlYXIgdGhhdCBJIHdhbnRlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdC4g VGhlIHNlbnRlbmNlIGNvdWxkIHN1Z2dlc3QgdGhhdCBJIGluIGZhY3Qgc3BlYWsgZmFzdCBiZWNh dXNlIG9mIHNvbWUgb3RoZXIgcmVhc29uLCBmb3IgaW5zdGFuY2UgdGhhdCBJIHNwZWFrIGZhc3Qg aW4gRnJlbmNoIGJlY2F1c2UgSSdtIEdlcm1hbi4gVG8gZXhwcmVzcyB0aGUgc2VudGVuY2UgbW9y ZSBwcmVjaXNlbHksIEkgbmVlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdCwgYW5k IG5vdCB0aGUgb3RoZXIgdGhpbmdzLgoKVG8gb25seSBuZWdhdGUgcGFydCBvZiBhIGJyaWRpLCAn J25hIGt1JycgY2FuIGJlIG1vdmVkIGFyb3VuZCB0aGUgYnJpZGkgYW5kIHBsYWNlZCBhbnl3aGVy ZSBhIHN1bXRpIGNhbiBnby4gSXQgdGhlbiBuZWdhdGVzIGFueSBzdW10aSwgc2VsYnJpIGFuZCBz dW10Y2l0YSBwbGFjZWQgYWZ0ZXIgaXQuIFdoZW4gcGxhY2VkIGltbWVkaWF0ZWx5IGJlZm9yZSB0 aGUgc2VsYnJpLCB0aGUgJydrdScnIGNhbiBiZSBlbGlkZWQuCgpNb3ZpbmcgJyduYSBrdScnIGZy b20gdGhlIGxlZnQgZW5kIG9mIHRoZSBicmlkaSBhbmQgcmlnaHR3YXJkcyBlZmZlY3RzIGFueSBx dWFudGlmaWVycyBpbiBhIGNlcnRhaW4gd2F5LCBhcyBjYW4gYmUgc2VlbiBieSB0aGlzIGV4YW1w bGU6CgoKClRoZXJlIGFyZSBmb3JjZXMgd2l0aGluIHRoZSBMb2piYW4gY29tbXVuaXR5IHdobywg cGVyaGFwcyByaWdodGx5LCB0aGluayB0aGF0IHRoZXJlIGlzIG5vIGdvb2QgcmVhc29uIHRoYXQg YSAnJ25hJycgcGxhY2VkIGJlZm9yZSBhIHNlbGJyaSBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGks IHdoZXJlYXMgYSAnJ25hIGt1JycgYW55IG90aGVyIHBsYWNlIG5lZ2F0ZXMgb25seSB3aGF0IGlz IHRyYWlsaW5nIGJlaGluZCBpdC4gSG93ZXZlciwgaW4gdGhlc2UgbGVzc29ucyB5b3Ugd2lsbCBi ZSB0YXVnaHQgd2hhdCBpcyBzdGlsbCB0aGUgb2ZmaWNpYWwgc3RhbmNlLCBuYW1lbHkgdGhhdCAn J25hJycgYmVmb3JlIHRoZSBzZWxicmkgbmVnYXRlcyB0aGUgYnJpZGkuCgoKClRoZSB1c2Ugb2Yg JyduYSBrdScnIGlzIGV4ZW1wbGlmaWVkIHdpdGggdGhlIGZvbGxvd2luZyBleGFtcGxlcy4KCicn bmEga3Ugcm8gcmVtbmEgY3UgdmVyYmEnJyDigJxJdCdzIG5vdCB0cnVlIHRoYXQ6IEFsbCBodW1h bnMgYXJlIGNoaWxkcmVu4oCdCgonJ3N1J28gcmVtbmEgbmEga3UgY3UgdmVyYmEnJyDigJxGb3Ig YXQgbGVhc3Qgb25lIGh1bWFuIGl0J3Mgbm90IHRydWUgdGhhdDogSXQncyBhIGNoaWxk4oCdLiBT ZWUgdGhhdCB0aGUgJyduYSBrdScnIGlzIHBsYWNlZCBiZWZvcmUgJydjdScnLCBzaW5jZSBhIHN1 bXRpIGNhbiBnbyBvbmx5IGJlZm9yZSwgbm90IGFmdGVyIHRoZSAnJ2N1JycuIEhhZCBJIG9ubHkg dXNlZCAnJ25hJycsIGl0IHdvdWxkIGhhdmUgdG8gZ28gYWZ0ZXIgJydjdScnIC0gYnV0IHRoYXQg d291bGQgaGF2ZSBuZWdhdGVkIHRoZSBlbnRpcmUgYnJpZGksIG1lYW5pbmcgIkl0J3Mgbm90IHRy dWUgdGhhdDogQXQgbGVhc3Qgb25lIGh1bWFuIGlzIGEgY2hpbGQiLgoKCgpXaGVuIHRoZSAnJ25h IGt1JycgaXMgbW92ZWQgcmlnaHR3YXJkcywgYW55IHF1YW50aWZpZXIgaXMgaW52ZXJ0ZWQgLSB0 aGF0IGlzOiAnJ3JvJycgaXMgdHVybmVkIGludG8gJydzdSdvJycuIFRoaXMgaXMsIG9mIGNvdXJz ZSwgb25seSBpZiB0aGUgbWVhbmluZyBvZiB0aGUgYnJpZGkgaGFzIHRvIGJlIHByZXNlcnZlZC4g VGhpcyBtZWFucyB0aGF0IHdoZW4gdGhlICcnbmEga3UnJyBpcyBwbGFjZWQgYXQgdGhlIGVuZCBv ZiB0aGUgYnJpZGksIG9ubHkgdGhlIHNlbGJyaSBpcyBuZWdhdGVkIGJ1dCBhbGwgdGhlIHN1bXRp IGFuZCBzdW10Y2l0YSBhcmUgcHJlc2VydmVkLCBhcyBjYW4gYmUgc2VlbiBieSB0aGVzZSB0aHJl ZSBpZGVudGljYWwgYnJpZGk6CgpfXycnY2t1bGUnJ19fIHgxIGlzIGEgc2Nob29sIGF0IGxvY2F0 aW9uIHgyIHRlYWNoaW5nIHgzIHRvIHN0dWRlbnRzIHg0IGFuZCBvcGVyYXRlZCBieSB4NQoKCgon J25hIGt1IHJvIHZlcmJhIGN1IHZlIGNrdWxlIGZvIHN1J28gY2t1bGUnJyDigJMg4oCcSXQncyBu b3QgdHJ1ZSB0aGF0IGFsbCBjaGlsZHJlbiBhcmUgc3R1ZGVudHMgaW4gYSBzY2hvb2wu4oCdCgon J3N1J28gdmVyYmEgY3UgdmUgY2t1bGUgbmEga3UgZm8gc3UnbyBja3VsZScnIOKAkyDigJxTb21l IGNoaWxkcmVuIGFyZSBzdHVkZW50cyBpbiBub3QgYSBzaW5nbGUgc2Nob29sLuKAnQoKJydzdSdv IHZlcmJhIGN1IHZlIGNrdWxlIGZvIHJvIGNrdWxlIG5hIGt1Jycg4oCTIOKAnFNvbWUgY2hpbGRy ZW4gYXJlIGZvciBhbGwgc2Nob29scyBub3Qgc3R1ZGVudHMgaW4gdGhlbS7igJ0KCgoKVGhlIG9w cG9zaXRlIG9mICcnbmEnJyBpcyAnJ2phJ2EnJy4gVGhpcyBpcyBiYXJlbHkgZXZlciB1c2VkLCBz aW5jZSBpdCBpcyBkZWZhdWx0IGluIG1vc3QgYnJpZGkuIE9uZSBleGNlcHRpb24gaXMgcmVwZWF0 ZWQgYnJpZGkgKG5leHQgbGVzc29uKS4gU29tZXRpbWVzIGl0J3MgdXNlZCB0byBwdXQgbW9yZSB3 ZWlnaHQgb24gdGhlIHRydXRoIG9mIHRoZSBicmlkaSwgYXMgaW4gJydsYSAuYmFiLiBqYSdhIG1l bGJpJycgPSAiQm9iIGlzIGluZGVlZCBiZWF1dGlmdWwiLgoKCgpXaGlsZSB0aGUgbWVjaGFuaXNt IG9mICcnbmEga3UnJyByZXNlbWJsZXMgbmF0dXJhbCBsYW5ndWFnZSBuZWdhdGlvbiwgaXQgY2Fu IGJlIGRpZmZpY3VsdCB0byBrZWVwIHRyYWNrIG9mIGV4YWN0bHkgd2hhdCBpcyBuZWdhdGVkIGFu ZCBob3cgdGhhdCBhZmZlY3RzIHRoZSBicmlkaS4gRm9yIHRoYXQgcmVhc29uLCB0aGUgY29uc3Ry dWN0ICcnbmEga3UnJyBpcyByYXJlbHkgc2VlbiBhbnl3aGVyZSBvdGhlciB0aGFuIHRoZSBiZWdp bm5pbmcgb2YgYSBicmlkaS4gSW4gbW9zdCBjYXNlcyB3aGVyZSBtb3JlIHNwZWNpZmljIG5lZ2F0 aW9uIGlzIG5lZWRlZCBwZW9wbGUgcmVzb3J0IHRvIGEgZGlmZmVyZW50IG1ldGhvZC4gVGhpcyBt ZXRob2QsIGNhbGxlZCBzY2FsYXIgbmVnYXRpb24sIGlzIGFuIGVsZWdhbnQgYW5kIGludHVpdGl2 ZSB0b29sLiBVc2luZyBpdCwgeW91IGVmZmVjdCBvbmx5IHRoZSBzZWxicmksIHNpbmNlIHRoZSB3 b3JkcyB1c2VkIGluIHNjYWxhciBuZWdhdGlvbiBiaW5kcyB0byB0aGUgc2VsYnJpIG11Y2ggbGlr ZSB0aGUgd29yZCAnJ3NlJycuCgpUaGUgbmFtZSDigJxzY2FsYXIgbmVnYXRpb27igJ0gaXMgZGVy aXZlZCBmcm9tIHRoZSBmYWN0IHRoYXQgdGhlIHdvcmRzIHdoaWNoIGJpbmQgdG8gdGhlIHNlbGJy aSBjYW4gYmUgcGxhY2VkIGFsb25nIGEgc2NhbGUgZnJvbSBhZmZpcm1hdGlvbiBvdmVyIG5lZ2F0 aW9uIGFuZCB0byBzdGF0aW5nIHRoYXQgdGhlIG9wcG9zaXRlIGNhc2UgaXMgdHJ1ZToKCnx8V29y ZHxNZWFuaW5nCgpqZSdhfOKAnEluZGVlZOKAnTsgc2NhbGFyIGFmZmlybWVyCgpubydlfOKAnE5v dCByZWFsbHnigJ0sIHNjYWxhciBtaWRwb2ludAoKbmEnZXzigJxOb24t4oCcLCBzY2FsYXIgbmVn YXRvcgoKdG8nZXzigJxJbOKAnSwg4oCcRGlzLeKAnCwg4oCcTWlz4oCdIGVjdDsgc2NhbGFyIG9w cG9zZXJ8fAoKCgpUaGVzZSB3b3JkcyBhcmUgbm90IG5lZ2F0b3JzIGluIHRoZSBzYW1lIHNlbnNl IGFzICcnbmEnJy4gVGhleSBkbyBub3Qgc3RhdGUgdGhhdCBhIGJyaWRpIGlzIGZhbHNlLCBidXQg bWFrZXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgdGhhdCBhIGJyaWRpIGlzIHRydWUg4oCTIHRoZSBz YW1lIGJyaWRpLCBidXQgd2l0aCBhIGRpZmZlcmVudCBzZWxicmkuIFRoaXMgZGlzdGluY3Rpb24g aXMgbW9zdGx5IGFjYWRlbWljLCB0aG91Z2guIElmLCBmb3IgZXhhbXBsZSwgSSBzdGF0ZSB0aGF0 ICcnbWkgbmEnZSBzZSBuZWxjaScnICJJIGFtIG5vbi1saWtlZCIsIEkgYWN0dWFsbHkgc3RhdGUg dGhhdCBzb21lIHNlbGJyaSBhcHBsaWVzIHRvIG1lLCB3aGljaCBpcyBhbHNvIG9uIGEgcmVsZXZh bnQgc2NhbGUgd2l0aCB0aGUgc2VsYnJpICcnbmVsY2knJy4gTW9zdCBvZiB0aGUgdGltZSwgd2Ug YXNzdW1lIGEgc2NhbGUgd2hlcmUgdGhlIHBvc2l0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZl IChsaWtlIGxvdmUtbGlrZS1kaXNsaWtlLWhhdGUpLCBzbyAnJ21pIG5hJ2Ugc2UgbmVsY2knJyBp bXBsaWVzICcnbWkgbmEgc2UgbmVsY2knJwoKVGhlcmVmb3JlLCB0aGUgd29yZHMgJydubydlJycg YW5kICcndG8nZScnIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgc2VsYnJpIGlzIHBsYWNl ZCBvbiBzb21lIG9idmlvdXMgc2NhbGU6CgonJ2xlIG1pIHNwZW5pIGN1IHRvJ2UgbWVsYmknJyDi gJMg4oCdTXkgc3BvdXNlIGlzIHVnbHnigJ0gbWFrZXMgc2Vuc2UsIHNpbmNlIHdlIGltbWVkaWF0 ZWx5IGtub3cgd2hhdCB0aGUgb3Bwb3NpdGUgb2YgYmVhdXRpZnVsIGlzLCB3aGlsZQoKJydtaSBr bGFtYSBsZSBtaSB0bydlIHpkYW5pJycg4oCTIOKAnUkgZ28gdG8gbXkgb3Bwb3NpdGUgdGhpbmcg b2YgaG9tZeKAnSwgd2hpbGUgZ3JhbW1hdGljYWwsIGxlYXZlcyB0aGUgbGlzdGVuZXIgZ3Vlc3Np bmcgd2hhdCB0aGUgc3BlYWtlcidzIOKAnG9wcG9zaXRlLWhvbWXigJ0gaXMgYW5kIHNob3VsZCBi ZSBhdm9pZGVkLgoKCgpTbyBob3cgY2FuIHlvdSBuZWdhdGUgb25seSB0aGUgc2VsYnJpIHdpdGhv dXQgYWxzbyBpbXBseWluZyB0aGF0IHRoZSBzZWxicmkgaXMgY29ycmVjdCBhdCBzb21lIG90aGVy IHBvc2l0aW9uIG9uIGEgdHJ1dGgtc2NhbGU/IFNpbXBsZTogTW92aW5nIHRoZSAnJ25hIGt1Jycg dG8gdGhlIHJpZ2h0bW9zdCBlbmQgb2YgdGhlIGJyaWRpLCBhcyBkZW1vbnN0cmF0ZWQgYSBmZXcg bGluZXMgYWJvdmUuIFRoaXMgZmVhdHVyZSBpcyB2ZXJ5IHVzZWZ1bC4gU29tZSBsb2piYW5pc3Rz IHByZWZlciB0byBwcmVmaXggdGhlIHJhZnNpICcnbmFyJycgKHRoZSByYWZzaSBvZiAnJ25hJycp IGluIGZyb250IG9mIHRoZSBzZWxicmkgLSB0aGlzIGhhcyB0aGUgc2FtZSBlZmZlY3QsIGJ1dCBJ IGFkdmlzZSBhZ2FpbnN0IGl0LCBiZWNhdXNlIGl0IG1ha2VzIGZhbWlsaWFyIGJyaXZsYSBzZWVt IGFsaWVuLCBhbmQgaXQncyBoYXJkZXIgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiBjYXN1YWxs eS4KCklmIGEgc2l0dWF0aW9uIGFyaXNlcyB3aGVyZSB5b3UgbmVlZCB0byBuZWdhdGUgb25seSB0 aGUgc2VsYnJpLCBidXQgd2FudCBpdCB0byBiZSBjbGVhciBiZWZvcmUgdGhlIGVuZCBvZiB0aGUg YnJpZGksIHRoZSBleHBlcmltZW50YWwgY21hdm8gJyduYSdlaScnLCB3aGljaCBncmFtbWF0aWNh bGx5IHdvcmtzIGxpa2UgJyduYSdlJycsIGNhbiBiZSB1c2VkCgpfXycnbmEnZWknJ19fOiBOZWdh dGVzIHRoZSBmb2xsb3dpbmcgc2VsYnJpIG9ubHkKCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGVzZSBz ZW50ZW5jZXM6CgrigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7igJ0gKG1lYW5pbmcgdGhhdCBo ZSBpcyBhIG1hbGUpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSBtaSBzcGVuaSBjdSBuYSdl IC8gdG8nZSBuaW5tdScnLiBVc2luZyBzY2FsYXIgbmVnYXRpb24gaGVyZSBpbXBsaWVzIHRoYXQg aGUgZXhpc3RzLCB3aGljaCBuYSBkaWQgbm90Ln5+CgoKCuKAnE15IHNwb3VzZSBpcyBub3QgcmVh bGx5IGEgd29tYW7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5v J2UgbmlubXUnJy4gVGhlIHNjYWxlIGhlcmUgaXMgcHJlc3VtZWQgdG8gYmUgZnJvbSB3b21hbiB0 byBtYW4ufn4KCgoK4oCcSSBkb24ndCBzcGVhayBmYXN0IGluIEVuZ2xpc2ggYmVjYXVzZSBJJ20g R2VybWFu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYSdlIHN1dHJhIHRhdmxhIGJh dSBsZSBnbGliYXUgc2UgamEnZSBsZSBudSBtaSBkb3Rjbycnfn4KCgoKQWxzbywgbm90ZSB0aGF0 IHdoZW5ldmVyIHRoZXNlIHdvcmRzIGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSB0YW5ydSwgdGhl eSBvbmx5IGFmZmVjdCB0aGUgbGVmdG1vc3Qgc2VsYnJpLiBJbiBvcmRlciB0byBtYWtlIGl0IGJp bmQgdG8gdGhlIHdob2xlIHRhbnJ1IG9yIHBhcnRzIG9mIHRoZSB0YW5ydSwgdGhlIHVzdWFsIHRh bnJ1LWdyb3VwaW5nIHdvcmRzIGNhbiBiZSB1c2VkLgoKCgpUcnkgdG8gc2F5IOKAnEkgc2VsbCBz b21ldGhpbmcgd2hpY2ggaXMgbm90IHllbGxvdyBob21lc+KAnSB1c2luZyB0aGUgdGFucnUgJydw ZWx4dSB6ZGFuaSB2ZWNudScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYSdlIGtlIHBl bHh1IHpkYW5pIGtlJ2UgdmVjbnUgb3IgbWkgbmEnZSBwZWx4dSBibyB6ZGFuaSB2ZWNudScnfn4K CgoKV2hlbiBhdHRlbXB0aW5nIHRvIGFuc3dlcjog4oCcSXMgdGhlIGtpbmcgb2YgdGhlIFVTQSBm YXQ/4oCdLCBhbGwgb2YgdGhlc2UgbmVnYXRpb25zIGZhaWwuIFdoaWxlIGl0J3MgdGVjaG5pY2Fs bHkgY29ycmVjdCB0byBuZWdhdGUgaXQgd2l0aCAnJ25hJycsIHNpbmNlIGl0IG1ha2VzIG5vIGFz c3VtcHRpb25zIG9mIHRoYXQgaXMgdHJ1ZSwgaXQncyBtaWxkbHkgbWlzbGVhZGluZyBzaW5jZSBp dCBjb3VsZCBsZWFkIHRoZSBsaXN0ZW5lciB0byBiZWxpZXZlIHRoZXJlIGlzIGEga2luZyBvZiB0 aGUgVVNBLiBGb3IgdGhlc2Ugc2NlbmFyaW9zLCB0aGVyZSBpcyBhIG1ldGFsaW5ndWlzdGljIG5l Z2F0b3IsICcnbmEnaScnLgoKJyduYSdpJycgTWV0YWxpbmd1aXN0aWMgbmVnYXRvci4gU29tZXRo aW5nIGlzIHdyb25nIHdpdGggYXNzaWduaW5nIGEgdHJ1dGggdmFsdWUgdG8gdGhlIGJyaWRpLgoK QmVjYXVzZSAnJ25hJ2knJyBjYW4gYmUgbmVlZGVkIGFueXdoZXJlIGl0IGhhcyBiZWVuIGdpdmVu IHRoZSBncmFtbWFyIG9mIHRoZSBhdHRpdHVkaW5hbHMsIHdoaWNoIG1lYW5zIGl0IGNhbiBhcHBl YXIgYW55d2hlcmUsIGFuZCBpdCBhdHRhY2hlcyB0byB0aGUgcHJldmlvdXMgd29yZCBvciBjb25z dHJ1Y3QuCgoKCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKJydsZSBu YSdpIHB1IHRlIHp1a3RlIGJlIGxlIHNrYW1pIGN1IHBhbGNpJycg4oCTIOKAnVRoZSBzb3VnaHQg Z29hbCB7bWlzdGFrZSF9IG9mIHRoZSBjb21wdXRlciB3YXMgZXZpbOKAnSwgcHJvYmFibHkgcHJv dGVzdHMgdGhhdCBjb21wdXRlcnMgY2FuIHNlZWsgYSBnb2FsIHZvbGl0aW9uYWxseS4KCgoKU2lu Y2UgdGhpcyBpcyBhIGxlc3NvbiBvbiBuZWdhdGlvbiwgSSBiZWxpZXZlIHRoZSB3b3JkICcnbmFp JycgZGVzZXJ2ZXMgYSBzaG9ydCBtZW50aW9uLiBJdCBpcyB1c2VkIHRvIG5lZ2F0ZSBtaW5vciBn cmFtbWF0aWNhbCBjb25zdHJ1Y3RzLCBhbmQgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0 aCBhdHRpdHVkaW5hbHMsIGFsbCBzdW10Y2l0YSBpbmNsdWRpbmcgdGVuc2VzLCB2b2NhdGl2ZXMg YW5kIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFRoZSBydWxlcyBmb3IgbmVnYXRpbmcgdXNpbmcgJydu YWknJyBkZXBlbmQgb24gdGhlIGNvbnN0cnVjdCwgYW5kIHNvIHRoZSBlZmZlY3Qgb2YgJyduYWkn JyBoYXMgYmVlbiBkaXNjdXNzZWQgd2hlbiBtZW50aW9uaW5nIHRoZSBjb25zdHJ1Y3QgdGhlbXNl bHZlcy4gVGhlIGV4Y2VwdGlvbiBpcyBzdW10Y2l0YSwgd2hlcmUgdGhlIHJ1bGVzIGZvciBuZWdh dGlvbiBhcmUgbW9yZSBjb21wbGV4LCBhbmQgd2lsbCBub3QgYmUgZGlzY3Vzc2VkIGhlcmUuCgpf X05vdGU6X18gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgaXQgaGFzIGJlZW4gcHJvcG9zZWQgdG8g bW92ZSAnJ25haScnIHRvIHRoZSBzZWxtYSdvIENBSSwgd2hpY2ggbWVhbnMgdGhlIHNlbWFudGlj cyBvZiAnJ25haScnIGRlcGVuZCBvbiB3aGljaCBzZWxtYSdvIGl0IGZvbGxvd3MuIAoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZvdXIgKGJyaWthJ2kvcHJvLWJyaWRpIGFu ZCBrbydhKQoKSWYgSSBzYXkgdGhhdCBJJ20gY2FsbGVkIE1pa2hhaWwsICcnbGEgLm1pa2FpbC4g Y21lbmUgbWknJywgYW5kIHlvdSBoYXZlIHRvIHNheSB0aGUgZXhhY3Qgc2FtZSBicmlkaSwgd2hh dCB3b3VsZCB0aGF0IGJlPyBPbmUgb2YgdGhlIG1hbnkgYW5zd2VycyBpcyAnJ2RvIHNlIGNtZW5l IGxhIC5taWthaWwuJycuIEZvciB0aGUgYnJpZGkgdG8gYmUgdGhlIHNhbWUsIHlvdSBoYXZlIHRv IHJlcGxhY2UgJydtaScnIHdpdGggJydkbycnLCBhbmQgaXQgZG9lc24ndCBtYXR0ZXIgd2hpY2gg aWYgeW91IHNheSB0aGUgYnJpZGkgd2l0aCB0aGUgJydzZScnLWNvbnZlcnRlZCBzZWxicmkgb3Ig bm90LiBUaGlzIGlzIGJlY2F1c2UgYSBicmlkaSBpcyBub3QgdGhlIHdvcmRzIHdoaWNoIGV4cHJl c3MgaXQg4oCTIGEgYnJpZGkgaXMgYW4gaWRlYSwgYW4gYWJzdHJhY3QgcHJvcG9zaXRpb24uIFRo ZSB3b3JkICcnbWknJyB3aGVuIEkgc2F5IGl0IGFuZCB0aGUgd29yZCAnJ2RvJycgd2hlbiB5b3Ug ZG8gcmVmZXJzIHRvIHRoZSBzYW1lIHN1bXRpLCBzbyB0aGUgdHdvIGJyaWRpIGFyZSBpZGVudGlj YWwuCgpUaGlzIGxlc3NvbiBpcyBvbiAnJ2JyaWthJ2knJywgdGhlIGJyaWRpIGVxdWl2YWxlbnQg b2Ygc3Vta2EnaS4gVGhleSBhcmUgd29yZCB3aGljaCByZXByZXNlbnQgZW50aXJlIGJyaWRpLiBI ZXJlIGl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IGEgYnJpZGkgY29uc2lzdHMgb25s eSBvZiBzdW10aSBhbmQgdGhlIHRoaW5ncyB3aGljaCBjb250YWluIHRoZSBzdW10aSwgc2VsYnJp IGFuZCBzdW10Y2l0YS4gTmVpdGhlciBhdHRpdHVkaW5hbHMsIG5vciB0aGUgc2VtYW50aWMgbGF5 ZXIgb2YgJydrbycnIG9yICcnbWEnJyBhcmUgcGFydCBvZiB0aGUgYnJpZGkgcHJvcGVyLCBhbmQg c28gdGhlc2UgYXJlIG5vdCByZXByZXNlbnRlZCBieSBhICcnYnJpa2EnaScnLgoKCgpUaGVyZSBh cmUgbXVjaCBmZXdlciAnJ2JyaWthJ2knJyB0aGFuIHRoZXJlIGFyZSBzdW1rYSdpLiBXZSB3aWxs IGJlZ2luIGJ5IGdvaW5nIHRocm91Z2ggc29tZSBvZiB0aGUgd29yZHMgaW4gdGhlIG1vc3QgdXNl ZCBzZXJpZXMsIGNhbGxlZCBHT2hBOgoKV29yZDoJRGVmaW5pdGlvbjoKCl9fJydnbyd1JydfXwlS ZXBlYXRzIHJlbW90ZSBwYXN0IGJyaWRpCgpfXycnZ28nYScnX18JUmVwZWF0cyBwYXN0IGJyaWRp CgpfXycnZ28nZScnX18JUmVwZWF0cyBuZXh0LXRvLWxhc3QgYnJpZGkKCl9fJydnbydpJydfXwlS ZXBlYXRzIGxhc3QgbWVudGlvbmVkIGJyaWRpCgpfXycnZ28nbycnX18JUmVwZWF0cyBmdXR1cmUg YnJpZGkKCl9fJyduZWknJ19fCVJlcGVhdHMgY3VycmVudCBicmlkaQoKX18nJ25vJ2EnJ19fCVJl cGVhdHMgb3V0ZXIgYnJpZGkKCgoKU29tZSBvZiB0aGUgR09oQS0nJ2JyaWthJ2knJy4gTm90aWNl IHRoZSBmYW1pbGlhciBpLCBhLCB1LXBhdHRlcm4gZm9yIGNsb3NlIGluIHBhc3QsIG1lZGl1bSBp biBwYXN0IGFuZCBkaXN0YW50IGluIHBhc3QuCgoKClRoZXNlIGFyZSB2ZXJ5IG11Y2ggbGlrZSB0 aGUgc3Vta2EnaSAnJ3JpJycsICcncmEnJyBhbmQgJydydScnLiBUaGV5IGNhbiBvbmx5IHJlZmVy IHRvIG1haW4gYnJpZGkgb2YganVmcmEsIGFuZCBub3QgdGhvc2UgY29udGFpbmVkIGluIHJlbGF0 aXZlIHBocmFzZXMgb3IgZGVzY3JpcHRpb24gc3VtdGkuIFRoZSBtYWluIGJyaWRpIGNhbiBjb250 YWluIGEgcmVsYXRpdmUgcGhyYXNlLCBvZiBjb3Vyc2UsIGJ1dCBhICcnYnJpa2EnaScnIGNhbiBu ZXZlciBiZSB1c2VkIHRvIHJlZmVyIHRvIG9ubHkgdGhlIHJlbGF0aXZlIHBocmFzZS4KCkEgR09o QSBhY3RzIGdyYW1tYXRpY2FsbHkgbXVjaCBsaWtlIGEgc2VsYnJpLCBhbnkgY29uc3RydWN0IHdo aWNoIGNhbiBhcHBseSB0byBzZWxicmkgY2FuIGFsc28gYXBwbHkgdG8gdGhlc2UuIFRoZSBwbGFj ZSBzdHJ1Y3R1cmUgb2YgYSBHT2hBIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGJyaWRpIGl0 IHJlcHJlc2VudHMsIGFuZCB0aGUgc3VtdGkgYXJlIGJ5IGRlZmF1bHQgdGhlIHNhbWUgYXMgaW4g dGhlIGJyaWRpIGl0IHJlcHJlc2VudHMuIEZpbGxpbmcgdGhlIHN1bXRpIHBsYWNlcyBvZiBhIEdP aEEgZXhwbGljaXRseSBvdmVyd3JpdGVzIHRoZSBzdW10aSBvZiB0aGUgYnJpZGkgaXQgcmVwcmVz ZW50cy4gQ29udHJhc3Q6CgpBOiAnJ21pIGNpdGthIGxvIHBsaXNlJycgQjogJydnbydpJycg4oCT IOKAnEkgZWF0IGFuIGFwcGxlLuKAnSDigJxZb3UgZG8u4oCdIHdpdGgKCkE6ICcnbWkgY2l0a2Eg bG8gcGxpc2UnJyBCOiAnJ21pIGdvJ2knJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnEkg ZG8sIHRvby7igJ0KCgoKVGhlc2UgJydicmlrYSdpJycgYXJlIHZlcnkgdXNlZnVsIHdoZW4gYW5z d2VyaW5nIGEgcXVlc3Rpb24gd2l0aCAnJ3h1Jyc6CgpBOiAnJ3h1IGRvIG5lbGNpIGxlIG1pIHNw ZW5pJycgQjogJydnbydpIC8gbmEgZ28naScnIOKAkyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KA nSDigJxZZXMuL05vLuKAnS4gVGhlICcneHUnJywgYmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5v dCBjb3BpZWQuCgpXaGVuIHJlcGVhdGluZyBicmlkaSBuZWdhdGVkIGJ5ICcnbmEnJywgdGhhdCBp czogQnJpZGkgd2hlcmUgJyduYScnIGlzIHBsYWNlZCBpbiB0aGUgcHJlbmV4IChsZXNzb24gdHdl bnR5LXNldmVuKSwgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkgb3IgcmlnaHQgYmVmb3Jl IHRoZSBzZWxicmksIHRoZSBydWxlcyBmb3IgY29weWluZyBvdmVyICcnbmEnJyBhcmUgZGlmZmVy ZW50IGZyb20gd2hhdCBvbmUgbWlnaHQgZXhwZWN0LiBBbnkgJyduYScnIGlzIGNvcGllZCBvdmVy LCBidXQgYW55IGFkZGl0aW9uYWwgJyduYScnIGluIHRoZSBicmlrYSdpIHJlcGxhY2VzIHRoZSBm aXJzdCBuYS4gTGV0IG1lIHNob3cgeW91IHdpdGggYW4gZXhhbXBsZToKCkE6ICcnbWkgbmEgY2l0 a2EgbG8gcGxpc2UnJwoKQjogJydtaSBnbydpJycgPSAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycK CkM6ICcnbWkgbmEgZ28naScnID0gJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpEOiAnJ21pIG5h IG5hIGdvJ2knJyA9ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyA9ICcnbWkgamEnYSBnbydpJycKCgoK JyduZWknJyBhbmQgJydubydhJycgYXJlIG5vdCB1c2VkIG11Y2gsIGV4Y2VwdCBmb3Ig4oCcbWlu ZC1icmVha2luZyBwdXJwb3Nlc+KAnSwgd2hpY2ggaXMgbWFraW5nIHVwIGJyaWRpIHdoaWNoIGFy ZSBoYXJkIHRvIHBhcnNlLCBsaWtlICcnZGVpIG5hIHNlIGR1J3UgbGUgbm8nYSBsYSdlIGxlIG5l aScnLiBTaW5jZSAnJ25laScnIHJlcGVhdHMgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGksIGhvd2V2 ZXIsICcnbGUgbmVpJycgY2FuIGJlIHVzZWQgdG8gcmVmZXIgdG8gdGhlIHgxIG9mIHRoZSBjdXJy ZW50IG91dGVyIGJyaWRpLCAnJ2xlIHNlIG5laScnIHRoZSB4MiBhbmQgc28gb24uCgoKCldoZW4g dXNpbmcgJydicmlrYSdpJycsIG9uZSBtdXN0IGFsd2F5cyBiZSB3YXJ5IG9mIGNvcHlpbmcgc2Vu dGVuY2VzIHdpdGggdGhlIHBlcnNvbmFsIHN1bWthJ2kgbGlrZSAnJ21pJycsICcnZG8nJywgJydt YSdhJycgZWN0LCBhbmQgYmUgY2FyZWZ1bCBub3QgdG8gcmVwZWF0IHRoZW0gd2hlbiB0aGV5IGFy ZSBpbiB0aGUgd3JvbmcgY29udGVjdCwgYXMgc2hvd24gaW4gdGhlIHR3byBleGFtcGxlcyB3aXRo IGFwcGxlIGVhdGluZyBhYm92ZS4gSW5zdGVhZCBvZiByZXBsYWNpbmcgdGhlbSBvbmUgYnkgb25l LCB0aG91Z2gsIHRoZSB3b3JkICcncmEnbycnIGFueXdoZXJlIGluIHRoZSBicmlkaSB1cGRhdGVz IHRoZSBwZXJzb25hbCBzdW1rYSdpIHNvIHRoYXQgdGhleSBhcHBseSBmb3IgdGhlIHNwZWFrZXIn cyBwZXJzcGVjdGl2ZToKCkE6ICcnbWkgZG8gcHJhbWknJyBCOiAnJ21pIGRvIGdvJ2knJyBpcyBl cXVpdmFsZW50IHRvIEE6ICcnbWkgZG8gcHJhbWknJyBCOiAnJ2dvJ2kgcmEnbycnCgpfXycncmEn bycnX18gVXBkYXRlIGFsbCBwZXJzb25hbCBzdW1rYSdpIHNvIHRoYXQgdGhleSBub3cgZml0IHRo ZSBzcGVha2VyJ3MgcG9pbnQgb2Ygdmlldy4KCgoKVGhlIG9ubHkgb3RoZXIgc2VyaWVzIG9mIGJy aWthJ2kgYXJlIHZlcnkgZWFzeSB0byByZW1lbWJlcjoKCl9fJydicm9kYScnX18JQnJpZGkgdmFy aWFibGUgMQoKX18nJ2Jyb2RlJydfXwlCcmlkaSB2YXJpYWJsZSAyCgpfXycnYnJvZGknJ19fCUJy aWRpIHZhcmlhYmxlIDMKCl9fJydicm9kbycnX18JQnJpZGkgdmFyaWFibGUgNAoKX18nJ2Jyb2R1 JydfXwlCcmlkaSB2YXJpYWJsZSA1CgpfXycnY2VpJydfXwlEZWZpbmUgYnJpZGkgdmFyaWFibGUg KG5vdCBhIGJyaWthJ2kgYW5kIG5vdCBpbiBCUk9EQSkKCgoKCgpUaGUgZmlyc3QgZml2ZSBhcmUg anVzdCBmaXZlIGluc3RhbmNlcyBvZiB0aGUgc2FtZSB3b3JkLiBUaGV5IGNhbiBiZSB1c2VkIGFz IHNob3J0Y3V0cyB0byBicmlkaS4gQWZ0ZXIgc2F5aW5nIGEgYnJpZGksIHNheWluZyAnJ2NlaSBi cm9kYScnIGRlZmluZXMgdGhhdCBicmlkaSBhcyAnJ2Jyb2RhJycsIGFuZCAnJ2Jyb2RhJycgY2Fu IHRoZW4gYmUgdXNlZCBhcyAnJ2JyaWthJ2knJyBmb3IgdGhhdCBicmlkaSBpbiB0aGUgZm9sbG93 aW5nIGNvbnZlcnNhdGlvbi4KCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSBpcyBhbiBhbmFsb2dv dXMgc2VyaWVzIG9mIHN1bWthJ2ksIHdoaWNoIHByb2JhYmx5IGRvZXMgbm90IGJlbG9uZyBpbiB0 aGlzIGxlc3NvbiwgYnV0IGhlcmUgdGhleSBhcmUgYW55d2F5OgoKX18nJ2tvJ2EnJ19fCVN1bXRp IHZhcmlhYmxlIDEJX18nJ2ZvJ2EnJ19fCVN1bXRpIHZhcmlhYmxlIDYKCl9fJydrbydlJydfXwlT dW10aSB2YXJpYWJsZSAyCV9fJydmbydlJydfXwlTdW10aSB2YXJpYWJsZSA3CgpfXycna28naScn X18JU3VtdGkgdmFyaWFibGUgMwlfXycnZm8naScnX18JU3VtdGkgdmFyaWFibGUgOAoKX18nJ2tv J28nJ19fCVN1bXRpIHZhcmlhYmxlIDQJX18nJ2ZvJ28nJ19fCVN1bXRpIHZhcmlhYmxlIDkKCl9f Jydrbyd1JydfXwlTdW10aSB2YXJpYWJsZSA1CV9fJydmbyd1JydfXwlTdW10aSB2YXJpYWJsZSAx MAoKCgphcyB3ZWxsIGFzIHRoZSAnJ2NlaScnLWVxdWl2YWxlbnQgZm9yIHRoaXMgc2VyaWVzOgoK X18nJ2dvaScnX18gRGVmaW5lIHN1bXRpIHZhcmlhYmxlCgoKCgoKVGhlc2UgYXJlIHVzZWQgbGlr ZSB0aGUgJydicmlrYSdpJyctc2VyaWVzLiBKdXN0IHBsYWNlLCBmb3IgaW5zdGFuY2UsICcnZ29p IGtvJ3UnJyBhZnRlciBhIHN1bXRpLCBhbmQgdGhhdCBzdW10aSBjYW4gYmUgcmVmZXJyZWQgdG8g YnkgJydrbyd1JycuCgoKClN0cmFuZ2VseSwgdGhlc2Ugc2VyaWVzIGFyZSByYXJlbHkgdXNlZCBm b3IgdGhlaXIgaW50ZW5kZWQgcHVycG9zZS4gVGhleSBhcmUsIGhvd2V2ZXIsIHVzZWQgYXMgYXJi aXRyYXJ5IHNlbGJyaSBhbmQgc3VtdGkgaW4gZXhhbXBsZSB0ZXh0czoKCuKAnFNvLCBpcyBpdCB0 cnVlIHRoYXQgdGhlIHRydXRoIGNvbmRpdGlvbnMgb2YgJydrbydhIGtvJ2UgYnJvZGEgbmEga3Un JyBhcmUgYWx3YXlzIHRoZSBzYW1lIGFzICcnbmEga3Uga28nYSBrbydlIGJyb2RhJyc/4oCdIOKA nE5vcGUsIGl0IGlzbid0LuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5 LWZpdmUgKGxvZ2ljYWwgY29ubmVjdGl2ZXMpCgrigJxJZiB5b3UgYXNrIGEgTG9qYmFuaXN0OiDi gJxEbyB5b3Ugd2FudCBtaWxrIG9yIHN1Z2FyIGluIHlvdXIgY29mZmVlP+KAnSBzaGUnbGwgYW5z d2VyOiDigJxDb3JyZWN0LuKAneKAnQoKCgpXaXR0eSBhcyB0aGlzIGpva2UgbWlnaHQgYmUsIGl0 IGlsbHVzdHJhdGVzIGEgd2VpcmQgcHJvcGVydHkgb2YgdGhlIEVuZ2xpc2ggd2F5IG9mIGFza2lu ZyB0aGlzIHF1ZXN0aW9uLiBJdCBpcyBwaHJhc2VkIGFzIGEgdHJ1ZS9mYWxzZSBxdWVzdGlvbiwg YnV0IGl0IHJlYWxseSBpc24ndC4gSW4gTG9qYmFuLCB3ZSBjYW4ndCBoYXZlIHRoaXMga2luZCBv ZiBpbmNvbnNpc3RlbmN5LCBhbmQgc28gd2UgbXVzdCBmaW5kIGFub3RoZXIgd2F5IG9mIGFza2lu ZyB0aGlzIGtpbmQgb2YgcXVlc3Rpb24uIElmIHlvdSB0aGluayBhYm91dCBpdCwgaXQncyBwcmV0 dHkgaGFyZCB0byBmaW5kIGEgZ29vZCBhbmQgZWFzeSB3YXksIGFuZCBpdCBzZWVtcyBMb2piYW4g aGF2ZSBwaWNrZWQgYSBnb29kIHdheSBpbnN0ZWFkIG9mIGFuIGVhc3kgd2F5LgoKCgpUbyBleHBs YWluIGl0LCBsZXQgdXMgdGFrZSB0d28gc2VwYXJhdGUgYnJpZGk6IEJyaWRpIDE6IOKAnEkgbGlr ZSBtaWxrIGluIG15IGNvZmZlZeKAnSBhbmQgYnJpZGkgMjog4oCcSSBsaWtlIHN1Z2FyIGluIG15 IGNvZmZlZeKAnS4gQm90aCBvZiB0aGVzZSBicmlkaSBjYW4gaGF2ZSB0aGUgc3RhdGUgdHJ1ZSBv ciBmYWxzZS4gVGhpcyB5aWVsZHMgZm91ciBjb21iaW5hdGlvbnMgb2Ygd2hpY2ggYnJpZGkgaXMv YXJlIHRydWU6CgpBICkgMSBhbmQgMglCICkgMSBidXQgbm90IDIKCkMgKSAyIGJ1dCBub3QgMQlE ICluZWl0aGVyIDEgbm9yIDIKCgoKSSwgaW4gYWN0dWFsaXR5LCBsaWtlIG1pbGsgaW4gbXkgY29m ZmVlLCBhbmQgSSdtIGluZGlmZmVyZW50IGFzIHRvIHdoZXRoZXIgdGhlcmUgaXMgc3VnYXIgaW4g aXQgb3Igbm90LiBUaGVyZWZvcmUsIG15IHByZWZlcmVuY2UgY2FuIGJlIHdyaXR0ZW4gQSApIHRy dWUgQiApIHRydWUgQyApIGZhbHNlIEQgKSBmYWxzZSwgc2luY2UgYm90aCBBIGFuZCBCIHlpZWxk cyB0cnVlIGZvciBtZSwgYnV0IG5laXRoZXIgQyBub3IgRCBkb2VzLiBBIG1vcmUgY29tcGFjdCB3 YXkgb2Ygd3JpdGluZyBteSBjb2ZmZWUgcHJlZmVyZW5jZXMgd291bGQgYmUgVFRGRiBmb3IgdHJ1 ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLiBTaW1pbGFybHksIGEgcGVyc29uIGxpa2luZyBoaXMgY29m ZmVlIGJsYWNrIGFuZCB1bnN3ZWV0ZW5lZCB3b3VsZCBoYXZlIGEgY29mZmVlIHByZWZlcmVuY2Ug b2YgRkZGVC4gVGhpcyBjb21iaXRhdGlvbiBvZiAidHJ1ZSIgYW5kICJmYWxzZSIgaXMgY2FsbGVk IGEg4oCcdHJ1dGggZnVuY3Rpb27igJ0sIGluIHRoaXMgY2FzZSBmb3IgdGhlIHR3byBzdGF0ZW1l bnRzIOKAnEkgbGlrZSBtaWxrIGluIG15IGNvZmZlZeKAnSBhbmQg4oCcSSBsaWtlIHN1Z2FyIGlu IG15IGNvZmZlZeKAnS4gTm90ZSB0aGF0IHRoZSBvcmRlciBvZiB0aGUgc3RhdGVtZW50cyBtYXR0 ZXJzLgoKSW4gTG9qYmFuLCB3ZSBvcGVyYXRlIHdpdGggNCB0cnV0aCBmdW5jdGlvbnMsIHdoaWNo IHdlIGNvbnNpZGVyIGZ1bmRhbWVudGFsOgoKQTogVFRURiAoYW5kL29yKQoKTzogVEZGVCAoaWYg YW5kIG9ubHkgaWZmKQoKVTogVFRGRiAod2hldGhlciBvciBub3QpCgpFOiBURkZGIChhbmQpCgoK CkluIHRoaXMgZXhhbXBsZSwgdGhleSB3b3VsZCB0cmFuc2xhdGUgdG8gc29tZXRoaW5nIGxpa2U6 IEE64oCdSnVzdCBub3QgYmxhY2sgY29mZmVl4oCdLCBPOiDigJxFaXRoZXIgYm90aCBtaWxrIG9y IHN1Z2FyLCBvciBub3RoaW5nIGZvciBtZSwgcGxlYXNl4oCdLCBVOiDigJxNaWxrLCBhbmQgSSBk b24ndCBjYXJlIGFib3V0IGlmIHRoZXJlJ3Mgc3VnYXIgb3Igbm904oCdIGFuZCBFOiDigJxNaWxr IGFuZCBzdWdhciwgcGxlYXNlLuKAnS4KCgoKSW4gTG9qYmFuLCB5b3UgcGxhY2UgdGhlIHdvcmQg Zm9yIHRoZSB0cnV0aCBmdW5jdGlvbiBiZXR3ZWVuIHRoZSB0d28gYnJpZGksIHNlbGJyaSBvciBz dW10aSBpbiBxdWVzdGlvbi4gVGhhdCB3b3JkIGlzIGNhbGxlZCBhIGxvZ2ljYWwgY29ubmVjdGl2 ZS4gVGhlIHdvcmRzIGZvciB0cnV0aCBmdW5jdGlvbnMgYmV0d2VlbiBzdW10aSAoYW5kIGp1c3Qg Zm9yIHN1bXRpISkgYXJlICAnJy5hJycgJycubycnICcnLnUnJyBhbmQgJycuZScnLiBIb3cgbmlj ZS4gRm9yIGluc3RhbmNlOiDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbiBhbmQgYSBH ZXJtYW7igJ0gd291bGQgYmUgJydsbyBtZXJrbyAuZSBsbyBkb3RjbyBjdSBwZW5kbyBtaScnLgoK SG93IHdvdWxkIHlvdSBzYXk6IOKAnEkgc3BlYWsgdG8geW91IGFuZCBubyBvbmUgZWxzZT/igJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHRhdmxhIGRvIC5lIG5vIGRyYXRhJycgTm90ZSB0 aGF0IHRoaXMgYWN0dWFsbHkgc3RhdGVzIHRoYXQgaXQncyB0cnVlIHRoYXQgIkkgc3BlYWsgdG8g eW91Ii5+fgoKCgpPbmUgbW9yZTog4oCcSSBsaWtlIGNoZWVzZSB3aGV0aGVyIG9yIG5vdCBJIGxp a2UgY29mZmVl4oCdCgpfXycnY2thZmknJ19fIHgxIGlzIGEgcXVhbnRpdHkvY29udGFpbnMgY29m ZmVlIGZyb20gc291cmNlL29mIGdyYWluIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBu ZWxjaSBsbydlIGNpcmxhIC51IGxvJ2UgY2thZmknJ35+CgoKCllvdSBjYW4gcGVyaGFwcyBkZWR1 Y2UgdGhhdCB0aGVyZSBhcmUgc2l4dGVlbiBwb3NzaWJsZSB0cnV0aCBmdW5jdGlvbnMsIHNvIHdl IG5lZWQgdG8gbGVhcm4gdHdlbHZlIG1vcmUgaW4gb3JkZXIgdG8ga25vdyB0aGVtIGFsbC4gRWln aHQgbW9yZSBjYW4gYmUgb2J0YWluZWQgYnkgbmVnYXRpbmcgZWl0aGVyIHRoZSBmaXJzdCBzZW50 ZW5jZSBvciB0aGUgc2Vjb25kLiBUaGUgZmlyc3QgaXMgbmVnYXRlZCBieSBwcmVmaXhpbmcgdGhl IHRydXRoIGZ1bmN0aW9uIHdvcmQgd2l0aCAnJ25hJycsIHRoZSBzZWNvbmQgaXMgbmVnYXRlZCBi eSBwbGFjaW5nICcnbmFpJycgYWZ0ZXIgdGhlIHdvcmQuIEZvciBleGFtcGxlLCBzaW5jZSAnJy5l JycgcmVwcmVzZW50cyBURkZGLCAnJy5lIG5haScnIG11c3QgYmUg4oCcYm90aCAxIGlzIHRydWUg YW5kIDIgaXMgZmFsc2XigJ0sIHdoaWNoIGlzIEZURkYuIFNpbWlsYXJseSwgJyduYSAuYScnIGlz IOKAnEp1c3Qgbm90OiAxIGlzIHRydWUgYW5kIDIgaXMgZmFsc2XigJ0sIHdoaWNoIGlzIFRURlQu IERvaW5nIHRoaXMgdHlwZSBvZiBjb252ZXJzaW9uIGluIHRoZSBoZWFkIHJlYWwtdGltZSBpcyB2 ZXJ5LCB2ZXJ5IGhhcmQsIHNvIHBlcmhhcHMgb25lIHNob3VsZCBmb2N1cyBvbiBsZWFybmluZyBo b3cgbG9naWNhbCBjb25uZWN0aXZlcyB3b3JrIGluIGdlbmVyYWwsIGFuZCB0aGVuIGxlYXJuIHRo ZSBsb2dpY2FsIGNvbm5lY3RpdmVzIHRoZW1zZWx2ZXMgYnkgaGVhcnQuCgoKCkZvdXIgZnVuY3Rp b25zIGNhbm5vdCBiZSBtYWRlIHRoaXMgd2F5OiBUVFRULCBURlRGLCBGVEZUIGFuZCBGRkZGLiBU aGUgZmlyc3QgYW5kIHRoZSBsYXN0IGNhbm5vdCBiZSBtYWRlIHVzaW5nIGxvZ2ljYWwgY29ubmVj dGl2ZXMgYXQgYWxsLCBidXQgdGhleSBhcmUga2luZCBvZiB1c2VsZXNzIGFueXdheS4gVXNpbmcg YSBoeXBvdGhldGljYWwgbG9naWNhbCBjb25uZWN0aXZlIGluIHRoZSBzZW50ZW5jZSDigJxJIGxp a2UgbWlsayBGRkZGIHN1Z2FyIGluIG15IGNvZmZlZeKAnSBpcyBlcXVpdmFsZW50IHRvIHNheWlu ZyDigJxJIGRvbid0IGxpa2UgY29mZmVl4oCdLCBqdXN0IG1vcmUgY29tcGxpY2F0ZWQuIFRoZSBs YXN0IHR3bywgVEZURiBhbmQgRlRGVCwgY2FuIGJlIG1hZGUgYnkgcHJlZml4aW5nICcnLnUnJyB3 aXRoIGdvb2Qgb2wnICcnc2UnJywgd2hpY2gganVzdCByZXZlcnRzIHRoZSB0d28gc3RhdGVtZW50 cy4gJydzZSAudScnICwgZm9yIGluc3RhbmNlIGlzIOKAnEIgd2hldGhlciBvciBub3QgQeKAnSwg d2hpY2ggaXMgVEZURi4gVGhlIGZpbmFsIGxpc3Qgb2YgYWxsIGxvZ2ljYWwgY29ubmVjdGl2ZXMg Y2FuIGJlIHNlZW4gYmVsb3cuCgoKClRUVFQ6IENhbm5vdCBiZSBtYWRlCgpUVFRGOiAnJy5hJycK ClRURlQ6ICcnLmEgbmFpJycKClRURkY6ICcnLnUnJyBPUiAnJy51IG5haScnCgpURlRUOiAnJ25h IC5hJycKClRGVEY6ICcnc2UgLnUnJwoKVEZGVDogJycubycnIE9SICcnbmEgLm8gbmFpJycKClRG RkY6ICcnLmUnJwoKRlRUVDogJyduYSAuYSBuYWknJwoKRlRURjogJyduYSAubycnIE9SICcnLm8g bmFpJycKCkZURlQ6ICcnc2UgLnUgbmFpJycKCkZURkY6ICcnLmUgbmFpJycKCkZGVFQ6ICcnbmEg LnUnJyBPUiAnJ25hIC51IG5haScnCgpGRlRGOiAnJ25hIC5lJycKCkZGRlQ6ICcnbmEgLmUgbmFp JycKCkZGRkY6IENhbm5vdCBiZSBtYWRlCgoKCkxvZ2ljYWxseSwgc2F5aW5nIGEgc2VudGVuY2Ug d2l0aCBhIGxvZ2ljYWwgY29ubmVjdGl2ZSwgbGlrZSBmb3IgaW5zdGFuY2UgJydtaSBuZWxjaSBs bydlIGNpcmxhIC5lIG5haSBsbydlIGNrYWZpJycgaXMgZXF1aXZhbGVudCB0byBzYXlpbmcgdHdv IGJyaWRpLCB3aGljaCBhcmUgY29ubmVjdGVkIHdpdGggdGhlIHNhbWUgbG9naWNhbCBjb25uZWN0 aXZlOiAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmkge0UgTkFJfSBtaSBuZWxjaSBsbydlIGNrYWZp JycuIFRoaXMgaXMgaG93IHRoZSBmdW5jdGlvbiBvZiBsb2dpY2FsIGNvbm5lY3RpdmVzIGlzIGRl ZmluZWQuIFdlIHdpbGwgZ2V0IHRvIGhvdyB0byBhcHBseSBsb2dpY2FsIGNvbm5lY3RpdmVzIHRv IGJyaWRpIGluIGEgbW9tZW50LgoKCgpCeSBwdXR0aW5nIGEg4oCcauKAnSBpbiBmcm9udCBvZiB0 aGUgY29yZSB3b3JkIG9mIGEgbG9naWNhbCBjb25uZWN0aXZlLCBpdCBjb25uZWN0cyB0d28gc2Vs YnJpLiBBbiBleGFtcGxlIGlzICcnbWkgbmlubXUgbmEgam8gbmFubXUnJyDigJxJIGFtIGEgbWFu IG9yIGEgd29tYW4sIGJ1dCBub3QgYm90aOKAnQoKX18nJ25pbm11JydfXyB4MSBpcyBhIHdvbWFu CgoKClRoaXMgaXMg4oCcdGFucnUtaW50ZXJuYWzigJ0sIG1lYW5pbmcgdGhhdCBpdCBsb29zZWx5 IGJpbmRzIHNlbGJyaSB0b2dldGhlciwgZXZlbiB3aGVuIHRoZXkgZm9ybSBhIHRhbnJ1OiAnJ2xv IGRvdGNvIGphIG1lcmtvIHByZW51JycgbWVhbnMg4oCcYSBHZXJtYW4gb3IgQW1lcmljYW4gbWFu 4oCdLCBhbmQgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAnJ3ByZW51Jycu IFRoaXMgYmluZGluZyBpcyBzbGlnaHRseSBzdHJvbmdlciB0aGF0IG5vcm1hbCB0YW5ydS1ncm91 cGluZyAoc3RpbGwgd2Vha2VyIHRoYW4gc3BlY2lmaWMgZ3JvdXBpbmctd29yZHMpLCBhbmQgYXMg c3VjaCwgJydsbyBkb3RjbyBqYSBtZXJrbyBuaW5tdSBqYSBuYW5tdScnIGlzIHBhcnNlZCAnJ2xv JycgKCcnZG90Y28gamEgbWVya28nJykgKCcnbmlubXUgamEgbmFubXUnJykuIFRoZSBzZWxicmkg bG9naWNhbCBjb25uZWN0aXZlcyBjYW4gYWxzbyBiZSBhdHRhY2hlZCB0byAnJy5pJycgaW4gb3Jk ZXIgdG8gY29ubmVjdCB0d28gc2VudGVuY2VzIHRvZ2V0aGVyOiAnJ2xhIC5raW0uIGNtZW5lIG1p IC5pIGp1IG1pIG5hbm11Jycg4oCcSSdtIGNhbGxlZCBLaW0sIHdoZXRoZXIgb3Igbm90IEknbSBh IG1hbuKAnS4gVGhlIGNvbWJpbmF0aW9uICcnLmkgamUnJyBzdGF0ZXMgdGhhdCBib3RoIHNlbnRl bmNlcyBhcmUgdHJ1ZSwgbXVjaCBsaWtlIHdlIHdvdWxkIGFzc3VtZSBoYWQgbm8gbG9naWNhbCBj b25uZWN0aXZlIGJlZW4gcHJlc2VudC4KCgoKVW5mYWlybHkgaGFyZCBxdWVzdGlvbjogVXNpbmcg bG9naWNhbCBjb25uZWN0aXZlcywgaG93IHdvdWxkIHlvdSB0cmFuc2xhdGUg4oCcSWYgeW91J3Jl IGNhbGxlZCBCb2IsIHlvdSdyZSBhIG1hbi7igJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyds YSAuYmFiLiBjbWVuZSBkbyAuaSBuYSBqYSBkbyBuYW5tdScnIG9yIOKAnEVpdGhlciB5b3UncmUg bm90IG5hbWVkIEJvYiBhbmQgYSBtYW4sIG9yIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBub3Qg YSBtYW4sIG9yIHlvdSdyZSBuYW1lZCBCb2IgYW5kIGEgbWFuLiBCdXQgeW91IGNhbid0IGJlIG5h bWVkIEJvYiBhbmQgbm90IGJlIGEgbWFuLuKAnSBUaGUgb25seSBjb21iaW5hdGlvbiBub3QgcGVy bWl0dGVkIGlzOiDigJxZb3UncmUgY2FsbGVkIEJvYiwgYnV0IG5vdCBhIG1hbi7igJ0gVGhpcyBt dXN0IG1lYW4gdGhhdCwgaWYgaXQncyB0cnVlIHRoYXQgeW91J3JlIGNhbGxlZCBCb2IsIHlvdSBt dXN0IGJlIGEgbWFuLn5+CgoKCklmIHdlIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNhZCwgc2FkIGV2 ZW50IG9mIOKAnEkgY3JpZWQgYW5kIGdhdmUgYXdheSBteSBkb2figJ0sIHdlIHJ1biBpbnRvIGEg cHJvYmxlbS4KCkF0dGVtcHRpbmcgdG8gc2F5IHRoZSBzZW50ZW5jZSB3aXRoIGEgJydqZScnIGJl dHdlZW4gdGhlIHNlbGJyaSDigJxnYXZl4oCdIGFuZCDigJxjcmllZOKAnSwgd291bGQgbWVhbiB0 aGUgc2FtZSB3b3JkIGZvciB3b3JkLCBidXQgdW5mb3J0dW5hdGVseSBtZWFuIHRoYXQg4oCcSSBj cmllZCB0aGUgZG9nIGFuZCBnYXZlIGF3YXkgdGhlIGRvZ+KAnSwgY2YuIHRoZSBkZWZpbml0aW9u IG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIE9uZSBjYW4gY3J5IHRlYXJzIG9yIGV2ZW4gYmxvb2Qs IGJ1dCBjcnlpbmcgZG9ncyBpcyBqdXN0IHNpbGx5LgoKSG93ZXZlciwgd2UgY2FuIGdldCBhcm91 bmQgYnkgdXNpbmcgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmVzLiBXaGF0IHRoZXkgZG8g aXMgdGhhdCBhbnkgcHJldmlvdXMgc3VtdGNpdGEgYW5kIHN1bXRpIGF0dGFjaGVzIHRvIGJvdGgg c2VsYnJpIGJvdW5kIGJ5IHRoZSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYnV0IGFu eSBmb2xsb3dpbmcgc3VtdGkgb3Igc3VtdGNpdGEgb25seSBhcHBsaWVzIHRvIHRoZSBsYXN0IG1l bnRpb25lZDogVGhlIGJyaWRpIHNwbGl0cyB1cCBmcm9tIG9uZSBoZWFkIHRvIHR3byB0YWlscywg dG8gc3BlYWsgbWV0YXBob3JpY2FsbHkuCgpUaGUgZm9ybSBvZiBhIGJyaWRpLXRhaWwgbG9naWNh bCBjb25uZWN0aXZlIGlzIGdpJ1YsIHdpdGggdGhlIFYgZm9yIHRoZSB2b3dlbCBvZiB0aGUgdHJ1 dGggZnVuY3Rpb24uCgpIb3cgY291bGQgeW91IGNvcnJlY3RseSB0cmFuc2xhdGUgdGhlIEVuZ2xp c2ggc2VudGVuY2UgdG8gTG9qYmFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcHUga2xh a3UgZ2knZSBkdW5kYSBsZSBtaSBnZXJrdScnfn4KCgoKV2hhdCBkb2VzICcncm8gcmVtbmEgY3Ug cGFsY2kgZ2knbyB6dWt0ZSBsbyBwYWxjaScnIG1lYW4/CgpfXycncGFsY2knJ19fIHgxIGlzIGV2 aWwgYnkgc3RhbmRhcmQgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxQZW9wbGUgYXJlIGV2 aWwgaWYgYW5kIG9ubHkgaWYgdGhleSBkbyBldmlsIHRoaW5ncy7igJ1+fgoKCgpGdXJ0aGVybW9y ZSwgdGhlcmUgaXMgYSBmb3JldGhvdWdodCBhbGwtYnV0IHRhbnJ1IGludGVybmFsIGdyb3VwIG9m IGNvbm5lY3RlcnMgbWFkZSBieSBwcmVmaXhpbmcg4oCcZ+KAnSBpbiBmcm9udCBvZiB0aGUgdHJ1 dGggZnVuY3Rpb24gdm93ZWwuIOKAnEZvcmV0aG91Z2h04oCdIGluIHRoaXMgY29udGV4dCBtZWFu cyB0aGF0IHRoZXkgbmVlZCB0byBnbyBpbiBmcm9udCBvZiB0aGUgdGhpbmdzIHRoZXkgY29ubmVj dCwgYW5kIHRodXMgeW91IG5lZWQgdG8gdGhpbmsgYWJvdXQgdGhlIGdyYW1tYXRpY2FsIHN0cnVj dHVyZSBvZiB0aGUgc2VudGVuY2UgYmVmb3JlIHNheWluZyBpdC4gQWxsLWJ1dCB0YW5ydSBpbnRl cm5hbCBtZWFucyB0aGF0IGl0IHNlcnZlcyBib3RoIGFzIGEgY29ubmVjdGl2ZSBiZXR3ZWVuIHN1 bXRpLCBicmlkaSwgc2VsYnJpIGFuZCBicmlkaS10YWlscywgYnV0IG5vdCBiZXR3ZWVuIHR3byBz ZWxicmkgb2Ygb25lIHRhbnJ1LiBMZXQgbWUgc2hvdyB5b3UgaG93IGl0IHdvcmtzLCByZXdyaXRp bmcgdGhlIExvamJhbiBzZW50ZW5jZSBhYm92ZToKCicnZ28gbG8gcmVtbmEgY3UgcGFsY2kgZ2kg bG8gcmVtbmEgY3UgenVrdGUgbG8gcGFsY2knJwoKVGhlIGZpcnN0IGxvZ2ljYWwgY29ubmVjdGl2 ZSBpbiB0aGVzZSBraW5kcyBvZiBjb25zdHJ1Y3RzIGFyZSB3aGF0IGNhcnJpZXMgdGhlIHZvd2Vs IHdoaWNoIHNpZ25hbCB3aGF0IHRydXRoIGZ1bmN0aW9uIGlzIGJlaW5nIHVzZWQuIFRoZSBzZWNv bmQgbG9naWNhbCBjb25uZWN0aXZlIGlzIGFsd2F5cyAnJ2dpJycsIGFuZCBsaWtlICcnLmknJywg aXQgaGFzIG5vIHRydXRoIGZ1bmN0aW9uLiBJdCBzaW1wbHkgc2VydmVzIHRvIHNlcGFyYXRlIHRo ZSB0d28gdGVybXMgYmVpbmcgY29ubmVjdGVkLiBJZiB5b3Ugd2FudCB0byBuZWdhdGUgdGhlIGZp cnN0IG9yIHNlY29uZCBzZW50ZW5jZSwgYSAnJ25haScnIGlzIHN1ZmZpeGVkIHRvIGVpdGhlciB0 aGUgZmlyc3QgKGZvciB0aGUgZmlyc3Qgc2VudGVuY2UpIG9yIHNlY29uZCAoZm9yIHRoZSBzZWNv bmQgc2VudGVuY2UpIGxvZ2ljYWwgY29ubmVjdGl2ZS4KClByb3ZpZGVkIHRoYXQgdGhlIGNvbnN0 cnVjdHMgYXJlIHRlcm1pbmF0ZWQgcHJvcGVybHksIGl0IGhhcyByZW1hcmthYmxlIGZsZXhpYmls aXR5LCBhcyB0aGUgZm9sbG93aW5nIGZldyBleGFtcGxlcyBkZW1vbnN0cmF0ZToKCicnbWkgZ28g a2xhbWEgZ2kgY2FkenUgdmF1IGxlIG1pIHpkYW5pJycg4oCcSSBnbywgaWYgYW5kIG9ubHkgaWYg d2FsaywgdG8gbXkgaG9tZeKAnSBvciDigJxJIGNhbiBvbmx5IGdvIHRvIG15IGhvbWUgYnkgd2Fs a2luZy7igJ0gTm90aWNlIHRoYXQgdGhlICcndmF1JycgaXMgbmVlZGVkIHRvIG1ha2UgbGUgbWkg emRhbmkgYXBwbHkgdG8gYm90aCAnJ2NhZHp1JycgYW5kICcna2xhbWEnJy4KCicnc2UgZ3UgZG8g Z2kgbmFpIG1pIGJhanJhIGxlIGRvIGNrdWxlJycg4oCcV2hldGhlciBvciBub3QgeW91LCB0aGVu IG5vdCBJLCBydW4gdG8geW91ciBzY2hvb2zigJ0gb3Ig4oCcSSB3b24ndCBydW4gdG8geW91ciBz Y2hvb2wgbm8gbWF0dGVyIGlmIHlvdSBkbyBvciBub3TigJ0KCgoKVGhlIHRhbnJ1LWludGVybmFs IGVxdWl2YWxlbnQgb2YgZ1YgaXMgZ3UnVi4gVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNhbWUsIGV4 Y2VwdCB0aGF0IHRoZXkgYXJlIGV4Y2x1c2l2ZWx5IHRhbnJ1LWludGVybmFsLCBhbmQgdGhhdCB0 aGV5IGJpbmQgYSBzZWxicmkgdG8gdGhlICcnZ2knJyB0aWdodGVyIHRoYW4gbm9ybWFsIHRhbnJ1 LWdyb3VwaW5nLCBidXQgd2Vha2VyIHRoYW4gZXhwbGljaXQgYmluZGluZy1zdW10aToKCicnbGEg eGFuei5rcnQuIGd1J2UgbWVya28gZ2kgZG90Y28gbmFubXUnJyBpcyBlcXVpdmFsZW50IHRvCgon J2xhIHhhbnoua3J0LiBtZXJrbyBqZSBkb3RjbyBuYW5tdScnCgoKCkFuZCBzbyB5b3UndmUgcmVh ZCBwYWdlIHVwIGFuZCBwYWdlIGRvd24ganVzdCB0byBnZXQgdGhlIG5lY2Vzc2FyeSBrbm93bGVk Z2UgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBsZWFybiBob3cgdG8gYXNrIOKAnFdvdWxkIHlvdSBs aWtlIG1pbGsgb3Igc3VnYXIgaW4geW91ciBjb2ZmZWU/4oCdIGluIExvamJhbi4gU2ltcGx5IHBs YWNlIGEgcXVlc3Rpb24gbG9naWNhbCBjb25uZWN0aXZlIGluc3RlYWQgb2YgYW5vdGhlciBsb2dp Y2FsIGNvbm5lY3RpdmUsIGFuZCBsaWtlICcnbWEnJywgaXQgYXNrcyB0aGUgbGlzdGVuZXIgdG8g ZmlsbCBpbiBhIGNvcnJlY3QgcmVzcG9uc2UuIFVuZm9ydHVuYXRlbHksIHRoZXNlIHF1ZXN0aW9u LWxvZ2ljYWwgY29ubmVjdGl2ZXMgZG9uJ3QgYWx3YXlzIG1hdGNoIHRoZSBtb3JwaG9sb2dpY2Fs IHBhdHRlcm4gb2YgdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhleSBhc2sgZm9yOgoKX18nJ2pp JydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgc3VtdGkgbG9naWNh bCBjb25uZWN0aXZlIChBKQoKX18nJ2plJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlv bjogQXNrcyBmb3IgYSB0YW5ydS1pbnRlcm5hbCBzZWxicmkgbG9naWNhbCBjb25uZWN0aXZlIChK QSkKCl9fJydnaSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEg YnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdJaEEpCgpfXycnZ2UnaScnX18gTG9naWNh bCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFu cnUgaW50ZXJuYWwgbG9naWNhbCBjb25uZWN0aXZlIChHQSkKCl9fJydndSdpJydfXyBMb2dpY2Fs IGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgb25seSB0YW5ydSBp bnRlcm5hbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdVaEEpCgoKClNvLi4uIGhvdyB3b3VsZCB5b3Ug YXNrIGlmIHRoZSBwZXJzb25zIHdhbnRzIG1pbGsgb3Igc3VnYXIgaW4gaGVyIGNvZmZlZT8KCl9f JydsYWRydScnX18geDEgaXMvY29udGFpbnMgbWlsayBmcm9tIHNvdXJjZSB4MgoKX18nJ3Nha3Rh JydfXyB4MSBpcy9jb250YWlucyBzdWdhciBmcm9tIHNvdXJjZSB4MiBvZiBjb21wb3NpdGlvbiB4 MwoKCgpQb3NzaWJsZSBhbnN3ZXI6IH5+Z3JleSxncmV5Oicnc2FrdGEgamUnaSBsYWRydSBsZSBk byBja2FmaScnIHRob3VnaCBJIGd1ZXNzIHNvbWV0aGluZyBtb3JlIEVuZ2xpc2ggYW5kIGxlc3Mg ZWxlZ2FudCBjb3VsZCBhbHNvIHN1ZmZpY2UgbGlrZSAnJ2RvIGRqaWNhIGxlbnUgbG8gc2FrdGEg amkgbG8gbGFkcnUgY3UgbmVucmkgbGUgZG8gY2thZmknJ35+CgoKCiEhTG9qYmFuIExlc3NvbnMg LSBMZXNzb24gdHdlbnR5LXNpeCAobm9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMpCgpUaGUgd29yZCAi bG9naWNhbCIgaW4gImxvZ2ljYWwgY29ubmVjdGl2ZSIgcmVmZXJzIHRvIHRoZSBhc3NvY2lhdGlv biBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBoYXMgd2l0aCBhIHRydXRoIGZ1bmN0aW9uLiBOb3QgYWxs IHVzZWZ1bCBjb25uZWN0aXZlcyBjYW4gYmUgZGVmaW5lZCB0aHJvdWdoIGEgdHJ1dGggZnVuY3Rp b24sIGhvd2V2ZXIsIGFuZCBzbyB0aGVyZSBhcmUgb3RoZXIgY29ubmVjdGl2ZXMgYmVzaWRlIHRo ZSBsb2dpY2FsIG9uZXMuCgpUaGUgbWVhbmluZyBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBk ZWZpbmVkIHRoZSBzYW1lIGFzIHR3byBkaWZmZXJlbnQgYnJpZGkgY29ubmVjdGVkIHdpdGggdGhh dCBsb2dpY2FsIGNvbm5lY3RpdmUuIEZvciBpbnN0YW5jZSwgJydtaSBuaXRjdSBkbyAuYSBsYSAu ZGphbi4nJyBpcyBkZWZpbmVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gJydtaSBuaXRjdSBkbyAuaSBq YSBtaSBuaXRjdSBsYSAuZGphbi4nJy4gVGhpcyBkZWZpbml0aW9uIGlzIHVzZWZ1bCB0byBiZWFy IGluIG1pbmQsIGJlY2F1c2UgaXQgaW1wbGllcyB0aGF0IHNvbWV0aW1lcywgc3VtdGkgY2Fubm90 IGJlIGNvbm5lY3RlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMgd2l0aG91dCBjaGFuaW5nIHRo ZSBtZWFuaW5nLiBDb25zaWRlciB0aGUgc2VudGVuY2U6ICJKYWNrIGFuZCBKb2Ugd3JvdGUgdGhp cyBwbGF5LiIgT25lIGF0dGVtcHQgYXQgYSB0cmFuc2xhdGlvbiB3b3VsZCBiZTogJyd0aSBkcmFj aSBmaSBsYSAuZGphay4gZSBsYSAuZGpvdXMuJycKCl9fJydkcmFjaScnX18geDEgaXMgYSBkcmFt YS9wbGF5IGFib3V0IHgyIGJ5IHdyaXRlci9kcmFtYXRpc3QgeDMgZm9yIGF1ZGllbmNlIHg0IHdp dGggYWN0b3JzIHg1CgoKClRoZSBwcm9ibGVtIHdpdGggdGhpcyB0cmFuc2xhdGlvbiBpcyB0aGF0 IGl0IG1lYW5zICcndGkgZHJhY2kgbGEgLmRqYWsuIGlqZSB0aSBkcmFjaSBsYSAuZGpvdXMuJycs IHdoaWNoIGlzIG5vdCByZWFsbHkgdHJ1ZS4gTmVpdGhlciBKYWNrIG5vciBKb2Ugd3JvdGUgaXQs IHRoZXkgZGlkIHNvIHRvZ2V0aGVyLiBXaGF0IHdlIHdhbnQgaGVyZSBpcyBvZiBjb3Vyc2UgYSBt YXNzLCBhbmQgc29tZSB3YXkgdG8gam9pbiBKYWNrIGFuZCBKb2UgaW4gb25lIG1hc3MuIFRoaXMg aGFzIGxpdHRsZSB0byBkbyB3aXRoIGEgdHJ1dGggZnVuY3Rpb24gc28gd2UgbXVzdCB1c2UgYSBu b24tbG9naWNhbCBjb25uZWN0aXZlLCB3aGljaCBhcmUgb2Ygc2VsbWEnbyBKT0kuIFdlJ2xsIHJl dHVybiB0byB0aGlzIEphY2sgYW5kIEpvZS1wcm9ibGVtIGluIGEgbGl0dGxlIC0gZmlyc3Q6IEZv dXIgb2YgdGhlIGtub3duIEpPSToKCgoKfHxUaGUgTG9qYmFuIGNvbm5lY3RpdmU6fCcnY2UnJ3wn J2NlJ28nJ3wnJ2pvaScnfCcnam8ndScnCgpKb2lucyBzdW10aSBhbmQgZm9ybXMgYTp8c2V0fHNl cXVlbmNlfG1hc3N8Z3JvdXAgb2YgaW5kaXZpZHVhbHN8fAoKVGhlIGZ1bmN0aW9ucyBvZiB0aGVz ZSB3b3JkcyBhcmUgc2ltcGxlOiAnJ2xvJ2kgcmVtbmEgam8ndSBsbydpIGdlcmt1JycgY29uc2lk ZXJzIGJvdGggdGhlIHNldCBvZiBodW1hbnMgYW5kIHRoZSBzZXQgb2YgZG9ncyBkaXN0cmlidXRp dmVseSAoYXMgaW5kaXZpZHVhbHMpLiBSZW1lbWJlciBmcm9tIGxlc3NvbiB0d2VudHktdHdvIChx dWFudGlmaWVycykgdGhhdCAiZGlzdHJpYnV0aXZpdHkiIG1lYW5zIHRoYXQgd2hhdCBpcyB0cnVl IGZvciB0aGUgZ3JvdXAgaXMgYWxzbyB0cnVlIGZvciBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBh bG9uZS4gU2ltaWxhcmx5ICcnbG9pIHJvIGdpc211IGNlJ28gbG9pIHJvIGx1anZvIGNlJ28gbG9p IHJvIGZ1J2l2bGEnJyBpcyBhIHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2YgdGhlIG1hc3Mgb2YgYWxs IGdpc211LCBmb2xsb3dlZCBieSB0aGUgbWFzcyBvZiBhbGwgbHVqdm8sIGZvbGxvd2VkIGJ5IHRo ZSBtYXNzIG9mIGFsbCBmdSdpdmxhLgoKQXMgd2l0aCBhbGwgb2YgdGhlIEpPSSB3aGljaCBoYXMg YW4gaW5oZXJlbnQgb3JkZXIsICcnc2UnJyBtYXkgYmUgcHV0IGJlZm9yZSAnJ2NlJ28nJyB0byBp bnZlcnNlIHRoZSBvcmRlcjogIkEgJydjZSdvJycgQiIgaXMgdGhlIHNhbWUgYXMgIkIgc2UgJydj ZSdvJycgQSIuCgoKCkhvdyBjYW4geW91IGNvcnJlY3RseSB0cmFuc2xhdGUgIkphY2sgYW5kIEpv ZSB3cm90ZSB0aGlzIHBsYXkiPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSBkcmFjaSBmaSBs YSAuZGphay4gam9pIGxhIC5kam91cy4nJ35+IAoKCgpUaGUgY21hdm8gb2YgSk9JIGFyZSB2ZXJ5 IGZsZXhpYmxlOiBUaGV5IGNhbiBhY3QgYm90aCBhcyBzdW10aSBjb25uZWN0aXZlcyBhbmQgdGFu cnUtaW50ZXJuYWwgY29ubmVjdGl2ZXMsIHNvIHRoZXkgY2FuIGJlIHVzZWQgdG8gY29ubmVjdCBz dW10aSwgc2VsYnJpIGFuZCBicmlkaS4gVGhpcyBmbGV4aWJpbGl0eSBtZWFucyB0aGF0IG9uZSBt dXN0IGJlIGNhcmVmdWwgdG8gdXNlIGZhJ29ybWEnbyBjb3JyZWN0bHkgd2hlbiB1c2luZyBhIEpP SS4gCgpXaGF0IGlzIHdyb25nIHdpdGggdGhlIGJyaWRpICcnbG8gZG90Y28gam8ndSBtaSBjdSBr bGFtYSBsYSBkb3RjbyBndWdkZScnPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJydqbyd1JycgaXMg cHV0IGFmdGVyIGEgc2VsYnJpLCBzbyBpdCBleHBlY3RzIGEgc2VsYnJpIGFmdGVyIGl0IHRvIGNv bm5lY3QgdG8sIGJ1dCBub25lIGlzIGZvdW5kLiBIYWQgIGEgJydrdScnIGJlZW4gcHJlc2VudCBi ZWZvcmUgdGhlIGNvbm5lY3RpdmUsIGl0IHdvdWxkIGhhdmUgYmVlbiBncmFtbWF0aWNhbH5+CgoK CklmIHNldmVyYWwgSk9JIGFyZSB1c2VkLCAnJ2JvJycgYW5kL29yICcna2UnJyBtYXkgYmUgdXNl ZCB0byBvdmVycmlkZSB0aGUgdXN1YWwgbGVmdC1ncm91cGluZzogJydtaSBqb2kgZG8gY2UnbyBs YSAuZGphay4gam9pIGJvIGxhIC5kam91cy4gY3UgcHUnbyBjaSdlcmtlaSBkYW1iYSBsZWkgeHVu cmUnJyAiTWUgYW5kIHlvdSwgYW5kIHRoZW4gSmFjayBhbmQgSm9lIGFyZSBhYm91dCB0aGUgcGxh eSBhZ2FpbnN0IHRoZSByZWRzIi4gQ29udHJhc3Qgd2l0aCAnJ21pIGpvaSBkbyBjZSdvIGxhIC5k amFrLiBqb2kgbGEgLmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnIC0g IkZpcnN0IG1lIGFuZCB5b3UsIHRoZW4gSmFjayB3aWxsIHRvZ2V0aGVyIHdpdGggSm9lIHBsYXkg YWdhaW5zdCB0aGUgcmVkcyIuIAoKQ29ubmVjdGluZyBicmlkaSB3aXRoIEpPSSBjYW4gbWFrZSBz b21lIGludGVyZXN0aW5nIGltcGxpY2F0aW9ucyBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4g dGhlIGJyaWRpOiAnJ2xhIC5kamFrLiBtb3JzaSByaSdhIGxvIG51IHJpIGR6dXNvaSAuaSBqb2kg bGUgamVtamEnYSBwbyByaSBjdSBiZWJuYScnIC0gIkphY2sgaXMgZGVhZCBiZWNhdXNlIGhlIHdh cyBhIGluZmFudHJ5IHNvbGRpZXIgYW5kIGhpcyBnZW5lcmFsIHdhcyBhbiBpZGlvdCIsIGltcGx5 aW5nIHRoYXQgdGhlc2UgdHdvIGJyaWRpIG1hc3NlZCB0b2dldGhlciB3YXMgdGhlIHBoeXNpY2Fs IGNhdXNlIG9mIGhpcyBkZWF0aDogSGFkIGhlIG9ubHkgYmVlbiBpbiBhbiBhcm1vcmVkIHZlaGlj bGUgb3Igd2l0aCBhIGNvbXBldGVudCBjb21tYW5kZXIsIGhlIG1pZ2h0IGhhZCBzdXJ2aXZlZC4K Cl9fJydkenVzb2knJ19fIHgxIGlzIGFuIGluZmFudHJ5IHNvbGRpZXIgb2YgYXJteSB4MgoKX18n J2plbWphJ2EnJ19fIHgxIGlzIGEgZ2VuZXJhbCBvZiBhcm15IHgyIGluIGZ1bmN0aW9uIHgzCgpf XycnYmVibmEnJ19fIHgxIGlzIGZvb2xpc2gvaWRpb3RpYyBpbiBwcm9wZXJ0eS9hc3BlY3QgeDIK CgoKTm9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMgbWF5IGFsc28gYmUgbmVnYXRlZCB3aXRoICcnbmFp JycsIGluZGljYXRpbmcgdGhhdCBzb21lIG90aGVyIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGU6 ICcnbG8gZGphY3UgY2UnbyBuYWkgLmUnbyBsbyBsYWRydSBjdSBjYXZ5ZmxlIGZpIGxlIG1pIHRj YXRpJycgLSAiUGxlYXNlIGRvbid0IHBvdXIgZmlyc3Qgd2F0ZXIgdGhlbiBtaWxrIGluIG15IHRl YSIuIFRoaXMsIG9mIGNvdXJzZSwgc2F5cyBub3RoaW5nIGFib3V0IHdoaWNoIGNvbm5lY3RpdmUg aXMgYXBwcm9wcmlhdGUgLSBvbmUgbWlnaHQgZ3Vlc3MgJydzZSBjZSdvJycgKGZpcnN0IG1pbGss IHRoZW4gd2F0ZXIpLCBvbmx5IHRvIGZpbmQgb3V0IHRoYXQgJycuZSBuYWknJyAob25seSB3YXRl ciwgbm8gbWlsayBhdCBhbGwpIHdhcyB0aGUgY29ycmVjdCBvbmUuCgpfXycnY2F2eWZsZScnX18g eDEsIGNvbnNpc3Rpbmcgb2YgeDIsIGZsb3dzIGludG8geDMgZnJvbSB4NAoKSnVzdCBsaWtlIGEg bG9naWNhbCBjb25uZWN0aXZlIGlzIGEgcGxhdXNpYmxlIG5lZ2F0aW9uIG9mIGEgbm9uLWxvZ2lj YWwgY29ubmVjdGl2ZSwgYW5zd2VycyB0byBxdWVzdGlvbnMgb2YgdGhlIHR5cGUgJydqaScnIG9y ICcnamUnaScnIGNhbiBiZSBib3RoIGxvZ2ljYWwgYW5kIG5vbi1sb2dpY2FsOiBBOiAnJ2xhZHJ1 IGplJ2kgc2FrdGEgbGUgZG8gY2thZmknJyBCOiAnJ3NlIGNlJ28nJyAoIk1pbGsgb3Igc3VnYXIg aW4geW91IGNvZmZlZT8iICJGaXJzdCB0aGUgbGF0dGVyLCB0aGVuIHRoZSBmb3JtZXIiKS4gSW4g dGhpcyBjYXNlICcnY2UnJyB3b3VsZCBtYWtlIG5vIHNlbnNlIGF0IGFsbCwgc2luY2Ugc2V0cyBj YW4ndCBiZSBjb250YWluZWQgaW4gY29mZmVlLCBhbmQgJydqb2knJyAoYm90aCBtaXhlZCB0b2dl dGhlcikgd291bGQgbWVhbiB0aGUgc2FtZSBhcyAnJ2pvJ3UnJyAoYm90aCBvZiB0aGVtKSwgdW5s ZXNzIHRoZSByZXNwb25kYW50IHByZWZlcnJlZCB1bm1peGVkIHN1Z2FyIGluIGhpcyBjb2ZmZWUu CgoKClRoZSBmaWZ0aCBKT0kgSSBwcmVzZW50IGhlcmUgaXMgYSBiaXQgb2YgYW4gb2RkYmFsbDoK Cl9fJydmYSd1JydfXyBOb24tbG9naWNhbCBjb25uZWN0aXZlOiBVbm1peGVkIG9yZGVyZWQgZGlz dHJpYnV0aW9uIChBIGFuZCBCLCByZXNwZWN0aXZlbHkpCgpXaGVuIG9ubHkgb25lICcnZmEndScn IGlzIHBsYWNlZCB3aXRoaW4gYSBicmlkaSAob3Igc2V2ZXJhbCBicmlkaSBjb25uZWN0ZWQgdG9n ZXRoZXIgd2l0aCBjb25uZWN0b3JzKSwgJydmYSd1JycgbWF5IGJlIGFzc3VtZWQgdG8gYmUgaWRl bnRpY2FsIHRvICcnam8ndScnLiBXaGVuIHNldmVyYWwgJydmYSd1JycgaXMgdXNlZCB3aXRoaW4g b25lIGJyaWRpLCBob3dldmVyLCB0aGUgY29uc3RydWN0cyBiZWZvcmUgJydmYSd1JycgZWFjaCBh cHBseSB0byBlYWNoIG90aGVyLCBhbmQgdGhlIGNvbnN0cnVjdHMgYWZ0ZXIgJydmYSd1JycgZWFj aCBhcHBseSB0byBlYWNoIG90aGVyLiBMZXQncyBoYXZlIGFuIGV4YW1wbGU6CgonJ21pIGZhJ3Ug ZG8gcnVza28gZmEndSBrYWRubycnIC0gIllvdSBhbmQgSSBhcmUgUnVzc2lhbiBhbmQgQ2FuYWRp YW4iLCBpbXBseWluZyB0aGF0ICcnbWknJyBnb2VzIHdpdGggJydydXNrbycnIGFuZCAnJ2RvJycg Z29lcyB3aXRoICcna2Fkbm8nJywgYW5kIGltcGx5aW5nIG5vdGhpbmcgYWJvdXQgYW55IG90aGVy IGNvbWJpbmF0aW9uLiBPZiBjb3Vyc2UsIGluIHRoaXMgZXhhbXBsZSwgaXQgd291bGQgYmUgbXVj aCBlYXNpZXIgdG8gc2F5ICcnbWkgcnVza28gLmkgZG8ga2Fkbm8nJy4KCgoKVGhlc2UgbGFzdCB0 aHJlZSBKT0kgY29ubmVjdHMgdHdvIHNldHMgdG8gbWFrZSBuZXcgc2V0czoKCl9fJydqbydlJydf XwlBIHVuaW9uIEIKCl9fJydrdSdhJydfXwlBIGludGVyc2VjdGlvbiBCCgpfXycncGkndSAnJ19f CUNyb3NzIHByb2R1Y3Qgb2YgQSBhbmQgQgoKCgpUaGVzZSBhcmUgcHJvYmFibHkgbm90IHZlcnkg dXNlZnVsIGZvciB0aGUgYXZlcmFnZSBMb2piYW5pc3QsIGJ1dCBJIG1pZ2h0IGFzIHdlbGwgaW5j bHVkZSB0aGVtIGhlcmUuCgpUaGUgZmlyc3Qgb25lLCAnJ2pvJ2UnJywgbWFrZXMgYSBuZXcgc2V0 IGZyb20gdHdvIHNldHMuIFRoaXMgbmV3IHNldCBjb250YWlucyBvbmx5IHRob3NlIG1lbWJlcnMg d2hpY2ggYXJlIGluIGJvdGggc2V0cy4KCkEgc2V0IG1hZGUgd2l0aCAnJ2t1J2EnJyBjb250YWlu cyBhbGwgdGhlIG1lbWJlcnMgb2Ygc2V0IEEgYW5kIHRob3NlIG9mIHNldCBCLiBJZiBhbnl0aGlu ZyBpcyBhIG1lbWJlciBvZiBib3RoIHNldHMsIHRoZXkgYXJlIG5vdCBjb3VudGVkIHR3aWNlLgoK JydwaSd1JycgaXMgYSBsaXR0bGUgbW9yZSBjb21wbGljYXRlZC4gQSBzZXQgIkEgJydwaSd1Jycg QiIgY29udGFpbnMgYWxsIHRoZSBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgImEgJydjZSdvJycg YiIsIHdoZXJlIGEgaXMgYSBtZW1iZXIgb2YgQSBhbmQgYiBpcyBhIG1lbWJlciBvZiBCLiBJdCBp cyB0aHVzIGEgc2V0IG9mIHNlcXVlbmNlcyBvZiBtZW1iZXJzLiBJZiwgZm9yIGluc3RhbmNlLCBz ZXQgQSBjb250YWluZWQgdGhlIG1lbWJlcnMgcCBhbmQgcSwgYW5kIHNldCBCIGNvbnRhaW5lZCBt ZW1iZXJzIGYgYW5kIGcsIHRoZW4gQSAnJ3BpJ3UnJyBCIHdvdWxkIGJlIGEgc2V0IGNvbnNpc3Rp bmcgb2YgdGhlIGZvdXIgbWVtYmVycyBwICcnY2UnbycnIGYsIHAgJydjZSdvJycgZywgcSAnJ2Nl J28nJyBmIGFuZCBxICcnY2UnbycnIGcuCgoKCiEhIUVuZCBvZiBwYXJ0IHR3bwoKKCh3YXZlbGVz c29uc2NvbnRpbnVlZHxSZXR1cm4gdG8gdGhlIHdhdmVsZXNzb25zIHBhcnQgb25lKSkKClRoaXMg cGFydCBjb25jbHVkZXMgdGhlIHR1dG9yaWFsIHRvIG9yZGluYXJ5IExvamJhbi4gSW4gdGhlIHRo aXJkIHBhcnQsIEkgd2lsbCBmb2N1cyBvbiBhZHZhbmNlZCBMb2piYW4gLSB0aGUgcGFydHMgeW91 IGRvbid0IGFjdHVhbGx5IG5lZWQgdG8ga25vdyB0byBzcGVhayB0aGUgbGFuZ3VhZ2UuIEkgZGlz Y291cmFnZSB5b3UgdG8gYmVnaW4gcmVhZGluZyB0aGUgdGhpcmQgcGFydCB1bnRpbCB5b3UgZmVl bCBjb21mb3J0YWJsZSBlbm91Z2ggd2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGZpcnN0IHR3 byBwYXJ0cyB0byBob2xkIGFuIHdyaXR0ZW4gY29udmVyc2F0aW9uIGluIHRoZSBsYW5ndWFnZS4g SWYgeW91IF9fZG9fXyB3aXNoIHRvIGNvbnRpbnVlLCB5b3UgY2FuIHByZXNzICgod2F2ZWxlc3Nv bnNjb250aW51ZWRwM3x0aGlzIGxpbmspKSB0byBnbyB0aGVyZS4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0 Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9s aXN0aW5mby93aWtpbmV1cm90aWMK