Received: from localhost ([::1]:35233 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1SNlDy-0001lf-8X; Fri, 27 Apr 2012 06:28:38 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:59133 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1SNlDm-0001kj-SA for wikineurotic@lojban.org; Fri, 27 Apr 2012 06:28:34 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 27 Apr 2012 06:28:26 -0700 From: "Apache" Date: Fri, 27 Apr 2012 06:28:26 -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 wavelessonscontinuedp2 was changed by gleki at 13:28 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by gleki 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 Content-Length: 136401 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAx MzoyOCBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9NCZuZXd2ZXI9 NQoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2Vk IGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczog MTAyLTEwNiBjaGFuZ2VkIHRvICtMaW5lczogMTAyLTEwNiBAQAorLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpfXycnLnXigJlpJydfXzog YXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoK LSBJdOKAmXMgdmVyeSBlYXN5IHRvIHVzZS4gQWdhaW4sIG5vdGUgdGhhdCBhbGwgZ3JhbW1hciBi b3RzIHdpdGggY29uc2lkZXIgdGhlIHNlbnRlbmNlIG5vdCBncmFtbWF0aWNhbCwgYmVjYXVzZSB0 aGVzZSB3b3JkcyBkbyBub3QgZXhpc3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLgorIEl04oCZcyB2 ZXJ5IGVhc3kgdG8gdXNlLiBBZ2Fpbiwgbm90ZSB0aGF0IGFsbCBncmFtbWFyIGJvdHMgd2lsbCBj b25zaWRlciB0aGUgc2VudGVuY2Ugbm90IGdyYW1tYXRpY2FsLCBiZWNhdXNlIHRoZXNlIHdvcmRz IGRvIG5vdCBleGlzdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIuCgpBbmFsb2dvdXMgdG8gJyd6bydv aScnIGFuZCAnJ2xh4oCZbycnLCB0aGVyZSBpcyBhbHNvIHRoZSB3b3JkICcnbGHigJlvaScnLCB3 aGljaCB3b3JrcyBqdXN0IGxpa2UgJyd6b+KAmW9pJycsIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFz IGEgbmFtZToKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoh TG9qYmFuIFdhdmUgTGVzc29ucyBDb250aW51ZWQgKHBhcnQgdHdvKToKCiEhIWJ5IGxhIGtsYWt1 IHdpdGggaGVscCBmcm9tIGxhIC5rcmliYWNyLiwgbGEgeGFsYm8gYW5kIG90aGVycywgYXV0dW1u IDIwMTEuCgoKClRoaXMgaXMgdGhlIHNlY29uZCBpbnN0YWxsbWVudCBvZiB0aGUgV2F2ZSBMZXNz b25zIENvbnRpbnVlZC4gSWYgeW91IGRpZG4ndCBjYXRjaCB0aGUgZmlyc3QgcGFydCwgb3Igd2Fu dCB0byBnbyBiYWNrIGZvciBzb21lIHJlYXNvbiwganVzdCBjbGljayAoKHdhdmVsZXNzb25zY29u dGludWVkfGhlcmUuKSkKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzZXZlbnRlZW4gKGN1 dGUgYXNzb3J0ZWQgd29yZHMpCgpBbmQgd2l0aCB0aGF0LCB0aGlyZCBjaGFwdGVyLCB5b3Uga25v dyBhIGxvdCBhYm91dCBMb2piYW4gc3VtdGkuIEFmdGVyIHN1Y2ggYSBsb25nIHRpbWUgb2Ygcmln b3JvdXMgc3lzdGVtYXRpYyBsZWFybmluZywgd2hhdCBjb3VsZCBiZSBtb3JlIGZpdHRpbmcgdGhh dCB0aGlzIGxlc3NvbiB3aGVyZSBJIHNwZWFrIGFib3V0IHNvbWUgd29yZHMgd2hpY2ggSSBjb3Vs ZCBub3QsIG9yIHdhbnRlZCBub3QgdG8gZml0IGludG8gYW55IG90aGVyIGxlc3NvbnM/IFNvIGhl cmUgYXJlIGEgZmV3IHNtYWxsIGFuZCByZWFsbHkgdXNlZnVsIHdvcmRzOgoKCgpUaGUgZm9sbG93 aW5nIGZvdXIgY21hdm8gYXJlIGFsbCBlbGxpcHRpY2FsIHdvcmRzLiBZb3Ugc2hvdWxkIGFscmVh ZHkgYmUgZmFtaWxpYXIgd2l0aCB0aGUgZmlyc3QuCgpfXycnem/igJllJydfXyAtIGVsbGlwdGlj YWwgc3VtdGkKCl9fJydjb+KAmWUnJ19fIC0gZWxsaXB0aWNhbCBzZWxicmkKCl9fJydkb+KAmWUn J19fIC0gZWxsaXB0aWNhbCBzdW10Y2l0YQoKX18nJ2p14oCZYScnX18gLSBlbGxpcHRpY2FsIGV2 aWRlbnRpYWwKCl9fJydkb+KAmWknJ19fIC0gZWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGUK Cl9fJydnZeKAmWUnJ19fIC0gZWxsaXB0aWNhbCBhdHRpdHVkaW5hbAoKCgpBbGwgb2YgdGhlc2Ug YWN0IGdyYW1tYXRpY2FsbHkgYXMgYSBjbWF2byBvZiB0aGUga2luZCB0aGV5IHJlcHJlc2VudCwg YnV0IHRoZXkgY29udGFpbiBubyBpbmZvcm1hdGlvbiwgYW5kIGNhbiBiZSBxdWl0ZSBoYW5keSB3 aGVuIHlvdeKAmXJlIGxhenkgYW5kIGRvbuKAmXQgbmVlZCB0byBiZSBzcGVjaWZpYyBhbnl3YXku IFRoZXJlIGFyZSwgaG93ZXZlciwgYSBmZXcgdGhpbmdzIHdoaWNoIG5lZWQgdG8gYmUgY2xlYXJl ZCB1cDoKCgoKICAgICcnem/igJllJycgaGF2ZSB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2gg aXMgY2xhaW1lZCB0byBoYXZlIGEgdmFsdWUuIOKAnHplcm8gY2Fyc+KAnSBvciDigJxub3RoaW5n 4oCdLCBmb3IgaW5zdGFuY2UsIGhhcyBubyB2YWx1ZSwgYW5kIHRoZXJlZm9yZSBjYW5ub3QgYmUg cmVmZXJyZWQgdG8gYnkgJyd6b+KAmWUnJy4gVGhpcyBpcyBiZWNhdXNlLCBpZiBpdCBjb3VsZCBt ZWFuIOKAnG5vdGhpbmfigJ0gYnkgJyd6b+KAmWUnJywgdGhlbiBhbnkgc2VsYnJpIGNvdWxkIGJl IGlkZW50aWNhbCB0byBpdHMgbmVnYXRpb24sIGlmIG9uZSBvZiB0aGUgZWxpZGVkIHN1bXRpIHdl cmUgZmlsbGVkIHdpdGggYSAnJ3pv4oCZZScnIHdpdGggbm8gdmFsdWUuCgogICAgJydnZeKAmWUn JyBkb2VzIG5vdCBtZWFuIHRoYXQgeW91IGZlZWwgbm8gZW1vdGlvbiwganVzdCB0aGF0IHlvdSBm ZWVsIG5vdGhpbmcgc3BlY2lhbCBvciB3b3J0aCB0byBtZW50aW9uIGF0IHRoZSBtb21lbnQuIEl0 4oCZcyBzaW1pbGFyIHRvIOKAnEnigJltIGZpbmUu4oCdLiAnJ2dl4oCZZSBwZWknJyBhc2sgYWJv dXQgYW4gZWxsaXB0aWNhbCBlbW90aW9uIGFuZCBpcyBhIGdvb2QgdHJhbnNsYXRpb24gZm9yOiDi gJxIb3cgYXJlIHlvdSBmZWVsaW5nP+KAnS4KCiAgICAnJ2Nv4oCZZScnIGlzIGhhbmR5IHdoZW4g bmVlZGluZyBhIHNlbGJyaSBpbiBhIGNvbnN0cnVjdCBmb3IgZ3JhbW1hdGljYWwgcmVhc29ucywg bGlrZSBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJ3R14oCZYScnIGluIHRoZSBwcmV2aW91cyBsZXNz b24uCgogICAgJydqdeKAmWEnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHRydXRoIHZhbHVlIG9yIHN1 YmplY3RpdmUgdW5kZXJzdGFuZGluZyBvZiB0aGUgYnJpZGkgb3IgYW55dGhpbmcgbGlrZSB0aGF0 LiBJbiBmYWN0LCBpdOKAmXMgbW9zdGx5IGRvZXMgbm90aGluZy4gSG93ZXZlciwgJydqdeKAmWEg cGVpJycsIOKAnFdoYXQgaXMgeW91ciBiYXNpcyBmb3Igc2F5aW5nIHRoYXQ/4oCdIGlzIGhhbmR5 LgoKICAgICcnZG/igJlpJycgaXMgcmVhbGx5IHVzZWZ1bC4gQSBsb3Qgb2YgdGltZXMgd2hlbiB5 b3UgcmVmZXIgdG8gdXR0ZXJhbmNlcyBvciBjb252ZXJzYXRpb25zIGJ5IHdvcmRzIGxpa2Ug4oCc dGhpc+KAnSBvciDigJx0aGF04oCdLCB5b3Ugd2FudCAnJ2Rv4oCZaScnLgoKICAgIElmIHlvdSBm aWxsIGluIG1vcmUgc3VtdGkgdGhhbiBhIHNlbGJyaSBoYXMgcGxhY2VzIGZvciwgdGhlIGxhc3Qg c3VtdGkgaGF2ZSBpbXBsaWVkICcnZG/igJllJycgc3VtdGNpdGEgaW4gZnJvbnQgb2YgdGhlbS4K CgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgd29yZCwgJyd6aeKAmW8nJywgdGhhdCB5b3UgY2Fu IGZpbGwgYSBzdW10aSBwbGFjZSB3aXRoIHRvIGRlbGV0ZSBpdCBmcm9tIGFueSBzZWxicmkuICcn bG8gbWVsYmkgYmUgemnigJlvJycsIGZvciBpbnN0YW5jZSwgaXMganVzdCDigJxTb21ldGhpbmcg YmVhdXRpZnVs4oCdLCBhbmQgZG9lcyBub3QgaW5jbHVkZSB0aGUgdXN1YWwgeDIgb2YgJydtZWxi aScnLCB3aGljaCBpcyB0aGUgb2JzZXJ2ZXIgd2hvIGp1ZGdlcyBzb21ldGhpbmcgdG8gYmUgYmVh dXRpZnVsLiBUaHVzLCBpdCBjYW4gbWVhbiBzb21ldGhpbmcgbGlrZSDigJxPYmplY3RpdmVseSBi ZWF1dGlmdWwu4oCdIEl0IGRvZXMgbm90IHN0YXRlIHRoYXQgbm90aGluZyBmaWxscyB0aGUgc3Vt dGkgcGxhY2Ugd2hpY2ggaXMgYmVpbmcgZGVsZXRlZCwganVzdCB0aGF0IHRoZSBzdW10aSBwbGFj ZSBpcyBub3QgYmVpbmcgY29uc2lkZXJlZCBpbiB0aGUgc2VsYnJpLiBVc2luZyAnJ3pp4oCZbycn IHdpdGggYSBzdW10Y2l0YSBnaXZlcyB3ZWlyZCByZXN1bHRzLiBGb3JtYWxseSwgdGhleSBzaG91 bGQgY2FuY2VsIGVhY2ggb3RoZXIgb3V0LiBQcmFjdGljYWxseSwgaXQgd291bGQgcHJvYmFibHkg YmUgdW5kZXJzdG9vZCBhcyBhbiBleHBsaWNpdCB3YXkgb2Ygc2F5aW5nIHRoYXQgdGhlIHN1bXRj aXRhIGRvZXMgbm90IGFwcGx5LCBhcyBpbjogJydtaSBkYXJ4aSBkbyBtdeKAmWkgemnigJlvJycg LSDigJxJIGhpdCB5b3UsIHdpdGggb3Igd2l0aG91dCBtb3RpdmF0aW9uLuKAnQoKCgpUaGVuIHRo ZXJlIGlzIHRoZSB3b3JkICcnamFpJycuIEl04oCZcyBvbmUgb2YgdGhvc2UgY29vbCwgc21hbGwg d29yZHMgd2hpY2ggYXJlIGhhcmQgdG8gZ3Jhc3AsIGJ1dCBlYXN5IHRvIHdvcmsgd2l0aCBvbmNl IHlvdSBrbm93IGl0LiBJdCBoYXMgdHdvIGRpc3RpbmN0LCBidXQgc2ltaWxhciBmdW5jdGlvbnMu IEJvdGggaGF2ZSBzb21ldGhpbmcgdG8gZG8gd2l0aCBjb252ZXJ0aW5nIHRoZSBzZWxicmksIGxp a2UgJydzZScnIGRvZXMuCgpUaGUgZmlyc3QgZ3JhbW1hdGljYWwgY29uc3RydWN0aW9uIGl0IGNh biBtYWtlIGlzICInJ2phaScnIHtzdW10Y2l0YX0ge3NlbGJyaX0iLiBJdCBjaGFuZ2VzIHRoZSBz dW10aSBwbGFjZXMgc3VjaCB0aGF0IHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEgYmVj b21lcyB0aGUgc2VsYnJp4oCZcyB4MSwgYW5kIHRoZSBzZWxicmnigJlzIG9sZCB4MSBpcyByZW1v dmVkLCBhbmQgb25seSBhY2Nlc3NpYmxlIGJ5IHVzaW5nICcnZmFpJycsIHdoaWNoIHdvcmtzIGxp a2UgJydmYScnLiBZb3UgY2FuIHNlZSBpdCB3aXRoIHRoaXMgZXhhbXBsZToKCl9fJydnYXUnJ19f IC0gc3VtdGNpdGEgKGZyb20gJydnYXNudScnKSDigJxicmlkaSBoYXMgYmVlbiBicm91Z2h0IGFi b3V0IGJ5L3dpdGggYWN0aXZlIGFnZW50IHtzdW10aX3igJ0KCicnZG8gamFpIGdhdSBqdW5kaSB0 aSBmYWkgbWknJy4gLSDigJxZb3UgYnJpbmcgYWJvdXQgYXR0ZW50aW9uIHRvIHRoaXMgYnkgbWXi gJ0uIFRoZSBuZXcgc2VsYnJpLCAnJ2phaSBnYXUganVuZGknJywgaGFzIHRoZSBwbGFjZSBzdHJ1 Y3R1cmUgb2Yg4oCceDEgYnJpbmdzIGFib3V0IGF0dGVudGlvbiBwYWlkIHRvIHgy4oCdLiBUaGVz ZSBhcmUgdGhlbiBmaWxsZWQgYnkgJydkbycnIGFuZCAnJ3RpJycuIFRoZSAnJ2ZhaScnIHRoZW4g bWFya3MgdGhlIHBsYWNlIGZvciB0aGUgb2xkIHgxLCB0aGUgb25lIHdobyB3YXMgcGF5aW5nIGF0 dGVudGlvbiwgYW5kIGl0IGlzIGZpbGxlZCB3aXRoICcnbWknJy4gVGhpcyB3b3JkIGNhbiBiZSB2 ZXJ5IGNvbnZlbmllbnQgYW5kIGhhcyB0b25zIG9mIHVzZXMuIEEgZ29vZCBleGFtcGxlIGlzIGRl c2NyaXB0aXZlLWxpa2Ugc3VtdGkuIE9uZSBjYW4sIGZvciBpbnN0YW5jZSwgcmVmZXIgdG8g4oCc dGhlIG1ldGhvZCBvZiB2b2xpdGlvbmFsIGFjdGlvbuKAnSBieSAnJ2xvIGphaSB0YeKAmWkgenVr dGUnJy4KCl9fJyd0YeKAmWknJ19fOiBzdW10Y2l0YSAoZnJvbSAnJ3RhZGppJycpIOKAnEJyaWRp IGlzIGRvbmUgd2l0aCB0aGUgbWV0aG9kIG9mIHtzdW10aX3igJ0KCkNhbiB5b3UgZGVkdWNlIHdo YXQgdGhlIG9yZGluYXJ5IExvamJhbiBwaHJhc2UgJydkbyBqYWkgZ2F1IG1vJycgbWVhbnM/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcV2hhdCBhcmUgeW91IGRvaW5nP+KAnX5+CgpzCgpUaGUg b3RoZXIgZnVuY3Rpb24gb2YgJydqYWknJyBpcyBlYXNpZXIgdG8gZXhwbGFpbi4gSXQgc2ltcGx5 IGNvbnZlcnRzIHRoZSBzZWxicmkgc3VjaCB0aGF0IHRoZSBzdW10aSBpbiB0aGUgeDEgZ2V0cyBh ICcndHXigJlhJycgaW4gZnJvbnQgb2YgaXQgKCcna2/igJlhIGphaSBicm9kYScnIF9fPV9fICcn dHXigJlhIGtv4oCZYSBicm9kYScnKS4gSW4gb3RoZXIgd29yZHMsIGl0IGNvbnZlcnRzIHRoZSBz ZWxicmkgaW4gYSB3YXkgc3VjaCB0aGF0IGl0IGJ1aWxkcyBhbiBlbGxpcHRpY2FsIGFic3RyYWN0 aW9uIGZyb20gdGhlIHN1bXRpIGluIHRoZSB4MSwgYW5kIHRoZW4gZmlsbHMgeDEgd2l0aCB0aGUg YWJzdHJhY3Rpb24gaW5zdGVhZCBvZiB0aGUgYWN0dWFsIHN1bXRpLiBBZ2FpbiwgdGhlIG9yaWdp bmFsIHN1bXRpIHBsYWNlIGlzIGFjY2Vzc2libGUgYnkgJydmYWknJy4KCkEgdmVyeSBhY3RpdmUg TG9qYmFuIElSQy11c2VyIG9mdGVuIHNheXMgJydsZSBnZXJrdSBiZSBkbyBqYWkgc2Ugc3RpZGkg bWknJywgdG8gdXNlIGEgcmFuZG9tIGV4YW1wbGUgb2YgYSBzdW10aSBpbiB4MS4gV2hhdOKAmXMg aGUgc2F5PwoKX18nJ3N0aWRpJydfXyB4MSBpbnNwaXJlcy9zdWdnZXN0cyB4MiBpbi90byB4M+KA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc3VnZ2VzdCAoc29tZXRoaW5nIGFib3V0KSB5 b3VyIGRvZy7igJ1+fgoKCgpTbyBmYXIgeW914oCZdmUgbGVhcm5lZCBob3cgdG8gY29udmVydCBi cmlkaSB0byBzZWxicmksIHNlbGJyaSB0byBzdW10aSwgYW5kIHNlbGJyaSBpbnRvIGJyaWRpLCBz aW5jZSBhbGwgc2VsYnJpIGJ5IHRoZW1zZWx2ZXMgYXJlIGFsc28gYnJpZGkuIFlvdSBvbmx5IG5l ZWQgb25lIGxhc3QgZnVuY3Rpb246IGNvbnZlcnQgc3VtdGkgdG8gc2VsYnJpLiBUaGlzIGlzIGRv bmUgd2l0aCB0aGUgd29yZCAnJ21lJycuIEl0IGFjY2VwdHMgYSBzdW10aSBhbmQgY29udmVydHMg aXQgaW50byBhIHNlbGJyaSB3aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1cmUg4oCceDEgaXMgc3BlY2lm aWMgdG8ge3N1bXRpfSBpbiBwcm9wZXJ0eSB4MuKAnS4KCgoKV2hlbiBzY3Jld2luZyBhIHNlbnRl bmNlIHVwLCBrbm93aW5nIGhvdyB0byBjb3JyZWN0IHlvdXJzZWxmIGlzIGEgZ29vZCBpZGVhLiBU aGVyZSBhcmUgdGhyZWUgd29yZHMgaW4gTG9qYmFuIHdoaWNoIHlvdSBjYW4gdXNlIHRvIGRlbGV0 ZSB5b3VyIHByZXZpb3VzIHdvcmQocykKCl9fJydzaScnX18gLSBkZWxldGlvbjogRGVsZXRlcyBs YXN0IHdvcmQgb25seS4KCl9fJydzYScnX18gLSBkZWxldGlvbjogRGVsZXRlcyBiYWNrIHVudGls IG5leHQgY21hdm8gc3Bva2VuLgoKX18nJ3N1JydfXyAtIGRlbGV0aW9uOiBEZWxldGVzIGVudGly ZSBkaXNjb3Vyc2UuCgpUaGUgZnVuY3Rpb24gb2YgdGhlc2Ugd29yZHMgYXJlIHZlcnkgb2J2aW91 cy4gVGhleSBkZWxldGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJlZW4gc3Bva2VuLiBU aGV5IGRvIG5vdCB3b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1b3RlcyBleGNlcHQg JydsdS4ubGnigJl1JycpLCB0aG91Z2gsIGFzIHRoYXQgd291bGQgbGVhdmUgaXQgaW1wb3NzaWJs ZSB0byBxdW90ZSB0aGVzZSB3b3Jkcy4gU2V2ZXJhbCAnJ3NpJycgaW4gYSByb3cgZGVsZXRlcyBz ZXZlcmFsIHdvcmRzLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWlnaHRlZW4gKHF1 b3RlcykKCk9uZSBvZiB0aGUga2V5IGRlc2lnbiBmZWF0dXJlcyBvZiBMb2piYW4gaXMgdGhhdCBp dOKAmXMgc3VwcG9zZWQgdG8gYmUgYXVkaW8tdmlzdWFsIGlzb21vcnBoaWMsIG1lYW5pbmcgdGhh dCBldmVyeXRoaW5nIGV4cHJlc3NlZCBpbiB0ZXh0IHNob3VsZCBhbHNvIGJlIGV4cHJlc3NlZCBp biBzcGVlY2ggYW5kIHZpY2UgdmVyc2EuIFRoZXJlZm9yZSwgdGhlcmUgY2Fubm90IGJlIGFueSBw dW5jdHVhdGlvbiB3aGljaCBpcyBub3QgcHJvbm91bmNlZC4gVGhpcyBtZWFucyB0aGF0IExvamJh biBoYXMgYSB3aWRlIHJhbmdlIG9mIHdvcmRzIHRvIHF1b3RlIG90aGVyIHdvcmRzLiBBbGwgTG9q YmFuIHF1b3RlcyB0YWtlIHNvbWUgaW5wdXQgb2YgdGV4dCBhbmQgY29udmVydHMgaXQgdG8gYSBz dW10aS4gTGV04oCZcyBiZWdpbiB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoKX18nJ2x1JydfXyBR dW90ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKX18n J2xp4oCZdScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBj b250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSB0aGlzIGNvbnN0cnVjdCBtdXN0IGJ5IGl0c2VsZiBi ZSBncmFtbWF0aWNhbC4gSXQgY2FuIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgd2l0aCBzb21lIGZl dyBleGNlcHRpb25zLCBtb3N0IG5vdGFibHksIG9idmlvdXNseSwgJydsaeKAmXUnJy4KCgoKVHJ5 IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHNlbnRlbmNlLiBUYWtlIHlvdXIgdGltZS4KCicn bWkgc3RpZGkgbG8gZHJhdGEgYmUgdHXigJlhIGx1IGtvIGphaSBnYXUgbW8gbGnigJl1JycKCl9f JydkcmF0YScnX18geDEgaXMgZGlmZmVyZW50IGZyb20geDIgYnkgc3RhbmRhcmQKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIHNvbWV0 aGluZyBhYm91dCDigJxrbyBqYWkgZ2F1IG1v4oCdLuKAnX5+CgoKClRoZXNlIHF1b3RlIHdvcmRz IGNhbm5vdCBxdW90ZSB1bmdyYW1tYXRpY2FsIHRleHQuIFRoaXMgaXMgc29tZXRpbWVzIHVzZWZ1 bCwgd2hlbiB5b3Ugd2FudCB0byBvbmx5IHBpY2sgb3V0IHBhcnQgb2YgYSBzZW50ZW5jZSwgYXMg aW46IOKAnCBpcyDigJxnaeKAmWXigJ0gYSBMb2piYW4gc3VtdGNpdGE/4oCdCgoKCkZvciB0aGlz LCB5b3UgbmVlZCB0aGVzZSB0d28gY21hdm8KCl9fJydsb+KAmXUnJ19fIFF1b3RlIHdvcmQ6IEJl Z2luIHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgpfXycnbGXigJl1 JydfXyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNv bnRlbnQKCgoKVGhlIHRleHQgaW5zaWRlIG11c3QgYmUgTG9qYmFuIHdvcmRzLCBidXQgbmVlZCBu b3QgYmUgZ3JhbW1hdGljYWwuIFRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3ZlIGV4YW1wbGUgKHRo ZW4gb25lIHdpdGggJydnaSdlJycpIGludG8gTG9qYmFuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 Jyd4dSBsb+KAmXUgZ2nigJllIGxl4oCZdSBsb2pibyBzdW10Y2l0YScnfn4KCgoKVGhpcyBxdW90 ZSBjYW4gYmUgdXNlZCB0byBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIGV4Y2VwdCAnJ2xl4oCZdScn LiBIb3dldmVyLCB0aGlzIGlzIG5vdCBlbm91Z2guIElmIHdlIHdhbnQgdG8gdHJhbnNsYXRlIOKA nGlzIOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0cmFuc2xhdGlvbiBvZiDigJxXaGF04oCZcyB1cD/i gJ3igJ0sIHdlIG1pZ2h0IGJlIHNsaWdodGx5IHdyb25nIGFib3V0IHdoYXQgd2UgaGVyZSBzdGF0 ZSwgc2luY2UgJydkbyBtbycnIGFsc28gY2FuIG1lYW4g4oCcV2hhdCBhcmUgeW91P+KAnSwgYnV0 IGxldOKAmXMgcm9sbCB3aXRoIGl0IGZvciBhIHNlY29uZC4gV2hhdCB3ZSBuZWVkIGhlcmUgaXMg dGhlIHdvcmQgJyd6b2knJy4KCgoKJyd6b2knJyBOZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJw b3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZS4KCgoKV2hlbiB1c2luZyAnJ3pv aScnLCB5b3UgcGljayBhbnkgbW9ycGhvbG9naWNhbGx5IGNvcnJlY3QgbG9qYmFuIHdvcmQgYXQg d2lsbCAoY2FsbGVkIHRoZSBkZWxpbWl0ZXIpLCB3aGljaCB0aGVuIG9wZW5zIGEgcXVvdGUuIFRv IGNsb3NlIGlzLCB1c2UgdGhhdCB3b3JkIGFnYWluLiBUaGlzIHdheSwgeW91IGNhbiBxdW90ZSBh bnl0aGluZyBleGNlcHQgdGhlIGRlbGltaXRlciwgd2hpY2ggc2hvdWxkbuKAmXQgYmUgYSBwcm9i bGVtIGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJzZWxmLiBVc3VhbGx5LCB0aGUgd29yZCBw aWNrZWQgaXMgZWl0aGVyICcnem9pJycgaXRzZWxmLCBvciBhIGxldHRlciB3aGljaCBzdGFuZHMg Zm9yIHRoZSBsYW5ndWFnZSB3aGljaCB0aGUgcXVvdGUgaXMgd3JpdHRlbiBpbi4gRXhhbXBsZTog 4oCcSSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmHigJ0gaXMgJydtaSBwdSBuZWxjaSBs YeKAmWUgem9pIHpvaS4gVGhlIFBoYW50b20gb2YgdGhlIE9wZXJhIC56b2knJyBOb3RpY2UgdHdv IHRoaW5nczogRmlyc3RseSwgSSBuZWVkIGEgJydsYeKAmWUnJywgc2luY2UgSSBkaWRu4oCZdCBs aWtlIHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJlZmVycmVkIHRvLiBTZWNvbmRseSwg YmV0d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhlIHF1b3RlLCB0aGVyZSBhcmUgcGF1 c2VzLCBvcHRpb25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcuIFRo aXMgcGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgZGVsaW1pdGVy LgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBzZW50ZW5jZSBjb25jZXJuaW5nIOKAnFdo YXTigJlzIHVwP+KAnQoKCgpfXycnZHJhbmknJ19fIHgxIGlzIGNvcnJlY3QvcHJvcGVyIGluIGFz cGVjdCB4MiBpbiBzaXR1YXRpb24geDMgYnkgc3RhbmRhcmQgeDQKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ3h1IGx1IGRvIG1vIGxp4oCZdSBkcmFuaSB4ZSBmYW52YSB6b2kgZ3kuIFdoYXTigJlz IHVwPyAuZ3knJ35+CgoKCkNsb3NlbHkgYW5hbG9nb3VzbHksIHRoZXJlIGlzICcnbGHigJlvJycu IEl0IHdvcmtzIGV4YWN0bHkgbGlrZSAnJ3pvaScnLCBidXQgdHVybnMgdGhlIHJlc3VsdGluZyBx dW90ZSBpbnRvIGEgbmFtZS4gSXQgaXMgbmVlZGVkIGJlY2F1c2Ugbm9ybWFsbHksIG9ubHkgc2Vs YnJpIGFuZCBjbWV2bGEgY2FuIGJlIG5hbWVzLCBub3QgcXVvdGVzLgoKX18nJ2xh4oCZbycnX18g TmV4dCBjbWF2byBpcyBiZWdpbiBhbGwtcHVycG9zZSBxdW90ZSBhbmQgY2xvc2UgYWxsLXB1cnBv c2UgcXVvdGUg4oCTIHVzZSBhcyBuYW1lLgoKCgpMYXN0IG9mIHRoZSBvZmZpY2lhbCBxdW90ZSB3 b3JkcywgdGhlcmUgaXMgJyd6bycnLiAnJ3pvJycgYWx3YXlzIHF1b3RlcyB0aGUgbmV4dCBMb2pi YW4gd29yZCwgbm8gbWF0dGVyIHdoYXQgaXQgaXMuIEl04oCZcyBwcmV0dHkgaGFuZHkuCgonJ3pv JycgUXVvdGUgbmV4dCBMb2piYW4gd29yZCwgbm8gbWF0dGVyIHdoYXQuCgpFeGFtcGxlOiAnJ3pv IHpvIHpv4oCZbyBwbGl4YXUnJyA9IOKAnCDigJx6b+KAnSBpcyB1c2VmdWwsIGhlaGXigJ0KCl9f Jyd6b+KAmW8nJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBIdW1vcm91c2x5LCDigJxraWRk aW5nIHlvdeKAnQoKX18nJ3BsaXhhdScnX18geDEgaXMgdXNlZnVsIGZvciB4MiB0byBkbyBwdXJw b3NlIHgzCgoKCkxvamJhbiB1c2VycyBoYXZlIGZvdW5kIGl0IHVzZWZ1bCB0byBzdXBwbGVtZW50 IHdpdGggZm91ciBhZGRpdGlvbmFsIHF1b3RlIHdvcmRzLiBUaGV5IGFyZSBhbGwgZXhwZXJpbWVu dGFsLCBhbmQgdGhlIGZvcm1hbCBncmFtbWFyIGRvZXMgbm90IHN1cHBvcnQgaXQuIE5vbmV0aGVs ZXNzLCB0aGV5IGFyZSB1c2VkIG9mdGVuLCBhbmQgaXTigJlzIGdvb2QgdG8gYmUgYWJsZSB0byBy ZWNvZ25pemUgdGhlbS4gVGhlIG1vc3QgdXNlZCBpczoKCgoKX18nJ3pv4oCZb2knJ19fIFF1b3Rl IG5leHQgd29yZCBvbmx5LiBOZXh0IHdvcmQgaXMgaWRlbnRpZmllZCBieSBwYXVzZXMgaW4gc3Bl ZWNoIG9yIHdoaXRlc3BhY2UgaW4gd3JpdGluZzoKCgoKRXhhbXBsZTogJydyaSBwdSBjdXNrdSB6 b+KAmW9pIERvaCEgLnXigJlpJycg4oCcSGEgaGEsIGhlIHNhaWQg4oCcRG9oIeKAnSDigJwKCl9f JycudeKAmWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50 IC0gd2VhcmluZXNzCgoKCkl04oCZcyB2ZXJ5IGVhc3kgdG8gdXNlLiBBZ2Fpbiwgbm90ZSB0aGF0 IGFsbCBncmFtbWFyIGJvdHMgd2lsbCBjb25zaWRlciB0aGUgc2VudGVuY2Ugbm90IGdyYW1tYXRp Y2FsLCBiZWNhdXNlIHRoZXNlIHdvcmRzIGRvIG5vdCBleGlzdCBpbiB0aGUgZm9ybWFsIGdyYW1t YXIuCgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5kICcnbGHigJlvJycsIHRoZXJlIGlzIGFs c28gdGhlIHdvcmQgJydsYeKAmW9pJycsIHdoaWNoIHdvcmtzIGp1c3QgbGlrZSAnJ3pv4oCZb2kn JywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMgYSBuYW1lOgoKX18nJ2xh4oCZb2knJ19fIFF1b3Rl IG5leHQgd29yZCBvbmx5LCB1c2UgYXMgbmFtZS4gTmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkg cGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlIGluIHdyaXRpbmc6CgoKCkhvdyB3b3VsZCB5 b3Ugc2F5OiDigJxNeSBFbmdsaXNoIG5hbWUgaXMg4oCcU2FmaeKAneKAnT8KCl9fJydnbGljbycn X18geDEgaXMgRW5nbGlzaC9wZXJ0YWlucyB0byBFbmdsaXNoIGN1bHR1cmUgaW4gYXNwZWN0IHgy CgpfXycnY21lbmUnJ19fIHgxIGlzIHRoZSBuYW1lIG9mIHgyIGFzIHVzZWQgYnkgeDMKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIGdsaWNvIHNlIGNtZW5lIGxh4oCZb2kgU2FmaScnLiBOb3Rp Y2UgdGhlIG5lY2Vzc2FyeSBzZS4gV2UgZG9u4oCZdCB3aGF0IHRvIHNheSB0aGF0IHdl4oCZcmUg YSBuYW1lIX5+CgoKClRoaXJkbHksICcncmHigJlvaScnIHF1b3RlcyB0aGUgbmV4dCByYWZzaS4g U2luY2UgcmFmc2kgYXJlIG5vdCB3b3JkcywgdGhleSB3b3VsZCB1c3VhbGx5IGhhdmUgdG8gYmUg cXVvdGVkIGJ5ICcnem9pJycuIEZ1cnRoZXJtb3JlLCBzZXZlcmFsIHJhZnNpIGFyZSBhbHNvIGNt YXZvLiBUbyBhdm9pZCBjb25mdXNpb24gb2Ygd2hpY2ggaXMgbWVhbnQsICcncmHigJlvaScnIGFs d2F5cyByZWZlciB0byBhIHJhZnNpLCBhbmQgaXMgd3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQg c3RyaW5nIHdoaWNoIGFyZSBub3QgcmFmc2kuCgoKCldoYXQgZG9lcyAnJ3Jh4oCZb2kgenXigJll IHJhZnNpIHpvIHp1a3RlIC5pa3XigJlpIHpv4oCZb2kgenXigJllIHN1bXRjaXRhJycgbWVhbj8K Cl9fJydrdeKAmWknJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJzaXZlOiBIb3dldmVyIC8gdGhvdWdo IChjb250cmFzdHMgdG8gc29tZXRoaW5nIHByZXZpb3VzbHkgc2FpZCkKCl9fJydyYWZzaScnX18g eDEgYW4gYWZmaXggZm9yIHdvcmQvY29uY2VwdCB4MiB3aXRoIHByb3BlcnRpZXMvb2YgZm9ybSB4 MyBpbiBsYW5ndWFnZSB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoZSByYWZzaSDigJx6 deKAmWXigJ0gaXMgYSByYWZzaSBmb3Ig4oCcenVrdGXigJ0uIEJ1dCDigJx6deKAmWXigJ0gaXMg YSBzdW10Y2l0YeKAnX5+CgoKCkFuZCBmaW5hbGx5IHRoZSB1c2VmdWwgd29yZCAnJ21h4oCZb2kn Jy4gJydtYeKAmW9pJycgcXVvdGVzIGFueSBjbWF2bywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMg YSBuYW1lIGZvciB0aGUgd29yZCBjbGFzcyAoc2VsbWHigJlvKSB0byB3aGljaCB0aGF0IHdvcmQg YmVsb25ncy4gU28sIGZvciBpbnN0YW5jZSwgYmHigJlvIGJlbG9uZ3MgdG8gdGhlIHdvcmRjbGFz cyBjYWxsZWQgWkFoTywgc28gJydtYeKAmW9pIGJh4oCZbycnIGlzIHVub2ZmaWNpYWwgTG9qYmFu IGZvciDigJxaYWhP4oCdCgoKClRyeSBpdCBvdXQuIFNheSB0aGF0ICcncHUnJyBhbmQgJydiYScn IGFyZSBpbiB0aGUgc2FtZSBzZWxtYeKAmW8hCgpfXycnY21hdm8nJ19fIHgxIGlzIGEgZ3JhbW1h dGljYWwgd29yZCBvZiBjbGFzcyB4MiBpbiBsYW5ndWFnZSB4MwoKCgooT25lIHBvc3NpYmxlKSBB bnN3ZXI6ICB+fmdyZXksZ3JleTonJ3pvIHB1IGNtYXZvIG1h4oCZb2kgYmEnJ35+CgoKCgoKISFM b2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5ldGVlbiAobnVtYmVycykKCldoZW4gbGVhcm5pbmcg YSBsYW5ndWFnZSwgb25lIG9mIHRoZSB0aGluZ3Mgd2hpY2ggYXJlIHVzdWFsbHkgdGF1Z2h0IHZl cnkgZWFybHkgb24gaXMgaG93IHRvIGNvdW50LiBUaGlzIHJlYWxseSBtYWtlcyBsaXR0bGUgc2Vu c2UsIGJlY2F1c2UgaXTigJlzIG5vdCBuZWNlc3NhcnkgdG8ga25vdyBudW1iZXJzIGlmIHlvdSBk b27igJl0IGtub3cgaG93IHRvIHNwZWFrIGFib3V0IHRob3NlIHRoaW5ncyB0byB3aGljaCB0aGV5 IGFwcGx5LiBUaGlzIGlzIHBhcnRseSB0aGUgcmVhc29uIHdoeSBJIGhhdmUgbGVmdCBpdCBmb3Ig bGVzc29uIG51bWJlciBuaW5ldGVlbi4gVGhlIG90aGVyIHJlYXNvbiBpcyB0aGF0IHdoaWxlIHRo ZSBudW1iZXJzIHRoZW1zZWx2ZXMgYXJlIGVhc3kgdG8gbGVhcm4sIGhvdyB0aGV5IGFwcGx5IHRv IHN1bXRpIGNhbiBnZXQgdmVyeSBjb25mdXNpbmcgaW5kZWVkLiBUaGF0LCBob3dldmVyLCB3ZSB3 aWxsIHNhdmUgZm9yIGEgbGF0ZXIgbGVzc29uLgoKQmVmb3JlIGxlYXJuaW5nIHRoZSB3b3JkcyB0 aGVtc2VsdmVzLCB5b3Ugc2hvdWxkIGtub3cgdGhhdCBudW1iZXJzIGRvIG5vdCBoYXZlIGFueSBp bnRlcm5hbCBncmFtbWFyLiBUaGlzIG1lYW5zIHRoYXQgYW55IHJvdyBvZiBudW1iZXIgd29yZHMg KGhlbmNlZm9ydGggcmVmZXJyZWQgdG8gYXMgYSAibnVtYmVyIHN0cmluZyIpIGFyZSB0cmVhdGVk IGlkZW50aWNhbGx5IHRvIGFueSBvdGhlciBudW1iZXIgc3RyaW5nIHRvIHRoZSBMb2piYW4gZ3Jh bW1hciwgZXZlbiBpZiB0aGUgcm93IG1ha2VzIG5vIHNlbnNlLiBUaGVyZWZvcmUsIG9uZSBjYW4g bmV2ZXIgYW5zd2VyIHVuYW1iaWd1b3VzbHkgd2hldGhlciBhIG51bWJlciBjb25zdHJ1Y3QgbWFr ZXMgc2Vuc2Ugb3Igbm90LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGludGVuZGVkIHdheXMgb2YgdXNp bmcgdGhlIG51bWJlciB3b3JkcywgYW5kIGNvbmZ1c2lvbiB3aWxsIHByb2JhYmx5IHJlc3VsdCBp ZiB5b3UgZGV2aWF0ZSBmcm9tIHRoZSBzdGFuZGFyZC4KCkxlYXJuaW5nIGFsbCB0aGUgbnVtYmVy IHdvcmRzIG9mIExvamJhbiBhcmUgd2F5IGJleW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBsZXNzb24s IHNvIHlvdSB3aWxsIG9ubHkgYmUgaW50cm9kdWNlZCB0byB3aGF0IGlzIG5vcm1hbGx5IHVzZWQg aW4gdGV4dC4gVGhlIHdpZGUgcmFuZ2Ugb2YgTG9qYmFuIG1hdGhlbWF0aWNhbCBjbWF2byBhcmUg Y2FsbGVkICcnbWVrc28nJyAoTG9qYmFuIGZvciAibWF0aGVtYXRpY2FsIGV4cHJlc3Npb24iKSwg YW5kIGlzIHdpZGVseSBkaXNyZWdhcmRlZCBiZWNhdXNlIG9mIGl0cyBjb21wbGV4aXR5IGFuZCBx dWVzdGlvbmFibGUgYWR2YW50YWdlIG92ZXIgc28tY2FsbGVkIGJyaWRpIG1hdGguCgpMZXTigJlz IGJlZ2luIHdpdGggdGhlIG9yZGluYXJ5IExvamJhbiBudW1iZXJzLCBmcm9tIHplcm8gdG8gbmlu ZToKCnx8emVyb3xvbmV8dHdvfHRocmVlfGZvdXJ8Zml2ZXxzaXh8c2V2ZW58ZWlnaHR8bmluZQoK bm98cGF8cmV8Y2l8dm98bXV8eGF8emV8Yml8c298fAoKTm90aWNlIGhvdyB0aGUgdm93ZWxzIGFy ZSBhbHRlcm5hdGluZyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mICcnbm8nJyksIGFuZCBob3cgbm8g Y29uc29uYW50IGlzIHVzZWQgZm9yIHR3byBkaWdpdHMuCgpJbiBvcmRlciB0byBleHByZXNzIG51 bWJlcnMgaGlnaGVyIHRoYW4gbmluZSwgdGhlIG51bWJlcnMgYXJlIGp1c3Qgc3RydW5nIHRvZ2V0 aGVyOgoKJyd2byBtdSBjaScnIOKAkyBmb3VyIGh1bmRyZWQgYW5kIGZpZnR5IHRocmVlICg0NTMp CgonJ3BhIG5vIG5vIG5vIG5vJycgdGVuIHRob3VzYW5kICgxMCAwMDApCgpUaGVyZSBpcyBhbHNv IGEg4oCccXVlc3Rpb24tZGlnaXTigJ0sIHdoaWNoIGlzIHVzZWQgbGlrZSBvdGhlciBmaWxsLWlu LXRoZS1ibGFuayBxdWVzdGlvbiB3b3Jkcy4gSXTigJlzICcneG8nJy4gVGhlIGFuc3dlciB0byBz dWNoIGEgcXVlc3Rpb24gbWF5IGJlIGp1c3QgdGhlIHJlbGV2YW50IGRpZ2l0KHMpIGJ5IGl0c2Vs Ziwgb3IgdGhleSBjYW4gYmUgbnVtZXJpY2FsIGNvbnN0cnVjdHMsIGFzIHNob3duIGxhdGVyLgoK JydjaSB4byB4byB4bycnIOKAkyAiVGhyZWUgdGhvdXNhbmQgYW5kIGhvdyBtYW55PyIgKDM/Pz8p CgpfXycneG8nJ19fIHF1ZXN0aW9uIGRpZ2l0IOKAkyB1c2UgbGlrZSBhbnkgb3RoZXIgZGlnaXQg dG8gYXNrIGZvciB0aGUgY29ycmVjdCBkaWdpdC4KClRoZSBleHBlcmltZW50YWwgd29yZCAnJ3hv J2UnJyBpcyBzb21ldGltZXMgdXNlZCB0byBtZWFuIGFuIHVuc3BlY2lmaWVkLCBlbGxpcHRpY2Fs IGRpZ2l0LiBJdHMgZGVmaW5pdGlvbiBpcyBub3Qgb2ZmaWNpYWwsIHRob3VnaC4KCicnY2kgeG/i gJllIHhv4oCZZSB4b+KAmWUnJyDigJMgVGhyZWUgdGhvdXNhbmQgYW5kIHNvbWV0aGluZwoKX18n J3hvJ2UnJ19fIGVsbGlwdGljYWwgZGlnaXQuCgpTaW5jZSBhbGwgbnVtYmVyIHN0cmluZ3MgYXJl IHRyZWF0ZWQgZ3JhbW1hdGljYWxseSB0aGUgc2FtZSwgb25lIG1pZ2h0IGFsc28gYW5zd2VyIHNl dmVyYWwgZGlnaXRzIHRvIG9uZSAnJ3hvJ2UnJwoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYWxz byBhIHNldCBvZiBoZXhhZGVjaW1hbCBkaWdpdHMgQSB0aHJvdWdoIEYuIEJ5IGRlZmF1bHQsIExv amJhbiBvcGVyYXRlcyBpbiBiYXNlIDEwLCBidXQgd2hlbiB1c2luZyBoZXhhZGVjaW1hbCBkaWdp dHMsIGl0IGNhbiBiZSBzYWZlbHkgYXNzdW1lZCB0aGF0IHlvdSB1c2UgYmFzZSBzaXh0ZWVuOgoK fHxkYXV8ZmVpfGdhaXxqYXV8cmVpfHhlaSB8dmFpfAoKMTAoQSl8MTEoQil8MTIoQyl8MTMoRCl8 MTQoRSl8MTQoRSl8MTUoRil8fAoKWWVzLCBJIGtub3cgdGhlcmUgYXJlIHR3byB3b3JkcyBmb3Ig RS4gVGhlIG9mZmljaWFsIG9uZSBpcyAnJ3JlaScnIChhbGwgdGhyZWUtbGV0dGVyIGNtYXZvIGJl Z2lubmluZyB3aXRoIHggaXMgZXhwZXJpbWVudGFsKS4gJyd4ZWknJyB3YXMgaW52ZW50ZWQgdG8g YXZvaWQgY29uZnVzaW9uIHdpdGggJydyZScnLgoKVGhlIGJhc2UgY2FuIGJlIGV4cGxpY2l0bHkg c3RhdGVkIHVzaW5nICcnanUndScnOiBBbnkgbnVtYmVyIGJlZm9yZSAnJ2p1J3UnJyB0aGUgbnVt YmVyIGJlaW5nIHNwb2tlbiBvZiwgYW55IG51bWJlciBhZnRlciBpcyB0aGUgYmFzZSBvZiB0aGUg bnVtYmVyOgoKJydkYXUgc28gZmVpIG5vIGp14oCZdSBwYSByZScnIOKAkyBBOUIwIGluIGJhc2Ug MTIgKG5vdGljZSBoZXJlIHRoYXQgYmFzZSAxMiBpcyBhbHdheXMgaW4gZGVjaW1hbC4gSXQgaXMg cG9zc2libGUgdG8gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBiYXNlIHlvdSBzcGVhayBpbiwgYnV0 IHNpbmNlIGl0IGhhcyBuZXZlciBiZWVuIHVzZWQgaW4gcHJhY3RpY2UsIGl0IGhhcyBub3QgYmVl biBzdGFuZGFyZGl6ZWQgaG93IG9uZSBzaG91bGQgZG8gaXQpCgpGcmFjdGlvbnMgYXJlIGFsc28g dXNlZnVsIHRvIGxlYXJuIGhvdyB0byBleHByZXNzLiBUaGV5IGFyZSB1c3VhbGx5IGV4cHJlc3Nl ZCB2aWEgYSBkZWNpbWFsIHBvaW50LCAnJ3BpJycuCgpfXycncGknJ19fIERlY2ltYWwgcG9pbnQg KG9yIHBvaW50IGluIHdoaWNoZXZlciBiYXNlIHlvdSBhcmUgdGFsa2luZyBpbikKCicncGEgcmUg cGkgcmUgbXUnJyDigJMgdHdlbHZlIHBvaW50IHR3byBmaXZlICgxMi4yNSkuIAoKTGlrZSBpbiBt YXRoZW1hdGljcywgd2hlbiBubyBudW1iZXIgc3RyaW5nIGlzIHBsYWNlZCBiZWZvcmUgb3IgYWZ0 ZXIgJydwaScnLCB6ZXJvIGlzIGFzc3VtZWQuIAoKUmVsYXRlZCB0byB0aGlzLCB0aGUgbnVtYmVy IHNlcGFyYXRvciAnJ3BpJ2UnJyBpcyB1c2VkIHRvIHNlcGFyYXRlIG51bWJlcnMsIGVpdGhlciB0 byBzZXBhcmF0ZSBkaWdpdHMgd2hlbiBzcGVha2luZyBpbiBhIGJhc2UgbGFyZ2VyIHRoYW4gc2l4 dGVlbiwgb3Igd2hlbiBhIGRlY2ltYWwgcG9pbnQgaXMgbm90IGFwcGxpY2FibGUsIGZvciBpbnN0 YW5jZSwgd2hlbiB0YWxraW5nIGFib3V0IHRpbWUgaW4gaG91cnMsIG1pbnV0ZXMsIHNlY29uZHM6 CgonJ3BhIHNvIHBpJ2UgcmUgbXUgcGknZSBubyBqdSd1IHJlIHplJycg4oCTIE5pbmV0ZWVuLCB0 d2VudHktZml2ZSwgemVybyBpbiBiYXNlIDI3IChKUDAgYmFzZSAyNykKCicncmUgcmUgcGnigJll IHZvIGJpJycg4oCTIHR3ZW50eS10d28sIGZvdXJ0eSBlaWdodCAoMjI6NDgpCgoKClRoZXJlIGlz IGFsc28gYSByYW5nZSBvZiBudW1iZXIgd29yZHMgd2hpY2ggYXJlIG5vdCBtYXRoZW1hdGljYWxs eSBleGFjdCBidXQgcmF0aGVyIHN1YmplY3RpdmUgb3IgcmVsYXRpdmUuIFRoZSBiZWhhdmlvcnMg b2YgdGhlc2Ugd29yZHMgYXJlIGFsbW9zdCBleGFjdGx5IGxpa2UgdGhlIGJlaGF2aW9yIG9mIGRp Z2l0cywgZXhjZXB0IHRoZXkgY2Fubm90IGJlIGNvbWJpbmVkIHRvIG1ha2UgYmlnZ2VyIG51bWJl cnMgdGhlIHdheSBkaWdpdHMgY2FuOgoKfHwgcm98c28nYXxzbydlfHNvJ2l8c28nb3xzbyd1fAoK YWxsfGFsbW9zdCBhbGx8bW9zdHxtYW55fHNvbWV8ZmV3fHwKCldoZW4gY29tYmluZWQgd2l0aCBh bnkgb2YgdGhlIGRpZ2l0cywgdGhlc2Ugd29yZHMgYXJlIGFzc3VtZWQgdG8gZ2l2ZSBhIHNlY29u ZCB2ZXJkaWN0IGFib3V0IHRoZSBzaXplIG9mIHRoZSBudW1iZXI6CgonJ211IGJpIHNvJ2kgc2Fp Jycg4oCTRmlmdHkgZWlnaHQsIHdoaWNoIGlzIHJlYWxseSBtYW55LgoKVGhleSBzaG91bGQgdGhl cmVmb3JlIG5vdCBiZSBwbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiBhIG51bWJlciBzdHJpbmcuIFdo ZW4gcGxhY2VkIGFmdGVyICcncGknJywgdGhleSBhcmUgYXNzdW1lZCB0byBjb252ZXkgdGhlIHNp emUgb2YgYSBmcmFjdGlvbjoKCicncGkgc28naScnIOKAkyBhIGdvb2QgcGFydCBvZiBpdCAnJ3Bp IHNvJ28nJyDigJMgc29tZSBvZiBpdCAnJ3BpIHNvJ2EnJyDigJMgYWxtb3N0IGFsbCBvZiBpdAoK VGhlc2UgYXJlIHNvbWUgaGlnaHRseSBzdWJqZWN0aXZlIG51bWJlcnMgLSB0aGV5IHdvcmsganVz dCBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLgoKfHxkdeKAmWV8bW8nYXxyYXUKCnRvbyBtYW55fHRv byBmZXd8ZW5vdWdofHwKClRoZSBmb2xsb3dpbmcgZml2ZSBhcmUgY29udGV4dC1iYXNlZCBudW1i ZXJzIOKAkyB0aGVzZSB3b3JrIGxpa2UgdGhlIHByZXZpb3VzIG9uZXMsIHdpdGggdGhlIGV4Y2Vw dGlvbiB0aGF0IHRoZXkgdGFrZSB0aGUgbnVtYmVyIHN0cmluZyBpbiBvcmRlciB0byBhc3NpZ24g dGhlbSBtZWFuaW5nOgoKfHxkYSdhfHN1J2V8c3Unb3x6YSd1fG1lJ2kKCmFsbCBleGNlcHQgbiB8 QXQgbW9zdCBufEF0IGxlYXN0IG58bW9yZSB0aGFuIG58bGVzcyB0aGFuIG58fAoKCgpJZiBubyBu dW1iZXIgc3RyaW5nIGZvbGxvdyB0aGVtLCDigJxvbmXigJ0gaXMgYXNzdW1lZC4KCicnc2/igJlp IHBhIHJlIGRhJ2EgbXUnJyDigJMgTWFueSwgd2hpY2ggaXMgdHdlbHZlLCB3aGljaCBpcyBhbGwg YnV0IGZpdmUuCgpUaGUgdHdvIGxhc3QgbnVtYmVyIHdvcmRzIHlvdSBzaG91bGQga25vdyBoYXZl IHNsaWdodGx5IG1vcmUgY29tcGxpY2F0ZWQgZ3JhbW1hcjoKCl9fJydqaSdpJydfXyAtIG51bWJl ciByb3VuZGluZyBvciBudW1iZXIgYXBwcm94aW1hdGlvbgoKV2hlbiAnJ2ppJ2knJyBpcyBwbGFj ZWQgYmVmb3JlIGEgbnVtYmVyLCB0aGUgZW50aXJlIG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6Cgon J2ppJ2kgemUgemEndSByYXUganUnbycnIOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9y ZSB0aGFuIGVub3VnaCwgY2VydGFpbmx54oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUg bnVtYmVyLCBvbmx5IHRoZSBmb2xsb3dpbmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBl bmQgb2YgYSBudW1iZXIsIGl0IHNpZ25pZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91 bmRlZCBvZmYuIAoKX18nJ2tpJ28nJ19fIE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRz IHdpdGhpbiBvbmUgc3RyaW5nOyBUaG91c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhh dCAnJ2tpJ28nJyBzb3VuZHMgbGlrZSDigJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2kn bycnIGlzIHVzZWQgdG8gc2VwYXJhdGUgdGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBu dW1iZXJzLCBtdWNoIGxpa2UgY29tbWFzIGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28g c28gc28gc28ga2knbyBiaSB4YSB6ZScnIOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJl ZSBkaWdpdHMgYXJlIHB1dCBiZWZvcmUgYSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1l ZCB0byBiZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVk IHRvIGZpbGwgaW4gdGhlIHJlc3Q6CgonJ3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28n JyDigJMgNCwwMzgsMDAxLDAwMCwwMDAKCicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVy IGEgZGVjaW1hbCBwb2ludC4KCgoKVGhhdCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVt YmVycyB0aGVtc2VsdmVzLiBIb3cgdGhleSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4g aXRzZWxmLCBhbmQgd2UgbGVhdmUgdGhhdCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBm b2N1cyBvbiBob3cgdGhlc2UgbnVtYmVycyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJp bmcgb2YgbnVtYmVyIHdvcmRzIGJ5IHRoZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0 aGV5IGNhbiBhY3QgYXMgYW4gYW5zd2VyIHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIElu IHRoaXMgY2FzZSwgaG93ZXZlciwgdGhleSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFu eSBicmlkaS4gSW4gZ2VuZXJhbCwgaWYgbnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhl eSBkbyBzbyBpbiBvbmUgb2YgdHdvIGZvcm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJz LgoKQSBwdXJlIG51bWJlciBpcyBhbnkgcm93IG9mIG51bWJlciB3b3JkcyBwcmVmaXhlZCB3aXRo ICcnbGknJy4gVGhpcyBtYWtlcyBhIHN1bXRpIGRpcmVjdGx5IGZyb20gdGhlIG51bWJlciwgYW5k IHJlZmVycyB0byB0aGUgbWF0aGVtYXRpY2FsIGNvbmNlcHQgb2YsIGZvciBpbnN0YW5jZSwg4oCc dGhlIG51bWJlciBzaXjigJ0uIEl0cyBmYSdvcm1hJ28gaXMgJydsbydvJycKCl9fJydsaScnX18g Y29udmVydCBudW1iZXIvbWVrc28tZXhwcmVzc2lvbiB0byBzdW10aS4KCl9fJydsbydvJydfXyBm YSdvcm1hJ286IGVuZCBjb252ZXJ0IG51bWJlci9tZWtzby1leHByZXNzaW9uIHRvIHN1bXRpLgoK VGhlc2UgcHVyZSBzdW10aSBhcmUgdXN1YWxseSB3aGF0IGZpbGxzIHRoZSB4MiBvZiBicml2bGEg c3VjaCBhcyAnJ21pdHJlJycgb3IgJydjYWNyYScnCgpfXycnbWl0cmUnJ19fIHgxIGlzIHgyIG1l dHJlcyBpbiBkaW1lbnNpb24geDMgYnkgc3RhbmRhcmQgeDQKCl9fJydjYWNyYScnX18geDEgaXMg eDIgaG91cnMgaW4gZHVyYXRpb24gKGRlZmF1bHQgMSkgYnkgc3RhbmRhcmQgeDMKCgoKVHJ5IHRv IHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOgoKJydsZSB0YSBudSBjaW5qaWtjYSBjdSBjYWNyYSBs aSBjaSBqaSdpIHUnaSBuYWknJwoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCdKnNpZ2gqIFRoYXQg ZmxpcnRpbmcgaGFzIGJlZW4gZ29pbmcgb24gZm9yIGFyb3VuZCB0aHJlZSBob3Vycy7igJ0gfn4K CkhvdyBkbyB5b3UgY291bnQgdG8gdGhyZWUgaW4gTG9qYmFuPwoKQW5zd2VyOiB+fmdyZXksZ3Jl eTogJydsaSBwYSBsaSByZSBsaSBjaScnIH5+CgoKClRoZSBsYXN0IHRoaW5nIHdl4oCZbGwgZ28g dGhyb3VnaCBpbiB0aGlzIGxlc3NvbiBpcyB0aGUgd29yZHMgb2YgdGhlIHNlbG1h4oCZbyBNQUkg YW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRhaW5zIHR3byB3b3JkcywgJydtYWknJyBh bmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVydCBhbnkgbnVtYmVyIHN0cmluZyB0byBh biBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2YgYXR0aXR1ZGluYWxzLiBPcmRpbmFs cyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8gbnVtYmVyZWQgc2VnbWVudHMsIGxpa2Ug Y2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiAnJ21haScnIGFu ZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50aWZpZXMgbGFyZ2VyIHN1YmRpdmlzaW9u cyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRlIGEgdGV4dCBvbiB0d28gZGlmZmVyZW50 IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcgY2hhcHRlcnMgd2l0aCAnJ21vJ28nJyBh bmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2UgdGhhdCB0aGVzZSBhcyB3ZWxsIGFzIHRo ZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJlY3RseSwgd2l0aG91dCBhbnkgbmVlZCBm b3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9yZGVyIG9yZGluYWwgbWFya2VyOiBDb252 ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW/igJlvJydfXzogSGlnaGVyIG9yZGVyIG9yZGlu YWwgbWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsLgoKCgpUaGVyZSBhcmUgZml2ZSBN T0ksIGFuZCB0aGV5IGFsbCBjb252ZXJ0IGFueSBudW1iZXIgc3RyaW5nIHRvIHNlbGJyaS4gV2Xi gJlsbCB0YWtlIHRoZW0gb25lIGF0IGEgdGltZToKCl9fJydtb2knJ19fIC0gQ29udmVydCBudW1i ZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBu4oCZdGggbWVtYmVyIG9mIHNldCB4MiBieSBvcmRl ciB4MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8naSBuaW5tdSBwZW5kbyBiZSBt aSBsZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNsYW5pIG1sZWNhJycg4oCTIOKA nEx1aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBmcmllbmRzIGJ5IHRoZSBvcmRl cjogVGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNzIHRhbGwgb25lc+KAnS4KCihX aGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5IHVuZGVyc3Rvb2QgdGhhdCBp ZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1laWdodCkgaXMgdXNlZCBhcyBh IHN1bXRpLCB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IGFyZSBvcmRlcmVkIGZyb20gdGhlIG9uZSB3 aXRoIG1vc3Qgb2YgdGhlIHByb3BlcnR5IHRvIHRoZSBvbmUgd2l0aCBsZXNzIG9mIHRoZSBwcm9w ZXJ0eSwgc28gdGhlIHgzIG9mIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UgY291bGQgaGF2ZSBiZWVu IHNob3J0ZW5lZCB0byAnJ2xvIGthIGNsYW5pJycpCgpfXycnbGlkbmUnJ19fIHgxIGlzIGJlZm9y ZSB4MiBpbiBzZXF1ZW5jZSB4MwoKX18nJ2NsYW5pJydfXyB4MSBpcyBzaG9ydCBpbiBkaW1lbnNp b24geDIgYnkgc3RhbmRhcmQgeDMKCl9fJyd6bWFkdScnX18geDEgZXhjZWVkcyB4MiBpbiBwcm9w ZXJ0eSB4MyBieSBhbW91bnQgeDQKCl9fJydtbGVjYScnX18geDEgaXMgbGVzcyB0aGFuL2lzIGxl c3MgY2hhcmFjdGVyaXplZCB0aGFuIHgyIGJ5IHByb3BlcnR5IHgzIGJ5IGFtb3VudCB4NAoKCgpf XycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyB0aGUgbWFzcyBm b3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGljaCBoYXMgdGhlIG4gbWVtYmVycyBvZiB4MwoKTm90 aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9zZWQgdG8gYmUgaW5kaXZpZHVhbHMsIHgyIGEgc2V0 IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxkICcnbWkgY2kgbWVpJycgbWVhbj8gCgpBbndlcjog fn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3VwIG9mIHRocmVlLuKAnX5+CgoKCl9fJydzaSdlJydf XyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBvbmUtbnRoIG9mIG1hc3MgeDIK CkV4YW1wbGU6ICcnbGUgdGkgcGxpc2UgY3UgbWUnaSBwaSBwYSBzaSdlIGxlaSBtaSBjaWRqYSBi ZSB6ZSdhIGxvIGRqZWRpJycg4oCTIOKAnFRoaXMgYXBwbGUgaGVyZSBpcyBsZXNzIHRoYW4gb25l IHRlbnRoIG9mIG15IGZvb2QgZm9yIG9uZSBkYXnigJ0KCl9fJydjdSdvJydfXyAtIENvbnZlcnQg bnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBoYXMgbiBwcm9iYWJpbGl0eSBvZiBvY2N1cnJpbmcgdW5k ZXIgY29uZGl0aW9ucyB4MgoKRXhhbXBsZTogJydsbyBudSBtaSBtcm9iaSdvIGN1IHBhIGN1J28g bG8gbnUgbWkgZGVucGEgcmknJyDigJMg4oCdQW4gZXZlbnQgb2YgbWUgZHlpbmcgaGFzIHByb2Jh YmlsaXR5IDEgdW5kZXIgdGhlIGNvbmRpdGlvbnM6IEkgd2FpdCBmb3IgaXTigJ0gPSDigJ1NZSBk eWluZyBpcyBjb21wbGV0ZWx5IGNlcnRhaW4gaWYgSSB3YWl0IGxvbmcgZW5vdWdoLuKAnQoKX18n J2RlbnBhJydfXyB4MSB3YWl0cyBmb3IgeDIsIGJlaW5nIGluIHN0YXRlIHgzIHVudGlsIHJlc3Vt aW5nL2RvaW5nIHg0CgpfXycndmEnZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTog eDEgaXMgYXQgdGhlIG7igJl0aCBwb3NpdGlvbiBvbiB0aGUgc2NhbGUgeDIKCkV4YW1wbGU6ICcn bGkgcGEgbm8gY3Ugcm8gdmHigJllIGxhIHRvcmlub24nJyDigJMg4oCcMTAgaXMgdGhlIGhpZ2hl c3QgdmFsdWUgb24gdGhlIFRvcmluby1zY2FsZeKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdHdlbnR5IChibywga2UsIGNvIGFuZCBtb3JlIGN1dGVuZXNzKQoKU2F5IHlvdeKAmXJl IGFuIGltcG9ydGFudCBBbWVyaWNhbiBidXllciBvZiBjb21wdXRlcnMuIEhvdyBkbyB5b3UgZXhw cmVzcyB0aGlzPyBGb3IgY29uc3RydWN0cyBsaWtlIHRoZXNlLCB0YW5ydSBhcmUgaWRlYWw6ICcn bWkgdmFqbmkgbWVya28gc2thbWkgdGUgdmVjbnUnJy4gTm8gd2FpdCwgdGhhdOKAmXMgbm90IHJp Z2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9tIGxlZnQgdG8gcmlnaHQsIHNvIHRoaXMgdGFucnUg aXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1lcmtvJycpICcnc2thbWknJykgJyd0ZSB2ZWNudScn LCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3IgaW1wb3J0YW50IEFtZXJpY2Fucy4gWW91IGNhbuKA mXQgY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgc2VsYnJpIHRvIGdldCBhIHVzZWZ1bCB0YW5ydS4g TmVpdGhlciBjYW4gdGhpcyBiZSBzb2x2ZWQgd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCB3aGlj aCB5b3Ugd2lsbCBmaXJzdCBsZWFybiBhYm91dCBsYXRlciBhbnl3YXkuIFRoZSBvbmx5IHdheSB0 byBtYWtlIGEgZml0dGluZyB0YW5ydSBpcyB0byBmb3JjZSB0aGUgc2VsYnJpIHRvIGdyb3VwIGRp ZmZlcmVudGx5LgoKCgpUbyBiaW5kIHR3byBzZWxicmkgY2xvc2UgdG9nZXRoZXIgaW4gYSB0YW5y dSwgdGhlIHdvcmQgJydibycnIGNhbiBiZSBwbGFjZWQgYmV0d2VlbiB0aGVtOiAnJ21pIHZham5p IGJvIG1lcmtvIHNrYW1pIGJvIHRlIHZlY251JycgaXMgcmVhZCAnJ21pJycgKCcndmFqbmkgYm8g bWVya28nJykgKCcnc2thbWkgYm8gdGUgdmVjbnUnJyksIHdoaWNoIGlzIHVzZWZ1bCBpbiB0aGlz IGNvbnRleHQuIElmIGJvIGlzIHBsYWNlZCBiZXR3ZWVuIHNldmVyYWwgc2VsYnJpIGluIGEgcm93 LCB0aGV5IGFyZSBncm91cGVkIGZyb20gcmlnaHQgdG8gbGVmdCBpbnN0ZWFkIG9mIHRoZSB1c3Vh bCBsZWZ0IHRvIHJpZ2h0OiAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251Jycg aXMgcmVhZCAnJ3Zham5pJycgKCcnbWVya28gYm8nJyAoJydza2FtaSBibyB0ZSB2ZWNudScnKSkg YW4g4oCcaW1wb3J0YW50IChBbWVyaWNhbiBjb21wdXRlci1idXllcinigJ0sIHdoaWNoIGlzIGV2 ZW4gbW9yZSBhcHByb3ByaWF0ZSBpbiB0aGUgc2l0dWF0aW9uLgoKX18nJ2JvJydfXyBCaW5kcyB0 d28gc2VsYnJpIHRvZ2V0aGVyIHN0cm9uZ2x5LgoKCgpIb3cgd291bGQgeW91IHNheSDigJxUaGF0 4oCZcyBhIHRhc3R5IHllbGxvdyBhcHBsZeKAnT8KCl9fJydrdWt0ZScnX18geDEgaXMgdGFzdHkg Zm9yIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScn fn4KCgoKV2hhdCBhYm91dCDigJ1UaGF04oCZcyBhIGJpZywgdGFzdHkgeWVsbG93IGFwcGxl4oCd CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJkYSBrdWt0ZSBibyBwZWx4dSBibyBwbGlz ZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlzIGlzIHRvIHVzZSB0aGUgd29yZHMgJydr ZeKApmtl4oCZZScnLiBUaGVzZSBjYW4gYmUgY29uc2lkZXJlZCBhcyBlcXVpdmFsZW50IHRvIHRo ZSBwYXJlbnRoZXNpc2VzIHVzZWQgaW4gdGhlIHBhcmFncmFwaCBhYm92ZS4gJydrZScnIGJlZ2lu cyBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLCAnJ2tl4oCZZScnIGVuZHMgaXQuCgpfXycna2UnJ19f IOKAkyBiZWdpbiBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKX18nJ2tl4oCZZScnX18g4oCTIGVu ZCBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3RoIG9mIHRoZSBiaW5kaW5nIGlz IHRoZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUsICcnbWkgdmFqbmkgbWVya28g Ym8gc2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAnJ21pIHZham5pIGtlIG1lcmtv IGtlIHNrYW1pIHRlIHZlY251IHtrZeKAmWV9IHtrZeKAmWV9JycuCgpIb3cgY291bGQgeW91IHNh eSDigJxJ4oCZbSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhvbWVzP+KAnQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkgdmVjbnUnJ35+CgoKCldoaWxl IHdl4oCZcmUgYXQgbWVzc2luZyB3aXRoIHRoZSBvcmRpbmFyeSB0YW5ydSBzdHJ1Y3R1cmUsIHRo ZXJlIGlzIGFub3RoZXIgd29yZCB3b3J0aCBwYXlpbmcgYXR0ZW50aW9uIHRvLiBJZiBJIHdhbnQg dG8gc2F5IHRoYXQgSeKAmW0gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRvciwgSSBjb3VsZCBzYXkg JydtaSBmYW52YSBzZSBqaWJyaScnLgoKX18nJ2ppYnJpJydfXyB4MSBpcyBhIGpvYiBvZiB4MiB1 bmRlciBhZ3JlZW1lbnQgeDMKCl9fJydkb2NiYXUnJ19fIHgxIGlzIEdlcm1hbiB1c2VkIGJ5IHgy IHRvIHNheSB4MwoKX18nJ2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2VkIGJ5IHgyIHRvIHNh eSB4MwoKSWYgSSB3YW50ZWQgdG8gc2F5IHRoYXQgSeKAmW0gYSBwcm9mZXNzaW9uYWwgdHJhbnNs YXRlciBmcm9tIEVuZ2xpc2ggdG8gR2VybWFuLCBJ4oCZZCBoYXZlIHRvIG1lc3MgYXJvdW5kIHdp dGggJydiZScnIGFuZCAnJ2JlaScnOiAnJ21pIGZhbnZhIGJlIGxlIGRvY2JhdSBiZWkgbGUgZ2xp YmF1IGJl4oCZbyBzZSBqaWJyaScnLCBhbmQgdGhlIGZhY3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBj b3VsZCBxdWlja2x5IGJlIGxvc3QgaW4gc3BlZWNoIGR1ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3Ry dWN0dXJlIG9mIHRoZSBzZW50ZW5jZS4gSGVyZSwgd2UgY2FuIHVzZSB0aGUgd29yZCAnJ2NvJycu IGl0IGludmVydHMgdGhlIHRhbnJ1LCBtYWtpbmcgdGhlIHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5 IHRoZSBsZWZ0bW9zdCBpbnN0ZWFkIG9mIHRoZSBvdGhlciB3YXkgYXJvdW5kOgoKJydtaSBzZSBq aWJyaSBjbyBmYW52YSBsZSBkb2NiYXUgbGUgZ2xpYmF1JycgaXMgdGhlIHNhbWUgYnJpZGkgYXMg dGhlIHByZXZpb3VzIExvamJhbiBvbmUsIGJ1dCBtdWNoIG1vcmUgZWFzeSB0byB1bmRlcnN0YW5k LiBOb3RpY2UgdGhhdCBhbnkgc3VtdGkgYmVmb3JlIHRoZSB0YW5ydSBmaWxscyAnJ3NlIGppYnJp JycsIHdoaWxlIGFueSBmb2xsb3dpbmcgaXQgb25seSBmaWxscyB0aGUgbW9kaWZ5aW5nIHNlbGJy aTogJydmYW52YScnLgoKX18nJ2NvJydfXyBJbnZlcnQgdGFucnUuIEFueSBwcmV2aW91cyBzdW10 aSBmaWxsIHRoZSBtb2RpZmllZCwgYW55IGZvbGxvd2luZyBmaWxsIHRoZSBtb2RpZmllci4KCgoK VGhlIHN0cmVuZ3RoIGJ5IHdoaWNoIHR3byBzZWxicmkgYXJlIGJvdW5kIHRvZ2V0aGVyIHdpdGgg Y28gaXMgdmVyeSB3ZWFrIOKAkyBldmVuIHdlYWtlciB0aGFuIG5vcm1hbCB0YW5ydSBncm91cGlu ZyB3aXRob3V0IGFueSBncm91cGluZyB3b3Jkcy4gVGhpcyBtYWtlcyBzdXJlIHRoYXQsIGluIGEg Y28tY29uc3RydWN0LCB0aGUgbGVmdG1vc3Qgc2VsYnJpIGlzIGFsd2F5cyB0aGUgc2VsYnJpIGJl aW5nIG1vZGlmaWVkLCBhbmQgdGhlIHJpZ2h0bW9zdCBhbHdheXMgbW9kaWZpZXMsIGV2ZW4gaWYg YW55IG9mIHRob3NlIHBhcnRzIGFyZSB0YW5ydS4gVGhpcyBtYWtlcyBhIGNvLWNvbnN0cnVjdCBl YXN5IHRvIHBhcnNlOgoKJyd0aSBwZWx4dSBwbGlzZSBjbyBrdWt0ZScnIGlzIHJlYWQgJyd0aScn ICgnJ3BlbHh1IHBsaXNlJycpICcnY28ga3VrdGUnJywgd2hpY2ggaXMgdGhlIHNhbWUgYXMgJyd0 aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnLiBUaGlzIGFsc28gbWVhbnMgdGhhdCBhICcna2XigKZr ZeKAmWUnJyBjYW5ub3QgZW5jb21wYXNzIGEgJydjbycnLgoKVGhlIGNtYXZvIG9mIHRoZSBzZWxt YSdvIEdJaEEsIHRoZSBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVz LCBob3dldmVyLCBiaW5kcyBldmVuIGxvb3NlciB0aGFuICcnY28nJy4gVGhpcyBpcyBpbiBvcmRl ciB0byB0b3RhbGx5IGF2b2lkIGNvbmZ1c2lvbiBhYm91dCB3aGljaCBzZWxicmkgYmluZHMgdG8g d2hpY2ggaW4gYSBHSWhBLWNvbnN0cnVjdC4gVGhlIGFuc3dlciBpcyBzaW1wbGU6IFRoZSBHSWhB IG5ldmVyIGVtY29tcGFzc2VzIGFueSBzZWxicmktZ3JvdXBzLgoKCgpIb3cgY2FuIHlvdSBleHBy ZXNzIOKAnUkgYW0gYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVyc+KAnSB1 c2luZyBhICcnY28nJz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHNrYW1pIHRlIHZlY251 IGNvIHZham5pIG1lcmtvJyd+fgoKCgpJZiBpdOKAmXMgb2YgYW55IHVzZSwgdGhpcyBpcyB0aGUg bGlzdCBvZiBkaWZmZXJlbnQga2luZCBvZiBzZWxicmkgZ3JvdXBlcnMgcmFua2VkIGJ5IHN0cmVu Z3RoOgoKCgoxLiAgICAnJ2JvJycgYW5kICcna2UuLmtl4oCZZScnCgoKCjIuICAgIGxvZ2ljYWwg Y29ubmVjdGl2ZXMgKGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5v IGdyb3VwaW5nIHdvcmRzCgoKCjQuICAgICcnY28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVy dGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzIChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkK CgoKVGhlIHJlc3Qgb2YgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5n LCBidXQgbXVjaCBsaWtlIGxlc3NvbiBzZXZlbnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywg d2hpY2ggY2FuIGJlIG9mIHVzZS4KCgoKJydibycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2Vl bXMgc2VwYXJhdGUgZnJvbSBzZWxicmkgZ3JvdXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10 Y2l0YSB0byBhbiBlbnRpcmUgYnJpZGksIHNvIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRj aXRhIGlzIG5vdCBhIHN1bXRpLCBidXQgdGhlIGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0 IGV4cGxhaW5lZCB3aXRoIGFuIGV4YW1wbGUuCgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgon J21pIGRhcnhpIGRvIC5pIG114oCZaSBibyBtaSBkbyB4ZWJuaScnIOKAkyDigJxJIGhpdCB5b3Us IHdpdGggbW90aXZhdGlvbiB0aGF0IEkgaGF0ZSB5b3Uu4oCdIEhlcmUgdGhlICcnYm8nJyBiaW5k cyAnJ2114oCZaScnIHRvIHRoZSBmb2xsb3dpbmcgYnJpZGkuCgpUaGlzIGlzIHdoZXJlIHRoZSB0 ZWNobmljYWwgZGlmZmVyZW5jZSBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10 Y2l0YSBpcyByZWxldmFudC4gWW91IHNlZSwgd2hlbiBiaW5kaW5nIGEgbm9ybWFsIHN1bXRjaXRh IHRvIGEgYnJpZGkgd2l0aCAnJ2JvJycsIGl0IG1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyBicmlk aSBzb21laG93IGZpdHMgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhLiBGb3Ig dGhlIHJlYXNvbiBvZiBHb2QgS25vd3MgV2h5LCBiaW5kaW5nIG9uZSBvZiB0aGUgd29yZHMgJydi YScnIG9yICcncHUnJyB0byBhIGJyaWRpIGhhcyB0aGUgZXhhY3Qgb3Bwb3NpdGUgZWZmZWN0LiBG b3IgZXhhbXBsZSwgaW4gdGhlIGJyaWRpICcnbWkgZGFyeGkgZG8gLmkgYmEgYm8gZG8gY2luamlr Y2EnJywgb25lIHdvdWxkIGFzc3VtZSB0aGF0IHRoZSBzZWNvbmQgYnJpZGkgaXMgc29tZWhvdyBm aWxsZWQgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgJydiYScnLCBtZWFuaW5nIHRoYXQgdGhlIGJy aWRpIGZpcnN0IHV0dGVyZWQgdG9vayBwbGFjZSBpbiB0aGUgZnV0dXJlIG9mIHRoZSBzZWNvbmQg YnJpZGkuIFRoYXQncyBub3QgdGhlIGNhc2UsIGhvd2V2ZXIsIGFuZCB0aGUgY29ycmVjdCB0cmFu c2xhdGlvbiBvZiB0aGF0IHV0dGVyYW5jZSB3b3VsZCBiZSAiSSBoaXQgeW91LiBBZnRlcndhcmRz LCB5b3UgZmxpcnQiLiBUaGlzIHdlaXJkIHJ1bGUgaXMgYWN0dWFsbHkgb25lIG9mIHRoZSBtYWlu IHRoaW5nIHdoaWNoIGhpbmRlcnMgYSB1bmlmaWNhdGlvbiBvZiBhbGwgc3VtdGNpdGEgaW50byBv bmUgc2luZ2xlIHdvcmQgY2xhc3MuCgoKClRoZSB1bm9mZmljaWFsIHdvcmQgJydtZeKAmW9pJycg aXMgZXF1aXZhbGVudCB0byBtZSBsYeKAmWUgJyd6b+KAmW9pJycsIHdoaWNoIG1lYW5zIHRoYXQg aXQgY29udmVydHMgdGhlIGNvbnRlbnQgb2YgdGhlIG5leHQgd29yZCBpbnRvIGEgc2VsYnJpLiBJ dCBpcyB1c2VkIHRvIGludmVudCBicml2bGEgb24gdGhlIGZseTogJydtaSBjYSB6Z2FuYSBsYSBt ZeKAmW9pIFgtZmlsZXMnJyBmb3Ig4oCcSSBub3cgd2F0Y2ggWC1maWxlc+KAnS4gTGlrZSBhbGwg cXVvdGUgbmV4dCB3b3JkLWNtYXZvLCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBvZmZpY2lh bCBncmFtbWFyLCBidXQgdG8gdGhlIGxhenkgTG9qYmFuaXN0LCBpdOKAmXMgaW52YWx1YWJsZS4K CgoKVGhlIHdvcmQgJydnaScnIGlzIHN0cmFnZSBraW5kIG9mIGJyaWRpIHNlcGFyYXRvciwgYW5h bG9nb3VzIHRvICcnLmknJywgYnV0IHRvIG15IGtub3dsZWRnZSwgaXQgaXMgdXNlZCBpbiBvbmx5 IHR3byBkaWZmZXJlbnQga2luZHMgb2YgY29uc3RydWN0czogTW9zdCBvZnRlbiB3aXRoIGxvZ2lj YWwgY29ubmVjdGl2ZXMsIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUsIGJ1dCBhbHNv IHdpdGggc3VtdGNpdGEuIFdpdGggc3VtdGNpdGEgaXQgY3JlYXRlcyBhIHVzZWZ1bCwgYnV0IGhh cmRseSBzZWVuLCBjb25zdHJ1Y3Q6CgonJ2114oCZaSBnaSBCUklESS0xIGdpIEJSSURJLTInJywg d2hpY2ggaXMgZXF1aXZhbGVudCB0byAnJ0JSSURJLTIgLmkgbXXigJlpIGJvIEJSSURJIDEnJy4g VGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hpY2ggZXhwbGFpbmVkIHdoeSBJIGhpdCB5 b3UsIGNhbiBiZSB3cml0dGVuICcnbXXigJlpIGdpIG1pIHhlYm5pIGRvIGdpIG1pIGRhcnhpIGRv JycsIG9yIHRvIHByZXNlcnZlIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBvcmlnaW5hbCBzZW50ZW5j ZSwgd2UgY2FuIGNvbnZlcnQgJydtdeKAmWknJyB3aXRoICcnc2UnJzogJydzZSBtdeKAmWkgZ2kg bWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGluIGV4YW1wbGVzIGxpa2UgdGhp cyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNhdGlsaXR5LiBJdCBkb2VzIG5v dCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBkb2VzLCBidXQgY2FuIGFsc28g c2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGksIG1ha2luZyBhbGwgY29uc3Ry dWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkgdG8gYm90aCBicmlkaSwgYXMg dGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScnX18geDEga2lzc2VzIHgyIGF0 IGxvY3VzIHgzCgoKCicnbWkgZ2kgcHJhbWkgZG8gZ2kgY2luYmEgZG8nJyBsZWF2ZXMgbWkgb3V0 c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8gYm90aCBicmlkaS4gVGhpcyBj YW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBhbHNvIHByZXNlbnQgaW4gYnJv dGggYnJpZGk6ICcnbWkgZ2kgcHJhbWkgZ2kgY2luYmEgdmF1IGRvJycuIE5vdGUgdGhhdCAnJ3Zh dScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRlIHRoZSBzZWNvbmQgYnJpZGku CgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2VudGVuY2Ugc2hvcnRlcjogJydt aSBtdeKAmWkgZ2kgeGVibmkgZ2kgZGFyeGkgdmF1IGRvJycsIG9yLCB0byBvbWl0IGV2ZW4gdGhl ICcndmF1JycsIHdlIGNhbiB3cml0ZSBpdCBldmVuIHNob3J0ZXIgYW5kIG1vcmUgZWxlZ2FudGx5 OiAnJ21pIGRvIG114oCZaSBnaSB4ZWJuaSBnaSBkYXJ4aScnCgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiB0d2VudHktb25lIChDT0kpCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwgZmFt aWxpYXJpemUgeW91cnNlbGYgd2l0aCB2b2NhdGl2ZXMsIG9yICcnbWHigJlvaSBjb2knJy4gVGhl eSBnZXQgdGhlaXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5kZXJzdGFuZGluZyB0aGVzZSBw cm92aWRlcyBhIGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJhbiBncmFtbWFyIGluIGdlbmVy YWwsIG9yIGJlY2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0YW5kLCBidXQgcmF0aGVyIGJl Y2F1c2UgdGhleSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3VhbCBzcGVlY2gsIGFuZCB0aGVy ZSBhcmUgYSBsb3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNlZCBwYXJ0bHkgdG8gZGVmaW5l IHdobyAnJ2RvJycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUgaXMgZm9sbG93ZWQgYnkgYSBj bWV2bGEsIHRoZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGluIGZyb250IG9mIGl0LiBJZiBh IHNlbGJyaSBmb2xsb3dzLCBhIGxlIGlzIHVzZWQgYXMgYSBnYWRyaSBpbnN0ZWFkLgoKSW4gdGhl c2UgZXhhbXBsZXMsIEkgd2lsbCB1c2UgdGhlIHZvY2F0aXZlICcnY29pJycsIHdpdGggbWVhbnMg 4oCcSGnigJ0gb3Ig4oCcSGVsbG/igJ0uCgpJZiBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSArIFNF TEJSSScnLCB1c2luZyBhIHZvY2F0aXZlIHdpdGggb25seSB0aGUgc2VsYnJpIHRvIGFkZHJlc3Mg dGhhdCBwZXJzb24gd2lsbCBtZWFuIHlvdSByZWZlciB0byBoZXIgYXMgYWN0dWFsbHkgYmVpbmcg dGhlIHgxIG9mIHRoYXQgc2VsYnJpLCB3aGljaCBpcyBvZnRlbiB3cm9uZy4gSWYsIGZvciBpbnN0 YW5jZSwgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgdHNhbmknJywg4oCcU2t54oCdLCBzYXlpbmcg Jydjb2kgdHNhbmknJyByZWZlcnMgdG8gaGVyIGFzIGEgJydsZSB0c2FuaScnLCBtZWFuaW5nIOKA nEhpLCB5b3Ugc2t54oCdLCB3aGlsZSAnJ2NvaSBsYSB0c2FuaSBjb3JyZWN0bHknJyByZWZlcnMg dG8gaGVyIGFzIHNvbWVvbmUgY2FsbGVkICJTa3kiLCBtZWFuaW5nIOKAnEhpIFNreeKAnS4gVGhp cyBpcyBhIGZyZXF1ZW50IG1pc3Rha2UsIGVzcGVjaWFsbHkgYW1vbmcgbmV3IExvamJhbmlzdHMu CgpBbGwgdm9jYXRpdmVzIGhhdmUgYSBmYSdvcm1hJ28gd2hpY2ggaXMgc29tZXRpbWVzIHJlcXVp cmVkLiBUaGlzIGlzICcnZG/igJl1JycuIEl04oCZcyBtb3N0bHkgdXNlZCBpZiBib3RoIHRoZSBm aXJzdCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBsYXN0IHdvcmQgb2Yg dGhlIHBocmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBmb3JtaW5nIGEgdGFu cnU6CgoKCl9fJydkb+KAmXUnJ19fIEVuZCB2b2NhdGl2ZSBwaHJhc2UuIFVzdWFsbHkgZWxpZGFi bGUuCgpfXycna2xha3UnJ19fIHgxIGNyaWVzIHgyICh0ZWFycykgZm9yIHJlYXNvbiB4MwoKJydj b2kgbGEgZ2xla2kgZG/igJl1IGtsYWt1IGZpIG1hJycg4oCdSGVsbG8gSGFwcHkuIFdoeSBjcnk/ 4oCdCgoKClRoZSBnZW5lcmljIHZvY2F0aXZlLCAnJ2RvaScnLCBkb2VzIG5vdGhpbmcgZXhjZXB0 IGRlZmluaW5nIHdobyBpcyBiZWluZyByZWZlcnJlZCB0byBieSAnJ2RvJyc6CgonJ2RvaSAuZXJu c3QuIHh1IGRvIGRvdGNvIG1lcmtvJycg4oCcRXJuc3Q6IEFyZSB5b3UgYSBHZXJtYW4tQW1lcmlj YW4/4oCdCgoKCkFsbCB0aGUgb3RoZXIgdm9jYXRpdmVzIGhhdmUgc29tZSBjb250ZW50IGJlc2lk ZSBkZWZpbmluZyAnJ2RvJycuICcnY29pJycsIHdoaWNoIHlvdSBrbm93LCBhbHNvIG1lYW5zIOKA nEhlbGxv4oCdLCBmb3IgZXhhbXBsZS4gTWFueSBvZiB0aGUgdm9jYXRpdmVzIGhhdmUgdHdvIG9y IHRocmVlIGRlZmluaXRpb25zIGxpa2UgdGhlIGF0dGl0dWRpbmFscy4gTGlrZSBhdHRpdHVkaW5h bHMsIHRoaXMgaXMgYmVjYXVzZSB0aGV5IGNhbiBiZSBtb2RpZmllZCB3aXRoICcnY3XigJlpJycg YW5kICcnbmFpJycsIHRob3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3XigJlpJyct Zm9ybSBkZWZpbmVkLgoKU29tZSBpbXBvcnRhbnQgdm9jYXRpdmVzIGFyZSBsaXN0ZWQgaW4gdGhl IHRhYmxlIGJlbG93LiBUaGVyZSBhcmUgb3RoZXJzLCBidXQgdGhvc2UgYXJlIG5vdCB1c2VkIG11 Y2guCgp8fHZvY2F0aXZlfFdpdGhvdXQgc3VmZml4fC1jdeKAmWl8LW5haQoKY29pfEhlbGxvfC18 LQoKY2/igJlvfEdvb2RieWUJfC18LQoKamXigJllfFVuZGVyc3Rvb2QgLyBPS3wtfE5vdCB1bmRl cnN0b29kCgpmaeKAmWl8V2VsY29tZXwtfE5vdCB3ZWxjb21lIGhlcmUKCnBl4oCZdXxQbGVhc2V8 LXwtCgpraeKAmWV8VGhhbmtzfC18RGlzYXBwcmVjaWF0aW9uCgpyZeKAmWl8UmVhZHkgdG8gcmVj aWV2ZXwtfE5vdCByZWFkeQoKanXigJlpfEhleSF8QXQgZWFzZXxJZ25vcmUgbWUKCnRh4oCZYXxJ bnRlcnJ1cHRpb258LXwtCgp2aeKAmW98V2lsbCBkb3wtfFdpbGwgbm90IGRvCgprZeKAmW98UGxl YXNlIHJlcGVhdHwtfE5vIHJlcGVhdCBuZWVkZWR8fAoKCgoKCldoYXQgd291bGQgJydjb2kgY2/i gJlvJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxHcmVldGluZ3MgaW4gcGFzc2lu Z+KAnSBvciDigJxIZWxsbyBhbmQgR29vZGJ5ZeKAnX5+CgoKCicnamXigJllJycgaXMgdXNlZCBh cyDigJxPS+KAnSwgYnV0IGFsc28gdGhlIGFwcHJvcHJpYXRlIHJlc3BvbnNlIHdoZW4gcmVjZWl2 aW5nIHByYWlzZSBvciB0aGFua3MsIGFzIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwcmFpc2Ugb3Ig dGhhbmtzIHdhcyBzdWNjZXNzZnVsbHkgdW5kZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcna2nigJll IHNpZGp1IGJlIG1pIGJlaSBsbyB2YWpuaSAuaSBqZeKAmWUgLmplbmlmeW4uJycKCl9fJydzaWRq dScnX18geDEgaGVscHMgeDIgZG8geDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGFua3Ms IHlvdSBoZWxwZXIgb2YgbWUgdG8gZG8gc29tZXRoaW5nIGltcG9ydGFudC7igJ0g4oCcTm8gcHJv YmxlbSwgSmVubmlmZXLigJ1+fgoKCgpBbmQgJydmaeKAmWkgdGUgdmVjbnUgLmkgcGXigJl1IGtv IGNpdGthJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1XZWxjb21lLCBidXllci4gUGxlYXNl IGVhdCHigJ1+fgoKCgonJ3Jl4oCZaScnIGlzIHVzZWQgdG8gc2lnbmFsIHRoYXQgeW91IGFyZSBy ZWFkeSB0byBiZSBzcG9rZW4gdG8uIEl0IGNhbiBiZSB1c2VkIGFzIHRoZSBMb2piYW4gZXF1aXZh bGVudCBvZiDigJxXaGF0IGNhbiBJIGRvIGZvciB5b3U/4oCdIG9yIHBlcmhhcHMgcmVwbGFjZSDi gJxIZWxsb+KAnSwgd2hlbiBzcGVha2luZyBvbiBhIHBob25lLiAnJ3Jl4oCZaSBuYWknJyBjYW4g bWVhbiDigJxBRkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMgYSBzZWNvbmQu4oCdCgoKClRyYW5zbGF0 ZTog4oCcSGVsbG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlvdSwgSW50ZXJwcmV0ZXIvVHJhbnNsYXRl cj/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2NvaSByZeKAmWkgbGEgZmFudmEnJ35+CgoK CicndGHigJlhJycgaXMgdXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50ZXJydXB0 IHNvbWVvbmUgZWxzZS4gV2hhdCB3b3VsZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlzPwoKCgpU cmFuc2xhdGU6ICcndGHigJlhIHJvIGRvIG1pIGNv4oCZYSBjbGl2YScnCgpfXycnY2xpdmEnJ19f IHgxIGxlYXZlcyB4MiB2aWEgcm91dGUgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxFeGN1 c2UgbWUgZm9yIGludGVycnVwdGluZywgZXZlcnlvbmUuIEkgYmVnaW4gdG8gbGVhdmUgbm934oCd IE5vdGljZSB0aGF0IG5vIGZhJ29ybWEnbyBvciAnJy5pJycgaXMgbmVlZGVkLn5+CgoKCicna2Xi gJlvJycgaXMgdXNlZCBhIGxvdCB3aGVuIGluZXhwZXJpZW5jZWQgTG9qYmFuaXN0cyBzcGVhayB0 b2dldGhlciB2b2NhbGx5LiBJdOKAmXMgcXVpdGUgYSBoYW5keSB3b3JkCgpfXycnc3V0cmEnJ19f IHgxIGlzIHF1aWNrIGF0IGRvaW5nIHgyCgoKClRyYW5zbGF0ZTogJycueSBrZeKAmW8gc3V0cmEg dGF2bGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFVoLCBQbGVhc2UgcmVwZWF0LCB5b3Ug cXVpY2sgc3BlYWtlci7igJ1+fgoKCgpBbmQg4oCcT2theSBva2F5LCBJIGdvdCBpdCBhbHJlYWR5 ISBJ4oCZbGwgZG8gaXQh4oCdCgoKCkFuIGFuc3dlcjogfn5ncmV5LGdyZXk6JydrZeKAmW8gbmFp IC51aSBuYWkgdmnigJlvJyd+fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS10 d28gKHF1YW50aWZ5aW5nIHN1bXRpKQoKTW9zdCBvdGhlciBsZWFybmluZyBtYXRlcmlhbHMgc3Vj aCBhcyBUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlIGFuZCBMb2piYW4gZm9yIEJlZ2lubmVy cyB3ZXJlIHdyaXR0ZW4gYmVmb3JlIHRoZSBvZmZpY2lhbCBhZG9wdGF0aW9uICJ4b3JsbyIsIGEg Y2hhbmdlIGluIHRoZSBydWxlcyBhYm91dCBnYWRyaSBkZWZpbml0aW9uIGFuZCBnYWRyaSBxdWFu dGlmaWNhdGlvbi4gVGhlIG9ic29sZXRlbmVzcyBvZiBzb21lIG9mIHRoZSB0ZXh0IGluIHRoZSBv bGRlciBsZWFybmluZyBtYXRlcmlhbHMgd2FzIGEgbWFqb3IgY2F1c2UgZm9yIHRoZSBtb3RpdmF0 aW9uIHRvIHdyaXRlIHRoZXNlIGxlc3NvbnMuIFVuZm9ydHVuYXRlbHkgZm9yIG1lLCBxdWFudGlm aWNhdGlvbiBvZiBzdW10aSBjYW4gYmVjb21lIGEgdmVyeSBjb21wbGV4IHRvcGljIHdoZW4gdGhl IGltcGxpY2F0aW9ucyBvZiBjZXJ0YWluIHJ1bGVzIGFyZSBkaXNjdXNzZWQgaW4gZGV0YWlsLiBJ biBvcmRlciB0byBmdWxmaWxsIHRoZSBnb2FsIG9mIHRoaXMgdGV4dCBiZWluZyBhY2N1cmF0ZSBl bm91Z2ggdG8gcmVwcmVzZW50IHRoZSBvZmZpY2lhbCAiZ29sZCBzdGFuZGFyZCIgQlBGSyBydWxl cywgdGhpcyBjaGFwdGVyIHdhcyBhbW9uZyB0aGUgbGFzdCBvbmVzIGZpbmlzaGVkIGFuZCB0aGUg b25lcyBtb3N0IGZyZXF1ZW50eSByZXdyaXR0ZW4uIEkgc3Ryb25nbHkgZW5jb3VyYWdlIGFueW9u ZSB3aG8gZmluZHMgbWlzdGFrZXMgaW4gdGhpcyB0ZXh0IHRvIGNvbnRhY3QgbWUgaW4gb3JkZXIg Zm9yIHRoZW0gdG8gYmUgY29ycmVjdGVkLgoKSGF2aW5nIHNhaWQgdGhhdCBkaXNjbGFpbWVyLCBs ZXQncyBnZXQgc3RhcnRlZDoKClRoZSBmaXJzdCBjb25jZXB0IHlvdSBzaG91bGQga25vdyBhYm91 dCBpcyAiZGlzdHJpYnV0aXZpdHkiLiBJbiBsZXNzb24gZm91cnRlZW4gaSB1c2VkIHRoZSB3b3Jk ICJpbmRpdmlkdWFscyIgYWJvdXQgYSBncm91cCBvZiBvYmplY3RzIGNvbnNpZGVyZWQgZGlzdHJp YnV0aXZlbHkuIEEgZGlzdHJpYnV0aXZlIGdyb3VwICcna28nYScnIGlzIGZvciBhbnkgc2VsYnJp ICcnYnJvZGEnJyBhIGdyb3VwIHN1Y2ggdGhhdCwgaWYgJydrbydhIGJyb2RhJycgaXMgdHJ1ZSwg aXQgbWVhbnMgdGhhdCBldmVyeSBtZW1iZXIgb2YgdGhlIGdyb3VwIGFsc28gaXMgY2hhcmFjdGVy aXplZCBieSAnJ2Jyb2RhJycuIFRoaXMgc3RhbmRzIGluIGNvbnRyYXN0IHRvIG5vbi1kaXN0cmli dXRpdml0eSAod2hpY2ggbWFzc2VzIGhhdmUpLCBpbiB3aGljaCB0aGUgZ3JvdXAgaGFzIG90aGVy IHByb3BlcnRpZXMgdGhhbiBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBkby4gVGhlIGRpc3RpbmN0 aW9uIGJldHdlZW4gZGlzdHJpYnV0aXZpdHkgKGluZGl2aWR1YWwtbGlrZSkgYW5kIG5vbi1kaXN0 cmlidXRpdml0eSAobWFzcy1saWtlKSBpcyBvZiByZWxldmFuY2Ugd2hlbiBxdWFudGlmeWluZyBz dW10aS4KCkxldCB1cyBmaXJzdCBjb25zaWRlciBob3cgb25lIGNhbiBxdWFudGlmeSBkZWNyaXB0 aW9uIHN1bXRpLCB3aGljaCBhcmUgc3VtdGkgb2YgdGhlIGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUg bnVtYmVyIHN0cmluZyB3aGljaCBkb2VzIHRoZSBxdWFudGlmaWNhdGlvbiBjYW4gYmUgcGxhY2Vk IGJlZm9yZSB0aGUgZ2FkcmksIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4g X19vdXRlciBxdWFudGlmaWVyX18sIGFuZCBpdCBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhlIGdh ZHJpIGFuZCB0aGUgYnJpdmxhLCBpbiB3aGljaCBjYXNlIGl0J3MgYW4gX19pbm5lciBxdWFudGlm aWVyX18uIEFueSBraW5kIG9mIG51bWJlciBzdHJpbmcgY2FuIGFjdCBhcyBhIHF1YW50aWZpZXIu CgpUaGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0ZXIgcXVhbnRpZmllcnMgYWZmZWN0cyBz dW10aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkgd2hpY2ggaXMgdXNlZDoKCgoKLSAtJyds bycnIGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBv YmplY3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cgbWFueSBvYmplY3RzIGFyZSBpbiB0aGUg ZGlzY291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIHRoZSBz dW10aSBpcyBkaXN0cmlidXRlZCBvdmVyIHRoYXQgYW1vdW50IG9mIG9iamVjdHMuIEV4YW1wbGVz IGFyZSBhbHdheXMgYSBnb29kIGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CgonJ211IGxvIG11IGJh a25pIGN1IHNlIGppcm5hJycgLSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIFRlbGxzIHVz IHRoYXQgd2Ugc3BlYWsgYWJvdXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91dGVy IHF1YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBmb3Ig ZWFjaCBvZiB0aGUgZml2ZS4gVGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNvd3Mg aGFkIGhvcm5zIi4gCgpfXycnYmFrbmknJ19fIHgxIGlzIGEgY293L294L2NhdHRsZS9jYWxmIGV0 YyBvZiBicmVlZCB4MgoKX18nJ2ppcm5hJydfXyB4MSBpcyB0aGUgaG9ybiBvZiB4MiAobWV0YXBo b3I6IGFueSBwb2ludGVkIGV4dHJlbWl0eSkKCgoKV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcgYnJp ZGkgbWVhbj8KCicnbG8gcnUndXJndWJ1cHUgYmUgbGkgcmUgcGkgemUgbXUgY3UgamRpbWEgbG8g cGEgcmUgc292ZGEnJwoKX18nJ3J1J3VyZ3VidXB1JydfXyB4MSBpcyBtZWFzdXJlcyB0byBiZSB4 MiBCcml0aXNoIHBvdW5kcyAoR0JQKQoKX18nJ2pkaW1hJydfXyB4MSBpcyB0aGUgcHJpY2Ugb2Yg eDIgdG8gYnV5ZXIgeDMgc2V0IGJ5IHZlbmRvciB4NAoKX18nJ3NvdmRhJydfXyB4MSBpcyBhIGdh bWV0ZSAoZWdnL3NwZXJtKSBvZiB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlR3ZWx2ZSBlZ2dz IGNvc3QgMi43NSBCcml0aXNoIHBvdW5kcyIgd2hpY2gsIGFzIHRoZSBFbmdsaXNoIHRyYW5zbGF0 aW9uLCBjb3VsZCBtZWFuIGJvdGggdGhhdCB0aGV5IGNvc3QgMi43NSBlYWNoIChkaXN0cmlidXRp dmVseSkgb3IgdGhhdCBhbGwgdHdlbHZlIHRvZ2V0aGVyIGNvc3QgMi43NSAobm9uLWRpc3RyaWJ1 dGl2ZWx5KX5+CgoKCicnc28gbGUgdGEgcGEgcGEgY2knZXJrZWkgY3UgY2xhbWF1IG1pJycgKG5v dGljZSB0aGF0IHRoZSAnJ3RhJycgZ29lcyBiZWZvcmUgdGhlIGlubmVyIHF1YW50aWZpZXIpCgpf XycnY2knZXJrZWknJ19fIHgxIHBsYXlzIGdhbWUgeDIgZ292ZW5lcmQgYnkgcnVsZXMgeDMgaW50 ZXJyZWxhdGluZyBnYW1lIHBhcnRzIHg0IHt0aGlzIGlzIHVzZWQgdG8gdHJhbnNsYXRlICJwbGF5 IiBpbiB0aGUgc2Vuc2UgInBsYXkgYSBnYW1lIiByYXRoZXIgdGhhbiwgZm9yIGluc3RhbmNlICJw bGF5aW5nIHByZXRlbmQiIG9yICJwbGF5aW5nIEhvdXNlIn0KCl9fJydjbGFtYXUnJ19fIHgxIGlz IHRhbGxlci9sb25nZXIgdGhhbiB4MiBpbiBkaXJlY3Rpb24geDMgbXkgbWFyaWdpbiB4NAoKQW5z d2VyOiB+fmdyZXksZ3JleTpUaGUgaW5uZXIgc3RhdGVzIHRoZXJlIGFyZSAxMSBwbGF5ZXJzIGlu IHRoZSBkaXNjb3Vyc2UsIGFuZCB0aGUgb3V0ZXIgc3RhdGVzIHRoYXQgdGhlIHNlbGJyaSBhcHBs aWVzIHRvIG5pbmUgb2YgdGhlbSBkaXN0cmlidXRpdmVseS4gVGh1cyBpdCBtZWFucyAiTmluZSBv ZiB0aGUgZWxldmVuIHBsYXllcnMgYXJlIHRhbGxlciB0aGFuIG1lIn5+CgoKClRoZXJlIGFyZSBh IGZldyBwb2ludHMgdGhhdCBuZWVkcyB0byBiZSByYWlzZWQgcmVnYXJkaW5nIHF1YW50aWZpY2F0 aW9uIG9mICcnbG8nJy8nJ2xlJyc6CgpGaXJzdGx5LCAnJ2xvJycgaXMgdW5pcXVlIGluIHRoYXQg IntudW1iZXJ9IHtzZWxicml9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2xvJycge3NlbGJy aX0iLiBUaGVyZWZvcmUsICcnY2kgZ2Vya3UgY3UgYmF0Y2kgcmUgbmFubXUnJyBpcyBkZWZpbmVk IHRvIGJlICcnY2kgbG8gZ2Vya3UgY3UgYmF0Y2kgcmUgbG8gbmFubXUnJywgd2hpY2ggY29uc2lk ZXJzIGJvdGggdGhlIGdyb3VwIG9mIGRvZ3MgYW5kIHRoZSBncm91cCBvZiBtZW4gZGlzdHJpYnV0 aXZlbHkuIFRoZXJlZm9yZSwgZWFjaCBvZiB0aGUgdGhyZWUgZG9ncyBiaXQgZWFjaCBvZiB0aGUg dGhyZWUgbWVuLCB3aXRoIHNpeCBiaXRpbmcgZXZlbnRzIGluIHRvdGFsLgoKX18nJ2JhdGNpJydf XyB4MSBiaXRlcy9waW5jaGVzIHgyIGF0IGxvY3VzIHgzIHVzaW5nIHg0IGFzIHBpbmNoaW5nIHRv b2wuCgpTZWNvbmRseTogV2hhdCBpZiB0aGVyZSBpcyBubyBvdXRlciBxdWFudGlmaWVyPyBEb2Vz IHRoaXMgbWVhbiB0aGF0IGl0IF9faXNfXyB0aGVyZSwgYnV0IGl0J3MgZWxpZGVkPyBOb3BlLiBJ ZiB0aGVyZSBpcyBhbnkga2luZCBvZiBvdXRlciBxdWFudGlmaWVyLCBlbGlkZWQgb3Igbm90LCBp dCB3b3VsZCBmb3JjZSB0aGUgc3VtdGkgdG8gYmUgZGlzdHJpYnV0aXZlLCB3aGljaCB3b3VsZCBt ZWFuIHRoYXQgbmVpdGhlciAnJ2xvJycgbm9yICcnbGUnJyBjb3VsZCBiZSB1c2VkIHRvIGRlc2Ny aWJlIG1hc3Nlcy4gVGhlcmVmb3JlLCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQs IGl0J3Mgbm90IG9ubHkgZWxpZGVkIC0gaXQncyBzaW1wbHkgbm90IHRoZXJlLiBTdW10aSB3aXRo b3V0IGFuIG91dGVyIHF1YW50aWZpZXIgY2FuIGJlIHJlZmVycmVkIHRvIGFzICJjb25zdGFudHMi LCBldmVuIHRob3VnaCBJIHdvbid0LgoKVGhpcmRseSwgaXQgbWFrZXMgbm8gc2Vuc2UgdG8gaGF2 ZSBhbiBvdXRlciBxdWFudGlmaWVyIHdoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSBpbm5lciBvbmUu IEl0J3MgZ3JhbW1hdGljYWwsIHRob3VnaC4KCkxhc3RseSwgcGxhY2luZyBhICcnbG8nJyBvciBh ICcnbGUnJyBpbiBmcm9udCBvZiBhIHN1bXRpIGlzIGdyYW1tYXRpY2FsLCBpZiB0aGVyZSBpcyBh biBpbm5lciBxdWFudGlmaWVyIHByZXNlbnQuICInJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10 aX0iIGlzIGRlZmluZWQgYXMgIicnbG8nJy8nJ2xlJycge251bWJlcn0gJydtZScnIHtzdW10aX0i LgoKU28gd2hhdCB3b3VsZCB0aGlzIG1lYW4/ICcnbWkgbmVsY2kgbG9pIG1pIGJyaWp1IGthbnNh IC5pIGt1J2kgY2kgbG8gcGEgbXUgamknaSByaSBjdSBsYXpuaScnCgpfXycnYnJpanUnJydfXyB4 MSBpcyBhbiBvZmZpY2UgZm9yIHdvcmtlciB4MiBhdCBsb2NhdGlvbiB4MwoKX18nJ2thbnNhJydf XyB4MSBhY2NvbXBhbmllcyB4MiBpbiBhY3Rpb24vc3RhdGUvZW50ZXJwcmlzZSB4MwoKX18nJ2xh em5pJydfXyB4MSBpcyBsYXp5LCBhdm9pZGluZyB3b3JrIGNvbmNlcm5pbmcgeDIKCkFuc3dlcjog fn5ncmV5LGdyZXk6IkkgbGlrZSBteSBjby13b3JrZXJzLCBidXQgdGhyZWUgb3V0IG9mIGFib3V0 IHR3ZW50eSBmaXZlIG9mIHRoZW0gYXJlIGxhenkifn4KCgoKLSAtJydsYScnLSAtIEFuIGlubmVy IHF1YW50aWZpZXIgaXMgZ3JhbW1hdGljYWwgaWYgdGhlIG5hbWUgaXMgYSBzZWxicmkgLSBpbiB0 aGlzIGNhc2UsIGl0J3MgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBxdWFu dGlmaWVyIGlzIHVzZWQgdG8gcXVhbnRpZnkgZGlzdHJpYnV0aXZlbHkgb3ZlciBzdWNoIGluZGl2 aWR1YWxzIChtdWNoIGxpa2UgJydsbycnLycnbGUnJykgSXQncyBncmFtbWF0aWNhbCB3aGVuIHBs YWNlZCBpbiBmcm9udCBvZiB7bnVtYmVyfSB7c3VtdGl9LCBpbiB3aGljaCBjYXNlLCB0aGUgYm90 aCB0aGUgbnVtYmVyIGFuZCB0aGUgc3VtdGkgaXMgY29uc2lkZXJlZCB0aGUgbmFtZS4KCgoKVHJh bnNsYXRlIHRoaXM6ICcncmUgbGEgY2kgYmFyZ3UgY3UgamlibmkgbGUgbWkgemRhbmknJwoKQW5z d2VyOiB+fmdyZXksZ3JleTogVHdvICJUaGUgVGhyZWUgQXJjaGVzIiBhcmUgbG9jYXRlZCBjbG9z ZSB0byBteSBob3VzZSIgKFBlcmhhcHMgVGhlIFRocmVlIEFyY2hlcyBhcmUgYSBraW5kIG9mIHJl c3RhdXJlbnQ/KX5+CgoKCi0gLScnbG9pJycgYW5kICcnbGVpJyctIC0gQW4gaW5uZXIgcXVhbnRp ZmllciB0ZWxscyB1cyBob3cgbWFueSBtZW1iZXJzIHRoZXJlIGFyZSBpbiB0aGUgbWFzcy9tYXNz ZXMgaW4gcXVlc3Rpb24uIEFuIG91dGVyIHF1YW50aWZpZXIgcXVhbnRpZmllcyBkaXN0cmlidXRp dmVseSB7IX0gb3ZlciB0aGVzZSBtYXNzZXMKCk5vdGljZSBoZXJlIHRoYXQgd2hpbGUgbWFzc2Vz IGNvbnNpc3Qgb2YgYSBudW1iZXIgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIG5vbi1kaXN0cmlidXRp dmVseSwgYW4gb3V0ZXIgcXVhbnRpZmllciBhbHdheXMgdHJlYXRzIGVhY2ggb2YgdGhlc2UgbWFz c2VzIGFzIGFuIGluZGl2aWR1YWwuCgpXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgc3RyaW5n LCB0aGVuIGEgc3VtdGksICcnbG9pJycvJydsZWknJyBpcyBkZWZpbmVkIGFzICInJ2xvIGd1bm1h IGJlIGxvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBtYXNzIGNvbnNpc3Rpbmcg b2YgdGhlIHtudW1iZXJ9IG9mIHtzdW10aX0iLgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGlz OiAnJ3JlIGRlaSBndW5tYSByZSBsb2kgemUgdmFsc2kgLmkgY2EnZSBwYSBkZWkgamFpIGdhdSBq ZXRudScnCgpfXycnZ3VubWEnJ19fIHgxIGlzIGEgbWFzcyBvZiB0aGUgaW5kaXZpZHVhbHMgeDIK Cl9fJyd2YWxzaScnX18geDEgaXMgYSB3b3JkLCBtZWFuaW5nIHgyIGluIGxhbmd1YWdlIHgzCgpf XycnY2EnZScnX18gQXR0aXR1ZGluYWw6IEV2aWRlbnRpYWw6IEkgZGVmaW5lCgpfXycnamV0bnUn J19fIHgxIGlzIHRydWUgYWNjb3JkaW5nIHRvIG1ldGFwaHlzaWNzL2VwaXN0ZW1vbG9neSB4MgoK QW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZXNlIHR3byB1dHRlcmFuY2VzIGFyZSBhIG1hc3MsIGNv bnNpc3Rpbmcgb2YgdHdvIGluZGl2aWR1YWwgbWFzc2VzIGVhY2ggb2Ygc2V2ZW4gd29yZHMuIEkg ZGVmaW5lOiBUaGlzIG9uZSB1dHRlcmFuY2UgY2F1c2VzIHtpdH0gdG8gYmUgdHJ1ZS4ifn4KCgoK LSAtJydsYWknJy0gLSBNdWNoIGxpa2UgJydsYScnLCBhbiBpbm5lciBxdWFudGlmaWVyICh3aGVu IG5hbWUgaXMgYSBzZWxicmkpIGlzIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIG9uZSBxdWFu dGlmaWVzIGRpc3RyaWJ1dGl2ZWx5LiBCZWZvcmUgYSBudW1iZXIrc3VtdGksIGJvdGggdGhlIHN1 bXRpIGFuZCB0aGUgbnVtYmVyIG1ha2UgdXAgdGhlIG5hbWUuCgpXaGVuIGEgZnJhY3Rpb24gaXMg dXNlZCBhcyBhbiBvdXRlciBxdWFudGlmaWVyIHRvIHF1YW50aWZ5ICcnbG9pJycsICcnbGVpJycg b3IgJydsYWknJywgb25lIHNwZWFrcyBhYm91dCBvbmx5IHBhcnQgb2YgdGhlIG1hc3MgKGZvciBp bnN0YW5jZSwgImhhbGYgb2YgdGhlIEpvaG5zb25zIiAtICcncGkgbXUgbGFpIC5kamFuc3luLicn KS4KCgoKLSAtJydsbydpJycgYW5kICcnbGUnaScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgZGVz Y3JpYmVzIHRoZSBhbW91bnQgb2YgbWVtYmVycyBvZiB0aGUgc2V0LiBBbiBvdXRlciBxdWFudGlm aWVzIGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc2V2ZXJhbCBvZiBzdWNoIHNldHMuIFdoZW4gcGxhY2Vk IGJlZm9yZSBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNlbGNt aSBiZSAnJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBzZXQgb2Yge251bWJl cn0ge3N1bXRpfSIuCgoKClRyYW5zbGF0ZSAnJ2xvJ2kgcm8gc2UgY2lua2kgY3UgYnJhbWF1IGxh J2EgcGEgbm8gbm8gbG8naSBybyBzZSBib2d5a2FtanUganV0c2knJwoKX18nJ2NpbmtpJydfXyB4 MSBpcyBhbiBpbnNlY3Qgb2Ygc3BlY2llcyB4MgoKX18nJ2xhJ2EnJ19fIEF0dGl0dWRpbmFsOiBE aXNjdXJzaXZlOiBQcm9iYWJseQoKX18nJ2JyYW1hdScnX18geDEgaXMgYmlnZ2VyIHRoYW4geDIg aW4gZGltZW5zaW9uIHgzIGJ5IG1hcmlnaW4geDQKCl9fJydib2d5a2FtanUnJ19fIHgxIGlzIHRo ZSBzcGluZSBvZiB4MgoKX18nJ2p1dHNpJydfXyB4MSBpcyB0aGUgc3BlY2llcyBvZiBnZW51cyB4 MiwgZmFtaWx5IHgzIC4uLiAob3BlbiBlbmRlZCBjbGFzc2lmaWNhdGlvbikKCkFuc3dlcjogfn5n cmV5LGdyZXk6ICJUaGUgc2V0IG9mIGFsbCB0aGUgc3BlY2llcyBvZiBpbnNlY3RzIGlzIHByb2Jh Ymx5IGJpZ2dlciB0aGFuIG9uZSBodW5kcmVkIHNldHMgb2YgYWxsIHNwZWNpZXMgb2YgdmVydGVi cmF0ZXMifn4KCgoKLSAtJydsYSdpJyctIC0gQXMgd2l0aCAnJ2xhaScnCgpMaWtlIHdpdGggdGhl IG1hc3MgZ2FkcmksIGFuIG91dGVyIHF1YW50aWZpZXIgYmVmb3JlIGEgc2V0IGdhZHJpIGVuYWJs ZXMgb25lIHRvIHNwZWFrIGFib3V0IGEgZnJhY3Rpb24gb2YgYSBzZXQuIEluIGZyb250IG9mIGEg bnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlIGxhJycg e251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBjb25zaXN0aW5nIG9mIFRoZSB7TnVtYmVyfSB7 U3VtdGl9IiAoY29uc2lkZXJlZCBhIG5hbWUpCgoKCi0gLScnbG8nZScnIGFuZCAnJ2xlJ2UnJy0g LSBBcmUgZm9yIHNvbWUgcmVhc29uIG5vdCBpbmNsdWRlZCBpbiB0aGUgY3VycmVudGx5IGFjY2Vw dGVkIGdhZHJpIHByb3Bvc2FsLiBJZiBvbmUgd2VyZSB0byBleHRlbmQgdGhlIHJ1bGVzIG9mIGFu b3RoZXIgZ2FkcmksICcnbG8nJy8nJ2xlJycgd291bGQgcHJvYmFibHkgYmUgdGhlIGJlc3QgY2hv aWNlIChzaW5jZSBib3RoIG9wZXJhdGVzIHdpdGggaW5kaXZpZHVhbHMgcmF0aGVyIHRoYW4gZ3Jv dXBzKSwgYW5kIHNvIG9uZSB3b3VsZCBleHBlY3QgdGhlIG91dGVyIHF1YW50aWZpZXIgdG8gZm9y Y2UgZGlzdHJpYnV0aXZpdHkgb3ZlciB0aGUgYW1vdW50IG9mIHR5cGljYWwvc3RlcmVvdHlwaWNh bCB0aGluZ3MgZ2l2ZW4gYnkgdGhlIGlubmVyIHF1YW50aWZpZXIuCgoKCldoZW4gcXVhbnRpZnlp bmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2ZXJhbCBvYmplY3RzLCBpdCBpcyB1c2VmdWwgdG8g cmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3VhbGx5IG1hc3Nlcy4gQnkgZGVmaW5pdGlvbiwgIntu dW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIntudW1iZXJ9ICcnZGEgcG9pIGtlJ2EgbWUn JyB7c3VtdGl9Ii4gWW91IHdpbGwgbm90IGJlIGZhbWlsaWFyIHdpdGggJydkYScnIHVudGlsIGEg ZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2UgaXQgb24gZmFpdGggdGhhdCBpcyBtZWFucyAic29t ZXRoaW5nIiBpbiB0aGlzIGNvbnRleHQuIFRoZXJlZm9yZSwgJydjaSBtaScnIG1lYW5zICJUd28g b2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAidXMiIi4gV2hlbiBxdWFudGlmeWluZyBzdWNoIG1hc3Nl cywgaXQgY2FuIHNhZmVseSBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlbGF0aW9uIGltcGxpZWQgYnkg JydtZScnIGlzIG1lbWJlcnNoaXAgb2YgdGhlIG1hc3MsIGFuZCB0aGVyZWZvcmUgJydjaSBtaScn IGlzICJUaHJlZSBvZiB1cyIuCgoKClNvbWUgaW1wb3J0YW50IHVzZXMgb2YgcXVhbnRpZmljYXRp b24gcmVxdWlyZXMgeW91IHRvIGJlIHF1YW50aWZ5IHNlbGJyaSBvciBvYmplY3RzIHdob3NlIGlk ZW50aXR5IGlzIHVua25vd24uIFRoaXMgaXMgZG9uZSBieSAibG9naWNhbGx5IHF1YW50aWZpZWQg dmFyaWFibGVzIi4gVGhlc2UsIGFzIHdlbGwgYXMgaG93IHRvIHF1YW50aWZ5IHRoZW0gd2lsbCBi ZSBjb3ZlcmVkIGluIGxlc3NvbnMgdHdlbnR5LXNldmVuLgoKCgpMYXN0bHksIGhvdyBjYW4geW91 IHF1YW50aWZ5IHVuY291bnRhYmxlIHN1YnN0YW5jZXMgbGlrZSBzdWdhciBvciB3YXRlcj8gT25l IHNvbHV0aW9uIGlzIHRvIHF1YW50aWZ5IGl0IHVzaW5nIGluZXhhY3QgbnVtYmVycy4gVGhpcyB1 c2UgaXMgdmFndWUsIG5vdCBvbmx5IGJlY2F1c2UgdGhlIHZhbHVlIG9mIHRoZSBudW1iZXIgaXMg dmFndWUsIGJ1dCBhbHNvIGJlY2F1c2UgaXQncyBub3Qgc3BlY2lmaWVkIG9uIHdoYXQgc2NhbGUg eW91J3JlIGNvdW50aW5nOiBUaGUgc3VnYXIgY291bGQgYmUgY29uc2lkZXJlZCBhIGdyb3VwIG9m IG1hbnkgY3J5c3RhbHMsIGNvdW50ZWQgb25lIGF0IGEgdGltZSwgYW5kIHRoZSB3YXRlciBjb3Vs ZCBiZSBxdWFudGlmaWVkIGJ5IHRoZSBhbW91bnRzIG9mIHJhaW5kcm9wcyBpdCB0b29rIHRvIG1h a2UgdGhlIGJvZHkgb2Ygd2F0ZXIgaW4gcXVlc3Rpb24uIFdoaWxlIHRoaXMgd2F5IG9mIGNvdW50 aW5nIGlzIGxlZ2l0aW1hdGUsIGl0J3Mgbm90IHZlcnkgZXhhY3QgYW5kIGNhbiBlYXNpbHkgY29u ZnVzZSBvciBtaXNsZWFkLgoKQSB3YXkgdG8gYmUgZXhwbGljaXQgYWJvdXQgbm9uLWNvdW50YWJp bGl0eSBpcyB0byB1c2UgdGhlIG51bGwgb3BlcmFuZCAnJ3R1J28nJyBhcyBhbiBpbm5lciBxdWFu dGlmaWVyLgoKX18nJ3R1J28nJ19fIE51bGwgb3BlcmFuZCAoIMOYICkuIFVzZWQgaW4gdW5hcnkg bWVrc28uCgpUaGlzIHNvbHV0aW9uIGlzIGVsZWdhbnQgYW5kIGludHVpdGl2ZSwgYW5kIGFsc28g Z2l2ZXMgbWUgYW4gZXhjdXNlIHRvIHF1b3RlIHRoaXMgaG9ycmlmeWluZywgeWV0IGNvbWljYWwg ZXhhbXBsZSBmcm9tIHRoZSBvcmlnaW5hbCAnJ3hvcmxvJyctcHJvcG9zYWw6CgonJ2xlIG5hbm11 IGN1IHNlIHNudXRpIC5pIGphJ2UgYm8gbG8gdHUnbyBnZXJrdSBjdSBrdXNwZSBsZSBrbGFqaScn CgpfXycnc251dGknJ19fIHgxIGlzIGFuIGFjY2lkZW50IG9uIHRoZSBwYXJ0IG9mIHgyCgpfXycn amEnZScnX18gc3VtdGNpdGE6IEJBSTogKGZyb20gJydqYWxnZScnKTogQnJpZGkgcmVzdWx0cyBp biB7c3VtdGl9IAoKX18nJ2t1c3BlJydfXyB4MSBzcGFucy9leHRlbmRzIG92ZXIgeDIKCl9fJydr bGFqaScnX18geDEgaXMgYSByb2FkL2F2ZW51ZS9zdHJlZXQgYXQgeDIgYWNjZXNzaW5nIHgzCgoK CldoYXQgZG9lcyBpdCBtZWFuPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZSBtYW4gaGFkIGFu IGFjY2lkZW50IGFuZCBzbyB0aGVyZSB3YXMgZG9nIGFsbCBvdmVyIHRoZSByb2FkIn5+CgoKCkEg c2Vjb25kIG1ldGhvZCBvZiBxdWFudGlmeWluZyBzdWJzdGFuY2VzIGlzIHRvIHVzZSB0aGUgdGVu c2VzICcndmUnaScnLCAnJ3ZlJ2EnJyBhbmQgJyd2ZSd1JycgYXMgbWVudGlvbmVkIGluIGxlc3Nv biB0ZW46CgonJ3RpIHZlJ2kgZGphY3UnJyAtIFRoaXMgaXMgYSBzbWFsbCBhbW91bnQgb2Ygd2F0 ZXIKCl9fJydkamFjdScnX18geDEgaXMgYW4gZXhwYW5zZSBvZiB3YXRlci9pcyBtYWRlIG9mIHdh dGVyL2NvbnRhaW5zIHdhdGVyCgoKClRoaXJkbHksIG9mIGNvdXJzZSwgeW91IGNvdWxkIHVzZSBh IGJyaXZsYSB0byBnaXZlIGFuIGV4YWN0IG1lYXN1cmVtZW50OgoKJydsZSB0YSBkamFjdSBjdSBr aSdvZ3JhIGJlIGxpIHJlIHBpIGtpJ28ga2knbycnIC0gIlRoYXQgd2F0ZXIgaGFzIGEgbWFzcyBv ZiAyLjAwMCAwMDAga2lsb2dyYW1zIgoKX18nJ2tpJ29ncmEnJ19fIHgxIG1lYXN1cmVzIGluIG1h c3MgeDIga2lsb2dyYW1zIGJ5IHN0YW5kYXJkIHgzCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gdHdlbnR5LXRocmVlIChuZWdhdGlvbikKClNvbWV0aW1lcywganVzdCBzYXlpbmcgd2hhdOKA mXMgdGhlIHRydXRoIGlzIG5vdCBlbm91Z2guIE9mdGVuLCB3ZSB3YW50IHRvIHNwZWNpZnkgd2hh dOKAmXMgbm90IHRoZSB0cnV0aCwgYW5kIHdlIGRvIHRoaXMgYnkgdXNpbmcgbmVnYXRpb24uCgpO ZWdhdGlvbiBpbiBFbmdsaXNoIG1vc3RseSBpbnZvbHZlcyDigJxub3TigJ0sIGFuZCBpcyBjb21w bGV0ZWx5IGFyYml0cmFyeSBhbmQgYW1iaWd1b3VzLiBXZSwgYXMgTG9qYmFuaXN0cywgY2Fu4oCZ dCBoYXZlIHRoYXQsIG9mIGNvdXJzZSwgc28gTG9qYmFuIGNvbnRhaW5zIGFuIGVsZWdhbnQgYW5k IHVuYW1iaWdpb3VzIHN5c3RlbSBmb3IgbmVnYXRpbmcuCgoKClRoZSBmaXJzdCB5b3UgbmVlZCB0 byBrbm93IGFib3V0IGlzIGJyaWRpIG5lZ2F0aW9uLCBzbyBjYWxsZWQgYmVjYXVzZSBpdCBuZWdh dGVzIHRoZSBicmlkaSBpdOKAmXMgaW4sIHNheWluZyBpdOKAmXMgbm90IHRydWUuIFRoZSB3YXkg dG8gbmVnYXRlIGEgYnJpZGkgaXMgdG8gcGxhY2UgJyduYScnIGVpdGhlciBqdXN0IGJlZm9yZSB0 aGUgc2VsYnJpIChhZnRlciBhbnkgJydjdScnKSwgb3IgZmlyc3QgaW4gdGhlIHNlbnRlbmNlIHdp dGggYSAnJ2t1JycgYWZ0ZXIgaXQuCgpfXycnc3BlbmknJ19fIHgxIGlzIG1hcnJpZWQgdG8geDIg dW5kZXIgY29udmVudGlvbiB4MwoKVGh1czogJydsZSBtaSBzcGVuaSBjdSBuYSBuaW5tdScnIHN0 YXRlcyB0aGF0IOKAnE15IHNwb3VzZSBpcyBub3QgYSB3b21hbuKAnS4gSXQgc3RhdGVzIG5vdGhp bmcgYWJvdXQgd2hhdCBteSB3aWZlIGlzLCBvciBpZiBJIGV2ZW4gaGF2ZSBhIHdpZmUuIEl0IG9u bHkgc3RhdGVzIHRoYXQgSSBkbyBub3QgaGF2ZSBhIHdpZmUgd2hvIGlzIGFsc28gYSB3b21hbi4g VGhpcyBoYXMgYW4gaW1wb3J0YW50IGltcGxpY2F0aW9uOiBJZiB0aGUgbmVnYXRpb24gb2YgYSBi cmlkaSBpcyBmYWxzZSwgdGhlIGJyaWRpIG11c3QgYmUgdHJ1ZTogJyduYSBrdSBsZSBtaSBzcGVu aSBjdSBuYSBuaW5tdScnIG11c3QgbWVhbiB0aGF0IEkgaGF2ZSBib3RoIGEgc3BvdXNlLCBhbmQg dGhhdCBzaGUgaXMgYSBzaGUuCgpJdCBpcyBwb3NzaWJsZSB0byB1c2UgYnJpZGkgbmVnYXRpb25z IGluIGFsbCBicmlkaSwgZXZlbiB0aGUgaW1wbGljaXQgYnJpZGkgb2YgZGVzY3JpcHRpdmUgc3Vt dGkuICcnbG8gbmEgcHJlbnUnJyBjYW4gcmVmZXIgdG8gYW55dGhpbmcgbm9uLWh1bWFuLCB3aGV0 aGVyIGl0IGJlIGEgc3BoaW54LCBhIGJhc2ViYWxsIG9yIHRoZSBwcm9wZXJ0eSBvZiBhcHByb3By aWF0ZW5lc3MuCgoKCl9fJydiYXUnJ19fIHN1bXRjaXRhLCBmcm9tIGJhbmd1OiB1c2luZyB0aGUg bGFuZ3VhZ2Ugb2Yge3N1bXRpfQoKX18nJ3NlIGph4oCZZScnX18gc3VtdGNpdGEsIGZyb20gc2Ug amFsZ2U6IGJlY2F1c2Ugb2Yge3N1bXRpfQoKCgpPZnRlbiB3aGVuIHVzaW5nICcnbmEnJywgaXTi gJlzIGEgcHJvYmxlbSB0aGF0IG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaS4gSWYgSSBzYXkgJydt aSBuYSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGph4oCZZSBsZSBudSBtaSBkb3Rjbycn LCBJIGVuZCB1cCBuZWdhdGluZyB0b28gbXVjaCwgYW5kIGl0IGlzIG5vdCBjbGVhciB0aGF0IEkg d2FudGVkIHRvIG9ubHkgbmVnYXRlIHRoYXQgSSBzcGVhayBmYXN0LiBUaGUgc2VudGVuY2UgY291 bGQgc3VnZ2VzdCB0aGF0IEkgaW4gZmFjdCBzcGVhayBmYXN0IGJlY2F1c2Ugb2Ygc29tZSBvdGhl ciByZWFzb24sIG9yIHRoYXQgSSBzcGVhayBmYXN0IGluIEZyZW5jaCBiZWNhdXNlIEnigJltIEdl cm1hbi4gVG8gZXhwcmVzcyB0aGUgc2VudGVuY2UgY29ycmVjdGx5LCBJIG5lZWQgdG8gb25seSBu ZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QsIGFuZCBub3QgdGhlIG90aGVyIHRoaW5ncy4KClRvIG9u bHkgbmVnYXRlIHBhcnQgb2YgYSBicmlkaSwgJyduYSBrdScnIGNhbiBiZSBtb3ZlZCBhcm91bmQg dGhlIGJyaWRpIGFuZCBwbGFjZWQgYW55d2hlcmUgYSBzdW10aSBjYW4gZ28uIEl0IHRoZW4gbmVn YXRlcyBhbnkgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEgcGxhY2VkIGFmdGVyIGl0LgoKCgpN b3ZpbmcgJyduYSBrdScnIGZyb20gdGhlIGxlZnQgZW5kIG9mIHRoZSBicmlkaSBhbmQgcmlnaHR3 YXJkcyBlZmZlY3RzIGFueSBxdWFudGlmaWVycyBpbiBhIGNlcnRhaW4gd2F5LCBhcyBjYW4gYmUg c2VlbiBieSB0aGlzIGV4YW1wbGU6CgoKCicnbmEga3Ugcm8gcmVtbmEgY3UgdmVyYmEnJyDigJxJ dOKAmXMgbm90IHRydWUgdGhhdDogQWxsIGh1bWFucyBhcmUgY2hpbGRyZW7igJ0KCicnc3XigJlv IHJlbW5hIG5hIGt1IGN1IHZlcmJhJycg4oCcRm9yIGF0IGxlYXN0IG9uZSBodW1hbiBpdOKAmXMg bm90IHRydWUgdGhhdDogSXTigJlzIGEgY2hpbGTigJ0uIFNlZSB0aGF0IHRoZSAnJ25hIGt1Jycg aXMgcGxhY2VkIGJlZm9yZSAnJ2N1JycsIHNpbmNlIGEgc3VtdGkgY2FuIGdvIG9ubHkgdGhlcmUu IEhhZCBJIG9ubHkgdXNlZCAnJ25hJycsIGl0IHdvdWxkIGhhdmUgdG8gZ28gYWZ0ZXIgJydjdScn LgoKCgpUaGUgcXVhbnRpZmllciBpcyBpbnZlcnRlZCwgJydybycnIGlzIHR1cm5lZCBpbnRvICcn c3XigJlvJycuIFRoaXMgaXMsIG9mIGNvdXJzZSwgb25seSBpZiB0aGUgbWVhbmluZyBvZiB0aGUg YnJpZGkgaGFzIHRvIGJlIHByZXNlcnZlZC4gVGhpcyBtZWFucyB0aGF0IHdoZW4gdGhlICcnbmEg a3UnJyBpcyBwbGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGksIG9ubHkgdGhlIHNlbGJyaSBp cyBuZWdhdGVkIGJ1dCBhbGwgdGhlIHN1bXRpIGFuZCBzdW10Y2l0YSBhcmUgcHJlc2VydmVkLCBh cyBjYW4gYmUgc2VlbiBieSB0aGVzZSB0aHJlZSBpZGVudGljYWwgYnJpZGk6CgpfXycnY2t1bGUn J19fIHgxIGlzIGEgc2Nob29sIGF0IGxvY2F0aW9uIHgyIHRlYWNoaW5nIHgzIHRvIHN0dWRlbnRz IHg0IGFuZCBvcGVyYXRlZCBieSB4NQoKCgonJ25hIGt1IHJvIHZlcmJhIGN1IHZlIGNrdWxlIGZv IHN14oCZbyBja3VsZScnIOKAkyDigJxJdOKAmXMgbm90IHRydWUgdGhhdCBhbGwgY2hpbGRyZW4g YXJlIHN0dWRlbnRzIGluIGEgc2Nob29sLuKAnQoKJydzdeKAmW8gdmVyYmEgY3UgdmUgY2t1bGUg bmEga3UgZm8gc3XigJlvIGNrdWxlJycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIHN0dWRlbnRz IGluIG5vdCBhIHNpbmdsZSBzY2hvb2wu4oCdCgonJ3N14oCZbyB2ZXJiYSBjdSB2ZSBja3VsZSBm byBybyBja3VsZSBuYSBrdScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBmb3IgYWxsIHNjaG9v bHMgbm90IHN0dWRlbnRzIGluIHRoZW0u4oCdCgoKCldoaWxlIHRoZSBtZWNoYW5pc20gb2YgJydu YSBrdScnIHJlc2VtYmxlcyBuYXR1cmFsIGxhbmd1YWdlIG5lZ2F0aW9uLCBpdCBjYW4gYmUgZGlm ZmljdWx0IHRvIGtlZXAgdHJhY2sgb2YgZXhhY3RseSB3aGF0IGlzIG5lZ2F0ZWQgYW5kIGhvdyB0 aGF0IGFmZmVjdHMgdGhlIGJyaWRpLiBGb3IgdGhhdCByZWFzb24sIHRoZSBjb25zdHJ1Y3QgJydu YSBrdScnIGlzIHJhcmVseSBzZWVuIGFueXdoZXJlIG90aGVyIHRoYW4gdGhlIGJlZ2lubmluZyBv ZiBhIGJyaWRpLiBJbiBtb3N0IGNhc2VzIHdoZXJlIG1vcmUgc3BlY2lmaWMgbmVnYXRpb24gaXMg bmVlZGVkIHBlb3BsZSByZXNvcnQgdG8gYSBkaWZmZXJlbnQgbWV0aG9kLiBUaGlzIG1ldGhvZCwg Y2FsbGVkIHNjYWxhciBuZWdhdGlvbiwgaXMgYW4gZWxlZ2FudCBhbmQgaW50dWl0aXZlIHRvb2wu IFVzaW5nIGl0LCB5b3UgZWZmZWN0IG9ubHkgdGhlIHNlbGJyaSwgc2luY2UgdGhlIHdvcmRzIHVz ZWQgaW4gc2NhbGFyIG5lZ2F0aW9uIGJpbmRzIHRvIHRoZSBzZWxicmkgbXVjaCBsaWtlIHRoZSB3 b3JkICcnc2UnJy4KClRoZSBuYW1lIOKAnHNjYWxhciBuZWdhdGlvbuKAnSBpcyBkZXJpdmVkIGZy b20gdGhlIGZhY3QgdGhhdCB0aGUgd29yZHMgd2hpY2ggYmluZCB0byB0aGUgc2VsYnJpIGNhbiBi ZSBwbGFjZWQgYWxvbmcgYSBzY2FsZSBmcm9tIGFmZmlybWF0aW9uIG92ZXIgbmVnYXRpb24gYW5k IHRvIHN0YXRpbmcgdGhhdCB0aGUgb3Bwb3NpdGUgY2FzZSBpcyB0cnVlOgoKfHxXb3JkfE1lYW5p bmcKCmpl4oCZYXzigJxJbmRlZWTigJ07IHNjYWxhciBhZmZpcm1lcgoKbm/igJllfOKAnE5vdCBy ZWFsbHnigJ0sIHNjYWxhciBtaWRwb2ludAoKbmHigJllfOKAnE5vbi3igJwsIHNjYWxhciBuZWdh dG9yCgp0b+KAmWV84oCcSWzigJ0sIOKAnERpcy3igJwsIOKAnE1pc+KAnSBlY3Q7IHNjYWxhciBv cHBvc2VyfHwKCgoKCgpUaGVzZSB3b3JkcyBhcmUgbm90IG5lZ2F0b3JzIGluIHRoZSBzYW1lIHNl bnNlIGFzICcnbmEnJy4gVGhleSBkbyBub3Qgc3RhdGUgdGhhdCBhIGJyaWRpIGlzIGZhbHNlLCBi dXQgbWFrZXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgdGhhdCBhIGJyaWRpIGlzIHRydWUg4oCTIHRo ZSBzYW1lIGJyaWRpLCBidXQgd2l0aCBhIGRpZmZlcmVudCBzZWxicmkuCgpUaGUgd29yZHMgJydu b+KAmWUnJyBhbmQgJyd0b+KAmWUnJyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIHNlbGJy aSBoYXMgYW4gaW1wbGljaXQgc2NhbGU6CgonJ2xlIG1pIHNwZW5pIGN1IHRv4oCZZSBtZWxiaScn IOKAkyDigJ1NeSBzcG91c2UgaXMgdWdseeKAnSBtYWtlcyBzZW5zZSwgc2luY2Ugd2UgaW1tZWRp YXRlbHkga25vdyB3aGF0IHRoZSBvcHBvc2l0ZSBvZiBiZWF1dGlmdWwgaXMsIHdoaWxlCgonJ21p IGtsYW1hIGxlIG1pIHRv4oCZZSB6ZGFuaScnIOKAkyDigJ1JIGdvIHRvIG15IG9wcG9zaXRlIHRo aW5nIG9mIGhvbWXigJ0sIHdoaWxlIGdyYW1tYXRpY2FsLCBsZWF2ZXMgdGhlIGxpc3RlbmVyIGd1 ZXNzaW5nIHdoYXQgdGhlIHNwZWFrZXJzIOKAnG9wcG9zaXRlLWhvbWXigJ0gaXMgYW5kIHNob3Vs ZCBiZSBhdm9pZGVkLgoKCgpTbyBob3cgY2FuIHlvdSBuZWdhdGUgb25seSB0aGUgc2VsYnJpIHdp dGhvdXQgYWxzbyBpbXBseWluZyB0aGF0IHRoZSBzZWxicmkgaXMgY29ycmVjdCBhdCBzb21lIG90 aGVyIHBvc2l0aW9uIG9uIGEgdHJ1dGgtc2NhbGU/IFNpbXBsZTogTW92aW5nIHRoZSAnJ25hIGt1 JycgdG8gdGhlIHJpZ2h0bW9zdCBlbmQgb2YgdGhlIGJyaWRpLCBhcyBkZW1vbnN0cmF0ZWQgYSBm ZXcgbGluZXMgYWJvdmUuIFRoaXMgZmVhdHVyZSBpcyB2ZXJ5IHVzZWZ1bC4gU29tZSBsb2piYW5p c3RzIHByZWZlciB0byBwcmVmaXggdGhlIHJhZnNpICcnbmFyLScnICh0aGUgcmFmc2kgb2YgJydu YScnKSBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIC0gdGhpcyBoYXMgdGhlIHNhbWUgZWZmZWN0LCBi dXQgSSBhZHZpc2UgYWdhaW5zdCBpdCwgYmVjYXVzZSBpdCBtYWtlcyBmYW1pbGlhciBicml2bGEg c2VlbSBhbGllbiwgYW5kIGl0J3MgaGFyZGVyIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4gY2Fz dWFsbHkuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlc2Ugc2VudGVuY2VzOgoK4oCcTXkgc3BvdXNl IGlzIG5vdCBhIHdvbWFu4oCdIChtZWFuaW5nIHRoYXQgaGUgaXMgYSBtYWxlKQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3UgbmHigJllIC8gdG/igJllIG5pbm11JycuIFVz aW5nIHNjYWxhciBuZWdhdGlvbiBoZXJlIGltcGxpZXMgdGhhdCBoZSBleGlzdHMsIHdoaWNoIG5h IGRpZCBub3Qufn4KCgoK4oCcTXkgc3BvdXNlIGlzIG5vdCByZWFsbHkgYSB3b21hbuKAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3Ugbm/igJllIG5pbm11JycuIFRoZSBz Y2FsZSBoZXJlIGlzIHByZXN1bWVkIHRvIGJlIGZyb20gd29tYW4gdG8gbWFuLn5+CgoKCuKAnEkg ZG9u4oCZdCBzcGVhayBmYXN0IGluIEVuZ2xpc2ggYmVjYXVzZSBJ4oCZbSBHZXJtYW7igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5h4oCZZSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1 IHNlIGph4oCZZSBsZSBudSBtaSBkb3Rjbycnfn4KCgoKQWxzbywgbm90ZSB0aGF0IHdoZW5ldmVy IHRoZXNlIHdvcmRzIGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSB0YW5ydSwgdGhleSBvbmx5IGFm ZmVjdCB0aGUgbGVmdG1vc3Qgc2VsYnJpLiBJbiBvcmRlciB0byBtYWtlIGl0IGJpbmQgdG8gdGhl IHdob2xlIHRhbnJ1IG9yIHBhcnRzIG9mIHRoZSB0YW5ydSwgdGhlIHVzdWFsIHRhbnJ1LWdyb3Vw aW5nIHdvcmRzIGNhbiBiZSB1c2VkLgoKCgpUcnkgdG8gc2F5IOKAnEkgc2VsbCBzb21ldGhpbmcg d2hpY2ggaXMgbm90IHllbGxvdyBob21lc+KAnSB1c2luZyB0aGUgdGFucnUgJydwZWx4dSB6ZGFu aSB2ZWNudScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYeKAmWUga2UgcGVseHUgemRh bmkga2XigJllIHZlY251IG9yIG1pIG5h4oCZZSBwZWx4dSBibyB6ZGFuaSB2ZWNudScnfn4KCgoK V2hlbiBhdHRlbXB0aW5nIHRvIGFuc3dlcjog4oCcSXMgdGhlIGtpbmcgb2YgdGhlIFVTQSBmYXQ/ 4oCdLCBhbGwgb2YgdGhlc2UgbmVnYXRpb25zIGZhaWwuIFdoaWxlIGl04oCZcyB0ZWNobmljYWxs eSBjb3JyZWN0IHRvIG5lZ2F0ZSBpdCB3aXRoICcnbmEnJywgc2luY2UgaXQgbWFrZXMgbm8gYXNz dW1wdGlvbnMgb2YgdGhhdCBpcyB0cnVlLCBpdOKAmXMgbWlsZGx5IG1pc2xlYWRpbmcgc2luY2Ug aXQgY291bGQgbGVhZCB0aGUgbGlzdGVuZXIgdG8gYmVsaWV2ZSB0aGVyZSBpcyBhIGtpbmcgb2Yg dGhlIFVTQS4gRm9yIHRoZXNlIHNjZW5hcmlvcywgdGhlcmUgaXMgYSBtZXRhbGluZ3Vpc3RpYyBu ZWdhdG9yLCAnJ25h4oCZaScnLgoKJyduYeKAmWknJyBNZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLiBT b21ldGhpbmcgaXMgd3Jvbmcgd2l0aCBhc3NpZ25pbmcgYSB0cnV0aCB2YWx1ZSB0byB0aGUgYnJp ZGkuCgpCZWNhdXNlICcnbmHigJlpJycgY2FuIGJlIG5lZWRlZCBhbnl3aGVyZSBpdCBoYXMgYmVl biBnaXZlbiB0aGUgZ3JhbW1hciBvZiB0aGUgYXR0aXR1ZGluYWxzLCB3aGljaCBtZWFucyBpdCBj YW4gYXBwZWFyIGFueXdoZXJlLCBhbmQgaXQgYXR0YWNoZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQg b3IgY29uc3RydWN0LgoKCgpfXycncGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIK CicnbGUgbmHigJlpIHB1IHRlIHp1a3RlIGJlIGxlIHNrYW1pIGN1IHBhbGNpJycg4oCTIOKAnVRo ZSBzb3VnaHQgZ29hbCB7bWlzdGFrZSF9IG9mIHRoZSBjb21wdXRlciB3YXMgZXZpbOKAnSwgcHJv YmFibHkgcHJvdGVzdHMgdGhhdCBjb21wdXRlcnMgY2FuIHNlZWsgYSBnb2FsIHZvbGl0aW9uYWxs eS4KCgoKU2luY2UgdGhpcyBpcyBhIGxlc3NvbiBvbiBuZWdhdGlvbiwgSSBiZWxpZXZlIHRoZSB3 b3JkICcnbmFpJycgZGVzZXJ2ZXMgYSBzaG9ydCBtZW50aW9uLiBJdCBpcyB1c2VkIHRvIG5lZ2F0 ZSBtaW5vciBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzLCBhbmQgY2FuIGJlIHVzZWQgaW4gY29tYmlu YXRpb24gd2l0aCBhdHRpdHVkaW5hbHMsIGFsbCBzdW10Y2l0YSBpbmNsdWRpbmcgdGVuc2VzLCB2 b2NhdGl2ZXMgYW5kIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFRoZSBydWxlcyBmb3IgbmVnYXRpbmcg dXNpbmcgJyduYWknJyBkZXBlbmQgb24gdGhlIGNvbnN0cnVjdCwgYW5kIHNvIHRoZSBlZmZlY3Qg b2YgJyduYWknJyBoYXMgYmVlbiBkaXNjdXNzZWQgd2hlbiBtZW50aW9uaW5nIHRoZSBjb25zdHJ1 Y3QgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiBpcyBzdW10Y2l0YSwgd2hlcmUgdGhlIHJ1bGVz IGZvciBuZWdhdGlvbiBhcmUgbW9yZSBjb21wbGV4LCBhbmQgd2lsbCBub3QgYmUgZGlzY3Vzc2Vk IGhlcmUuCgpfX05vdGU6X18gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgaXQgaGFzIGJlZW4gcHJv cG9zZWQgdG8gbW92ZSAnJ25haScnIHRvIHRoZSBzZWxtYSdvIENBSSwgd2hpY2ggbWVhbnMgdGhl IHNlbWFudGljcyBvZiAnJ25haScnIGRlcGVuZCBvbiB3aGljaCBzZWxtYSdvIGl0IGZvbGxvd3Mu IAoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZvdXIgKGJyaWth4oCZaS9w cm8tYnJpZGkgYW5kIGtv4oCZYSkKCklmIEkgc2F5IHRoYXQgSeKAmW0gY2FsbGVkIE1pa2hhaWws ICcnbGEgLm1pa2FpbC4gY21lbmUgbWknJywgYW5kIHlvdSBoYXZlIHRvIHNheSB0aGUgZXhhY3Qg c2FtZSBicmlkaSwgd2hhdCB3b3VsZCB0aGF0IGJlPyBPbmUgb2YgdGhlIG1hbnkgYW5zd2VycyBp cyAnJ2RvIHNlIGNtZW5lIGxhIC5taWthaWwuJycuIEZvciB0aGUgYnJpZGkgdG8gYmUgdGhlIHNh bWUsIHlvdSBoYXZlIHRvIHJlcGxhY2UgJydtaScnIHdpdGggJydkbycnLCBhbmQgaXQgZG9lc27i gJl0IG1hdHRlciB3aGljaCBpZiB5b3Ugc2F5IHRoZSBicmlkaSB3aXRoIHRoZSAnJ3NlJyctY29u dmVydGVkIHNlbGJyaSBvciBub3QuIFRoaXMgaXMgYmVjYXVzZSBhIGJyaWRpIGlzIG5vdCB0aGUg d29yZHMgd2hpY2ggZXhwcmVzcyBpdCDigJMgYSBicmlkaSBpcyBhbiBpZGVhLCBhbiBhYnN0cmFj dCBwcm9wb3NpdGlvbi4gVGhlIHdvcmQgJydtaScnIHdoZW4gSSBzYXkgaXQgYW5kIHRoZSB3b3Jk ICcnZG8nJyB3aGVuIHlvdSBkbyByZWZlcnMgdG8gdGhlIHNhbWUgc3VtdGksIHNvIHRoZSB0d28g YnJpZGkgYXJlIGlkZW50aWNhbC4KClRoaXMgbGVzc29uIGlzIG9uICcnYnJpa2HigJlpJycsIHRo ZSBicmlkaSBlcXVpdmFsZW50IG9mIHN1bWth4oCZaS4gVGhleSBhcmUgd29yZCB3aGljaCByZXBy ZXNlbnQgZW50aXJlIGJyaWRpLiBIZXJlIGl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0 IGEgYnJpZGkgY29uc2lzdHMgb25seSBvZiBzdW10aSBhbmQgdGhlIHRoaW5ncyB3aGljaCBjb250 YWluIHRoZSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YS4gTmVpdGhlciBhdHRpdHVkaW5hbHMs IG5vciB0aGUgc2VtYW50aWMgbGF5ZXIgb2YgJydrbycnIG9yICcnbWEnJyBhcmUgcGFydCBvZiB0 aGUgYnJpZGkgcHJvcGVyLCBhbmQgc28gdGhlc2UgYXJlIG5vdCByZXByZXNlbnRlZCBieSBhICcn YnJpa2HigJlpJycuCgoKClRoZXJlIGFyZSBtdWNoIGZld2VyICcnYnJpa2HigJlpJycgdGhhbiB0 aGVyZSBhcmUgc3Vta2HigJlpLiBXZSB3aWxsIGJlZ2luIGJ5IGdvaW5nIHRocm91Z2ggc29tZSBv ZiB0aGUgd29yZHMgaW4gdGhlIG1vc3QgdXNlZCBzZXJpZXMsIGNhbGxlZCBHT2hBOgoKV29yZDoJ RGVmaW5pdGlvbjoKCl9fJydnb+KAmXUnJ19fCVJlcGVhdHMgcmVtb3RlIHBhc3QgYnJpZGkKCl9f Jydnb+KAmWEnJ19fCVJlcGVhdHMgcGFzdCBicmlkaQoKX18nJ2dv4oCZZScnX18JUmVwZWF0cyBu ZXh0LXRvLWxhc3QgYnJpZGkKCl9fJydnb+KAmWknJ19fCVJlcGVhdHMgbGFzdCBtZW50aW9uZWQg YnJpZGkKCl9fJydnb+KAmW8nJ19fCVJlcGVhdHMgZnV0dXJlIGJyaWRpCgpfXycnbmVpJydfXwlS ZXBlYXRzIGN1cnJlbnQgYnJpZGkKCl9fJydub+KAmWEnJ19fCVJlcGVhdHMgb3V0ZXIgYnJpZGkK CgoKU29tZSBvZiB0aGUgR09oQS0nJ2JyaWth4oCZaScnLiBOb3RpY2UgdGhlIGZhbWlsaWFyIGks IGEsIHUtcGF0dGVybiBmb3IgY2xvc2UgaW4gcGFzdCwgbWVkaXVtIGluIHBhc3QgYW5kIGRpc3Rh bnQgaW4gcGFzdC4KCgoKCgpUaGVzZSBhcmUgdmVyeSBtdWNoIGxpa2UgdGhlIHN1bWth4oCZaSAn J3JpJycsICcncmEnJyBhbmQgJydydScnLiBUaGV5IGNhbiBvbmx5IHJlZmVyIHRvIG1haW4gYnJp ZGkgb2YganVmcmEsIGFuZCBub3QgdGhvc2UgY29udGFpbmVkIGluIHJlbGF0aXZlIHBocmFzZXMg b3IgZGVzY3JpcHRpb24gc3VtdGkuIFRoZSBtYWluIGJyaWRpIGNhbiBjb250YWluIGEgcmVsYXRp dmUgcGhyYXNlLCBvZiBjb3Vyc2UsIGJ1dCBhICcnYnJpa2HigJlpJycgY2FuIG5ldmVyIGJlIHVz ZWQgdG8gcmVmZXIgdG8gb25seSB0aGUgcmVsYXRpdmUgcGhyYXNlLgoKQSBHT2hBIGFjdHMgZ3Jh bW1hdGljYWxseSBtdWNoIGxpa2UgYSBzZWxicmksIGFueSBjb25zdHJ1Y3Qgd2hpY2ggY2FuIGFw cGx5IHRvIHNlbGJyaSBjYW4gYWxzbyBhcHBseSB0byB0aGVzZS4gVGhlIHBsYWNlIHN0cnVjdHVy ZSBvZiBhIEdPaEEgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50 cywgYW5kIHRoZSBzdW10aSBhcmUgYnkgZGVmYXVsdCB0aGUgc2FtZSBhcyBpbiB0aGUgYnJpZGkg aXQgcmVwcmVzZW50cy4gRmlsbGluZyB0aGUgc3VtdGkgcGxhY2VzIG9mIGEgR09oQSBleHBsaWNp dGx5IG92ZXJ3cml0ZXMgdGhlIHN1bXRpIG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBDb250 cmFzdDoKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ2dv4oCZaScnIOKAkyDigJxJIGVh dCBhbiBhcHBsZS7igJ0g4oCcWW91IGRvLuKAnSB3aXRoCgpBOiAnJ21pIGNpdGthIGxvIHBsaXNl JycgQjogJydtaSBnb+KAmWknJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnEkgZG8sIHRv by7igJ0KCgoKVGhlc2UgJydicmlrYeKAmWknJyBhcmUgdmVyeSB1c2VmdWwgd2hlbiBhbnN3ZXJp bmcgYSBxdWVzdGlvbiB3aXRoICcneHUnJzoKCkE6ICcneHUgZG8gbmVsY2kgbGUgbWkgc3Blbmkn JyBCOiAnJ2dv4oCZaSAvIG5hIGdv4oCZaScnIOKAkyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KA nSDigJxZZXMuL05vLuKAnS4gVGhlICcneHUnJywgYmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5v dCBjb3BpZWQuCgoKCicnbmVpJycgYW5kICcnbm/igJlhJycgYXJlIG5vdCB1c2VkIG11Y2gsIGV4 Y2VwdCBmb3Ig4oCcbWluZC1icmVha2luZyBwdXJwb3Nlc+KAnSwgd2hpY2ggaXMgbWFraW5nIHVw IGJyaWRpIHdoaWNoIGFyZSBoYXJkIHRvIHBhcnNlLCBsaWtlICcnZGVpIG5hIHNlIGR14oCZdSBs ZSBub+KAmWEgbGHigJllIGxlIG5laScnLiBTaW5jZSAnJ25laScnIHJlcGVhdHMgdGhlIGN1cnJl bnQgb3V0ZXIgYnJpZGksIGhvd2V2ZXIsICcnbGUgbmVpJycgY2FuIGJlIHVzZWQgdG8gcmVmZXIg dG8gdGhlIHgxIG9mIHRoZSBjdXJyZW50IG91dGVyIGJyaWRpLCAnJ2xlIHNlIG5laScnIHRoZSB4 MiBhbmQgc28gb24uCgoKCldoZW4gdXNpbmcgJydicmlrYeKAmWknJywgb25lIG11c3QgYWx3YXlz IGJlIHdhcnkgb2YgY29weWluZyBzZW50ZW5jZXMgd2l0aCB0aGUgcGVyc29uYWwgc3Vta2HigJlp IGxpa2UgJydtaScnLCAnJ2RvJycsICcnbWHigJlhJycgZWN0LCBhbmQgYmUgY2FyZWZ1bCBub3Qg dG8gcmVwZWF0IHRoZW0gd2hlbiB0aGV5IGFyZSBpbiB0aGUgd3JvbmcgY29udGVjdCwgYXMgc2hv d24gaW4gdGhlIHR3byBleGFtcGxlcyB3aXRoIGFwcGxlIGVhdGluZyBhYm92ZS4gSW5zdGVhZCBv ZiByZXBsYWNpbmcgdGhlbSBvbmUgYnkgb25lLCB0aG91Z2gsIHRoZSB3b3JkICcncmHigJlvJycg YW55d2hlcmUgaW4gdGhlIGJyaWRpIHVwZGF0ZXMgdGhlIHBlcnNvbmFsIHN1bWth4oCZaSBzbyB0 aGF0IHRoZXkgYXBwbHkgZm9yIHRoZSBzcGVha2Vy4oCZcyBwZXJzcGVjdGl2ZToKCkE6ICcnbWkg ZG8gcHJhbWknJyBCOiAnJ21pIGRvIGdv4oCZaScnIGlzIGVxdWl2YWxlbnQgdG8gQTogJydtaSBk byBwcmFtaScnIEI6ICcnZ2/igJlpIHJh4oCZbycnCgpfXycncmHigJlvJydfXyBVcGRhdGUgYWxs IHBlcnNvbmFsIHN1bWth4oCZaSBzbyB0aGF0IHRoZXkgbm93IGZpdCB0aGUgc3BlYWtlcuKAmXMg cG9pbnQgb2Ygdmlldy4KCgoKVGhlIG9ubHkgb3RoZXIgc2VyaWVzIG9mIGJyaWth4oCZaSBhcmUg dmVyeSBlYXN5IHRvIHJlbWVtYmVyOgoKX18nJ2Jyb2RhJydfXwlCcmlkaSB2YXJpYWJsZSAxCgpf XycnYnJvZGUnJ19fCUJyaWRpIHZhcmlhYmxlIDIKCl9fJydicm9kaScnX18JQnJpZGkgdmFyaWFi bGUgMwoKX18nJ2Jyb2RvJydfXwlCcmlkaSB2YXJpYWJsZSA0CgpfXycnYnJvZHUnJ19fCUJyaWRp IHZhcmlhYmxlIDUKCl9fJydjZWknJ19fCURlZmluZSBicmlkaSB2YXJpYWJsZSAobm90IGEgYnJp a2EnaSBhbmQgbm90IGluIEJST0RBKQoKCgoKClRoZSBmaXJzdCBmaXZlIGFyZSBqdXN0IGZpdmUg aW5zdGFuY2VzIG9mIHRoZSBzYW1lIHdvcmQuIFRoZXkgY2FuIGJlIHVzZWQgYXMgc2hvcnRjdXRz IHRvIGJyaWRpLiBBZnRlciBzYXlpbmcgYSBicmlkaSwgc2F5aW5nICcnY2VpIGJyb2RhJycgZGVm aW5lcyB0aGF0IGJyaWRpIGFzICcnYnJvZGEnJywgYW5kICcnYnJvZGEnJyBjYW4gdGhlbiBiZSB1 c2VkIGFzICcnYnJpa2HigJlpJycgZm9yIHRoYXQgYnJpZGkgaW4gdGhlIGZvbGxvd2luZyBjb252 ZXJzYXRpb24uCgpXaGlsZSB3ZeKAmXJlIGF0IGl0LCB0aGVyZSBpcyBhbiBhbmFsb2dvdXMgc2Vy aWVzIG9mIHN1bWth4oCZaSwgd2hpY2ggcHJvYmFibHkgZG9lcyBub3QgYmVsb25nIGluIHRoaXMg bGVzc29uLCBidXQgaGVyZSB0aGV5IGFyZSBhbnl3YXk6CgpfXycna2/igJlhJydfXwlTdW10aSB2 YXJpYWJsZSAxCV9fJydmb+KAmWEnJ19fCVN1bXRpIHZhcmlhYmxlIDYKCl9fJydrb+KAmWUnJ19f CVN1bXRpIHZhcmlhYmxlIDIJX18nJ2Zv4oCZZScnX18JU3VtdGkgdmFyaWFibGUgNwoKX18nJ2tv 4oCZaScnX18JU3VtdGkgdmFyaWFibGUgMwlfXycnZm/igJlpJydfXwlTdW10aSB2YXJpYWJsZSA4 CgpfXycna2/igJlvJydfXwlTdW10aSB2YXJpYWJsZSA0CV9fJydmb+KAmW8nJ19fCVN1bXRpIHZh cmlhYmxlIDkKCl9fJydrb+KAmXUnJ19fCVN1bXRpIHZhcmlhYmxlIDUJX18nJ2Zv4oCZdScnX18J U3VtdGkgdmFyaWFibGUgMTAKCgoKYXMgd2VsbCBhcyB0aGUgJydjZWknJy1lcXVpdmFsZW50IGZv ciB0aGlzIHNlcmllczoKCl9fJydnb2knJ19fIERlZmluZSBzdW10aSB2YXJpYWJsZQoKCgoKClRo ZXNlIGFyZSB1c2VkIGxpa2UgdGhlICcnYnJpa2HigJlpJyctc2VyaWVzLiBKdXN0IHBsYWNlLCBm b3IgaW5zdGFuY2UsICcnZ29pIGtv4oCZdScnIGFmdGVyIGEgc3VtdGksIGFuZCB0aGF0IHN1bXRp IGNhbiBiZSByZWZlcnJlZCB0byBieSAnJ2tv4oCZdScnLgoKCgpTdHJhbmdlbHksIHRoZXNlIHNl cmllcyBhcmUgcmFyZWx5IHVzZWQgZm9yIHRoZWlyIGludGVuZGVkIHB1cnBvc2UuIFRoZXkgYXJl LCBob3dldmVyLCB1c2VkIGFzIGFyYml0cmFyeSBzZWxicmkgYW5kIHN1bXRpIGluIGV4YW1wbGUg dGV4dHM6CgrigJxTbywgaXMgaXQgdHJ1ZSB0aGF0IHRoZSB0cnV0aCBjb25kaXRpb24gb2YgJydr b+KAmWEga2/igJllIGJyb2RhIG5hIGt1JycgaXMgYWx3YXlzIHRoZSBzYW1lIGFzICcnbmEga3Ug a2/igJlhIGtv4oCZZSBicm9kYScnP+KAnSDigJxOb3BlLCBpdCBpc27igJl0LuKAnQoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZpdmUgKGxvZ2ljYWwgY29ubmVjdGl2ZXMp CgrigJxJZiB5b3UgYXNrIGEgTG9qYmFuaXN0OiDigJxEbyB5b3Ugd2FudCBtaWxrIG9yIHN1Z2Fy IGluIHlvdXIgY29mZmVlP+KAnSBzaGXigJlsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd4oCdCgoK CldpdHR5IGFzIHRoaXMgam9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWlyZCBwcm9w ZXJ0eSBvZiB0aGUgRW5nbGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0IGlzIHBo cmFzZWQgYXMgYSB0cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbuKAmXQuIElu IExvamJhbiwgd2UgY2Fu4oCZdCBoYXZlIHRoaXMga2luZCBvZiBpbmNvbnNpc3RlbmN5LCBhbmQg c28gd2UgbXVzdCBmaW5kIGFub3RoZXIgd2F5IG9mIGFza2luZyB0aGlzIGtpbmQgb2YgcXVlc3Rp b24uIElmIHlvdSB0aGluayBhYm91dCBpdCwgaXTigJlzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBn b29kIGFuZCBlYXN5IHdheSwgYW5kIGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qg d2F5IGluc3RlYWQgb2YgYW4gZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtl IHR3byBzZXBhcmF0ZSBicmlkaTogQnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl 4oCdIGFuZCBicmlkaSAyOiDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9m IHRoZXNlIGJyaWRpIGNhbiBoYXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxk cyBmb3VyIGNvbWJpbmF0aW9ucyBvZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFu ZCAyCUIgKSAxIGJ1dCBub3QgMgoKQyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoK CgpJLCBpbiBhY3R1YWxpdHksIGxpa2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJ4oCZbSBpbmRp ZmZlcmVudCBhcyB0byB3aGV0aGVyIHRoZXJlIGlzIHN1Z2FyIGluIGl0IG9yIG5vdC4gVGhlcmVm b3JlLCBteSBwcmVmZXJlbmNlIGNhbiBiZSB3cml0dGVuIEEgKSB0cnVlIEIgKSB0cnVlIEMgKSBm YWxzZSBEICkgZmFsc2UsIHNpbmNlIGJvdGggQSBhbmQgQiB5aWVsZHMgdHJ1ZSBmb3IgbWUsIGJ1 dCBuZWl0aGVyIEMgbm9yIEQgZG9lcy4gQSBtb3JlIGNvbXBhY3Qgd2F5IG9mIHdyaXRpbmcgbXkg Y29mZmVlIHByZWZlcmVuY2VzIHdvdWxkIGJlIFRURkYgZm9yIHRydWUsIHRydWUsIGZhbHNlLCBm YWxzZS4gU2ltaWxhcmx5LCBhIHBlcnNvbiBsaWtpbmcgaGlzIGNvZmZlZSBibGFjayBhbmQgdW5z d2VldGVuZWQgd291bGQgaGF2ZSBhIGNvZmZlZSBwcmVmZXJlbmNlIG9mIEZGRlQuIFRoaXMgY29t Yml0YXRpb24gb2YgInRydWUiIGFuZCAiZmFsc2UiIGlzIGNhbGxlZCBhIOKAnHRydXRoIGZ1bmN0 aW9u4oCdLCBpbiB0aGlzIGNhc2UgZm9yIHRoZSB0d28gc3RhdGVtZW50cyDigJxJIGxpa2UgbWls ayBpbiBteSBjb2ZmZWXigJ0gYW5kIOKAnEkgbGlrZSBzdWdhciBpbiBteSBjb2ZmZWXigJ0uIE5v dGUgdGhhdCB0aGUgb3JkZXIgb2YgdGhlIHN0YXRlbWVudHMgbWF0dGVycy4KCkluIExvamJhbiwg d2Ugb3BlcmF0ZSB3aXRoIDQgdHJ1dGggZnVuY3Rpb25zLCB3aGljaCB3ZSBjb25zaWRlciBmdW5k YW1lbnRhbDoKCkE6IFRUVEYgKGFuZC9vcikKCk86IFRGRlQgKGlmIGFuZCBvbmx5IGlmZikKClU6 IFRURkYgKHdoZXRoZXIgb3Igbm90KQoKRTogVEZGRiAoYW5kKQoKCgpJbiB0aGlzIGV4YW1wbGUs IHRoZXkgd291bGQgdHJhbnNsYXRlIHRvIHNvbWV0aGluZyBsaWtlOiBBOuKAnUp1c3Qgbm90IGJs YWNrIGNvZmZlZeKAnSwgTzog4oCcRWl0aGVyIGJvdGggbWlsayBvciBzdWdhciwgb3Igbm90aGlu ZyBmb3IgbWUsIHBsZWFzZeKAnSwgVTog4oCcTWlsaywgYW5kIEkgZG9u4oCZdCBjYXJlIGFib3V0 IGlmIHRoZXJl4oCZcyBzdWdhciBvciBub3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBw bGVhc2Uu4oCdLgoKCgpJbiBMb2piYW4sIHlvdSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRo IGZ1bmN0aW9uIGJldHdlZW4gdGhlIHR3byBicmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0 aW9uLiBUaGF0IHdvcmQgaXMgY2FsbGVkIGEgbG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMg Zm9yIHRydXRoIGZ1bmN0aW9ucyBiZXR3ZWVuIHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBh cmUgICcnLmEnJyAnJy5vJycgJycudScnIGFuZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFu Y2U6IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3Vs ZCBiZSAnJ2xvIG1lcmtvIC5lIGxvIGRvdGNvIGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91 IHNheTog4oCcRWl0aGVyIEkgZmxpcnQgd2l0aCB5b3Ugb3Igd2l0aCBwZXJzb24gYXQgYWxsP+KA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgZG8gbmEgLm8gbm8gcHJlbnUn J35+CgoKCk9uZSBtb3JlOiDigJxJIGxpa2UgY2hlZXNlIHdoZXRoZXIgb3Igbm90IEkgbGlrZSBj b2ZmZWXigJ0KCl9fJydja2FmaScnX18geDEgaXMgYSBxdWFudGl0eS9jb250YWlucyBjb2ZmZWUg ZnJvbSBzb3VyY2Uvb2YgZ3JhaW4geDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5lbGNp IGxv4oCZZSBjaXJsYSAudSBsb+KAmWUgY2thZmknJ35+CgoKCllvdSBjYW4gcGVyaGFwcyBkZWR1 Y2UgdGhhdCB0aGVyZSBhcmUgc2l4dGVlbiBwb3NzaWJsZSB0cnV0aCBmdW5jdGlvbnMsIHNvIHdl IG5lZWQgdG8gbGVhcm4gMTIgbW9yZSBpbiBvcmRlciB0byBrbm93IHRoZW0gYWxsLiA4IG1vcmUg Y2FuIGJlIG9idGFpbmVkIGJ5IG5lZ2F0aW5nIGVpdGhlciB0aGUgZmlyc3Qgc2VudGVuY2Ugb3Ig dGhlIHNlY29uZC4gVGhlIGZpcnN0IGlzIG5lZ2F0ZWQgYnkgcHJlZml4aW5nIHRoZSB0cnV0aCBm dW5jdGlvbiB3b3JkIHdpdGggJyduYScnLCB0aGUgc2Vjb25kIGlzIG5lZ2F0ZWQgYnkgcGxhY2lu ZyAnJ25haScnIGFmdGVyIHRoZSB3b3JkLiBGb3IgZXhhbXBsZSwgc2luY2UgJycuZScnIHJlcHJl c2VudHMgVEZGRiwgJycuZSBuYWknJyBtdXN0IGJlIOKAnGJvdGggMSBpcyB0cnVlIGFuZCAyIGlz IGZhbHNl4oCdLCB3aGljaCBpcyBGVEZGLiBTaW1pbGFybHksICcnbmEgLmEnJyBpcyDigJxKdXN0 IG5vdDogMSBpcyB0cnVlIGFuZCAyIGlzIGZhbHNl4oCdLCB3aGljaCBpcyBUVEZULiBEb2luZyB0 aGlzIHR5cGUgb2YgY29udmVyc2lvbiBpbiB0aGUgaGVhZCByZWFsLXRpbWUgaXMgdmVyeSwgdmVy eSBoYXJkLCBzbyBwZXJoYXBzIG9uZSBzaG91bGQgZm9jdXMgb24gbGVhcm5pbmcgaG93IGxvZ2lj YWwgY29ubmVjdGl2ZXMgd29yayBpbiBnZW5lcmFsLCBhbmQgdGhlbiBsZWFybiB0aGUgbG9naWNh bCBjb25uZWN0aXZlcyB0aGVtc2VsdmVzIGJ5IGhlYXJ0LgoKCgpGb3VyIGZ1bmN0aW9ucyBjYW5u b3QgYmUgbWFkZSB0aGlzIHdheTogVFRUVCwgVEZURiwgRlRGVCBhbmQgRkZGRi4gVGhlIGZpcnN0 IGFuZCB0aGUgbGFzdCBjYW5ub3QgYmUgbWFkZSB1c2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzIGF0 IGFsbCwgYnV0IHRoZXkgYXJlIGtpbmQgb2YgdXNlbGVzcyBhbnl3YXkuIFVzaW5nIGEgaHlwb3Ro ZXRpY2FsIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGUgc2VudGVuY2Ug4oCcSSBsaWtlIG1pbGsg RkZGRiBzdWdhciBpbiBteSBjb2ZmZWXigJ0gaXMgZXF1aXZhbGVudCB0byBzYXlpbmcg4oCcSSBk b27igJl0IGxpa2UgY29mZmVl4oCdLCBqdXN0IG1vcmUgY29tcGxpY2F0ZWQuIFRoZSBsYXN0IHR3 bywgVEZURiBhbmQgRlRGVCwgY2FuIGJlIG1hZGUgYnkgcHJlZml4aW5nICcnLnUnJyB3aXRoIGdv b2Qgb2zigJkgJydzZScnLCB3aGljaCBqdXN0IHJldmVydHMgdGhlIHR3byBzdGF0ZW1lbnRzLiAn J3NlIC51JycgLCBmb3IgaW5zdGFuY2UgaXMg4oCcQiB3aGV0aGVyIG9yIG5vdCBB4oCdLCB3aGlj aCBpcyBURlRGLiBUaGUgZmluYWwgbGlzdCBvZiBhbGwgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4g YmUgc2VlbiBiZWxvdy4KCgoKVFRUVDogQ2Fubm90IGJlIG1hZGUKClRUVEY6ICcnLmEnJwoKVFRG VDogJycuYSBuYWknJwoKVFRGRjogJycudScnIE9SICcnLnUgbmFpJycKClRGVFQ6ICcnbmEgLmEn JwoKVEZURjogJydzZSAudScnCgpURkZUOiAnJy5vJycgT1IgJyduYSAubyBuYWknJwoKVEZGRjog JycuZScnCgpGVFRUOiAnJ25hIC5hIG5haScnCgpGVFRGOiAnJ25hIC5vJycgT1IgJycubyBuYWkn JwoKRlRGVDogJydzZSAudSBuYWknJwoKRlRGRjogJycuZSBuYWknJwoKRkZUVDogJyduYSAudScn IE9SICcnbmEgLnUgbmFpJycKCkZGVEY6ICcnbmEgLmUnJwoKRkZGVDogJyduYSAuZSBuYWknJwoK RkZGRjogQ2Fubm90IGJlIG1hZGUKCgoKTG9naWNhbGx5LCBzYXlpbmcgYSBzZW50ZW5jZSB3aXRo IGEgbG9naWNhbCBjb25uZWN0aXZlLCBsaWtlIGZvciBpbnN0YW5jZSAnJ21pIG5lbGNpIGxv4oCZ ZSBjaXJsYSAuZSBuYWkgbG/igJllIGNrYWZpJycgaXMgZXF1aXZhbGVudCB0byBzYXlpbmcgdHdv IGJyaWRpLCB3aGljaCBhcmUgY29ubmVjdGVkIHdpdGggdGhlIHNhbWUgbG9naWNhbCBjb25uZWN0 aXZlOiAnJ21pIG5lbGNpIGxv4oCZZSBjaXJsYSAuaSB7RSBOQUl9IG1pIG5lbGNpIGxv4oCZZSBj a2FmaScnLiBUaGlzIGlzIGhvdyB0aGUgZnVuY3Rpb24gb2YgbG9naWNhbCBjb25uZWN0aXZlcyBp cyBkZWZpbmVkLiBXZSB3aWxsIGdldCB0byBob3cgdG8gYXBwbHkgbG9naWNhbCBjb25uZWN0aXZl cyB0byBicmlkaSBpbiBhIG1vbWVudC4KCgoKQnkgcHV0dGluZyBhIOKAnGrigJ0gaW4gZnJvbnQg b2YgdGhlIGNvcmUgd29yZCBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSwgaXQgY29ubmVjdHMgdHdv IHNlbGJyaS4gQW4gZXhhbXBsZSBpcyAnJ21pIG5pbm11IG5hIGpvIG5hbm11Jycg4oCcSSBhbSBh IG1hbiBvciBhIHdvbWFuLCBidXQgbm90IGJvdGjigJ0KCl9fJyduaW5tdScnX18geDEgaXMgYSB3 b21hbgoKX18nJ25hbm11JydfXyB4MSBpcyBhIG1hbgoKCgpUaGlzIGlzIOKAnHRhbnJ1LWludGVy bmFs4oCdLCBtZWFuaW5nIHRoYXQgaXQgbG9vc2VseSBiaW5kcyBzZWxicmkgdG9nZXRoZXIsIGV2 ZW4gd2hlbiB0aGV5IGZvcm0gYSB0YW5ydTogJydsbyBkb3RjbyBqYSBtZXJrbyBwcmVudScnIG1l YW5zIOKAnGEgR2VybWFuIG9yIEFtZXJpY2FuIG1hbuKAnSwgYW5kIGlzIHBhcnNlZCAnJ2xvJycg KCcnZG90Y28gamEgbWVya28nJykgJydwcmVudScnLiBUaGlzIGJpbmRpbmcgaXMgc2xpZ2h0bHkg c3Ryb25nZXIgdGhhdCBub3JtYWwgdGFucnUtZ3JvdXBpbmcgKHN0aWxsIHdlYWtlciB0aGFuIHNw ZWNpZmljIGdyb3VwaW5nLXdvcmRzKSwgYW5kIGFzIHN1Y2gsICcnbG8gZG90Y28gamEgbWVya28g bmlubXUgamEgbmFubXUnJyBpcyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICgn J25pbm11IGphIG5hbm11JycpLiBUaGUgc2VsYnJpIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2FuIGFs c28gYmUgYXR0YWNoZWQgdG8gJycuaScnIGluIG9yZGVyIHRvIGNvbm5lY3QgdHdvIHNlbnRlbmNl cyB0b2dldGhlcjogJydsYSAua2ltLiBjbWVuZSBtaSAuaSBqdSBtaSBuYW5tdScnIOKAnEnigJlt IGNhbGxlZCBLaW0sIHdoZXRoZXIgb3Igbm90IEnigJltIGEgbWFu4oCdLiBUaGUgY29tYmluYXRp b24gJycuaSBqZScnIHN0YXRlcyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNoIGxp a2Ugd2Ugd291bGQgYXNzdW1lIGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVzZW50 LgoKCgpVbmZhaXJseSBoYXJkIHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzLCBo b3cgd291bGQgeW91IHRyYW5zbGF0ZSDigJxJZiB5b3XigJlyZSBjYWxsZWQgQm9iLCB5b3XigJly ZSBhIG1hbi7igJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsYSAuYmFiLiBjbWVuZSBkbyAu aSBuYSBqYSBkbyBuYW5tdScnIG9yIOKAnEVpdGhlciB5b3XigJlyZSBub3QgbmFtZWQgQm9iIGFu ZCBhIG1hbiwgb3IgeW914oCZcmUgbm90IG5hbWVkIEJvYiBhbmQgbm90IGEgbWFuLCBvciB5b3Xi gJlyZSBuYW1lZCBCb2IgYW5kIGEgbWFuLiBCdXQgeW91IGNhbuKAmXQgYmUgbmFtZWQgQm9iIGFu ZCBub3QgYmUgYSBtYW4u4oCdIFRoZSBvbmx5IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6 IOKAnFlvdeKAmXJlIGNhbGxlZCBCb2IsIGJ1dCBub3QgYSBtYW4u4oCdIFRoaXMgbXVzdCBtZWFu IHRoYXQsIGlmIGl04oCZcyB0cnVlIHRoYXQgeW914oCZcmUgY2FsbGVkIEJvYiwgeW91IG11c3Qg YmUgYSBtYW4hfn4KCgoKSWYgd2UgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQg b2Yg4oCcSSBjcmllZCBhbmQgZ2F2ZSBhd2F5IG15IGRvZ+KAnSwgd2UgcnVuIGludG8gYSBwcm9i bGVtLgoKQXR0ZW1wdGluZyB0byBzYXkgdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2plJycgYmV0d2Vl biB0aGUgc2VsYnJpIOKAnGdhdmXigJ0gYW5kIOKAnGNyaWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBz YW1lIHdvcmQgZm9yIHdvcmQsIGJ1dCB1bmZvcnR1bmF0ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVk IHRoZSBkb2cgYW5kIGdhdmUgYXdheSB0aGUgZG9n4oCdLCBjZi4gdGhlIGRlZmluaXRpb24gb2Yg bG9naWNhbCBjb25uZWN0aXZlcy4gT25lIGNhbiBjcnkgdGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0 IGNyeWluZyBkb2dzIGlzIGp1c3Qgc2lsbHkuCgpIb3dldmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBi eSB1c2luZyBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0 aGF0IGFueSBwcmV2aW91cyBzdW10Y2l0YSBhbmQgc3VtdGkgYXR0YWNoZXMgdG8gYm90aCBzZWxi cmkgYm91bmQgYnkgdGhlIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlLCBidXQgYW55IGZv bGxvd2luZyBzdW10aSBvciBzdW10Y2l0YSBvbmx5IGFwcGxpZXMgdG8gdGhlIGxhc3QgbWVudGlv bmVkOiBUaGUgYnJpZGkgc3BsaXRzIHVwIGZyb20gb25lIGhlYWQgdG8gdHdvIHRhaWxzLCB0byBz cGVhayBtZXRhcGhvcmljYWxseS4KClRoZSBmb3JtIG9mIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNv bm5lY3RpdmUgaXMgZ2nigJlWLCB3aXRoIHRoZSBWIGZvciB0aGUgdm93ZWwgb2YgdGhlIHRydXRo IGZ1bmN0aW9uLgoKSG93IGNvdWxkIHlvdSBjb3JyZWN0bHkgdHJhbnNsYXRlIHRoZSBFbmdsaXNo IHNlbnRlbmNlIHRvIExvamJhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHB1IGtsYWt1 IGdp4oCZZSBkdW5kYSBsZSBtaSBnZXJrdScnfn4KCgoKV2hhdCBkb2VzICcncm8gcmVtbmEgY3Ug cGFsY2kgZ2nigJlvIHp1a3RlIGxvIHBhbGNpJycgbWVhbj8KCl9fJydwYWxjaScnX18geDEgaXMg ZXZpbCBieSBzdGFuZGFyZCB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFBlb3BsZSBhcmUg ZXZpbCBpZiBhbmQgb25seSBpZiB0aGV5IGRvIGV2aWwgdGhpbmdzLuKAnX5+CgoKCkZ1cnRoZXJt b3JlLCB0aGVyZSBpcyBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgZ3JvdXAg b2YgY29ubmVjdGVycyBtYWRlIGJ5IHByZWZpeGluZyDigJxn4oCdIGluIGZyb250IG9mIHRoZSB0 cnV0aCBmdW5jdGlvbiB2b3dlbC4g4oCcRm9yZXRob3VnaHTigJ0gaW4gdGhpcyBjb250ZXh0IG1l YW5zIHRoYXQgdGhleSBuZWVkIHRvIGdvIGluIGZyb250IG9mIHRoZSB0aGluZ3MgdGhleSBjb25u ZWN0LCBhbmQgdGh1cyB5b3UgbmVlZCB0byB0aGluayBhYm91dCB0aGUgZ3JhbW1hdGljYWwgc3Ry dWN0dXJlIG9mIHRoZSBzZW50ZW5jZSBiZWZvcmUgc2F5aW5nIGl0LiBBbGwtYnV0IHRhbnJ1IGlu dGVybmFsIG1lYW5zIHRoYXQgaXQgc2VydmVzIGJvdGggYXMgYSBjb25uZWN0aXZlIGJldHdlZW4g c3VtdGksIGJyaWRpLCBzZWxicmkgYW5kIGJyaWRpLXRhaWxzLCBidXQgbm90IGJldHdlZW4gdHdv IHNlbGJyaSBvZiBvbmUgdGFucnUuIExldCBtZSBzaG93IHlvdSBob3cgaXQgd29ya3MsIHJld3Jp dGluZyB0aGUgTG9qYmFuIHNlbnRlbmNlIGFib3ZlOgoKJydnbyBsbyByZW1uYSBjdSBwYWxjaSBn aSBsbyByZW1uYSBjdSB6dWt0ZSBsbyBwYWxjaScnCgpUaGUgZmlyc3QgbG9naWNhbCBjb25uZWN0 aXZlIGluIHRoZXNlIGtpbmRzIG9mIGNvbnN0cnVjdHMgYXJlIHdoYXQgY2FycmllcyB0aGUgdm93 ZWwgd2hpY2ggc2lnbmFsIHdoYXQgdHJ1dGggZnVuY3Rpb24gaXMgYmVpbmcgdXNlZC4gVGhlIHNl Y29uZCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYWx3YXlzICcnZ2knJywgYW5kIGxpa2UgJycuaScn LCBpdCBoYXMgbm8gdHJ1dGggZnVuY3Rpb24uIEl0IHNpbXBseSBzZXJ2ZXMgdG8gc2VwYXJhdGUg dGhlIHR3byB0ZXJtcyBiZWluZyBjb25uZWN0ZWQuIElmIHlvdSB3YW50IHRvIG5lZ2F0ZSB0aGUg Zmlyc3Qgb3Igc2Vjb25kIHNlbnRlbmNlLCBhICcnbmFpJycgaXMgc3VmZml4ZWQgdG8gZWl0aGVy IHRoZSBmaXJzdCAoZm9yIHRoZSBmaXJzdCBzZW50ZW5jZSkgb3Igc2Vjb25kIChmb3IgdGhlIHNl Y29uZCBzZW50ZW5jZSkgbG9naWNhbCBjb25uZWN0aXZlLgoKUHJvdmlkZWQgdGhhdCB0aGUgY29u c3RydWN0cyBhcmUgdGVybWluYXRlZCBwcm9wZXJseSwgaXQgaGFzIHJlbWFya2FibGUgZmxleGli aWxpdHksIGFzIHRoZSBmb2xsb3dpbmcgZmV3IGV4YW1wbGVzIGRlbW9uc3RyYXRlOgoKJydtaSBn byBrbGFtYSBnaSBjYWR6dSB2YXUgbGUgbWkgemRhbmknJyDigJxJIGdvLCBpZiBhbmQgb25seSBp ZiB3YWxrLCB0byBteSBob21l4oCdIG9yIOKAnEkgY2FuIG9ubHkgZ28gdG8gbXkgaG9tZSBieSB3 YWxraW5nLuKAnSBOb3RpY2UgdGhhdCB0aGUgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBsZSBt aSB6ZGFuaSBhcHBseSB0byBib3RoICcnY2FkenUnJyBhbmQgJydrbGFtYScnLgoKJydzZSBndSBk byBnaSBuYWkgbWkgYmFqcmEgbGUgZG8gY2t1bGUnJyDigJxXaGV0aGVyIG9yIG5vdCB5b3UsIHRo ZW4gbm90IEksIHJ1biB0byB5b3VyIHNjaG9vbOKAnSBvciDigJxJIHdvbuKAmXQgcnVuIHRvIHlv dXIgc2Nob29sIG5vIG1hdHRlciBpZiB5b3UgZG8gb3Igbm904oCdCgoKClRoZSB0YW5ydS1pbnRl cm5hbCBlcXVpdmFsZW50IG9mIGdWIGlzIGd14oCZVi4gVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNh bWUsIGV4Y2VwdCB0aGF0IHRoZXkgYXJlIGV4Y2x1c2l2ZWx5IHRhbnJ1LWludGVybmFsLCBhbmQg dGhhdCB0aGV5IGJpbmQgYSBzZWxicmkgdG8gdGhlICcnZ2knJyB0aWdodGVyIHRoYW4gbm9ybWFs IHRhbnJ1LWdyb3VwaW5nLCBidXQgd2Vha2VyIHRoYW4gZXhwbGljaXQgYmluZGluZy1zdW10aToK CicnbGEgeGFuei5rcnQuIGd14oCZZSBtZXJrbyBnaSBkb3RjbyBuYW5tdScnIGlzIGVxdWl2YWxl bnQgdG8KCicnbGEgeGFuei5rcnQuIG1lcmtvIGplIGRvdGNvIG5hbm11JycKCgoKQW5kIHNvIHlv deKAmXZlIHJlYWQgcGFnZSB1cCBhbmQgcGFnZSBkb3duIGp1c3QgdG8gZ2V0IHRoZSBuZWNlc3Nh cnkga25vd2xlZGdlIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gbGVhcm4gaG93IHRvIGFzayDigJxX b3VsZCB5b3UgbGlrZSBtaWxrIG9yIHN1Z2FyIGluIHlvdXIgY29mZmVlP+KAnSBpbiBMb2piYW4u IFNpbXBseSBwbGFjZSBhIHF1ZXN0aW9uIGxvZ2ljYWwgY29ubmVjdGl2ZSBpbnN0ZWFkIG9mIGFu b3RoZXIgbG9naWNhbCBjb25uZWN0aXZlLCBhbmQgbGlrZSAnJ21hJycsIGl0IGFza3MgdGhlIGxp c3RlbmVyIHRvIGZpbGwgaW4gYSBjb3JyZWN0IHJlc3BvbnNlLiBVbmZvcnR1bmF0ZWx5LCB0aGVz ZSBxdWVzdGlvbi1sb2dpY2FsIGNvbm5lY3RpdmVzIGRvbuKAmXQgYWx3YXlzIG1hdGNoIHRoZSBt b3JwaG9sb2dpY2FsIHBhdHRlcm4gb2YgdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhleSBhc2sg Zm9yOgoKX18nJ2ppJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEg c3VtdGkgbG9naWNhbCBjb25uZWN0aXZlIChBKQoKX18nJ2pl4oCZaScnX18gTG9naWNhbCBjb25u ZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRhbnJ1LWludGVybmFsIHNlbGJyaSBsb2dpY2Fs IGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dp4oCZaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0 aW9uOiBBc2tzIGZvciBhIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIChHSWhBKQoKX18n J2dl4oCZaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGZvcmV0 aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgbG9naWNhbCBjb25uZWN0aXZlIChHQSkKCl9f JydndeKAmWknJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3Jl dGhvdWdodCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR1VoQSkKCgoK U28uLi4gaG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNvbnMgd2FudHMgbWlsayBvciBzdWdh ciBpbiBoZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBpcy9jb250YWlucyBtaWxrIGZyb20g c291cmNlIHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZyb20gc291cmNl IHgyIG9mIGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5LGdyZXk6Jydz YWt0YSBqZeKAmWkgbGFkcnUgbGUgZG8gY2thZmknJyB0aG91Z2ggSSBndWVzcyBzb21ldGhpbmcg bW9yZSBFbmdsaXNoIGFuZCBsZXNzIGVsZWdhbnQgY291bGQgYWxzbyBzdWZmaWNlIGxpa2UgJydk byBkamljYSBsZW51IGxvIHNha3RhIGppIGxvIGxhZHJ1IGN1IG5lbnJpIGxlIGRvIGNrYWZpJyd+ fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1zaXggKG5vbi1sb2dpY2FsIGNv bm5lY3RpdmVzKQoKVGhlIHdvcmQgImxvZ2ljYWwiIGluICJsb2dpY2FsIGNvbm5lY3RpdmUiIHJl ZmVycyB0byB0aGUgYXNzb2NpYXRpb24gYSBsb2dpY2FsIGNvbm5lY3RpdmUgaGFzIHdpdGggYSB0 cnV0aCBmdW5jdGlvbi4gTm90IGFsbCB1c2VmdWwgY29ubmVjdGl2ZXMgY2FuIGJlIGRlZmluZWQg dGhyb3VnaCBhIHRydXRoIGZ1bmN0aW9uLCBob3dldmVyLCBhbmQgc28gdGhlcmUgYXJlIG90aGVy IGNvbm5lY3RpdmVzIGJlc2lkZSB0aGUgbG9naWNhbCBvbmVzLgoKVGhlIG1lYW5pbmcgb2YgYSBs b2dpY2FsIGNvbm5lY3RpdmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB0d28gZGlmZmVyZW50IGJy aWRpIGNvbm5lY3RlZCB3aXRoIHRoYXQgbG9naWNhbCBjb25uZWN0aXZlLiBGb3IgaW5zdGFuY2Us ICcnbWkgbml0Y3UgZG8gLmEgbGEgZGphbicnIGlzIGRlZmluZWQgdG8gYmUgZXF1aXZhbGVudCB0 byAnJ21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIGRqYW4nJy4gVGhpcyBkZWZpbml0aW9u IGlzIHVzZWZ1bCB0byBiZWFyIGluIG1pbmQsIGJlY2F1c2UgaXQgaW1wbGllcyB0aGF0IHNvbWV0 aW1lcywgc3VtdGkgY2Fubm90IGJlIGNvbm5lY3RlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMg d2l0aG91dCBjaGFuaW5nIHRoZSBtZWFuaW5nLiBDb25zaWRlciB0aGUgc2VudGVuY2U6ICJKYWNr IGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5LiIgT25lIGF0dGVtcHQgYXQgYSB0cmFuc2xhdGlvbiB3 b3VsZCBiZTogJyd0aSBkcmFjaSBmaSBsYSBkamFrIGUgbGEgZGpvdXMnJwoKX18nJ2RyYWNpJydf XyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkgd3JpdGVyL2RyYW1hdGlzdCB4MyBmb3Ig YXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhlIHByb2JsZW0gd2l0aCB0aGlzIHRyYW5z bGF0aW9uIGlzIHRoYXQgaXQgbWVhbiAnJ3RpIGRyYWNpIGxhIGRqYWsgLmlqZSB0aSBkcmFjaSBs YSBkam91cycnLCB3aGljaCBpcyBub3QgcmVhbGx5IHRydWUuIE5laXRoZXIgSmFjayBub3IgSm9l IHdyb3RlIGl0LCB0aGV5IGRpZCBzbyB0b2dldGhlci4gV2hhdCB3ZSB3YW50IGhlcmUgaXMgb2Yg Y291cnNlIGEgbWFzcywgYW5kIHNvbWUgd2F5IHRvIGpvaW4gSmFjayBhbmQgSm9lIGluIG9uZSBt YXNzLiBUaGlzIGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBhIHRydXRoIGZ1bmN0aW9uIHNvIHdlIG11 c3QgdXNlIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgd2hpY2ggYXJlIG9mIHNlbG1hJ28gSk9J LiBXZSdsbCByZXR1cm4gdG8gdGhpcyBKYWNrIGFuZCBKb2UtcHJvYmxlbSBpbiBhIGxpdHRsZSAt IGZpcnN0OiBGb3VyIG9mIHRoZSBrbm93biBKT0k6CgoKCnx8VGhlIExvamJhbiBjb25uZWN0aXZl OnwnJ2NlJyd8JydjZSdvJyd8Jydqb2knJ3wnJ2pvJ3UnJwoKSm9pbnMgc3VtdGkgYW5kIGZvcm1z IGE6fHNldHxzZXF1ZW5jZXxtYXNzfGdyb3VwIG9mIGluZGl2aWR1YWxzfHwKClRoZSBmdW5jdGlv biBvZiB0aGVzZSB3b3JkcyBpcyBzaW1wbGU6ICcnbG8naSByZW1uYSBqbyd1IGxvJ2kgZ2Vya3Un JyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9mIGh1bWFucyBhbmQgdGhlIHNldCBvZiBkb2dzIGRp c3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFscykuIFJlbWVtYmVyIGZyb20gbGVzc29uIHR3ZW50 eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJkaXN0cmlidXRpdml0eSIgbWVhbnMgdGhhdCB3aGF0 IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBhbHNvIHRydWUgZm9yIGVhY2ggb2YgdGhlIGluZGl2 aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJydsb2kgcm8gZ2lzbXUgY2UnbyBsb2kgcm8gbHVqdm8g Y2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEgc2VxdWVuY2UgY29uc2lzdGluZyBvZiB0aGUgbWFz cyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBsdWp2bywgZm9sbG93 ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2bGEuCgpBcyB3aXRoIGFsbCBKT0kgd2hpY2ggaGFz IGFuIGluaGVyZW50IG9yZGVyLCAnJ3NlJycgbWF5IGJlIHB1dCBiZWZvcmUgJydjZSdvJycgdG8g aW52ZXJzZSB0aGUgb3JkZXI6ICJBIGNlJ28gQiIgaXMgdGhlIHNhbWUgYXMgIkIgc2UgY2UnbyBB Ii4KCgoKSG93IGNhbiB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdyb3Rl IHRoaXMgcGxheSI/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIGRyYWNpIGZpIGxhIGRqYWsg am9pIGxhIGRqb3VzJyd+fiAKCgoKVGhlIGNtYXZvIG9mIEpPSSBhcmUgdmVyeSBmbGV4aWJsZTog VGhleSBjYW4gYWN0IGJvdGggYXMgc3VtdGkgY29ubmVjdGl2ZXMgYW5kIHRhbnJ1LWludGVybmFs IGNvbm5lY3RpdmVzLCBzbyB0aGV5IGNhbiBiZSB1c2VkIHRvIGNvbm5lY3Qgc3VtdGksIHNlbGJy aSBhbmQgYnJpZGkuIFRoaXMgZmxleGliaWxpdHkgbWVhbnMgdGhhdCBvbmUgbXVzdCBiZSBjYXJl ZnVsIHRvIHVzZSBmYSdvcm1hJ28gY29ycmVjdGx5IHdoZW4gdXNpbmcgYSBKT0kuIAoKV2hhdCBp cyB3cm9uZyB3aXRoIHRoZSBicmlkaSAnJ2xvIGRvdGNvIGpvJ3UgbWkgY3Uga2xhbWEgbGEgZG90 Y28gZ3VnZGUnJz8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnam8ndScnIGlzIHB1dCBhZnRlciBh IHNlbGJyaSwgc28gaXQgZXhwZWN0cyBhIHNlbGJyaSBhZnRlciBpdCB0byBjb25uZWN0IHRvLCBi dXQgbm9uZSBpcyBmb3VuZC4gSGFkICBhICcna3UnJyBiZWVuIHByZXNlbnQgYmVmb3JlIHRoZSBj b25uZWN0aXZlLCBpdCB3b3VsZCBoYXZlIGJlZW4gZ3JhbW1hdGljYWx+fgoKCgpJZiBzZXZlcmFs IEpPSSBpcyB1c2VkLCAnJ2JvJycgYW5kL29yICcna2UnJyBtYXkgYmUgdXNlZCB0byBvdmVycmlk ZSB0aGUgdXN1YWwgbGVmdC1ncm91cGluZzogJydtaSBqb2kgZG8gY2UnbyBsYSBkamFrIGpvaSBi byBsYSBkam91cyBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91 LCBhbmQgdGhlbiBKYWNrIGFuZCBKb2UgYXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJl ZCB0ZWFtIi4gQ29udHJhc3Qgd2l0aCAnJ21pIGpvaSBkbyBjZSdvIGxhIGRqYWsgam9pIGxhIGRq b3VzIGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlv dSwgdGhlbiBKYWNrIHdpbGwgdG9nZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWQg dGVhbSIuIAoKQ29ubmVjdGluZyBicmlkaSB3aXRoIEpPSSBjYW4gbWFrZSBzb21lIGludGVyZXN0 aW5nIGltcGxpY2F0aW9ucyBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGJyaWRpOiAn J2xhIGRqYWsgbW9yc2kgcmknYSBsbyBudSByaSBkenVzb2kgLmkgam9pIGxlIGplbWphJ2EgcG8g cmkgY3UgYmVibmEnJyAtICJKYWNrIGlzIGRlYWQgYmVjYXVzZSBoZSB3YXMgYSBpbmZhbnRyeSBz b2xkaWVyIGFuZCBoaXMgZ2VuZXJhbCB3YXMgYW4gaWRpb3QiLCBpbXBseWluZyB0aGF0IHRoZXNl IHR3byBicmlkaSBtYXNzZWQgdG9nZXRoZXIgd2FzIHRoZSBwaHlzaWNhbCBjYXVzZSBvZiBoaXMg ZGVhdGg6IEhhZCBoZSBvbmx5IGJlZW4gaW4gYW4gYXJtb3JlZCB2ZWhpY2xlIG9yIHdpdGggYSBj b21wZXRlbnQgY29tbWFuZGVyLCBoZSBtaWdodCBoYWQgc3Vydml2ZWQuCgpfXycnZHp1c29pJydf XyB4MSBpcyBhbiBpbmZhbnRyeSBzb2xkaWVyIG9mIGFybXkgeDIKCl9fJydqZW1qYSdhJydfXyB4 MSBpcyBhIGdlbmVyYWwgb2YgYXJteSB4MiBpbiBmdW5jdGlvbiB4MwoKX18nJ2JlYm5hJydfXyB4 MSBpcyBmb29saXNoL2lkaW90aWMgaW4gcHJvcGVydHkgeDIKCgoKTm9uLWxvZ2ljYWwgY29ubmVj dGl2ZXMgbWF5IGFsc28gYmUgbmVnYXRlZCB3aXRoICcnbmFpJycsIGluZGljYXRpbmcgdGhhdCBz b21lIG90aGVyIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGU6ICcnbG8gZGphY3UgY2UnbyBuYWkg LmUnbyBsbyBsYWRydSBjdSBjYXZ5ZmxlIGZpIGxlIG1pIHRjYXRpJycgLSAiUGxlYXNlIGRvbid0 IHBvdXIgZmlyc3Qgd2F0ZXIgdGhlbiBtaWxrIGluIG15IHRlYSIuIFRoaXMsIG9mIGNvdXJzZSwg c2F5cyBub3RoaW5nIGFib3V0IHdoaWNoIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGUgLSBvbmUg bWlnaHQgZ3Vlc3MgJydzZSBjZSdvJycgKGZpcnN0IG1pbGssIHRoZW4gd2F0ZXIpLCBvbmx5IHRv IGZpbmQgb3V0IHRoYXQgJycuZSBuYWknJyAob25seSB3YXRlciwgbm8gbWlsayBhdCBhbGwpIHdh cyB0aGUgY29ycmVjdCBvbmUuCgpfXycnY2F2eWZsZScnX18geDEsIGNvbnNpc3Rpbmcgb2YgeDIs IGZsb3dzIGludG8geDMgZnJvbSB4NAoKSnVzdCBsaWtlIGEgbG9naWNhbCBjb25uZWN0aXZlIGlz IGEgcGxhdXNpYmxlIG5lZ2F0aW9uIG9mIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5zd2Vy cyB0byBxdWVzdGlvbnMgb2YgdGhlIHR5cGUgJydqaScnIG9yICcnamUnaScnIGNhbiBiZSBib3Ro IGxvZ2ljYWwgYW5kIG5vbi1sb2dpY2FsOiBBOiAnJ2xhZHJ1IGplJ2kgc2FrdGEgbGUgZG8gY2th ZmknJyBCOiAnJ3NlIGNlJ28nJyAoIk1pbGsgb3Igc3VnYXIgaW4geW91IGNvZmZlZT8iICJGaXJz dCB0aGUgbGF0dGVyLCB0aGVuIHRoZSBmb3JtZXIiKS4gSW4gdGhpcyBjYXNlICcnY2UnJyB3b3Vs ZCBtYWtlIG5vIHNlbnNlIGF0IGFsbCwgc2luY2Ugc2V0cyBjYW4ndCBiZSBjb250YWluZWQgaW4g Y29mZmVlLCBhbmQgJydqb2knJyAoYm90aCBtaXhlZCB0b2dldGhlcikgd291bGQgbWVhbiB0aGUg c2FtZSBhcyAnJ2pvJ3UnJyAoYm90aCBvZiB0aGVtKSwgdW5sZXNzIHRoZSByZXNwb25kYW50IHBy ZWZlcnJlZCB1bm1peGVkIHN1Z2FyIGluIGhpcyBjb2ZmZWUuCgoKClRoZSBmaWZ0aCBKT0kgSSBw cmVzZW50IGhlcmUgaXMgYSBiaXQgb2YgYW4gb2RkYmFsbDoKCl9fJydmYSd1JydfXyBOb24tbG9n aWNhbCBjb25uZWN0aXZlOiBVbm1peGVkIG9yZGVyZWQgZGlzdHJpYnV0aW9uIChBIGFuZCBCLCBy ZXNwZWN0aXZlbHkpCgpXaGVuIG9ubHkgb25lICcnZmEndScnIGlzIHBsYWNlZCB3aXRoaW4gYSBi cmlkaSAob3Igc2V2ZXJhbCBicmlkaSBjb25uZWN0ZWQgdG9nZXRoZXIgd2l0aCBjb25uZWN0b3Jz KSwgJydmYSd1JycgbWF5IGJlIGFzc3VtZWQgdG8gYmUgaWRlbnRpY2FsIHRvICcnam8ndScnLiBX aGVuIHNldmVyYWwgJydmYSd1JycgaXMgdXNlZCB3aXRoaW4gb25lIGJyaWRpLCBob3dldmVyLCB0 aGUgY29uc3RydWN0cyBiZWZvcmUgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVyLCBh bmQgdGhlIGNvbnN0cnVjdHMgYWZ0ZXIgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVy LiBMZXQncyBoYXZlIGFuIGV4YW1wbGU6CgonJ21pIGZhJ3UgZG8gcnVza28gZmEndSBrYWRubycn IC0gIllvdSBhbmQgSSBhcmUgUnVzc2lhbiBhbmQgQ2FuYWRpYW4iLCBpbXBseWluZyB0aGF0ICcn bWknJyBnb2VzIHdpdGggJydydXNrbycnIGFuZCAnJ2RvJycgZ29lcyB3aXRoICcna2Fkbm8nJywg YW5kIGltcGx5aW5nIG5vdGhpbmcgYWJvdXQgYW55IG90aGVyIGNvbWJpbmF0aW9uLiBPZiBjb3Vy c2UsIGluIHRoaXMgZXhhbXBsZSwgaXQgd291bGQgYmUgbXVjaCBlYXNpZXIgdG8gc2F5ICcnbWkg cnVza28gLmkgZG8ga2Fkbm8nJy4KCgoKVGhlc2UgbGFzdCB0aHJlZSBKT0kgY29ubmVjdHMgdHdv IHNldHMgdG8gbWFrZSBuZXcgc2V0czoKCl9fJydqbydlJydfXwlBIHVuaW9uIEIKCl9fJydrdSdh JydfXwlBIGludGVyc2VjdGlvbiBCCgpfXycncGkndSAnJ19fCUNyb3NzIHByb2R1Y3Qgb2YgQSBh bmQgQgoKCgpUaGVzZSBhcmUgcHJvYmFibHkgbm90IHZlcnkgdXNlZnVsIGZvciB0aGUgYXZlcmFn ZSBMb2piYW5pc3QsIGJ1dCBJIG1pZ2h0IGFzIHdlbGwgaW5jbHVkZSB0aGVtIGhlcmUuCgpUaGUg Zmlyc3Qgb25lLCAnJ2pvJ2UnJywgbWFrZXMgYSBuZXcgc2V0IGZyb20gdHdvIHNldHMuIFRoaXMg bmV3IHNldCBjb250YWlucyBvbmx5IHRob3NlIG1lbWJlcnMgd2hpY2ggYXJlIGluIGJvdGggc2V0 cy4KCkEgc2V0IG1hZGUgd2l0aCAnJ2t1J2EnJyBjb250YWlucyBhbGwgdGhlIG1lbWJlcnMgb2Yg c2V0IEEgYW5kIHRob3NlIG9mIHNldCBCLiBJZiBhbnl0aGluZyBpcyBhIG1lbWJlciBvZiBib3Ro IHNldHMsIHRoZXkgYXJlIG5vdCBjb3VudGVkIHR3aWNlLgoKJydwaSd1JycgaXMgYSBsaXR0bGUg bW9yZSBjb21wbGljYXRlZC4gQSBzZXQgIkEgJydwaSd1JycgQiIgY29udGFpbnMgYWxsIHRoZSBw b3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgImEgJydjZSdvJycgYiIsIHdoZXJlIGEgaXMgYSBtZW1i ZXIgb2YgQSBhbmQgYiBpcyBhIG1lbWJlciBvZiBCLiBJdCBpcyB0aHVzIGEgc2V0IG9mIHNlcXVl bmNlcyBvZiBtZW1iZXJzLiBJZiwgZm9yIGluc3RhbmNlLCBzZXQgQSBjb250YWluZWQgdGhlIG1l bWJlcnMgcCBhbmQgcSwgYW5kIHNldCBCIGNvbnRhaW5lZCBtZW1iZXJzIGYgYW5kIGcsIHRoZW4g QSAnJ3BpJ3UnJyBCIHdvdWxkIGJlIGEgc2V0IGNvbnNpc3Rpbmcgb2YgdGhlIGZvdXIgbWVtYmVy cyBwIGNlJ28gZiwgcCBjZSdvIGcsIHEgY2UnbyBmIGFuZCBxIGNlJ28gZy4KCgoKISFMb2piYW4g TGVzc29ucyAtIExlc3NvbiB0d2VudHktc2V2ZW4gKGxvamJhbiBsb2dpYzogZGEsIGJ14oCZYSwg em/igJl1IGFuZCB0ZXJtcykKClRoZSBzdGF0ZWQgdG9waWMgb2YgdGhpcyBsZXNzb24gbmVlZHMg c29tZSBqdXN0aWZpY2F0aW9uOiBUaGlzIGxlc3NvbiBpcyBub3QgcmVhbGx5IGFib3V0IGhvdyBk byB0byBsb2dpYyBpbiBMb2piYW4sIHNpbmNlIGZpcnN0bHksIGxvZ2ljIGlzIHByZXN1bWFibHkg dGhlIHNhbWUgaW4gYWxsIGxhbmd1YWdlcywgYW5kIHNlY29uZGx5LCBhY3R1YWxseSB0ZWFjaGlu ZyBsb2dpYyB3b3VsZCBiZSB0b3RhbGx5IGltcHJhY3RpY2FsIGluIG9uZSBzaW5nbGUgbGVzc29u LiBSYXRoZXIsIHRoaXMgbGVzc29uIGlzIGV4cGxhaW5zIHNvbWUgY29uc3RydWN0cyB3aGljaCBy ZXNlbWJsZXMgdGhvc2Ugd2hpY2ggbG9naWNpYW5zIHVzZS4gSXQgdHVybnMgb3V0IHRoZXkgaGF2 ZSBhIHJlbWFya2FibGUgd2lkZSByYW5nZSBvZiB1c2VzIGluIExvamJhbi4KCgoKR2V0dGluZyBp bnZvbHZlZCBpbiB0aGUgbW9yZSBvYnNjdXJlIGRldGFpbHMgb2YgdGhlc2UgbG9naWNhbCBjb25z dHJ1Y3RzIGNhbiBiZSBtaW5kLXdhcnBpbmdseSBkaWZmaWN1bHQsIGFuZCB0aGVyZSB3aWxsIGFs d2F5cyBiZSBzb21lIGRpc2FncmVlbWVudCBpbiB0aGUgY29ybmVycyBvZiB0aGlzIHBhcnQgb2Yg dGhlIGxhbmd1YWdlLgoKCgpMZWFybmluZyB0aGVzZSBsb2dpY2FsIGNvbnN0cnVjdHMgcmVxdWly ZXMgb25lIHRvIGxlYXJuIGEgYml0IGFib3V0IGNvbnN0cnVjdHMgd2hpY2ggYXJlIG5vdCBsb2dp Y2FsIGluIG5hdHVyZS4gTGV0J3MgYmVnaW4gd2l0aCAnJ3pvJ3UnJwoKCgpfXycnem8ndScnX18g U2VwYXJhdGVzIHByZW5leCBmcm9tIGJyaWRpCgoKCkJlZm9yZSBhbnkgJyd6byd1JycgaXMgdGhl IHByZW5leCwgYWZ0ZXIgJyd6byd1JycgaXMgdGhlIGJyaWRpLiBJbmZvcm1hbGx5LCBhIHByZW5l eCBpcyBhIHBsYWNlIGluIGZyb250IG9mIHRoZSBicmlkaSwgd2hlcmUgeW91IHB1dCBhIGJ1bmNo IG9mIHRlcm1zLiBBIHRlcm0gaXMgYW4gRW5nbGlzaCB3b3JkIGdpdmVuIHRvIHNvbWUga2luZHMg b2YgTG9qYmFuIGNvbnN0cnVjdHM6IFN1bXRpLCBzdW10Y2l0YSB3aXRoIG9yIHdpdGhvdXQgc3Vt dGkgYXR0YWNoZWQsICcnbmEga3UnJyBhbmQgYW4gYWJvbWluYXRpb24gY2FsbGVkIF9fdGVybXNl dHNfXywgd2hpY2ggSSByZWZ1c2UgdG8gaW5jbHVkZSBpbiB0aGVzZSBsZXNzb25zLiBUaGUgcHJl bmV4IGlzIG5vdCBwYXJ0IG9mIHRoZSBicmlkaSwgYnV0IGFueSB0ZXJtcyBwdXQgaW5zaWRlIGl0 IGdpdmVzIHVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBicmlkaS4gT25lIGNhbiwgZm9yIGV4YW1w bGUsIHVzZSBpdCB0byBzdGF0ZSBhIHRvcGljIGFzIHNob3cgdGh1czoKCgoKJydsbyBwYW1wZSdv IGplIG5haSBzcGVuaSB6byd1IG1pIG5hIHp1bnJlJycgLSAiQ29uY2VybmluZyBsb3ZlcnMgd2hv IGFyZSBub3Qgc3BvdXNlczogSSBkbyBub3QgYXBwcm92ZSIuIFRoZSBiZW5lZml0cyBvZiBraW5k IG9mIHNlbnRlbmNlIHN0cnVjdHVyaW5nIGlzIHF1ZXN0aW9uYWJsZSwgYnV0IGl0J3MgYWx3YXlz IGdvb2QgdG8gaGF2ZSBzb21lIHZhcmlhdGlvbiB0byBwbGF5IHdpdGguIEZ1cnRoZXJtb3JlLCBj b25zdHJ1Y3Rpbmcgc2VudGVuY2VzIHRoaXMgd2F5IHJlc2VtYmxlcyBNYW5kYXJpbiAoYW5kIG90 aGVyIGxhbmd1YWdlcykgY2xvc2VseSwgbWVhbmluZyBpdCBtaWdodCBzZWVtIG1vcmUgaW50dWl0 aXZlIGZvciBzcGVha2VycyBvZiB0aGF0IGxhbmd1YWdlLgoKX18nJ3BhbXBlJ28nJ19fIHgxIGlz IGEgbG92ZXIgb2YgeDIKCl9fJyd6dW5yZScnX18geDEgYXBwcm92ZXMgb2YgeDIgKHBsYW4sIGV2 ZW50IG9yIGFjdGlvbikKCgoKT2YgY291cnNlLCB0aGUgcmVsYXRpb24gYmV0d2VlbiB0aGUgdGVy bXMgaW4gdGhlIHByZW5leCBhbmQgdGhlIGJyaWRpIGlzIHZhZ3VlLiBPbmUgY2FuIGltYWdpbmUg YW55IHN1bXRpIGluIHRoZSBwcmVuZXggYmVhcmluZyB0aGUgc2FtZSByZWxldmFuY2UgdG8gdGhl IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwdXQgaW4gdGhlIGJyaWRpIGFmdGVyIGEgJydkbydlJycg c3VtdGNpdGEsIGFuZCBhbnkgc3VtdGNpdGEgaW4gdGhlIHByZW5leCBkb2luZyBwcmV0dHkgbXVj aCB0aGUgc2FtZSBhcyBpZiB0aGV5IHdlcmUgaW4gdGhlIGJyaWRpLiBJdCBpcyBxdWl0ZSBwb3Nz aWJsZSB0byBwdXQgdGhpbmdzIGluIHByZW5leGVzIHdoaWNoIG1lYW5pbmdzIGFyZSBub3QgY2xl YXI6CgonJ2xlIHRpIGdlcmt1IHpvJ3UgbWkgdG8nZSBuZWxjaSBsbyBjaWRqcnBpdHNhJycgLSAi Q29uY2VybmluZyB0aGlzIGRvZyBoZXJlOiBJIGRpc2xpa2UgcGl6emEuIiBJdCBsZWF2ZXMgeW91 IGd1ZXNzaW5nIGZvciB0aGUgcmVhc29uIHRvIG1lbnRpb24gdGhlIGRvZy4KCl9fJydjaWRqcnBp dHNhJydfXyB4MSBpcyBwaXp6YSB3aXRoIHRvcHBpbmcvaW5ncmVkaWVudHMgeDIKCgoKSWYgdGhl IHByZW5leCBjb250YWlucyAnJ25hIGt1JycsIGl0J3MgcHJldHR5IHN0cmFpZ2h0IGZvcndhcmQ6 IFRoZSBlbnRpcmUgYnJpZGkgaXMgbmVnYXRlZCwganVzdCBhcyBpZiB0aGUgYnJpZGkgaXRzZWxm IGJlZ2FuIHdpdGggJyduYSBrdScnLgoKCgpTbyBob3cgbG9uZyBkb2VzIGEgcHJlbmV4IGxhc3Q/ IEl0IGxhc3RzIHVudGlsIHRoZSBmb2xsb3dpbmcgYnJpZGkgaXMgdGVybWluYXRlZC4gSWYgdGhh dCBpcyBub3QgZGVzaXJlZCwgdGhlcmUgYXJlIHR3byB3YXlzIHRvIG1ha2UgaXQgYXBwbHkgdG8g c2V2ZXJhbCBicmlkaTogT25lIGlzIHRvIHB1dCBzb21lIGtpbmQgb2YgY29ubmVjdGl2ZSBhZnRl ciB0aGUgJycuaScnIHNlcGFyYXRpbmcgdGhlIGJyaWRpLCBhbmQgYW5vdGhlciBtZXRob2QgaXMg dG8gc2ltcGx5IGluY2x1ZGUgYWxsIG9mIHRoZSB0ZXh0IGluICcndHUnZScnIC4uLiAnJ3R1J3Un Jy1icmFja2V0cy4gVGhlc2UgYnJhY2tldHMgd29yayBwcmV0dHkgbXVjaCBieSBnbHVpbmcgYWxs IHRoZSBicmlkaSB0b2dldGhlciBhbmQgbWFrZXMgYWxsIHNvcnRzIG9mIGNvbnN0cnVjdCBhcHBs eSB0byBzZXZlcmFsIGJyaWRpLgoKCgpOb3cgdGhhdCB3ZSBjb3ZlcmVkICcnem8ndScnLCB0aGUg Zmlyc3QgImxvZ2ljYWwiIHdvcmRzIHdlIGNhbiB1c2UgaXQgd2l0aCBhcmUgdGhlc2U6CgpfXycn ZGEnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAxCgpfXycn ZGUnJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAyCgpfXycn ZGknJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSAzCgoKClRo ZXNlIHdvcmRzIGFyZSBhbGwgdGhlIHNhbWUsIGxpa2UgdGhlIG1hdGhlbWF0aWNhbCB2YXJpYWJs ZXMgeCwgeSBhbmQgei4gT25jZSB5b3UgaGF2ZSBkZWZpbmVkIHRoZW0sIGhvd2V2ZXIsIHRoZXkg a2VlcCByZWZlcmluZyB0byB0aGUgc2FtZSB0aGluZy4gVGhlc2Ugd29yZHMgYXJlIGRlZmluZWQg aW4gdGhlIHByZW5leCBvZiBicmlkaSwgbWVhbmluZyB0aGF0IHdoZW4gdGhlIHByZW5leCBzdG9w IGFwcGx5aW5nLCB0aGUgZGVmaW5pdGlvbiBvZiB0aGVzZSB0aHJlZSB3b3JkcyBhcmUgY2FuY2Vs bGVkLgoKCgpUaGUgd29yZHMnJ2RhJycsICcnZGUnJyBhbmQgJydkaScnIHJlZmVyIHRvIGxpdGVy YWxseSBhbnkgc3VtdGksIHdoaWNoIG1ha2VzIHRoZW0ga2luZCBvZiB1c2VsZXNzIHVubGVzcyBy ZXN0cmljdGVkIGluIHNvbWUgd2F5LiBUaGUgZmlyc3QgYW5kIGZvcmVtb3N0IHdheSB0byByZXN0 cmljdCB0aGVtIGlzIHRvIHF1YW50aWZ5IHRoZW06IFRoZXkgYXJlIG5vdCBjYWxsZWQgImxvZ2lj YWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHByby1zdW10aSIgZm9yIG5vdGhpbmcuIFRoZXkg YXJlIHByby1zdW10aSwgdGhleSBhcmUgbW9zdCB1c2VmdWwgd2hlbiBxdWFudGlmaWVkLCBhbmQg dGhleSBhcmUgZXhpc3RlbnRpYWwuIFdoYXQgZG9lcyBpdCBtZWFuLCBiZWluZyAiZXhpc3RlbnRp YWwiPyBJdCBtZWFucyB0aGF0IGlmIHRoZXkgYXJlIHVzZWQsIHRoYXQgaW1wbGllcyB0aGF0IHRo ZXkgYWN0dWFsbHkgcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGV4aXN0cy4gQW4gZXhhbXBsZToK CgoKVGhlIHN0YXRlbWVudCAnJ3BhIGRhIHpvJ3UgZGEgZ2Vya3UnJyBoYXMgJydwYSBkYScnIGlu IHRoZSBwcmVuZXgsIHdoaWNoIG1lYW5zICJDb25jZXJuaW5nIG9uZSBleGlzdGluZyB0aGluZzoi LCBhbmQgdGhlbiAnJ2RhJycsIG5vdyBkZWZpbmVkLCBpcyB1c2VkIGluIHRoZSBicmlkaSAnJ2Rh IGdlcmt1JycuIFRyYW5zbGF0ZWQgdG8gRW5nbGlzaCwgdGhpcyBtZWFuczogIlRoZXJlIGV4aXN0 cyBvbmUgdGhpbmcgd2hpY2ggaXMgYSBkb2ciLiBUaGlzIGlzIG9idmlvdXNseSBmYWxzZSwgdGhl cmUgYXJlIGFyb3VuZCA0MDAsMDAwLDAwMCBvZiB0aGVtIGluIHRoZSB3b3JsZC4gSWYgJydkYScn IGFuZCBpdHMgc2lzdGVycyBhcmUgbm90IHF1YW50aWZpZWQsIHRoZSBudW1iZXIgJydzdSdvJycg aXMgdGhlIGRlZmF1bHQuIFRodXMgJydkYSB6byd1IGRhIGdlcmt1JycgbWVhbnMgIlRoZXJlIGV4 aXN0IGF0IGxlYXN0IG9uZSB0aGluZyB3aGljaCBpcyBhIGRvZyIsIHdoaWNoIGlzIHRydWUuIE5v dGljZSBoZXJlLCB0aGF0IGFueSBxdWFudGlmaWNhdGlvbiBtdXN0IGJlIG1vcmUgb3IgbGVzcyBl eGFjdCBpbiBvcmRlciB0byBiZSB0cnVlOiBPZiBjb3Vyc2Ugb25lIGRvZyBleGlzdHMsIGJ1dCBp biBMb2piYW4sICcncGEgZGEgem8ndSBkYSBnZXJrdScnIG1lYW5zIG5vdCBvbmx5IHRoYXQgZG9l cyBvbmUgZG9nIGV4aXN0cywgYnV0IGFsc28gdGhhdCBubyBtb3JlIHRoYW4gb25lIGRvZXMuIElm IHRoZSBxdWFudGlmaWVyICcncm8nJyBpcyB1c2VkIGJlZm9yZSAnJ2RhJycsIGl0IGluc3RlYWQg cmVmZXJzIHRvICJhbGwgd2hpY2ggZXhpc3RzIi4gIElmIHRoZSBzYW1lIHZhcmlhYmxlIGlzIHF1 YW50aWZpZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGZpcnN0IHF1YW50aWZpY2F0aW9uIGlzIHRoZSBv bmUgd2hpY2ggc3RpY2tzOiBBbnkgbGF0ZXIgcXVhbnRpZmllZCBpbnN0YW5jZSBvZiB0aGF0IHZh cmlhYmxlIGNhbiByZWZlciBvbmx5IHRvIHRoaW5ncyB3aGljaCBpcyBhbHNvIGJlaW5nIHJlZmVy cmVkIHRvIGJ5IHRoZSBmaXJzdCB2YXJpYWJsZSwgYW5kIGFueSBsYXRlciBub24tcXVhbnRpZmll ZCBpbnN0YW5jZSBvZiB0aGF0IHZhcmlhYmxlIHdpbGwgZ2FpbiB0aGUgZmlyc3QgcXVhbnRpZmll ci4gVG8gdXNlIGFuIGV4YW1wbGU6ICcnY2kgZGEgem8ndSByZSBkYSBiYXJkYSAuaWplIGRhIHBl bHh1JycgbWVhbnMgIlRoZXJlIGV4aXN0cyB0aHJlZSB0aGluZ3Mgc3VjaCB0aGF0IHR3byBvZiB0 aGVtIGFyZSBiaWcgYW5kIGFsbCB0aHJlZSBhcmUgeWVsbG93Ii4gJydyZSBkYScnLCBiZWluZyBh ZnRlciAnJ2NpIGRhJycsIGNhbiBvbmx5IHJlZmVyIHRvIHR3byBvZiB0aGUgYWxyZWFkeSBzdGF0 ZWQgdGhyZWUgdGhpbmdzLiBXaGVuICcnZGEnJyBhcHBlYXJzIHdpdGhvdXQgYSBxdWFudGlmaWVy LCAnJ2NpJycgaXMgYXNzdW1lZC4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVybXMgaW4gdGhl IHByZW5leCwgdGhlIHRlcm1zIGFyZSBhbHdheXMgcmVhZCBsZWZ0IHRvIHJpZ2h0LiBTb21ldGlt ZXMsIHRoaXMgbWF0dGVycy4gJydybyBkYSBkZSB6byd1IGRhIHByYW1pIGRlJycgbWVhbnMgIkNv bmNlcm5pbmcgYWxsIHRoZSB0aGluZ3MgWCB0aGF0IGV4aXN0cywgY29uY2VybmluZyBhdCBsZWFz dCBvbmUgdGhpbmcgWTogWCBsb3ZlcyBZIi4gVGhpcyBpcyB0aGUgc2FtZSBhcyAiQWxsIHRoaW5n cyBsb3ZlIGF0IGxlYXN0IG9uZSB0aGluZy4iLCB3aGVyZSB0aGUgInRoaW5nKHMpIiBjYW4gYmUg YW55dGhpbmcsIGluY2x1ZGluZyB0aGUgdGhpbmcgaXRzZWxmLiBUaGUgdGhpbmcgd2hpY2ggaXMg cmVmZXJyZWQgdG8gYnkgJydkZScnIGlzIGRlcGVuZGVudCBvbiB0aGUgJydkYScnLCBzaW5jZSBp dCBjYW1lIGJlZm9yZSBpdCBpbiB0aGUgcHJlbmV4OiBUaGVyZWZvcmUgZWFjaCB0aGluZyBtaWdo dCBsb3ZlIHNvbWV0aGluZyBkaWZmZXJlbnQuIElmIHdlIHN3aXRjaGVkIHRoZSBwbGFjZXMgb2Yg JydkYScnIGFuZCAnJ2RlJycgaW4gdGhlIHByZW5leCwgYSBkaWZmZXJlbnQgcmVzdWx0IHdvdWxk IGFyaXNlOiAnJ2RlIHJvIGRhIHpvJ3UgZGEgcHJhbWkgZGUnJyA9ICJDb25jZXJuaW5nIGF0IGxl YXN0IG9uZSB0aGluZyBZLCBjb25jZXJuaW5nIGFsbCBYIHdoaWNoIGV4aXN0czogWCBsb3ZlcyBZ IiwgbWVhbmluZyAiVGhlcmUgZXhpc3RzIGF0IGxlYXN0IG9uZSB0aGluZyB3aGljaCBldmVyeWJv ZHkgbG92ZXMiLgoKCgpPZiBjb3Vyc2UsIGJvdGggY2xhaW1zIGFyZSBjb21wbGV0ZWx5IGZhbHNl LiBUaGVyZSBhcmUgbWFueSB0aGluZ3Mgd2hpY2ggbG92ZXMgbm90aGluZyAtIHJvY2tzLCBvciBh YnN0cmFjdCBjb25jZXB0cywgZm9yIGV4YW1wbGUuIExpa2V3aXNlLCBpdCdzIGltcG9zc2libGUg dG8gY29uY2lldmUgb2Ygc29tZXRoaW5nIHdoaWNoIGV2ZXJ5dGhpbmcgbG92ZXMsIHNpbmNlICJl dmVyeXRoaW5nIiBhbHNvIGVuY29tcGFzc2VzIG5vbi1zZW50aWVudCB0aGluZ3MuIFdlIG5lZWQg YmV0dGVyIHdheXMgdG8gcmVzdHJpY3Qgd2hhdCB0aGVzZSB2YXJpYWJsZXMgY2FuIHBvaW50IHRv LiBPbmUgZ29vZCB3YXkgb2YgZG9pbmcgaXQgaXMgdG8gbWFrZSB0aGVtIHRoZSBzdWJqZWN0IG9m IGEgcmVsYXRpdmUgY2xhdXNlOgoKJydybyBkaSBwb2kgcmVtbmEgem8ndSBiaXJrYSBkaScnID0g IkNvbmNlcm5pbmcgYWxsIFggdGhhdCBleGlzdHMsIHdoaWNoIGlzIGh1bWFuOiBYIGhhcyBvbmUg b3IgbW9yZSBhcm1zLiIgb3IgIkFsbCBodW1hbnMgaGF2ZSBhcm1zIiwgd2hpY2ggaXMgdHJ1ZSwg YXQgbGVhc3Qgd2hlbiBzcGVha2luZyBpbiBhIHBvdGVudGlhbCwgdGltZWxlc3Mgc2Vuc2UuCgpf XycnYmlya2EnJ19fIHgxIGlzIGFuIGFybSBvZiB4MgoKV2hlbiByZXN0cmljdGluZyBjbGFpbXMg dXNpbmcgdGhpcyBraW5kIG9mIGxvZ2ljYWwgImV4aXN0ZW5zaWFsIiB2YXJpYWJsZSwgaXQncyB2 ZXJ5IGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IHVubGVzcyB0aGVyZSBpcyBhbiBleHBsaWNp dCAnJ25vJycgYXMgYSBxdWFudGlmaWVyLCB0aGVzZSBraW5kIG9mIHN0YXRlbWVudHMgYWx3YXlz IGltcGx5IHRoYXQgdGhlcmUgX19hY3R1YWxseSBleGlzdHNfXyBzb21ldGhpbmcgd2hpY2ggY2Fu IGJlIHJlZmVycmVkIHRvIGJ5ICcnZGEnJy4gVGhlcmVmb3JlLCBhbnkga2luZCBvZiBub24tbmVn YXRlZCBzdGF0ZW1lbnQgd2hlcmUgbmEgcG9pbnRzIHRvIHNvbWV0aGluZyB3aGljaCBkb2VzIG5v dCBleGlzdCBpcyBmYWxzZSwgYXMgaW4gdGhpcyBleGFtcGxlOiAnJ3JvIGRhIHBvaSBwYXZ5c2Vs amlybmEgem8ndSBkYSBzZSBqaXJuYScnIC0gIkFsbCB1bmljb3JucyBoYXZlIGhvcm5zIi4gVGhp cyBpcyB3cm9uZyBiZWNhdXNlLCBzaW5jZSAnJ2RhJycgaXMgZXhpc3RlbnNpYWwsIGl0IGFsc28g bWVhbnMgdGhhdCB0aGVyZSBtdXN0IGV4aXN0IGF0IGxlYXN0IG9uZSB1bmljb3JuLgoKSW50ZXJl c3RpbmdseSwgd2hlbiB1c2luZyBhIHJlbGF0aXZlIGNsYXVzZSwgdGhlIHZhcmlhYmxlIGlzIGJl aW5nIHJlc3RyaWN0ZWQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHlvdSB1c2UgJydwb2knJyBvciAn J25vaScnLiBUaGlzIGlzIGJlY2F1c2UgJydyZSBkYSBub2kgZ2Vya3UnJyBzdGlsbCBvbmx5IGNh biByZWZlciB0byB0d28gdGhpbmdzIHdoaWNoIGFyZSBodW1hbnMuIFRoZXJlZm9yZSwgJydub2kn JyBtYWtlcyBsaXR0bGUgc2Vuc2Ugd2l0aCAnJ2RhJycvJydkZScnLycnZGknJy4gQW55IGNsYXVz ZSBpcyBhbHdheXMgcmVzdHJpY3RpdmUsIHVubGVzcyBpdCdzIHJlYWxseSBzdHVwaWQgYW5kIG9i dmlvdXMgbGlrZSAnJ2RlIG5vaSBnZXJrdSBjdSBnZXJrdScnLgoKCgpJbiBmYWN0LCB5b3UgZG9u J3QgcmVhbGx5IG5lZWQgdGhlIHByZW5leCB0byBkZWZpbmUgdGhlIHZhcmlhYmxlcy4gWW91IGNh biB1c2UgdGhlbSBkaXJlY3RseSBhcyBzdW10aSBpbiB0aGUgYnJpZGksIGFuZCBxdWFudGlmeSB0 aGVtIHRoZXJlLiBZb3Ugb25seSBuZWVkIHRvIHF1YW50aWZ5IHRoZW0gdGhlIGZpcnN0IHRpbWUg dGhleSBhcHBlYXIsIHRob3VnaC4gVGh1cywgdGhlIHNlbnRlbmNlIGFib3V0IGh1bWFucyBoYXZp bmcgYXJtcyBjb3VsZCBiZSB0dXJuZWQgaW50byAnJ2JpcmthIHJvIGRpIHBvaSByZW1uYScnLiBU aGUgb3JkZXIgb2YgdGhlIHZhcmlhYmxlcyBzdGlsbCBtYXR0ZXJzIHRob3VnaCwgYW5kIHNvIHRo ZSBwcmVuZXggY2FuIGJlIHVzZWQgdG8gYXZvaWQgaGF2aW5nIHRvIG1lc3MgdXAgeW91ciBicmlk aSB0byBwbGFjZSB0aGUgdmFyaWFibGVzIGluIHRoZSBjb3JyZWN0IG9yZGVyLiBXaGVuIGhhdmlu ZyBtb3JlIHZhcmlhYmxlcywgYSBwcmVuZXggaXMgdXN1YWxseSBhIGdvb2QgaWRlYS4KCgoKVGhl IHNlY29uZCBraW5kIG9mIGxvZ2ljYWwgd29yZHMgYXJlIGJhc2ljYWxseSB0aGUgc2FtZSBhcyB0 aGUgdGhyZWUgd2UgaGF2ZSBhbHJlYWR5IGJlZW4gdGhvdWdoLCBidXQgdGhlc2UgYXJlIHByby1i cmlkaSBpbnN0ZWFkIG9mIHByby1zdW10aToKCgoKX18nJ2J1J2EnJ19fIGxvZ2ljYWxseSBxdWFu dGlmaWVkIGV4aXN0ZW50aWFsIHByby1icmlkaSAxCgpfXycnYnUnZScnX18gbG9naWNhbGx5IHF1 YW50aWZpZWQgZXhpc3RlbnRpYWwgcHJvLWJyaWRpIDIKCl9fJydidSdpJydfXyBsb2dpY2FsbHkg cXVhbnRpZmllZCBleGlzdGVudGlhbCBwcm8tYnJpZGkgMwoKCgpUaGVzZSB3b3JrIHByZXR0eSBt dWNoIHRoZSBzYW1lIHdheSBhcyB0aGUgb3RoZXIgdGhyZWUsIGJ1dCB0aGVyZSBhcmUgYSBmZXcg cG9pbnRzIHdoaWNoIGFyZSBpbXBvcnRhbnQgdG8gbWVudGlvbjoKClNpbmNlIG9ubHkgdGVybXMg Y2FuIGdvIGluIHRoZSBwcmVuZXgsIHRoZXNlIHByby1icmlkaSBuZWVkIHRvIGhhdmUgYSBxdWFu dGlmaWVyIGluIG9yZGVyIHRvIG1ha2UgdGhlbSBpbnRvIHN1bXRpLiBXaGVuIHF1YW50aWZpZWQg aW4gdGhlIHByZW5leCwgaG93ZXZlciwgdGhlIHF1YW50aWZpZXIgd29ya3MgdmVyeSBkaWZmZXJl bnQgZnJvbSBxdWFudGlmaWVycyB3aXRoIG5vcm1hbCBzZWxicmk6IEluc3RlYWQgb2YgcXVhbnRp ZnlpbmcgdGhlIGFtb3VudCBvZiB0aGluZ3Mgd2hpY2ggZml0cyB0aGUgeDEgb2YgdGhlIHNlbGJy aSB2YXJpYWJsZSwgaXQgZGlyZWN0bHkgcXVhbnRpZmllcyB0aGUgYW1vdW50IG9mIHNlbGJyaSB3 aGljaCBhcHBsaWVzLiBBZ2FpbiwgdGhlIGRlZmF1bHQgcXVhbnRpZmllciBpcyAnJ3NvJ3UnJy4g VGh1cywgaW5zdGVhZCBvZiAnJ3JlIGJ1J2Egem8ndScnIG1lYW5pbmcgIkNvbmNlcm5pbmcgdHdv IHRoaW5ncyB3aGljaCBidSdhJ3M6IiwgaXQgbWVhbnMgIkNvbmNlcm5pbmcgdHdvIHJlbGF0aW9u c2hpcHMgWDoiCgoKCkl0J3MgcHJvYmFibHkgZ29vZCB0byBzZWUgYW4gZXhhbXBsZSBwZiAnJ2J1 J2EnJyBwdXQgdG8gcHJhY3RpY2U6CgonJ3JvIGRhIGJ1J2EgbGEgLmJhYi4nJyA9ICcnQ29uc2lk ZXJpbmcgYWxsIFggd2hpY2ggZXhpc3RzOiBYIGlzIGluIGF0IGxlYXN0IG9uZSByZWxhdGlvbnNo aXAgd2l0aCBCb2IiID0gIkV2ZXJ5dGhpbmcgaXMgcmVsYXRlZCB0byBCb2IgaW4gYXQgbGVhc3Qg b25lIHdheS4iLiBOb3RpY2UgYWdhaW4gdGhlIG9yZGVyIG1hdHRlcnM6ICcnYnUnYSBybyBkYSB6 byd1IGRhIGJ1J2EgQm9iJycgbWVhbnM6ICJUaGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVsYXRpb25z aGlwIHN1Y2ggdGhhdCBldmVyeXRoaW5nIHRoYXQgZXhpc3RzIGlzIGluIHRoYXQgcmVsYXRpb25z aGlwIHdpdGggQm9iIi4gVGhlIGZpcnN0IHN0YXRlbWVudCBpcyB0cnVlIC0gZm9yIGFueSBvbmUg dGhpbmcsIG9uZSBjYW4gaW5kZWVkIG1ha2UgdXAgc29tZSBzZWxicmkgd2hpY2ggcmVsYXRlcyBh bnkgZ3V5IGNhbGxlZCBCb2IgYW5kIGl0LiBCdXQgSSdtIG5vdCBzdXJlIHRoZSBsYXR0ZXIgaXMg dHJ1ZSAtIHRoYXQgb25lIGNhbiBtYWtlIGEgc2VsYnJpIHdoaWNoIGNhbiByZWxhdGUgYW55dGhp bmcsIG5vIG1hdHRlciB3aGF0IGl0IGlzLCBhbmQgQm9iLgoKCgpMZXQncyBoYXZlIGFuIGV4YW1w bGUgd2hpY2ggcXVhbnRpZmllcyBzZWxicmk6CgonJ2NpJ2kgYnUnZSB6byd1IG1pIGJ1J2UgZG8n JyAtICJDb25jZXJuaW5nIGFuIGluZmluaXRlIGFtb3VudCBvZiByZWxhdGlvbnNoaXBzOiBJIGFt IGluIGFsbCB0aG9zZSByZWxhdGlvbnNoaXAgd2l0aCB5b3UuIiBvciAiVGhlcmUgZXhpc3RzIGFu IGluZmluaXRlIGFtb3VudCBvZiByZWxhdGlvbnNoaXBzIGJldHdlZW4gdXMiCgpZb3UgY2FuJ3Qg cXVhbnRpZnkgdGhlIHNlbGJyaSB2YXJpYWJsZXMgaW4gdGhlIGJyaWRpIGl0c2VsZiwgdGhvdWdo LiBUaGVuIGl0IHdpbGwgYWN0IGFzIGEgc3VtdGk6ICcnbWkgY2knaSBidSdhIGRvJycgaXMgbm90 IGEgYnJpZGkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWVpZ2h0IChub3Rl cyBvbiBhYnN0cmFjdG9ycykKClRoZSBub3Rpb24gb2YgYWJzdHJhY3Rpb25zIGFuZCBhYnN0cmFj dG9ycyBpcyBxdWl0ZSBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGFuZCB5b3UgaGF2ZSBhbHJlYWR5 IGxlYXJuZWQgdGhlIG1lY2hhbmlzbSB0d2VudHktdHdvIGxlc3NvbnMgYWdvLiBUaGVyZSBhcmUs IGhvd2V2ZXIsIG1hbnkgYWJzdHJhY3RvcnMgd2l0aCBzbGlnaHRseSBkaWZmZXJlbnQgc2VtYW50 aWMgbWVhbmluZyB0byBleHBsb3JlLCBhcyB3ZWxsIGFzIGEgc2luZ2xlIGltcG9ydGFudCBtZWNo YW5pc20gd2hpY2ggaGFzIG5vdCBiZWVuIGNvdmVyZWQgeWV0LiBJbiB0aGlzIGxlc3NvbiwgYWxs IHR3ZWx2ZSBhYnN0cmFjdG9ycyB3aWxsIGJlIGVsYWJvcmF0ZWQgb24uIFRoZSBmYSdvcm1hJ28g Zm9yIGFsbCBvZiB0aGVzZSBpcyAnJ2tlaScnLgoKCgpUaGUgZmlyc3QgYW5kIG1vc3QgYmFzaWMg YWJzdHJhY3RvciBpcyAnJ3N14oCZdScnLCB3aGljaCB5b3UgYWxyZWFkeSBrbm93LgoKWW91IG1p Z2h0IHJlbWVtYmVyIGZyb20gbGVzc29uIHNpeCB0aGF0ICcnc3UndScnIGhhZCBhIHBsYWNlIHN0 cnVjdHVyZSB3aXRoIHR3byBzdW10aSBwbGFjZXMuIFRoZSBzZWNvbmQgc3VtdGkgcGxhY2Ugb2Yg JydzdSd1JycgbWFrZXMgdGhlIHdvcmQgdmVyc2F0aWxlLCBhcyB0aGUgeDIgY2FuIGJlIHVzZWQg dG8gc3BlY2lmeSBob3cgdGhlIGFic3RyYWN0aW9uIHNob3VsZCBiZSBjb25zaWRlcmVkLgoKVGhl IEVuZ2xpc2ggcGhyYXNlIOKAnHRoYXQgSSBsb3ZlIHlvdeKAnSBpcyBkZWZpbml0ZWx5IGEgc3Vt dGksIHNpbmNlIGl04oCZcyBtZWFudCB0byBmdW5jdGlvbiBhcyBhIHN1YmplY3Qgb3Igb2JqZWN0 IGluIGEgc2VudGVuY2UuIEl04oCZcyBhbHNvIGNsZWFybHkgbWFkZSBmcm9tIGFuIGFic3RyYWN0 aW9uLiBJdCBjYW4gdGhlcmVmb3JlIGJlIHRyYW5zbGF0ZWQgKCcnbG8nJy8nJ2xlJycpICcnc3Xi gJl1IG1pIGRvIHByYW1pJycuIFdpdGhvdXQgdGhlIGNvbnRleHQgb2YgdGhlIEVuZ2xpc2ggc2Vu dGVuY2UsIHRob3VnaCwgaXTigJlzIGhhcmQgdG8gZ3Vlc3Mgd2hhdCBraW5kIG9mIGFic3RyYWN0 aW9uIHdhcyBtZWFudC4g4oCcSSB3aWxsIGRpZSBoYXBweSBieSB0aGUgdGltZSB0aGF0IEkgbG92 ZSB5b3Uu4oCdIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gbGlrZSBhbiBldmVudCBoYXBwZW5pbmcg aW4gdGltZS4g4oCcVGhlIHRydXRoIGlzIHRoYXQgSSBsb3ZlIHlvdS7igJ0gdHJlYXRzIHRoZSBh YnN0cmFjdGlvbiBsaWtlIGEgYnJpZGksIHdoaWNoIGNhbiBiZSBjb25zaWRlcmVkIHRydWUgb3Ig ZmFsc2UuIEluIHRoZSBzZW50ZW5jZSDigJxUaGUgbW9zdCBiZWF1dGlmdWwgdGhpbmcgaW4gdGhl IHdvcmxkIGlzIHRoZSBpZGVhIHRoYXQgSSBsb3ZlIHlvdeKAnSwgdGhlIGFic3RyYWN0aW9uIGlz IGNvbnNpZGVyZWQgYW4gYWJzdHJhY3QgY29uY2VwdC4gVXNpbmcgdGhlIHNlY29uZCBzdW10aSBw bGFjZSBvZiAnJ3N14oCZdScnLCB0aGVzZSBjYW4gYmUgZXhwbGljaXRseSBkaXN0aW5ndWlzaGVk IGJldHdlZW46CgonJ2xlIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gZmFzbnUnJyBpcyBh biBldmVudC4KCicnbGUgc3XigJl1IG1pIGRvIHByYW1pIGtlaSBiZSBsbyBicmlkaScnIGlzIGEg YnJpZGkuCgonJ2xlIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gc2lkYm8nJyBpcyBhIGNv bmNlcHQuCgoKClVzaW5nICcnc3XigJl1JycgdGhpcyB3YXksIHRoZSBzZW1hbnRpYywgdGhvdWdo IHBlcmhhcHMgbm90IGdyYW1tYXRpY2FsLCByYW5nZSBvZiBhbGwgYWJzdHJhY3RvcnMgY2FuIGJl IGNvdmVyZWQuIE1vcmUgdXN1YWxseSwgdGhvdWdoLCBvdGhlciBhYnN0cmFjdG9ycyBhcmUgdXNl ZC4gJydudScnLCB3aGljaCB5b3UgYWxzbyBrbm93LCB0cmVhdHMgdGhlIGFic3RyYWN0aW9uIGFz IGFuIGV2ZW50LgoKX18nJ251JydfXyB4MSBpcyBhbiBldmVudCBvZiBCUklESQoKCgpUaGVyZSBh cmUgbWFueSB3YXlzIHRvIHZpZXcgYW4gZXZlbnQsIGFuZCBzbyB0aGVyZSBhcmUgZm91ciBvdGhl ciBhYnN0cmFjdG9ycyB3aG9zZSBzZW1hbnRpYyBhcmUgYWxsIGNvdmVyZWQgYnkgbnUsIGJ1dCBt b3JlIHNwZWNpZmljLgoKX18nJ2114oCZZScnX18geDEgaXMgYSBwb2ludC1saWtlIGV2ZW50IG9m IEJSSURJIGhhcHBlbmluZwoKX18nJ3ph4oCZaScnX18geDEgaXMgYSBzdGF0ZSBvZiBCUklESSBi ZWluZyB0cnVlCgpfXycncHXigJl1JydfXyB4MSBpcyBhIHByb2Nlc3Mgb2YgQlJJREkgdW5mb2xk aW5nIHRocm91Z2ggc3RhZ2VzIHgyCgpfXycnenXigJlvJydfXyB4MSBpcyBhbiBhY3Rpdml0eSBv ZiBCUklESSBjb25zaXN0aW5nIG9mIHRoZSByZXBlYXRlZCBldmVudCBvZiB4MgoKCgpUaGUgdW5k ZXJzdGFuZGluZyBvZiB0aGVzZSBhYnN0cmFjdG9ycyBpcyB0aWVkIHRvIHRoZSB1bmRlcnN0YW5k aW5nIG9mIGV2ZW50IGNvbnRvdXJzLiAnJ2114oCZZScnIGlzIGFraW4gdG8gdGhlIGV2ZW50IGNv bnRvdXIgJydjb+KAmWknJyBpbiB0aGUgc2Vuc2UgdGhhdCBib3RoIHRyZWF0IHRoZSBicmlkaSBh cyBwb2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNlOgoKJydsZSBtdeKAmWUgbWkga2Fucm8gYmlu eG8gY3Ugc2UgZGppY2EgbWknJyDigJMg4oCdTWUgYmVjb21pbmcgaGVhbHRoeSBpcyBkZXNpcmVk IGJ5IG1l4oCdIGhhcyB0aGUgc2VtYW50aWMgbWVhbmluZyB0aGF0IHRoZSBwcm9jZXNzIG9mIGJl Y29taW5nIGhlYWx0aHkgaXMgbm90IGJlaW5nIGNvbnNpZGVyZWQuIElmIGl0IGNvbnNpc3RzIG9m IGNoZW1vdGhlcmFweSwgaXQgaXMgcGxhdXNpYmxlIHRoYXQgdGhpcyBwcm9jZXNzIGlzIG5vdCBk ZXNpcmVkIGF0IGFsbC4g4oCcQmVjb21pbmcgaGVhbHRoeeKAnSwgaW4gYSBwb2ludC1saWtlIHNl bnNlIGlzIGRlc2lyZWQsIGhvd2V2ZXIuCgoKCicnemHigJlpJycgaXMgbGlrZSB0aGUgZXZlbnQg Y29udG91ciAnJ2Nh4oCZbycnIGluIHRoZSBzZW5zZSB0aGF0ICcnbGUgemHigJlpIEJSSURJJycg YmVnaW5zIHRvIGFwcGx5IHdoZW4gdGhlIGJyaWRpIGJlZ2lucyBhbmQgc2hhcnBseSBlbmRzIHdo ZW4gdGhlIGJyaWRpIGNlYXNlcyB0byBiZSB0cnVlLCBtdWNoIGxpa2UgJydjYeKAmW8nJy4KCicn emHigJlvIHph4oCZaSBtaSBrYW5ybyBiaW54bycnIG1lYW5zIHRoYXQgdGhlIHN0YXRlIG9mIG1l IGJlY29taW5nIGhlYWx0aHkgdG9vayB0b28gbG9uZyB0aW1lOyB0aGF0IHRoZSB0aW1lIGJldHdl ZW4gbXkgaGVhbHRoIGJlZ2lubmluZyB0byBpbXByb3ZlIGFuZCBiZSBhY3R1YWxseSBiZWluZyBo ZWFsdGh5IHdhcyBsb25nLXdpbmRlZC4KCgoKVGhlIGFjdHVhbCB0cmVhdG1lbnQgaXMgcGVyaGFw cyBiZXR0ZXIgY2F1Z2h0IGJ5ICcncHXigJl1JycsIHdoaWNoLCBsaWtlIGV2ZW50IGNvbnRvdXJz IGluIGdlbmVyYWwsIHB1dHMgZW1waGFzaXMgb24gdGhlIGVudGlyZSBldmVudCBhcyB1bmZvbGRp bmcgdGhyb3VnaCB0aW1lLiAnJy5paSBiYSB6aSBjb+KAmWEgcHXigJl1IG1pIGthbnJvIGJpbnhv IHZhdSAub2knJyBleHByZXNzZXMgZmVhciB0aGF0IHRoZSBwYWluZnVsIHByb2Nlc3Mgb2YgYmVj b21pbmcgaGVhbHRoeSBpcyBhYm91dCB0byBiZWdpbi5UaGUgeDIgaXMgZmlsbGVkIGJ5IGEgc2Vx dWVuY2Ugb2Ygc3RhZ2VzLCB3aGljaCBjYW4gYmUgbWFkZSBieSBpbnRlcnNwYWNpbmcgdGhlIHN0 YWdlcyB3aXRoIHRoZSBub24tbG9naWNhbCBjb25uZWN0aXZlICcnY2XigJlvJyc6ICcnemXigJl1 IHB14oCZdSBtaSBrYW5ybyBiaW54byBrZWkgbGUgbnUgbWkgZmFja2kgY2XigJlvIGxlIG51IG1p IGphaSB0b2xzdGkgY2XigJlvIG1pIHJlbnZpJycgbWVhbnMg4oCcc29tZXRoaW5nIGlzIGEgbG9u ZyBwcm9jZXNzIG9mIG1lIGJlY29taW5nIGhlYWx0aHkgY29uc2lzdGluZyBvZiB0aGUgc3RhZ2Vz IEEgKSBJIGZpbmQgb3V0IEIgKSBzb21ldGhpbmcgYWJvdXQgbWUgYmVnaW5zIEMgKSBJIGVuZHVy ZS7igJ0KCgoKRmluYWxseSwgdGhlIHNlbWFudGljcyBvZiAnJ3p14oCZbycnIHRyZWF0cyB0aGUg YWJzdHJhY3Rpb24gYXMgY29uc2lzdGluZyBvZiByZWFwZWF0ZWQgYWN0aW9uczogJydqaWJyaSBt aSBmYSBsbyB6deKAmW8gbWkgemJhc3UgbG8ga2FyY2UnJyDigJMg4oCcVGhlIGFjdGl2aXR5IG9m IG1lIG1ha2luZyBjYXJzIGlzIG15IGpvYuKAnSBpcyBhY2N1cmF0ZSBpZiwgZm9yIGluc3RhbmNl LCB0aGUgc3BlYWtlciB3b3JrcyBhdCBhIGNhci1wcm9kdWNpbmcgZmFjdG9yeS4gSGVyZSwgaGVy IGFjdGl2aXR5IG9mIHByb2R1Y2luZyBjYXJzIGNvbnNpc3RzIG9mIHRoZSByZXBlYXRlZCBhY3Rp b25zIEEgKSBzaGUgbG93ZXJzIGZyYW1lIDEgb250byBjYXIgMSBCICkgc2hlIHdlbGRzIGZyYW1l IDEgdG8gY2FyIDEsIEMgKSByZXBlYXQgd2l0aCBjYXIgMi4gVGhlIHgyIGhlcmUgaXMgYWxzbyBh IHNlcXVlbmNlLgoKCgpOb3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gJydtdeKAmWUgYmFqcmEn JywgJyd6YeKAmWkgYmFqcmEnJywgJydwdeKAmXUgYmFqcmEnJywgJyd6deKAmW8gYmFqcmEnJyBh bmQgJydudSBiYWpyYScnLiBUaGUgcG9pbnQtbGlrZSBldmVudCBvZiBydW5uaW5nIHB1dHMgZW1w aGFzaXMgb24gdGhlIGV2ZW50IGhhcHBlbmluZywgYnV0IG5vdGhpbmcgZWxzZS4gVGhlIHN0YXRl IG9mIHJ1bm5pbmcgYmVnaW5zIHdoZW4gdGhlIHJ1bm5lciBiZWdpbnMgYW5kIHN0b3BzIHdoZW4g dGhlIHJ1bm5lciBzdG9wcy4gVGhlIHByb2Nlc3Mgb2YgcnVubmluZyBjb25zaXN0cyBvZiBhIHdh cm0tdXAsIGtlZXBpbmcgYSBzdGVhZHkgc3BlZWQsIGFuZCB0aGUgZmluYWwgc3ByaW50LiBUaGUg YWN0aXZpdHkgb2YgcnVubmluZyBjb25zaXN0cyB0aGUgY3ljbGVzIG9mIGxpZnRpbmcgb25lIGZv b3QsIG1vdmluZyBpdCBmb3J3YXJkLCBkcm9wcGluZyBpdCBkb3duLCByZXBlYXQgd2l0aCB0aGUg b3RoZXIgZm9vdC4gQWxsIG9mIHRoZXNlIGFyZSBjb3ZlcmVkIGJ5IHRoZSBldmVudCBvZiBydW5u aW5nLgoKCgpUaGUgYWJzdHJhY3RvciAnJ2R14oCZdScnIGhhcyBub3RoaW5nIHRvIGRvIHdpdGgg ZXZlbnRzIGFuZCBvbmx5IGNvbnNpZGVycyB0aGUgYnJpZGkgaW5zaWRlIHRoZSBhYnN0cmFjdGlv biBhcyBhIGJyaWRpOgoKJycudWkgc2FpIHppIGZhY2tpIGxlIGR14oCZdSB6aSBjaXRrYSBsbyBj aWRqcnBpdHNhJycg4oCTIOKAnFllcyEgSSBqdXN0IGZvdW5kIG91dCB0aGF0IHBpenphIHdpbGwg YmUgZWF0ZW4gc29vbiHigJ0uIFdoYXQgaXMgYmVpbmcgZGlzY292ZXJlZCBpcyB0aGUgdHJ1dGgg b2YgYW4gYWJzdHJhY3QgYnJpZGksIG5vdCBhbiBldmVudC4gSW4gZ2VuZXJhbCwgYWJzdHJhY3Rp b25zIGxpa2UgdHJ1dGhzLCBsaWVzLCB0aGluZ3MgYmVpbmcgZGlzY292ZXJlZCBvciBiZWxpZXZl ZCBhcmUgYWxsIHB1cmUgYnJpZGksIHNvICcnZHXigJl1JycgaXMgYXBwcm9wcmlhdGUuIAoKX18n J2R14oCZdScnX18geDEgaXMgdGhlIGJyaWRpIG9mIEJSSURJIGV4cHJlc3NlZCBpbiBzZW50ZW5j ZSB4MgoKRm9yIGJyaWRpIHRvIGV4aXN0IChvciBhdCBsZWFzdCB0byBoYXZlIGFueSByZWxldmFu Y2UpLCB0aGV5IG11c3QgYmUgZXhwcmVzc2VkIGluIHNvbWUgbWVkaXVtLCB3aGV0aGVyIHRoaXMg aXMgc3BlZWNoLCB0aG91Z2h0IG9yIHdyaXRpbmcuIFRoZSB0ZXJtIOKAnGV4cHJlc3NlZOKAnSBp cyBtaXNsZWFkaW5nIGlmIGl0IGlzIGV4cHJlc3NlZCBvbmx5IGluIHRoZSBtaW5kIG9mIHNvbWVv bmUgYnV0IHRoZSB0ZXJtIG5vbmV0aGVsZXNzIGFwcGxpZXMuIFNwZWNpZnlpbmcgd2hpY2ggbWVk aXVtIHRoZSBicmlkaSBpcyBleHByZXNzZWQgaW4gaXMgd2hhdCB0aGUgeDIgb2YgJydkdeKAmXUn JyBpcyB1c2VkIGZvcjogICcnLnVpIGZhY2tpIGxlIGR14oCZdSBqYWkgY2lkanJwaXRzYSBrZWkg em/igJllIHBlIGxlIG1pIG1hbXRhJycg4oCTIOKAnFlheSwgZGlzY292ZXJlZCB0aGF0IHNvbWV0 aGluZyBhYm91dCBwaXp6YSwgZXhwcmVzc2VkIGluIHNvbWV0aGluZyB0aGF0IGhhZCB0byBkbyB3 aXRoIG15IG1vdGhlciHigJ0uIFRoZSB0cmFuc2xhdGlvbiBpcyBjbHVtc3ksIGJ1dCBwcm9iYWJs eSBtZWFucyB0aGF0IHRoZSBzcGVha2Vy4oCZcyBtb3RoZXIgdG9sZCBoaW0gdGhhdCBwaXp6YSB3 YXMgY29taW5nLgoKCgpUaGUgbmV4dCBhYnN0cmFjdG9yLCAnJ3Np4oCZbycnLCBpcyBkZXJpdmVk IGZyb20gdGhlIGdpc211ICcnc2lkYm8nJyBtZWFuaW5nIOKAnGlkZWHigJ0uIEl04oCZcyByZWxh dGl2ZWx5IGVhc3kgdG8gdW5kZXJzdGFuZDogJydsZSBzaeKAmW8gbWkgbWFtdGEnJyBpcyB0aGUg dmVyeSBpZGVhIHRoYXQgSSBhbSBhIG1vdGhlci4gU2ltaWxhcmx5LCAnJ2xlIHNp4oCZbyBwcmFt aScnIGlzIOKAnFRoZSBjb25jZXB0IHRoYXQgc29tZW9uZSBsb3ZlcyBzb21lb25l4oCdLCB3aGlj aCBjYW4gYmUgdHJhbnNsYXRlZCBhcyBtZXJlbHkg4oCcTG92ZSBpdHNlbGYu4oCdIEFsbCBpZGVh cyBuZWVkIHNvbWVvbmUgdG8gcmVmbGVjdCBvbiB0aGVtLCBhbmQgdGhlIHNlY29uZCBzdW10aSBw bGFjZSBvZiAnJ3Np4oCZbycnIG1pcnJvcnMgdGhpczoKCl9fJydzaeKAmW8nJ19fIHgxIGlzIGFu IGlkZWEgb2YgQlJJREkgYXMgaW1hZ2luZWQgYnkgeDIKCicnbGUgc2nigJlvIG5hbm11IGtlaSBi ZSBkbyBjdSB4bGFsaSB2YXUgcGXigJlpJycg4oCTIOKAnFlvdXIgaWRlYSBvZiBtYW5saW5lc3Mg aXMgaGFybWZ1bCwgSSB0aGluayzigJ0KCgoKVGhlIGFic3RyYWN0b3IgJydqZWknJyBpcyB2ZXJ5 IGRpZmZlcmVudCBmcm9tIHRob3NlIGNvdmVyZWQgc28gZmFyLCBiZWNhdXNlIG9mIGl0cyBwbGFj ZSBzdHJ1Y3R1cmU6CgpfXycnamVpJydfXyB4MSBpcyB0aGUgdHJ1dGggdmFsdWUgb2YgQlJJREkg dW5kZXIgZXBpc3RlbW9sb2d5IHgyCgpUaGUgZmlyc3Qgc3VtdGkgcGxhY2UgaXMgbm90IGFuIGFi c3RyYWN0ZWQgYnJpZGksIGJ1dCBhIHZlcmRpY3Qgb2YgdHJ1dGgsIHdoaWNoIGxpZXMgYmV0d2Vl biAwIChmYWxzZSkgYW5kIDEgKHRydXRoKSBpbmNsdXNpdmUuIFRoZXNlIHR3byBudW1iZXJzIGFy ZSB1c2VkIHRvIHJlcHJlc2VudCBmYWxzZWhvb2Qgb3IgdHJ1dGgsIGFuZCB3aGlsZSB0aGUgeDEg b2YgdGhlIGFic3RyYWN0aW9uIGlzIHRlY2huaWNhbGx5IGEgbnVtYmVyICgnJ2xpJycpLCBpdCdz IG5vdCB2ZXJ5IHVzZWZ1bCB0byBkbyBtYXRoZW1hdGljcyBvbiBzdGF0ZW1lbnRzIHN1Y2ggYXMg InRydWUiIG9yICJmYWxzZSIsIHNvIHRoZXkgc2hvdWxkIHByb2JhYmx5IG5vdCBiZSBjb25zaWRl cmVkIG1hdGhlbWF0aWNhbCBxdWFudGl0aWVzLgoKVGhlIHgyIGlzIG9mdGVuIGxlZnQgdmFndWUu CgonJy55IGxpIHBpIHNv4oCZdSBqZWkgZ2/igJlpIGtlaSB0deKAmWEgbWknJyDigJMg4oCcVXVo LCB0aGF04oCZcyBub3QgdmVyeSB0cnVlLCBhY2NvcmRpbmcgdG8gbWUu4oCdCgoKCicna2EnJyBp cyBnbG9zc2VkICJwcm9wZXJ0eSIsIHdoaWNoIGlzIG5vdCBjbGVhciBhdCBhbGwuIEl0IHJlZmVy cyB0byB0aGUgZXNzZW5jZSBvZiBmaXR0aW5nIHRvIGEgY2VydGFpbiBzZWxicmksIHRodXMgJyds byBrYSBjbGFuaScnIGlzICJ0YWxsbmVzcyIsIGFuZCAnJ2xvIGthIGRqaWNhJycgaXMgImRlc2ly ZSIuIEluIGZhY3QsIGZvciBhbnkgc2VsYnJpLCAiWCBzYXRpc2ZpZXMgdGhlIHNlbGJyaSIgaXMg dGhlIHNhbWUgYXMgIlggaXMgY2hhcmFjdGVyaXplZCBieSB0aGUgcHJvcGVydHkgb2YgdGhlIHNl bGJyaSIuCgpUaGlzIHNlbGJyaSBtYXkgaGF2ZSBzb21lIHN1bXRpIHBsYWNlcyBmaWxsZWQgb3V0 LCBhbGxvd2luZyB2ZXJ5IHNwZWNpZmljIHByb3BlcnRpZXMgdG8gYmUgZXhwcmVzc2VkOiAnJ2xl IGthIHBlbmRvIGxhIHhhbnoua3J0IGdpJ2UgYmFkcmknJywgIlRoZSBwcm9wZXJ0eSBvZiBiZWlu ZyBhIGZyaWVuZCBvZiBIYW5zIEt1cnQgYW5kIGJlaW5nIGRlcHJlc3NlZCIuIFRoaXMgZ2l2ZXMg cmlzZSB0byBzdHJvbmcgYW1iaWd1aXR5OiBTaW5jZSAnJ2thJycgaXMgYWJvdXQgZml0dGluZyB0 byBhIHNlbGJyaSAob3IgZXZlbiBhbiBlbnRpcmUgYnJpZGkpLCBvbmUgbXVzdCBiZSBhYmxlIHRv IHNwZWNpZnkgd2hpY2ggc3VtdGkgcGxhY2Ugd2UgYXJlIHRhbGtpbmcgYWJvdXQ6ICJUaGUgcHJv cGVydHkgb2Ygc3dpbW1pbmcgaW4gc29tZXRoaW5nIiBpcyB2ZXJ5IGRpZmZlcmVudCBmcm9tICJU aGUgcHJvcGVydHkgb2Ygc29tZXRoaW5nIHN3aW1taW5nIGluIHlvdSIuIAoKT2YgY291cnNlLCB0 aGlzIGNhbm5vdCBhbHdheXMgYmUgdXAgdG8gY29udGV4dCwgYW5kIHNvIHdlIGhhdmUgYSB3b3Jk LCAnJ2NlJ3UnJywgd2hpY2ggaWRlbnRpZmllcyB3aGljaCBzdW10aSBwbGFjZSBpcyBiZWluZyBm b2N1c2VkIG9uOgoKX18nJ2NlJ3UnJ19fIFNldHMgZm9jdXMgb24gc3VtdGkgcGxhY2UgaW4gYWJz dHJhY3Rpb24uCgoKCicna2EnJy1jb25zdHJ1Y3RzIGFyZSB1c2VkIGluIGFsbCBraW5kcyBvZiBz ZWxicmksICcnem1hZHUnJyBhbmQgJydtbGVjYScnIGludHJvZHVjZWQgaW4gbGVzc29uIG5pbmV0 ZWVuIGlzIGV4YW1wbGVzIG9mIHN1Y2ggc2VsYnJpLiBTbzogd2hhdCBpcyB0aGUgZGlmZmVyZW5j ZSBiZXR3ZWVuICcnbWkgZG8gem1hZHUgbG8ga2EgbGEgbGl6IHByYW1pIGNlJ3UnJyBhbmQgJydt aSBkbyB6bWFkdSBsbyBrYSBjZSd1IHByYW1pIGxhIGxpeicnPwoKQW5zd2VyOiB+fmdyZXksZ3Jl eTogVGhlIGZpcnN0IG9uZSBtZWFucyAiTGl6IGxvdmVzIG1lIG1vcmUgdGhhbiB5b3UiLCB0aGUg c2Vjb25kICJJIGxvdmUgTGl6IG1vcmUgdGhhbiB5b3UgZG8ifn4KClRoZSAnJ2NlJ2EnJyBjYW4g YmUgZWxpZGVkLCBpbiB3aGljaCBjYXNlIGl0IGlzIHVuZGVyc3Rvb2QgdG8gZmlsbCB0aGUgZmly c3QgdW5maWxsZWQgc3VtdGkgcGxhY2Ugb2YgdGhlIGFic3RyYWN0aW9uLgoKCgpMYXN0bHksIHdl IGhhdmUgdGhlIHdvcmQgJyduaScnLCB0aGUgZGVmaW5pdGlvbiBvZiB3aGljaCBpcyBtdWNoIGNv bnRlc3RlZCBhbmQgZGlzY3Vzc2VkIGFtb25nIExvamJhbmlzdHMuIEF0IGxlYXN0IHR3byBzbGln aHRseSBkaWZmZXJlbnQgbWVhbmluZ3MgY2FuIGJlIGNvbnZleWVkIHdpdGggJyduaScnLCBwb3Nz aWJseSBtb3JlLCBhbmQgaXQgaGFzIG5vdCBiZWVuIHNldHRsZWQgd2hpY2ggb25lIGlzIHRoZSBj b3JyZWN0IHVzZSBvZiAnJ25pJycuIExldCdzIGZpcnN0IHNlZSBob3cgdGhlIHdvcmQgaXMgZ2xv c3NlZDoKCl9fJyduaScnX18geDEgaXMgdGhlIHF1YW50aXR5IG9mIEJSSURJIGFzIG1lYXN1cmVk IGF0IHNjYWxlIHgyCgpVbmxpa2UgdGhlIHgxIG9mICcnamVpJycsIHRoZSB4MSBvZiAnJ25pJycg X19pc19fIHVzZWZ1bCB0byB0cmVhdCBhcyBhIG51bWJlci4gVGhlIGRpc2N1c3Npb24gYXJpc2Vz IGJlY2F1c2UgaXQncyBwb3NzaWJsZSB0byBxdWFudGlmeSBicmlkaSBpbiBzZXZlcmFsIHdheXMu IFRoZSBmb2xsb3dpbmcgZm91ciBleGFtcGxlcyBzaG93IHR3byBkaWZmZXJlbnQgd2F5czoKCl9f Jyd4YW1zaScnX18geDEgaXMgdGhlL2Egc2VhL29jZWFuIG9mIHBsYW5ldCB4MiBtYWRlIG9mIGZs dWlkIHgzCgpfXycnY2VuYmEnJ19fIHgxIHZhcmllcyBpbiBwcm9wZXJ0eS9hbW91bnQgeDIgYnkg YW1vdW50L2RlZ3JlZSB4MyB1bmRlciBjb25kaXRpb25zIHg0CgonJ2xlIHhhbXNpIGN1IGNlbmJh IGxlIG5pIGNlJ3UgYmxhbnUnJyAtICJUaGUgb2NlYW4gdmFyaWVzIGluIGJsdWVuZXNzIiAobWVh bmluZyB0aGF0IGl0IG1pZ2h0IGJlIGxlc3Mgb3IgbW9yZSBibHVlLCBjb250cmFzdCB3aXRoICcn bGUgeGFtc2kgY3UgY2VuYmEgbGUga2EgY2UndSBibGFudScnLCB3aGljaCBtZWFucyB0aGF0IGl0 IHZhcmllcyBpbiB3aGV0aGVyIGl0J3MgYmx1ZSBvciBub3QpCgonJ21pIHptYWR1IGRvIGxvIG5p IHBlbmRvIGNlJ3UnJy0gIkkgaGF2ZSBtb3JlIGZyaWVuZHMgdGhhbiB5b3UiCgpXaGVyZSB0aGUg Zmlyc3QgZXhhbXBsZSB1c2VzIG5pIHRvIHF1YW50aWZ5IGhvdyBtdWNoIGFuIG9iamVjdCBpcyBj aGFyYWN0ZXJpemVkIGJ5IGEgc2VsYnJpLCBhbmQgdGhlIHNlY29uZCBleGFtcGxlIHF1YW50aWZp ZXMgaG93IG1hbnkgeCBpcyBjaGFyYWN0ZXJpemVkIGJ5IGEgc2VsYnJpLgoKVGhpcyBpcywgb2Yg Y291cnNlLCBhIHByb2JsZW0gdG8gYSBsYW5ndWFnZSBsaWtlIExvamJhbiwgd2hpY2ggcHJpZGVz IGl0c2VsZiB3aXRoIHVuYW1iaWdpdXR5LiBUaGlzIHByb2JsZW0gaGF2ZSBub3QgYmVlbiBzb2x2 ZWQgeWV0LCBhbmQgc28gYXMgb2Ygbm93LCB3ZSBhcmUgc3R1Y2sgd2l0aCAnJ25pJycgaGF2aW5n IGR1YWwgbWVhbmluZ3MuICAKClRoZXJlIGlzIGFsc28gc2xpZ2h0IGRpc2FncmVlbWVudCBhYm91 dCB3aGF0IGl0IG1ha2VzIHNlbnNlIHRvIHF1YW50aWZ5LCB0aG91Z2ggdGhpcyBpcyBhIHBoaWxv c29waGljYWwgcmF0aGVyIHRoYW4gbGluZ3Vpc3RpYyBkZWJhdGUuIFNvbWUgdGV4dHMgc3RyZXNz IHRoYXQgdGhvc2UgdGhpbmdzIHdoaWNoIGFyZSBub3QgZWFzaWx5IHF1YW50aWZpYWJsZSBsaWtl ICcnbGUgbmkgbWkgdHVuYmEgZG8nJywgdGhlIGFtb3VudCBvZiBtZSBiZWluZyB5b3VyIHNpYmxp bmcsIG1ha2VzIG5vIHNlbnNlIGkgYSAnJ25pJyctY29uc3RydWN0LiBGb3Igb3RoZXJzIHRoaXMg aXMgYSBwZXJmZWN0bHkgcmVhc29uYWJsZSB0aGluZyB0byBzYXksIGV2ZW4gdGhvdWdoIGFjdHVh bGx5IG1lYXN1cmluZyBpdCBpcyBub3QgcHJhY3RpY2FsLCBzaW1pbGFybHkgdG8gdGhlIEVuZ2xp c2ggcXVhbnRpZmljYXRpb24gb2YgbG92ZSBpbiB0aGUgc2VudGVuY2UgIkkgZGlkbid0IGtub3cg aG93IG11Y2ggSSBsb3ZlZCB5b3UgdW50aWwgbm93Ii4KCkJvdGggJydrYScnIGFuZCAnJ25pJycg YWx3YXlzIGhhcyBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJ2NlJ3UnJy4KCgoKISEhRW5kIG9m IGxlc3NvbnMKClNvcnJ5LCBidXQgYXMgb2Ygbm93LCB0aGVyZSBhcmUgbm8gbW9yZSBsZXNzb25z IGluIHRoaXMgc2VyaWVzLiBQZXJoYXBzIG1vcmUgd2lsbCBiZSBhZGRlZCBsYXRlci4gVGhlc2Ug bGVzc29ucyBhcmUgc3RpbGwgdW5kZXIgY29uc3RydWN0aW9uLCBhbmQgYW55IGNvbW1lbnRzIG9y IHN1Z2dlc3Rpb25zIHdpbGwgYmUgdmVyeSBtdWNoIHdlbGNvbWUuCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlz dApXaWtpbmV1cm90aWNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4v bGlzdGluZm8vd2lraW5ldXJvdGljCg==