Received: from localhost ([::1]:47309 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UAkgW-0001PM-P2; Wed, 27 Feb 2013 09:20:55 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:47457 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UAkgO-0001PF-B5 for wikichanges@lojban.org; Wed, 27 Feb 2013 09:20:51 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 27 Feb 2013 09:20:44 -0800 From: "Apache" Date: Wed, 27 Feb 2013 09:20:44 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by gleki at 17:20 UTC Comment: pro-bridi > brika'i You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 133386 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMTc6 MjAgVVRDCkNvbW1lbnQ6IHByby1icmlkaSA+IGJyaWthJ2kKCllvdSBjYW4gdmlldyB0aGUgcGFn ZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dh dmVsZXNzb25zY29udGludWVkCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZp b3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9qYmFuLm9y Zy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxlc3NvbnNjb250aW51ZWQmY29t cGFyZT0xJm9sZHZlcj00OCZuZXd2ZXI9NDkKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNp b24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2Ug dGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKwpAQCAtTGluZXM6IDU5OC02MDIgY2hhbmdlZCB0byArTGluZXM6IDU5OC02 MDIgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSsKJyd4dScnIHdvcmtzIGxpa2UgYW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRo YXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQgYXBwbGllcyB0byB0aGUgcHJlY2VkaW5nIHdv cmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJhbnNmb3JtcyB0aGUgc2VudGVuY2UgaW50byBh IHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBpcyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8g YWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUgYnJpZGk6CicneHUgdmUndSB6ZGFuaSBkbycn ICcnLmkgdmUndSB6ZGFuaSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmks IHdoaWNoIGlzIHRoZSBicmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6 ICcnemRhbmknJy4KLSBUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5n IHByby1icmlkaXMsIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFu c3dlciBubyBvciBmYWxzZSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRl ZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0 byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KKyBUaGVyZSBpcyBhbiBldmVuIGVhc2llciB3 YXkgdG8gYWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxlIGZvciBhbm90 aGVyIHRpbWUuIFRvIGFuc3dlciBubyBvciBmYWxzZSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0 aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3 ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcgYnkgdGhlbi4KClRoZSBvdGhlciBr aW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24g d29yZCB0byBiZSByZXBsYWNlZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlk aSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9u IHdoYXQgeW91IGFyZSBhc2tpbmcgYWJvdXQ6CgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBm b2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZlIExlc3NvbnMgQ29udGludWVkOgoKISEhTWFk ZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJpb3VzIGxvamJhbmlzdHMuIEJhc2VkIG9u IHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcgMjAxMy4KCgoKISFsZXNzb24gemVybzog Rm9yZXdvcmQKClRoZXNlIGxlc3NvbnMgYXJlIGFuIGF0dGVtcHQgdG8gZXhwYW5kIG9uIHRoZSBH b29nbGUgV2F2ZSBMZXNzb25zLCBhbiBleGNlbGxlbnQgTG9qYmFuIHR1dG9yaWFsIGJ5IGtyaWJh Y3IsIHhhbGJvLCBhbmQgb3RoZXJzLCB3aGljaCBzYWRseSBvbmx5IGNvdmVyZWQgdGhlIGZpcnN0 IGZvdXIgY2hhcHRlcnMgaW4gdGhpcyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50cyB0aGUgbmV3ZXN0 IHJ1bGVzIG9mIExvamJhbiBub3QgY292ZXJlZCBieSBvbGRlciBtYXRlcmlhbHMgc3VjaCBhcyBX aGF0IGlzIExvamJhbj8gYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzLgoKCgpJZiB5b3UgYXJlIG5l dyB0byBMb2piYW4sIEkgcmVjb21tZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3JkaW5ncyB5b3Ug Y2FuIGZpbmQgb2Ygc3Bva2VuIExvamJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUgeW91IGFyZSB0 YWtpbmcgdGhpcyB0dXRvcmlhbCwgaW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBmYW1pbGlhciB3 aXRoIHRoZSBzb3VuZHMgYW5kIHdvcmRzIG9mIHRoZSBsYW5ndWFnZSwgd2hpY2ggd2lsbCBub3Qg YmUgZXhwbGFpbmVkIGhlcmUuIEZ1cnRoZXJtb3JlLCB0cnkgdG8gc2F5IHRoZSB0aGluZ3MgeW91 IHJlYWQgaW4gTG9qYmFuIGFjY2VudCBpZiBpdCdzIHJlYXNvbmFibHkgcHJhY3RpY2FsLiBUaGlz IGNhbiBoZWxwIHlvdXIgcHJvbnVuY2lhdGlvbiBhIGxvdC4KCgoKV2hlbiB0YWtpbmcgdGhpcyB0 dXRvcmlhbCwgaXQncyBiZXN0IHRvIHBhdXNlIGJldHdlZW4gbGVzc29ucyBpbiBvcmRlciB0byBp bnRlcm5hbGl6ZSB3aGF0IHlvdSBoYXZlIGxlYXJudC4gSSBoYXZlIGF0dGVtcHRlZCB0byBidWls ZCB0aGVzZSBsZXNzb25zIGZyb20gdGhlIGJvdHRvbSB1cCBhbmQgZXhjbHVkZSBhbnkgd29yZHMg b3IgY29uY2VwdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGV4cGxhaW5lZCBpbiBwcmV2aW91cyBsZXNz b25zLiBPbmNlIGV4cGxhaW5lZCwgdGhleSBhcmUgdXNlZCBmcmVlbHkgdGhyb3VnaG91dCB0aGUg cmVtYWluZGVyIG9mIHRoZSB0dXRvcmlhbC4gSSB1cmdlIHJlYWRlcnMgbm90IHRvIHBhc3MgYW55 IG1pc3VuZGVyc3Rvb2QgY29udGVudDsgaWYgeW91IGhhdmUgcXVlc3Rpb25zIG9yIGFyZSB1bmNl cnRhaW4gYWJvdXQgc29tZXRoaW5nLCBmZWVsIGZyZWUgdG8gYXNrIHRoZSBMb2piYW4gY29tbXVu aXR5LCB3aGljaCBjYW4gYmUgZm91bmQgaW4gI2xvamJhbiBvbiB0aGUgRnJlZW5vZGUgSVJDIG5l dHdvcmsuIFRoZXkgd2lsbCBiZSBoYXBweSB0byBoZWxwLgoKCgpJbiB0aGlzIHR1dG9yaWFsLCBM b2piYW4gdGV4dCBpcyB3cml0dGVuIGluICcnaXRhbGljcycnLiBMYXRlciwgd2hlbiB1c2VkIGFz IExvamJhbiBsb2Fud29yZHMgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHRoZXkgYXJlIG5vdCBtYXJr ZWQuIEFuc3dlcnMgdG8gZXhlcmNpc2VzIGFyZSBkaXNwbGF5ZWQgYXMgYSBncmV5IGJhci4gSGln aGxpZ2h0IHRoZSB0ZXh0IGluIG9yZGVyIHRvIHNlZSBpdC4KCgoKTGFzdGx5LCBJIGhhdmUgYXMg ZmFyIGFzIHBvc3NpYmxlIGF0dGVtcHRlZCB0byB1c2UgdGhlIExvamJhbiB3b3JkcyBmb3IgZ3Jh bW1hdGljYWwgY29uc3RydWN0czogJydzdW1rYSdpJycgaW5zdGVhZCBvZiBwcm8tc3VtdGksICcn c3VtdGNpdGEnJyBpbnN0ZWFkIG9mIG1vZGFsIGFuZCBqdWZyYSBpbnN0ZWFkIG9mIHV0dGVyYW5j ZS4gVGhpcyBpcyBiZWNhdXNlIEkgZmVlbCB0aGUgRW5nbGlzaCB3b3JkcyBhcmUgb2Z0ZW4gZWl0 aGVyIGFyYml0cmFyeSwgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSBqdXN0IG1vcmUgd29yZHMgdG8g bGVhcm4sIG9yIG1pc2xlYWRpbmcsIGluIHdoaWNoIGNhc2UgdGhleSBhcmUgd29yc2UgdGhhbiB1 c2VsZXNzLiBJbiBlaXRoZXIgY2FzZSwgYXMgbG9uZyBhcyB0aGUgd29yZHMgYXJlIHNwZWNpZmlj IHRvIHRob3NlIHdobyBhcmUgbGVhcm5pbmcgTG9qYmFuIGFueXdheSwgdGhlcmUgaXMgbm8gcmVh c29uIGZvciB0aGVtIHRvIGV4aXN0IGFzIHNlcGFyYXRlIEVuZ2xpc2ggd29yZHMuCgoKCgoKISFM b2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2Vs YnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRl cmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bv c2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBz dGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBz b21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNo IGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0 aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQg YSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhp bmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZh bHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZl IHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2Fz IHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNl IGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4g b2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNp YW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90 IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMg ZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRv IGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkg aGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0 aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxO bywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu 4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTox LCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBj b250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExv amJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBv ciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJv dXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGlu IGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFu c2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5v dCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhp bmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24g d291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9i amVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMg d2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0 ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUg b3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUg c3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5 IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6 CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKA nSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgc2l4 dGVlbiBuZXcgc2hpcnRzIGZyb20gTGVhJkxldnkncyBmb3IganVzdCB0d28gaHVuZHJlZCBldXJv IeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9y KeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnHNpeHRlZW4gbmV3IHNoaXJ0c+KAnSwg4oCcTGVhJkxl d2lz4oCdIGFuZCDigJx0d28gaHVuZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRoZXNlIGNvbmNl cHRzIGFyZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0aGlyZCBleGFt cGxlOiDigJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0aGUgYW1vdW50 IG9mIHN1bHBodXIgZGlveGlkZSBpbiB0aGUgYWlyLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQQeKAnSwg4oCc bm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUgaW4gdGhlIGFp cuKAnX5+CgoKCk5vdyB0cnkgYmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9yIHRoaXMgeW91 IHdpbGwgbmVlZCB0byB1c2Ugc29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzZWxicmk6Cgon J19fZHVuZGFfXycnIHgxIGdpdmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQpCgonJ19fcGVs eHVfXycnIHgxIGlzIHllbGxvdwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUgb2YgeDIKCgoK Tm90aWNlIHRoYXQgdGhlc2Ugd29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5ZWxsb3figJ0g YW5kIOKAnGhvbWXigJ0gd291bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFkamVjdGl2ZSBh bmQgYSBub3VuIGluIEVuZ2xpc2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1Y2ggY2F0ZWdv cmllcyBhbmQgbm8gc3VjaCBkaXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0cmFuc2xhdGVk IOKAnGdpdmVz4oCdICh2ZXJiKSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKAnGlzIGdpdmlu Z+KAnSAoYWRqZWN0aXZlKSBhcyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBUaGV5IGFsbCBh Y3QgYXMgc2VsYnJpLCBhbmQgYXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpBcyB3ZWxsIGFz IGEgZmV3IHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18nJyDigJxJ4oCd IG9yIOKAnHdl4oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtpbmcuCgonJ19f dGlfXycnIOKAnHRoaXPigJ0g4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVhcmJ5IHdoaWNo IGNhbiBiZSBwb2ludGVkIHRvIGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDigJx5b3XigJ0g 4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoKClNlZSB0aGUg c3RyYW5nZSB0cmFuc2xhdGlvbnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVjaWFsbHkgdGhl IHgxLCB4MiBhbmQgeDM/IFRob3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBUaGV5IGFyZSBw bGFjZXMgd2hlcmUgc3VtdGkgY2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGluZyBhIHN1bXRp IGluIGEgcGxhY2Ugc3RhdGVzIHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBwbGFjZS4gVGhl IHNlY29uZCBwbGFjZSBvZiAnJ2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMgdGhlIHRoaW5n IGJlaW5nIGdpdmVuLiBUaGUgdGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNlaXZlcyB0aGUg dGhpbmcuIE5vdGljZSBhbHNvIHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVuZGEnJyBoYXMg dGhlIHdvcmQg4oCcdG/igJ0gaW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUgdGhpcyB3b3Jk IGlzIG5lZWRlZCBpbiBFbmdsaXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0aGUgcmVjZWl2 ZXIgaXMgaW4gdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28gd2hlbiB5b3Ug ZmlsbCB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3VtdGkgeW91IGZp bGwgaW4gaXMgYWx3YXlzIHRoZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVkIGFuIGVxdWl2 YWxlbnQgdG8gdGhlIHdvcmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5b3Ugc2ltcGx5 IHNheSB0aGUgeDEgc3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBhbnkgb3RoZXIg c3VtdGkuCgpVc3VhbCBicmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gyIHN1bXRpfSB7 eDMgc3VtdGl9IHt4NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhlIG9yZGVyIGNh biBiZSBwbGF5ZWQgYXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3aXRoIHRoZSB1 c3VhbCBmb3JtLiBUbyBzYXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBqdXN0IHNheSAn J21pIGR1bmRhIHRpIGRvJycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSByaWdodCBwbGFj ZXMuCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBvZiBtZeKAnT8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkgYSBmZXcgbW9y ZSBpbiBvcmRlciB0byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUgc2luayBpbi4K CgoK4oCcWW91IGdpdmUgdGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2Rv IGR1bmRhIHRpIG1pJyd+fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVhc3kgb25jZSB5 b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkgYWZ0ZXIgZWFj aCBvdGhlciBhcmUgc2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2piYW4gZXF1aXZh bGVudCBvZiBmdWxsIHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJyaWRpIGluc3Rl YWQgb2YgYWZ0ZXIgdGhlbS4gSXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0IGJy aWRpLCB0aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycgU2VudGVu Y2Ugc2VwYXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBhbHNv IGJyaWRpKS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlzIGEgaG9t ZSB0byBtZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0aGUg bmV4dCBsZXNzb24sIEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3IgYXQgbGVh c3Qgc2V2ZW4gbWludXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoKISFM b2piYW4gTGVzc29ucyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0IHNlbGJyaSBo YXZlIGZyb20gb25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZlIG1vcmUuIEhl cmUgaXMgYSBzZWxicmkgd2l0aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNudV9fJycgeDEg c2VsbHMgeDIgdG8geDMgZm9yIHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg4oCcSSBzZWxs IHRoaXPigJ0sIGl0IHdvdWxkIGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0aGUgc3VtdGkg cGxhY2VzIHgzIGFuZCB4NCwgd2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0aGluZyB0bywg YW5kIGZvciB3aGF0IHByaWNlLiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1bXRpIHBsYWNl cyBjYW4gYmUgZmlsbGVkIHdpdGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRlcyB0byB1cyB0 aGF0IHRoZSB2YWx1ZSBvZiB0aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQgYmVjYXVzZSBp dCdzIHVuaW1wb3J0YW50IG9yIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4dC4KCicnX196 bydlX18nJyDigJxzb21ldGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0aGlu ZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwgdG8geW91 4oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJIHNlbGwgc29t ZXRoaW5nIHRvIHlvdSBmb3Igc29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxUaGF0 J3MgYSBob21lIChmb3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3Rp IHpkYW5pIHpvJ2UnJ35+CgoKCkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMgdGhpcyB0byAo c29tZW9uZSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRhIHRpIHpvJ2Un J35+CgoKClN0aWxsLCBmaWxsaW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5IHRoYXQgYSB0 aGluZyBpcyBiZWluZyBzb2xkIHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9uJ3QgbmVlZCB0 byB3cml0ZSBhbGwgdGhlICcnem8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0 aGF0IGlmIHlvdSBsZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBh cyBpZiB0aGV5IGNvbnRhaW5lZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lucyB3aXRoIGEg c2VsYnJpLCB0aGUgeDEgaXMgcHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQgYmVjb21lcyAn J3pvJ2UnJy4KClRyeSBpdCBvdXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRh bmkgbWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhv bWUgb2YgbWXigJ0gb3IganVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25l ZCBlYXJsaWVyLCB0aGUgZm9ybSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRpfSB7c2VsYnJp fSB7eDIgc3VtdGl9IHt4MyBzdW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4gcGxhY2UgdGhl IHNlbGJyaSBhbnl3aGVyZSB5b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lubmluZyBvZiB0 aGUgYnJpZGkuIElmIHlvdSBkbyB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBsZWZ0IG91dCBh bmQgZmlsbGVkIHdpdGggJyd6bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0aHJlZSBq dWZyYSBhcmUgYWxsIHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRpIGRvJycK CicnbWkgdGkgZHVuZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1lcyB0aGlz IGlzIHVzZWQgZm9yIHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNvdWxk IGJlICcnZG8gZG8gdmVjbnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8gdmVjbnUg ZG8nJy4gT3IgaXQgY2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2ZXJ5 IGxvbmcgYW5kIHRoZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBicmlk aS4KCgoKVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGggdGhl IG9yZGVyIG9mIHRoZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUgaXMg YnkgdXNpbmcgdGhlIHdvcmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQgJydm dScnLiBOb3RpY2UgdGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhlIExv amJhbiBhbHBoYWJldCBpbiBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1hcmtzIHRo YXQgdGhlIG5leHQgc3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUgcmVz cGVjdGl2ZWx5LiBUaGUgbmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQgdG8g ZmlsbCBhIHNsb3Qgb25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBleGFt cGxlOgoKJydkdW5kYSBmYSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91IG9mIHRo aXMgdGhpbmcgdG8geW914oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdoaWNo IGlzIHlvdS4gJydmZScnIG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBTdW10 aSBjb3VudGluZyB0aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0IHRoZSBs YXN0IHN1bXRpIGZpbGxzIHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0byB0 cmFuc2xhdGUgdGhlIGZvbGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUgZm8g dGkgZmUgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBwcmlj ZSBvZiB0aGlzLCB5b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0aGlz 4oCdIChwcm9iYWJseSBwb2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicnemRhbmkg ZmUgdGknJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4gSGVy ZSwgdGhlIGZlIGlzIHJlZHVuZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkgZmEgZG8nJwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3IgdGhp cyBwcmljZeKAnX5+CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0YW5y dSBhbmQgbG8pCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdpdGgg dGhlIGNvbmNlcHQgb2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBzZWxi cmkgaXMgcHV0IGluIGZyb250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1lYW5p bmcuIEEgdGFucnUgaXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBvdGhl ciBzZWxicmkgb3IgdGFucnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6ZGFu aSB2ZWNudScnIGlzIGEgdGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUnJywg d2hpY2ggaXMgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBzaW5n bGUgYnJpdmxhIHdvcmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHRh bnJ1LCBjb25zaWRlciB0aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRyZWXi gJ0uIElmIHlvdSBkaWRuJ3Qga25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1dCBoYWQgaGVh cmQgYWJvdXQgYm90aCBsZW1vbnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJlIGFibGUgdG8g ZGVkdWNlIHdoYXQgYSBsZW1vbiB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNvbG9yZWQgdHJl ZSwgb3IgYSB0cmVlIHNoYXBlZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9zZSBiYXJrIHRh c3RlcyBsaWtlIGxlbW9uLiBUaGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cgZm9yIHN1cmUg d291bGQgYmUgdGhhdCBpdCB3b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBiZSBsZW1vbi1s aWtlIGluIHNvbWUgd2F5LgoKQSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0byB0aGlzLiBJ dCBjYW5ub3QgYmUgc2FpZCBleGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251JycgaXMsIGJ1dCBp dCBjYW4gYmUgc2FpZCB0aGF0IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5kIHRoYXQgaXQn cyB6ZGFuaS1saWtlIGluIHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlrZSBpbiBh bnkgd2F5LiBJbiB0aGVvcnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRoZSBjb25u ZWN0aW9uIHRvIHpkYW5pIHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pkYW5pIHZl Y251JycuIEhvd2V2ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUgb3JkaW5h cnkgc2Vuc2UgaW4gb3JkZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxkIGdsb3Nz ICcnemRhbmkgdmVjbnUnJyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0ZXIgYnV0 IHdvcnNlIHNvdW5kaW5nIOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBsYWNlIHN0 cnVjdHVyZSBvZiBhIHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qgc2VsYnJp LiBJdCdzIGFsc28gc2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUgcmlnaHQg c2VsYnJpLgoK4oCcUmVhbGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0IGRvZXNu J3QgbWF0dGVyIGhvdyBzaWxseSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3b3JkIGluIGEg dGFucnUgaXMsIGl0J3Mgc3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBzZWxsZXJzIGZv ciAnJ3pkYW5pIHZlY251JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4Y3VzZSB3aHkg SSB0aGluayBpdCdzIHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW91J2QgYmUg YSBkaWNrLiBPciBhdCBsZWFzdCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xlYWRpbmcuIElu IGdlbmVyYWwsIHlvdSBzaG91bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlvdXMgaG93IHRo ZSBsZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRl IHRoZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBkb24ndCBr bm93IGluIHdoaWNoIHdheSBpdCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWludGVkIHllbGxv dywgYnV0IHdlIGRvbid0IGtub3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBkdW5kYScnCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hhdCBjYW4gdGhh dCBtZWFuPyBObyBpZGVhLiBJdCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQgeW91IHNvbGQg c29tZXRoaW5nLCBzaW5jZSwgYnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJlIGNhbiBi ZSBubyBwYXltZW50IGludm9sdmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0IGJlIHNl bGwtbGlrZSBpbiBzb21lIGFzcGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxl dGVseSBkaWZmZXJlbnQuIFdoYXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdlcm1h bj8KCicnX19kb3Rjb19fJycgeDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJlIGlu IGFzcGVjdCB4MgoKCgpJIGNhbid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28nJyBiZWNhdXNl IHRoYXQgd291bGQgbGVhdmUgdHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBpcyBub3QgcGVy bWl0dGVkLiBJIGNvdWxkIHNheSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQgd291bGQgYmUg dW5uZWNlc3NhcnkgdmFndWUgLSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5LiBMaWtld2lz ZSwgaWYgSSB3YW50IHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbuKAnSwg d2hhdCBzaG91bGQgSSBzYXk/CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5kIG9mIHgyCgon J19fbWVya29fXycnIHgxIGlzIEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBpbiBhc3BlY3Qg eDIKCgoKQWdhaW4sIHRoZSBvYnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBlbmRvIG1lcmtv JycsIGJ1dCB0aGF0IHdvdWxkIGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFtIGZyaWVuZC1s aWtlIEFtZXJpY2Fu4oCdLCB3aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkgd2FudCB0byBp cyB0byB0YWtlIHRoZSBzZWxicmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIHN1 bXRpIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBUaGlzIGlzIGRv bmUgYnkgdGhlIHR3byB3b3JkcyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycnX18g4oCTIGdl bmVyaWMgYmVnaW4gY29udmVydCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFjdHMgeDEgb2Yg c2VsYnJpIHRvIHVzZSBhcyBzdW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252ZXJ0IHNlbGJy aSB0byBzdW10aSBwcm9jZXNzLgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJpIGJldHdlZW4g dGhlc2UgdHdvIHdvcmRzLCBhbmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4gZmlsbCB0aGUg eDEgb2YgdGhhdCBzZWxicmkgYW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNvIGZvciBpbnN0 YW5jZSwgdGhlIHRoaW5ncyB0aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUgb25seSB0aGlu Z3Mgd2hpY2ggYXJlIGhvbWVzIG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1JycgbWVhbnMg 4oCcYSBob21lIG9yIHNvbWUgaG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFybHksIGlmIEkg c2F5IHRoYXQgc29tZXRoaW5nIGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxvdy4gU28gJyds byBwZWx4dSBrdScnIHJlZmVycyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91IGhhdmUg dGhlIG5lY2Vzc2FyeSBncmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3 aXRoIGFuIEFtZXJpY2FuLuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwZW5k byBsbyBtZXJrbyBrdScnfn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhlICcna3Un JyBpcyBuZWNlc3NhcnkuIFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhpcyB0 byBtZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUgdGkgbWkn JyBJZiB5b3UgbGVhdmUgb3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0IHNp bXBseSB0aHJlZSBzdW10aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlkaSwgdGhl IHRpIGlzIGZvcmNlZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBmb3Jj ZWQgdG8gY2xvc2UgYW5kIGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBvZiAnJ2xv IGRvdGNvIHZlY251IHtrdX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFsd2F5cyBo YXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVseHUnJy4g SWYgdGhlICcna3UnJyBpcyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRvZXMgbm90 IGVuZCwgYW5kIGl0IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0YW5y dSAnJ3pkYW5pIHBlbHh1JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoKCgoKCiEh TG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90aGVyIGNv bmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBpcyB0aGF0 IG9mIGF0dGl0dWRpbmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJlc3MgZW1v dGlvbnMgZGlyZWN0bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVkIGluIHRo ZSBmZW1pbmlzdCBjb25zdHJ1Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRseSB0byBlbmFi bGUgdHJ1ZSBmZW1hbGUgZW1vdGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFsZSBlbW90aW9u YWwgZXhwcmVzc2lvbiB3YXMgaGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFuZ3VhZ2UsIGFu ZCBpZiBvbmx5IHRoZXkgd2VyZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZyZWVseSwgdGhp cyB3b3VsZCBlbXBvd2VyIHdvbWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUgbGFuZ3VhZ2Uu CgpJbiBMb2piYW4sIHRoZXJlIGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1ZGluYWxzIG1v c3QgcHJvYmFibHkgaGF2ZSBiZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdlIGJlY2F1c2Ug dGhleSB0dXJuZWQgb3V0IHRvIGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNlZnVsLiBUaGV5 IGFsbCBoYXZlIGEgc28tY2FsbGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5 IGNhbiBhcHBlYXIgYWxtb3N0IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0IGRpc3J1cHRp bmcgdGhlIGJyaWRpJ3MgZ3JhbW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4KCklu IExvamJhbiBncmFtbWFyLCBhbiBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91cyB3 b3JkLiBJZiB0aGF0IHByZXZpb3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNvbnN0 cnVjdCAobGlrZSAnJy5pJycgb3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50aXJlIGNv bnN0cnVjdC4gTGlrZXdpc2UsIGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3aGlj aCBlbmRzIGEgY29uc3RydWN0IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRlZCBj b25zdHJ1Y3QuCgoKCkxldCdzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNvbWUgZXhh bXBsZXM6CgpfXycnLnVpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGhh cHBpbmVzcyAtIHVuaGFwcGluZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFsOiBldmlkZW50 aWFsOiBJIGRpcmVjdGx5IG9ic2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZpbml0aW9uIG9m ICcnLnVpJycsIHRoZXJlIGFyZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5lc3MgYW5kIHVu aGFwcGluZXNzLiBUaGlzIG1lYW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFzIGhhcHBpbmVz cywgd2hpbGUgaXRzIOKAnG5lZ2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g4oCcTmVnYXRp b27igJ0gbWlnaHQgYmUgdGhlIHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHksIHRoZSBvdGhl ciBkZWZpbml0aW9uIG9mICcnLnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcnLnVpIG5haScn LiBNb3N0IG9mIHRoZSB0aW1lLCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0aXR1ZGluYWxz IC0gdGhlIG9uZXMgc3VmZml4ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRoZSBuZWdhdGlv biBvZiB0aGUgYmFyZSBhdHRpdHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBtdWNoLgoKX18n J25haScnX18gbWlzYy4gbmVnYXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5hbHMsIGl0IGNo YW5nZXMgdGhlIG1lYW5pbmcgaW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRpb24iCgoKCkFu ZCBzb21lIG1vcmUgc2VsYnJpLCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9fJydjaXRrYScn X18g4oCTIHgxIGVhdHMgeDIKCl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFwcGxlIG9mIHN0 cmFpbi90eXBlIHgyCgoKClRoZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNlIGt1IC51aScn LCBtZWFucyDigJxZb3UgZWF0IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5IGV4cHJlc3Np bmcgdGhhdCBpdCBpcyB0aGUgX19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMgaGFwcHkgYWJv dXQsIG5vdCB0aGUgZWF0aW5nLCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3UuKSBJbiB0aGUg c2VudGVuY2UgJydkbyB6YSdhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVj dGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8gZWF0 cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1ZGlu YWwgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRlcnN0 b29kIHRvIGFwcGx5IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1cyBhcHBs eWluZyB0byB0aGUgZW50aXJlIGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBsbyBwbGlzZSBr dSBtaScnIOKAkyDigJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUg dG8gbWUh4oCdCgoKCicnbWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkgc2VsbCAo d2hpY2ggc3Vja3MhKSBhIGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBleGFtcGxl cy4gRmlyc3QsIHRob3VnaCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9fJycu dSd1JydfXyBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQgLSByZW1vcnNl bGVzc25lc3MgLSBpbm5vY2VuY2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDogY29tcGxleCBw dXJlIGVtb3Rpb246IGNvbXBsYWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18gYXR0aXR1ZGlu YWw6IG1pc2NlbGxhbmVvdXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBhdCB0 aGF0LCB0d28gd29yZHMgd2l0aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEgVGhl IG1pZGRsZSBvbmUgaXMgYWNjZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3UnaScnLiBJdCdz IGNvbnNpZGVyZWQgdGhlIG1pZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1J2knJ19fIGF0 dGl0dWRpbmFsIG1pZHBvaW50IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFsIHRvIGNoYW5n ZSB0aGUgbWVhbmluZyB0byB0aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4KCgoKVHJ5IHNh eWluZyDigJxJIGdpdmUgc29tZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUnJyBvciAnJ3pv J2UnJyBpbnN0ZWFkIG9mICcnZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVsbG93IGFw cGxl4oCdCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4dSBw bGlzZSBrdScnfn4KCgoKTGV0J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9mIGEgZGlmZmVy ZW50IGtpbmQgdG8gaWxsdXN0cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5laScnIEF0dGl0 dWRpbmFsOiBjb21wbGV4IHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlvbiAtIGZyZWVk b20uCgoKClNvLCBxdWl0ZSBlYXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKA nSBpcyAnJ21pIGR1bmRhIC5laSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMsIGFjdHVhbGx5 ISBXaGVuIHlvdSB0aGluayBhYm91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMgaXQgdGhhdCBh bGwgdGhlIG90aGVyIGF0dGl0dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3NlcyB0 aGUgc3BlYWtlcidzIGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0dWFs bHkgY2hhbmdlcyB3aGF0IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCcSSBo YXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdoZXRo ZXIgdGhlIGFwcGxlIGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVzZWQg JycudWknJywgaG93ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkgZ2F2 ZSB0aGUgYXBwbGUgYXdheSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXQncyB0 aGF0IGFsbCBhYm91dD8KCgoKVGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1ZGluYWxzIGNo YW5nZSB0aGUgY29uZGl0aW9ucyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlzIGEgc3ViamVj dCBvZiBhIG1pbm9yIGRlYmF0ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KAnSBydWxlLCB3 aGljaCBwcm9iYWJseSB3b24ndCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEgZGlzdGlu Y3Rpb24gYmV0d2VlbiDigJxwdXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3NpdGlvbmFsIGVt b3Rpb25z4oCdLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0cnV0 aCBjb25kaXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8gZXhw cmVzcyBhIHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hhbmdp bmcgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRlIGl0 IGZyb20gdGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3IgZXhw bGljaXRseSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9mIGEg YnJpZGk6CgoKCl9fJydkYSdpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5n IC0gaW4gZmFjdAoKU2F5aW5nICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0aGUgdHJ1dGgg Y29uZGl0aW9ucyB0byBoeXBvdGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IHVzaW5nIHBy b3Bvc2l0aW9uYWwgYXR0aXR1ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNoYW5nZXMgdGhl IHRydXRoIGNvbmRpdGlvbiB0byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0IHVzaW5nIHB1 cmUgYXR0aXR1ZGluYWxzLgoKCgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWluZyDigJxJIGdp dmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAnJ21p IGR1bmRhIGRhJ2kgbmFpIC5laSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcgb2YgYW4gYXR0 aXR1ZGluYWwgY2FuIGJlIHN1YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5nICcnZGFpJycu IFVzdWFsbHkgaW4gb3JkaW5hcnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMgc3Vic2NyaWJl ZCB0byB0aGUgbGlzdGVuZXIsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28uIEFsc28sIGJl Y2F1c2UgdGhlIHdvcmQgaXMgZ2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5nIG90aGVycyBl bW90aW9ucyksIHNvbWUgTG9qYmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNwZWFr ZXIgbXVzdCBzaGFyZSB0aGUgZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90aGVycy4KCl9f JydkYWknJ19fIGF0dGl0dWRpbmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0dGl0 dWRpbmFsIHRvIHNvbWVvbmUgZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAnJ3UnaSAub2kg ZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBoYXZl IGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdSdpIGRhaScn IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5ueS7igJ1+fgoK CgpBbmQgYW5vdGhlciBvbmUgdG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRvIHRyYW5zbGF0 ZSDigJxIZSB3YXMgc29ycnkgaGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5nLCB0aGF0IHRl bnNlIGlzIGltcGxpZWQgYW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg4oCcaGXigJ0g Y291bGQgYmUgb2J2aW91cyBmcm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd1 J3UgZGFpIHZlY251IGxvIHpkYW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkgb2Yg YW4gYXR0aXR1ZGluYWwgY2FuIGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBUaGVz ZSBjYW4gYmUgdXNlZCBhZnRlciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwgd2l0 aCAnJ25haScnIG9yICcnY3UnaScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIgd2hhdCBoYXBw ZW5zIHdoZW4geW91IGF0dGFjaCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNlbGJyaSwgbXVz dCBpdCdzIG1vc3RseSB1bmRlcnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFrZW5pbmcgdGhl IHNlbGJyaSBpbiBzb21lIHVuc3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3b3JkICB8IElu dGVuc2l0eSAgCgogY2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5vbmUpfCAgIFVu c3BlY2lmaWVkIChtZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVtb3Rpb24gaXMg ZXhwcmVzc2VkIHVzaW5nICcnLnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2knJ19fOiBhdHRpdHVk aW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNzCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291bGQgeW91IGV4 cHJlc3MgdGhhdCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJy51J3UgY3UnaSBydSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24g Zml2ZSAoU0UpCgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkgb2YgbW9yZSBj b21wbGV4IGNvbnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNoYW5pc20gZm9y IHJlb3JkZXJpbmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3aWxsIHNob3cs IGlzIHZlcnkgdXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10aSAodGhlIGtp bmQgb2Ygc3VtdGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNlIOKAnEkgZWF0 IGEgZ2lmdOKAnSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBnaWZ0IGlzIGFu IGFwcGxlLiBUbyB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFsIHRvIGxvb2sg dXAgYSBzZWxicmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5nLiBIb3dldmVy LCBpZiBvbmUgbG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywg eDEgZ2l2ZXMgeDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAnJ2R1bmRhJycg aXMgc29tZXRoaW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0aGF0IHNlbnRl bmNlLCB3ZSBjYW4ndCBzYXkgJydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBiZWNhdXNlICcnbG8g ZHVuZGEga3UnJyB3b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGljaCBpcyBhIGRvbm9y IG9mIGEgZ2lmdC4gQ2FubmliYWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQgdG8gc2F5IHRoYXQu IFdoYXQgd2Ugd2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNlbGJyaS4KClRo aXMgaXMgb25lIGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUgd29yZCAnJ3Nl JycuIFdoYXQgJydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2ggdGhhdCB0aGUg eDEgYW5kIHgyIG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0cnVjdCBvZiAn J3NlJycgKyBzZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxicmkuIExldCdz IHRyeSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKAnHgxIHRy YW5zbGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJlc3VsdCBv ZiB0cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBmYW52YSB0aScn CgpUaGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcykuIE9mdGVuLCBi dXQgbm90IGFsd2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUgdHJhbnNsYXRl ZCB0byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgxIGlzIG9m dGVuIHRoZSBvYmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93biBmYW1pbHkg b2Ygd29yZHMuIEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0aGUgeDEu Cgp8fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dhcCB4MSBh bmQgeDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5kIHggYXJl IGNvbnNlY3V0aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4KCgoKU286IFVz aW5nIHRoaXMga25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGknJyBtZWFuPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0aGlz4oCd IChvciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFtaWx5IGNhbiBv ZiBjb3Vyc2UgYmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRoZSByZXN1 bHQgY2FuIGJlIHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFrZSBpdCBz bzoKCl9fJydrbGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4MyB2aWEg eDQgdXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1IGxvIHpkYW5pIGt1 IHRlIGtsYW1hIGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxvIHpkYW5p IGt1JycgYW5kIHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcndGkga2xhbWEg ZG8gbWkgbG8gemRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1lIHZpYSBh IGhvbWUu4oCdIE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRlbmNlIGV4 Y2VwdCB0byBjb25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVuZGVyc3Rh bmRpbmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21lIHRvIHRoZSBw b2ludCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBleGNoYW5n ZSB0aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8gYmUgeDEs IHRoZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4gU28sIGhvdyB3 b3VsZCB5b3Ugc2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXksZ3JleTonJ21p IGNpdGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhlIG1hbnkgdXNl cyBmb3IgJydzZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxl c3NvbiBzaXggKGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVzc2VkIHNp bmdsZSBzZW50ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBsZXggdGhp bmdzLCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMuIEx1Y2tp bHksIHRoZXNlIGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9uZSB3b3VsZCBl eHBlY3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIHRoaXM6 IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwgdGhlIG1haW4g YnJpZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlkaSBpcyDi gJxZb3UgYXJlIG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlvbiBmb3Ig4oCc aGFwcHnigJ0sIHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCceDEgaXMgaGFw cHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUgeDIgbmVlZHMg dG8gYmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNlIG9uZSBj YW5ub3QgYmUgaGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBhYm91dCBzb21l IHN0YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBleHByZXNz IGEgc3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4MiBvZiAn J2dsZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNvbHV0aW9u LiBUaGUgd29yZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDigJxjb252ZXJ0IGJy aWRpIHRvIHNlbGJyaeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAnJ2xvJyfigKYn J2t1JycuIEV4YW1wbGU6CgpfXycnbXJvYmknbycnX18g4oCceDEgZGllcyB1bmRlciBjb25kaXRp b24geDLigJ0KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9m IHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKJydtaSBzdSd1IGRvIG1yb2Jp J28ga2VpJycg4oCTIOKAnEkgYW0geW91ciBkZWF0aOKAnS4KCkl0J3MgaGFyZCB0byBmaW5kIGdv b2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLCBhbmQgdGhlIGFib3ZlIGV4YW1wbGUgc2Vl bXMgYSBsaXR0bGUgdW5jb252aW5jaW5nLiBIb3dldmVyLCBzaW5jZSAnJ3N1J3UgQlJJREkga2Vp JycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVzaW5nICcnbG8n Jy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFt IGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpfXycncGVuZG8n J19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydt aSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoKSG93ZXZlciwgJydzdSd1 JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHByZWZlciB0byB1c2Ug dGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQgJydkdSd1JyfigKYn J2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21ldGhpbmcgZGlmZmVy ZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50 IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFzIGFuIGFic3RyYWN0IGJy aWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdodHMgb3IgdHJ1dGhz LiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVkIGFic3RyYWN0b3Jz LiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJlIHVzZWQgbXVjaC4gJydz dSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3aWxsIHdvcmsgaW4gYWxs IGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkgYWJvdXQgdGFsa2luZyB0 byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0IHN1YmplY3QgeDMg aW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBudSB0 YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4g aXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoKCgpPdGhlciBpbXBv cnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9wZXJ0eS9hc3BlY3Qg YWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVhIGFic3RyYWN0aW9uKSwg JyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcgb3RoZXJzLgoKCgpJdCBp cyBpbXBvcnRhbnQgdG8gbm90aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwg c3VtdGkgcGxhY2VzLiBBcyBhbiBleGFtcGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAn J2R1J3UnJyBpcyBkZWZpbmVkOgoKJydkdSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUg cHJlZGljYXRlL2JyaWRpIG9mIHticmlkaX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoK VGhlIG90aGVyIHN1bXRpIHBsYWNlcyBiZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJyds byBzZSBkdSd1IHticmlkaX0ga2VpIGt1JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBm b3IgaW5kaXJlY3QgcXVvdGF0aW9uOiDigJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KA nSBjYW4gYmUgd3JpdHRlbiAnJ21pIGN1c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vy a3Uga3Uga2VpIGt1JycsIGlmIHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9f JydjdXNrdScnX18geDEgZXhwcmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycn Z2Vya3UnJ19fIHgxIGlzIGEgZG9nIG9mIHJhY2UgeDIKCgoKISFMb2piYW4gbGVzc29ucyDigJMg bGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUncyBhbm90aGVyIHR5 cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVsYXRpdmUgY2xhdXNl cy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0aW9uIHRvIGEgc3Vt dGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBzZW50ZW5jZSBtYXJr ZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmdsaXNoIGRlc2NyaWJp bmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4gdHdvIGZsYXZvcnMs IGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdvIGtpbmRzIGJlZm9y ZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5kcyBhcmUgY2FsbGVk IHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50aWFsKSByZWxhdGl2 ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKAnE15IGJyb3RoZXIs IHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0gVGhpcyBjYW4gYmUg dW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwgYnJvdGhlcnMsIGlu IHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxsIGxldCB5b3Uga25v dyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdodCBoYXZlIG9ubHkg b25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5nIHlvdSBhZGRpdGlv bmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9qYmFuIHdlIGRpc3Rp bmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3QgaW50ZXJwcmV0YXRp b24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRoZSBwb3NzaWJsZSBi cm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25kIG5vbi1yZXN0cmlj dGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25lIG9mIHZvaWNlIChv ciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBkaXN0aW5ndWlzaCBi ZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJhbiB1c2VzIHRoZSBj b25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBmb3IgcmVzdHJpY3Rp dmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNwZWN0aXZlbHkuCgpM ZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28gZXhwbGFpbiBvdXIg c3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4gbGVzc29uIGZp dmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChj YW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiByZXN0cmljdGl2ZSBy ZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydrdSdvJydfXyBl bmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIHBsaXNl IGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBpcykgYW4gYXBw bGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1c3QgYWZ0ZXIgJyds byBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBUbyBiZSBzdHJpY3Qs IHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0IGlzLCB3aGljaCBp cyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBwbGllcyB0byB0aGUg Z2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpcyBtZWFucyB0aGUgZ2lmdCBpcyBhbiBh cHBsZS4gQWZ0ZXIgYWxsLCBpbiB0aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVt cyByZWFzb25hYmxlLiBJZiB3ZSB3YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0IGlu ZGVlZCB3YXMgdGhlIGdpZnQgdGhhdCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tl J2EnJywgd2hpY2ggaXMgYSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0 aGVtIGxhdGVyKSByZXByZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1 c2UgaXMgYXR0YWNoZWQgdG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBz dW10aSwgdG8gd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkg bWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5LCBJ IGVhdCBhIGdpZnQgd2hpY2ggaXMgYW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNs YXVzZXMsIGhlcmUncyBhbm90aGVyIGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVm bGVjdHMgTG9qYmFuaWMgY3VsdHVyZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2pi YW5pYy7igJ0KCgoKJydtaSBub2kgbG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g 4oCcSSwgd2hvIGFtIGEgTG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFu Z3VhZ2Uu4oCdIEhlcmUsIHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScn IGNvdWxkIHJlZmVyIHRvLCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVs eSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJl Zm9yZSAnJ25vaeKApmt1J28nJyBpcyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRyYW5z bGF0ZSB0aGlzOiDigJxJIGZsaXJ0IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5kc29t ZeKAnS4KCl9fJyduYW5tdScnX18g4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g4oCc eDEgaXMgYmVhdXRpZnVsIHRvIHgyIGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg04oCd CgpfXycnY2luamlrY2EnJ19fIOKAnHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcgc2V4 dWFsaXR5IHgzIGJ5IHN0YW5kYXJkIHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBj aW5qaWtjYSBsbyBuYW5tdSBrdSBwb2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEgbW9y ZSB0ZWNobmljYWwgc2lkZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcn bG8ge3NlbGJyaX0ga3UnJyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBrZSdh IHtzZWxicml9IGt1J28nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQg KHRlcm1pbmF0b3IgZWxpc2lvbikKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28g cG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxv IG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVf XycnCgogLSAg4oCcSSB3aXNoIHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxk IHVuZGVyc3RhbmQgdGhhdCBJIGRvbid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJk bGVzcyBvZiB3aGV0aGVyIHRoZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAo aXQgc2hvdWxkbid0LCBhcyBpdCBjb250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGlu IHRoZXNlIGxlc3NvbnMgeWV0KSBvbmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4 IExvamJhbiBzdHJ1Y3R1cmVzIGFyZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50 ZW5jZXMgZ2V0IGZpbGxlZCB3aXRoICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVy IG9mIHRob3NlIHdvcmRzIHdoaWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoK VGhlIGZ1bmN0aW9uIG9mIGFsbCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBh IGNlcnRhaW4gZ3JhbW1hdGljYWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNo IHdvcmQgZm9yIHRoaXMga2luZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2pi YW4gd29yZCBpcyAnJ2ZhJ29ybWEnbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhl IGV4YW1wbGUgYWJvdmUuCgpOb3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBh cmUgdGhlIGZhJ29ybWEnbyBmb3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVh c29uIHlvdSBoYXZlIG5vdCB5ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZh J29ybWEnbzogVGVybWluYXRlcyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4g TG9qYmFuLCBtb3N0IGZhJ29ybWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5 IHNhdmVzIHN5bGxhYmxlcyBpbiBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIs IG9uZSBtdXN0IGFsd2F5cyBiZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRo ZSBzaW1wbGUgZXhhbXBsZSAnJ2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdv cm1hJ28gJydrdScnIHdvdWxkIHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBz aW5nbGUgc3VtdGkgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0 IG1lYW5zIOKAnGFuIEFtZXJpY2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmlj YW4gdHJhdmVsc+KAnS4gZmEnb3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyBy ZXN1bHRzIGlmIGRvbmUgaW5jb3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFy bmVkIGFib3V0IGl0IHVudGlsIG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNh biBiZSBlbGlkZWQgaXMgdmVyeSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNh biBlbGlkZSBhIGZhJ29ybWEnbywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90 IGNoYW5nZSB0aGUgZ3JhbW1hdGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpN b3N0IGZhJ29ybWEnbyBjYW4gYmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlk aS4gRXhjZXB0aW9ucyBhcmUgdGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1m YSdvcm1hJ28gYW5kIOKAnGVuZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMg d2h5ICcndmF1JycgaXMgYWxtb3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBu ZXcgYnJpZGkgd2l0aCAnJy5pJycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJl Y2VkaW5nIGJyaWRpIGFueXdheS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNp bmNlIGF0dGl0dWRpbmFscyBhbHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBs eWluZyBpdCB0byBhIGZhJ29ybWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0 IHdoaWNoIGlzIHRlcm1pbmF0ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0 aXR1ZGluYWxzIGFmdGVydGhvdWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRp OgoKJyd6YSdhIGRvIGR1bmRhIGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdl JycgLSDigJxJIHNlZSB0aGF0IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJv dmUh4oCdCgpfXycncHJlbnUnJ19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0 eS4KCgoKS25vd2luZyB0aGUgYmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBj YW4gdGh1cyByZXR1cm4gdG8gdGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmlu ZyBmYSdvcm1hJ286CgoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1 bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZv J2EgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoK CldlIGNhbiBzZWUgdGhhdCB0aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVj ZXNzYXJ5LCBiZWNhdXNlIHRoZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycs IHdoaWNoIGlzIGEgc2VsYnJpLiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBl ciBicmlkaSwgJyd2YXUnJyBpcyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxi cmkgY2Fubm90IGJlIGluIHRoZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlk aSBpbiBhIGNsYXVzZSwgb25seSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxp ZGUgJydrdSdvJycuIExpa2V3aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJy aSBpbnNpZGUgdGhlIGNvbnN0cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1 JycgaXMgbm90IG5lZWRlZCBlaXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBh dCB0aGUgdmVyeSBlbmQgb2YgdGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBi ZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVj dHMgYW55d2F5LgoKV2UgdGhlbiBlbmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8g bnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUg dm8nYSBkYXJ4aSBtaScnIOKAkyB3aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxp ZGluZyBmYSdvcm1hJ28sIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAn J2N1JycuICcnY3UnJyBpcyBvbmUgb2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAo TG9qYmFuaWMpIGxpZmUgYSBsb3QgZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUg YW55IHByZXZpb3VzIHN1bXRpIGZyb20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0 IGRlZmluZXMgdGhlIG5leHQgd29yZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhh Y3RseSBhcyBtdWNoIGFzIGl0IG5lZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3Un J19fIGVsaWRhYmxlIG1hcmtlcjogc2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10 aSwgYWxsb3dzIHByZWNlZGluZyBmYSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9 IOKAnHgxIGxvdmVzIHgy4oCdCgoKCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHBy YW1pIG1pIF9fdmF1IGtlaSBrdSB2YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1 J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK 4oCcVGhhdCB5b3Ugc2F5IHRoYXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDi gJxJIHdpc2ggeW91IHNhaWQgeW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEg ZmEnb3JtYSdvLCBiZWNhdXNlIGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1 Y3QuIEJ1dCBpdCBjYW4gYmUgdXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBv ZiB0aGUgZ3JlYXRlc3Qgc3RyZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVj b21lcyBlYXN5IHRvIGludHVpdGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBu b3RoaW5nLCBidXQgaXQgcmV2ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9u cyBieSBpZGVudGlmeWluZyB0aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxl IHdpdGggdGhlIHZpb2xlbnQgQW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAn J2ppbXBlJycgZG9lcyBub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBh bnkgd2F5LCBidXQgbWlnaHQgbWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxv d2luZyBjb3VwbGUgb2YgbGVzc29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2Fy eSwgYW5kIGFsbCBmYSdvcm1hJ28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29y bWEnbyB3aWxsIGJlIGVuY2FzZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBU cnkgdG8gdHJhbnNsYXRlIGl0IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8g eDIgZm9yIHJlYXNvbiB4M+KAnQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0 IHgyIChkdSd1LWFic3RyYWN0aW9uKSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAt IEF0dGl0dWRpbmFsOiBTaW1wbGUgcHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFp cgoKCgonJ2EnbyBkbyBub2kga2UnYSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxv IGR1J3UgbG8gZmEnb3JtYSdvIHtrdX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScn CgpXaGF0IGRvIEkgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQg eW91LCBhIHByb3VkIExvamJhbmlzdCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGlt cG9ydGFudOKAnX5+CgoKCkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGlu IGZhJ29ybWEnby1lbGlzaW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVu IG11c3QgYmUgcmVtaW5kZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBh cmUgdG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2Rh eSBoYXZlIGJlZW4gZGVzaWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEn byBkamVkaScnIG9uIHRoZSBMb2piYW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBE YXksIG1hbnkgcGVvcGxlIHRyeSAoYW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcg b3V0IGFsbCBmYSdvcm1hJ28gd2l0aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFz IGEgcmVzdWx0LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEp CgpTbyBmYXIgd2UgaGF2ZSBiZWVuIGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3 ZSBoYXZlIGhhZCBhdCBoYW5kLiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2Yg ZGVmaW5lZCBzZWxicmkgb3V0IHRoZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxh Y2VzIGFyZSBub3QgdXNlZnVsIGZvciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXks IGkgd2FudCB0byBzYXkgdGhhdCBJIGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRo ZXJlIGlzIG5vIHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkg d2hhdCB0b29sIEkgdHJhbnNsYXRlIHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0 IGlzIG5vdCBuZWNlc3NhcnkuIE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRv IGFkZCBhZGRpdGlvbmFsIHN1bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBi YXNpYyB3YXkgdG8gYWRkIHN1bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3Un JyAoeWVzLCBhbm90aGVyIGV4YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFs bW9zdCBuZXZlciBuZWNlc3NhcnksIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3Ug ZXZlciBzZWUgaXQuKQoKSW4gYmV0d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwg YW5kIGxpa2UgJydsbyBTRUxCUkkga3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMg dGhlIHgxIG9mIHRoZSBzZWxicmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNF TEJSSSBmZSd1JycsIHRoZSBzZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10 aSwgYnV0IHRvIGEgJydzdW10Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRo IHRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVk LiBUaGlzICcnc3VtdGNpdGEnJyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3Vs ZCBzYXkgdGhhdCB1c2luZyBhICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNl IGZyb20gYW5vdGhlciBzZWxicmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQu CgpOb3RlOiBTb21ldGltZXMsIGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKA nHRhZ+KAnSBvciDigJxtb2RhbOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0 aG9zZSBwdW55IEVuZ2xpc2ggZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVy ZS4KCgoKV2hpbGUgaXQgaXMgaGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcg YWJvdXQgaXQsIGFuIGV4YW1wbGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNp dHk6CgpfXycnc2thbWknJ19fIOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0K Cl9fJydwaWxubycnX18g4oCceDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoK CicnbWkgZmFudmEgdGkgZmknbyBzZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9Jycg LSDigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxu bycnLCB3aGljaCBpcyB0aGUgeDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJl IGZvciBhIHRvb2wgYmVpbmcgdXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBp cyBjYXB0dXJlZCBieSAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2Vs YnJpLCBhbmQgdGhlbiBmaWxsZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRj aXRhJycgaXMgc29tZXRpbWVzIGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dp bmcgdHJhbnNsYXRpb246CgrigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRl cuKAnQoKCgpBICcnc3VtdGNpdGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBp cyBhbHdheXMgdGhlIGZvbGxvd2luZyBvbmUuIEFsdGVybmF0aXZlbHksIHRoZSAnJ3N1bXRjaXRh JycgY29uc3RydWN0IGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydrdScnLCBpbiB3aGljaCBjYXNl IGEgJyd6bydlJycgaXMgaW1wbGllZCB0byBmaWxsIHRoZSAnJ3N1bXRjaXRhJycuIE9yLCBvbmUg Y291bGQgaW1hZ2luZSBhbiBlbGlkZWQgc3VtdGkgYmVpbmcgdGVybWluYXRlZCB3aXRoIHRoZSAn J2t1JycuCgpfXycnenVrdGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlp bmcgb3V0IGFjdGlvbiB4MiBmb3IgcHVycG9zZSB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9 IGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRo IHZvbGl0aW9uLCBhIGNvbXB1dGVyIHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBz IGltcGx5aW5nIHRoYXQgYSBMb2piYW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBp dCBkb2VzIG5vdCBzcGVjaWZ5IHdobyBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhl IHByb2dyYW1tZXIgd2hvIHByb2dyYW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgoK CldoYXQgZG9lcyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiB7a3V9IGZpJ28gc2UgdGF2bGEge2Zl J3V9IG1pJycgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNv bWV0aGluZyBhYm91dCBMb2piYW4sIHNwb2tlbiB0byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcn c3VtdGNpdGEnJyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2Vs Zi10ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5v dCBzZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24s IGFzIHlvdSB3aWxsIHNlZS4KCgoKU2FkbHksICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0 ZW4gZGVzcGl0ZSBpdHMgZmxleGliaWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91 Z2gsIGFyZSBCQUkuIEJBSSBpcyBhIGNsYXNzIG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhl bXNlbHZlcyBhY3QgYXMgJydzdW10Y2l0YScnLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdl JycsIHRoZSBCQUkgZm9yICcnenVrdGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUg c2FtZSBhcyAnJ2ZpJ28genVrdGUgZmUndScnLiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3Vs ZCBiZSByZWR1Y2VkIHRvOgoKJyd6dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9q Ym8ge2t1fSB7dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBh IGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2Fu IGFsc28gYmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQg JydzZSB6dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVz dWx0cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gdGVuIChQVSwgRkFoQSwgWkksIFZBLCBaRWhBLCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8g dGhlIEVuZ2xpc2gtc3BlYWtlciBhIGxhbmd1YWdlIExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVh ZCB0aHJvdWdoIG5pbmUgbGVzc29ucyBvZiBMb2piYW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcg YSB0ZW5zZSBvbmNlLiBUaGlzIGlzIGJlY2F1c2UsIHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3Vh Z2VzIChtb3N0IEluZG8tRXVyb3BlYW4gb25lcywgZm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBp biBMb2piYW4gYXJlIG9wdGlvbmFsLiBTYXlpbmcgJydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9Jycg Y2FuIG1lYW4g4oCcSSBlYXQgY2hlZXNl4oCdIG9yIOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig 4oCcSSBhbHdheXMgZWF0IGNoZWVzZeKAnSBvciDigJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUg anVzdCBmaW5pc2hlZCBlYXRpbmcgY2hlZXNl4oCdLiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMg Y29ycmVjdCwgYW5kIGluIG1vc3QgY29udmVyc2F0aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQg YXQgYWxsLiBIb3dldmVyLCB3aGVuIGl0J3MgbmVlZGVkIGl0J3MgbmVlZGVkLCBhbmQgaXQgbXVz dCBiZSB0YXVnaHQuIEZ1cnRoZXJtb3JlLCBMb2piYW4gdGVuc2VzIGFyZSB1bnVzdWFsIGJlY2F1 c2UgdGhleSB0cmVhdCB0aW1lIGFuZCBzcGFjZSBmdW5kYW1lbnRhbGx5IHRoZSBzYW1lIC0gc2F5 aW5nIHRoYXQgSSB3b3JrZWQgYSBsb25nIHRpbWUgYWdvIGlzIG5vdCBncmFtbWF0aWNhbGx5IGRp ZmZlcmVudCB0aGFuIHNheWluZyBJIHdvcmsgZmFyIGF3YXkgdG8gdGhlIG5vcnRoLgoKTGlrZSBt YW55IG90aGVyIGxhbmd1YWdlcywgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gaXMgcGVyaGFwcyB0 aGUgbW9zdCBkaWZmaWN1bHQgcGFydCBvZiB0aGUgbGFuZ3VhZ2UuIFVubGlrZSBtYW55IG90aGVy IGxhbmd1YWdlcyB0aG91Z2gsIGl0J3MgcGVyZmVjdGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNl LiBTbyBmZWFyIG5vdCwgZm9yIGl0IHdpbGwgbm90IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4g aG93IHRvIG1vZGlmeSB0aGUgc2VsYnJpIG9yIGFueXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoK Tm8sIGluIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtLCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwg d2hpY2ggd2UgaGF2ZSBjb252ZW5pZW50bHkganVzdCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3 aXRoLiBPa2F5IG9rYXksIHRlY2huaWNhbGx5LCB0ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVu dCBmcm9tIG90aGVyIHN1bXRjaXRhLCBidXQgdGhpcyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNp Z25pZmljYW50LCBhbmQgd2lsbCBiZSB3b24ndCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIAoK VGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXQn cyBzdGFydCBhdCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpf XycncHUnJ19fIC0gc3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNp dGE6IGF0IHRoZSBzYW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBh ZnRlciB7c3VtdGl9CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJl Zm9yZeKAnSwg4oCcbm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwg b25lIGNvdWxkIGFyZ3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1 ciBleGFjdGx5IHNpbXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAn J2NhJycgZXh0ZW5kcyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFu aW5nIGp1c3Qg4oCcYWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRv bid0IHBlcmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkgbG9naWNhbCB3YXksIGFuZCB0aGUgTG9q YmFuIHRlbnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0LgoKCgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1 YWxseSBzdWdnZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3Rp Yy4gVGhhdCBpZGVhLCBob3dldmVyLCB3YXMgZHJvcHBlZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVy LWludHVpdGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0byBsZWFybiBMb2piYW4sIG9uZSB3b3Vs ZCBoYXZlIHRvIGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVsYXRpdml0eSBmaXJzdC4gIAoKCgpTbywg aG93IHdvdWxkIHlvdSBzYXkg4oCcSSBleHByZXNzIHRoaXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCd IChwb2ludGluZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY3Vza3Ug dGkgYmEgbG8gbnUgbWkga2xhbWEgdGkge3ZhdX0ge2tlaSB7a3V9IHt2YXV9Jyd+fgoKCgpVc3Vh bGx5IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZlbnQg dGhpcyBhY3Rpb24gaXMgaW4gdGhlIHBhc3QgcmVsYXRpdmUgdG8uIEluOiDigJxJIGdhdmUgYSBj b21wdXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5lZCBy ZWxhdGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkgb2Yg dGhlIHN1bXRjaXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEgbG8g c2thbWkge2t1fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7 dmF1fScnIG9yLCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkge2t1 fSB7dmF1fScnLiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGltcGxp ZWQgJyd6bydlJycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxhdGl2 ZSB0byB0aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkgaW1w b3J0YW50IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2luZyBh Ym91dCBzb21lIGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRoZSBw cmVzZW50LCBpdCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0 aXZlIHRvIHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRlciB0 byBjbGFyaWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyBj dXJyZW50IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1l LiBBbm90aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lk ZXJlZCB0aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9f JyduYXUnJ19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNl IHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScnX18g PSDigJx4MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4 M+KAnQoKCgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUg e2t1fSB7dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhh dCBJJ20gbm90IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxzbyB0 cnVlIHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBhZ28u CgoKCkFzIG1lbnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJlIHZl cnkgbXVjaCBhbGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2VzIHdp dGggdGhlc2UgZm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10Y2l0YTogbGVm dCBvZiB7c3VtdGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0K Cl9fJydyaSd1JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19fIHN1 bXRjaXRhOiBhdCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxlbnQg b2YgJydjYScnKQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90 aW9uOiBwYXRpZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQgJycubydvbmFp IHJpJ3Uge2t1fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0ge2t1 fSB7dmF1fSB7a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBrdSEp CgpfXycnZGFyeGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0IGxv Y3VzIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0IChv ZiBzb21ldGhpbmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZlbnQp LCBzb21ldGhpbmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0gb3Ig 4oCcQSBtYW4gaGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBzZXZl cmFsIHRlbnNlIHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3UgcmVh ZCB0aGVtIGZyb20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg4oCc aW1hZ2luYXJ5IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBvaW50 IGluIHRpbWUgYW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVyZSks IGFuZCB0aGVuIGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9tIGxlZnQgdG8g cmlnaHQuCgpFeGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBm YSdvcm1hJ28ge2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJIHdp bGwgYmUgYWJvdXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9IHB1 IHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBzb21l IHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEnb3Jt YSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3ZSBt b3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJvdGggY2FzZXMg aGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVyZW5j ZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwgdGhl IHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhpcyBy dWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50YWN0aWNhbCBh bWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3ZSB3 YW50IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUgYWdv LiBUaGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9ydCwg dW5zcGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0aW1l LiBOb3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMgb3Jk ZXIgYXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29ydGgg dG8gbWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMgY29u dGV4dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5ZWFy cyBpcyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcgdGlt ZSB0byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhl IHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5j ZSAKCl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0p IGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9f Jyd6dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBp biB0aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFjaWFs IGRpc3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBzaG9y dCwgdW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpfXycn dmknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBp biBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6IE9j dXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3Bh Y2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3Vycmlu ZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQgb2Yg cmVmZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVjdGl2 ZSB4M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmthIHt2 YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVyZSwg SSB3aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVseSB1 c2UgJyd6aScnLCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScnIGlu IGZyb250IG9mIGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQgdG8g c3BlY2lmeSBwYXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4geW91 IHRoaW5rIGFib3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGltZS1k aXJlY3Rpb24gaXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1b3Vz IQoKCgpUaGUgb3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5jZS1z dW10Y2l0YSBhcmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhlIG1l YW5pbmdzIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0dXJl ZCBieSBhbiBpbWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byByaWdodC4gVGh1 cyAnJ3B1IHp1JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUgcHUnJyBpcyDi gJxpbiB0aGUgcGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBsb25nIHRpbWUg dG93YXJkIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUgZmlyc3QgZXhh bXBsZSwgJydwdScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcnenUnJyB0aGVu IHRoYXQgaXQgaXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1wbGUs ICcnenUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4gdGlt ZSBmcm9tIG5vdywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0aGF0 IHBvaW50LiBUaHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcnenUgcHUnJyBj b3VsZCBiZSBpbiB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUgdGVuc2VzIGNv bWJpbmUgaW4gdGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRlbnNl IHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1bXRj aXRhIGFyZSBub3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10Y2l0 YSBpbiBhIGJyaWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxsIHRoZXNlIGNv bnN0cnVjdHMgYmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwb2ludC1saWtl IGluIHRpbWUgYW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0IG92 ZXIgYSBzcGFuIG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZldyBwYXJhZ3Jh cGhzLCB3ZSB3aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0aW1lIGFuZCBz cGFjZS4KCgoKX18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCB0 aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUg dW5zcGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScnX18gc3VtdGNp dGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdpJydf XyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoKX18n J3ZlJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVt KSBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIg dGhlIGxvbmcgc3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1lLCBJIGtub3cs IGJ1dCByZW1lbWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5IG9m IHRoZSBpbml0aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNwYWNp YWwgdGVuc2VzIG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydfXyAtIGF0dGl0 dWRpbmFsOiBwYWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUndSB7 a3V9IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5nIGEg bG9uZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUgbm90 IGZhbWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3BlbiB1 cCBmb3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2UsIHRy YW5zbGF0ZSDigJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9IGdlcmt1IHt2 YXV9JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3BhY2XigJ0gbWFr ZXMgeW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBMb2pi YW4hCgoKCicnemUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3RoZXIg dGVuc2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZSd1JycgYW5k IHRoZSBvdGhlcnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFya3MgYW4gZW5k cG9pbnQgb2YgdGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiByZWZlcmVuY2Up IGFuZCBhbnkgdGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9pbnQg cmVsYXRpdmUgdG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0aCBh IGNvdXBsZSBvZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1IHtr dX0gYmEge2t1fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJlZ2lu bmluZyBpbiB0aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBzb21lIHBvaW50 IGZhciBpbnRvIHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBmLCB5 b3UgYXRlIGZvciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8gY2Eg e2t1fSB6ZSdpIHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9IHpl J2kge2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2ZWxp bmcgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRsZSB0 b3dhcmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9pbnQg aW4gdGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywgc2xp Z2h0eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydqbWl2 ZScnX18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcnLnVp IG1pIHB1IHtrdX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHByZXNzPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRsZSBp bnRvIHRoZSBwYXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0IChv YnZpb3VzbHkgdGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW504oCdIG9yIOKA nEkgYW0geW91bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKAnX5+ CgoKCkp1c3QgdG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5zZXMs IGxldCdzIGhhdmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRlbnNl czoKCl9fJycudSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoKJycu dSdlIHphJ2Ege2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1fScn IC0gV2hhdCBkb2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25kZXJ9 IHtJIG9ic2VydmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBmcm9u dCBpcyBhIGhvbWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBpcyBo dWdlIeKAnX5+CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5IHRl bnNlIHN5c3RlbSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMgZG9p bmcgc29tZXRoaW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8g bGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUg dmVyeSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0 LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdl IHdvbid0IGdvIHRocm91Z2ggYWxsIExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3csIHRo ZXJlIGlzIG9uZSBvdGhlciBraW5kIG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUgdGF1 Z2h0IG5vdy4gVGhlc2UgYXJlIGNhbGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJlcHJl c2VudCBhIHZlcnkgZGlmZmVyZW50IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUg c2VlbiBzbyBmYXIuIFNvIGxldCdzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBo YXZlIGxlYXJuZWQgc28gZmFyLCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGlu ZSwgYW5kIHdlIHRoZW4gcGxhY2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg 4oCcbm934oCdLiBXaXRoIGV2ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZl bnQgYXMgYSBwcm9jZXNzLCB3aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUg aXQgdW5mb2xkcywgYSB0aW1lIHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBw cm9jZXNzLCBhIHRpbWUgd2hlbiBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRl ZC4gRXZlbnQgY29udG91cnMgdGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudCdz IHByb2Nlc3Mgd2FzIGhhcHBlbmluZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBv dGhlciB0ZW5zZXMuIFdlIG5lZWQgYSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHUn bycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVu ZWQgZHVyaW5nIHtzdW10aX0KCl9fJydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3Vy OiBCcmlkaSBpcyBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBzdW10 Y2l0YTogZXZlbnQgY29udG91cjogVGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmlu ZyB7c3VtdGl9CgoKClRoaXMgbmVlZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBs ZXMuIFdoYXQncyAnJy51aSBtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoKCgpB bnN3ZXI6IOKAnFlheSwgSSdsbCBiZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwg eW91IGFzaywgd2h5IG5vdCBqdXN0IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9 JycgYW5kIGV2ZW4gc2F2ZSBhIHN5bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRo YXQgeW91IHdpbGwgaGF2ZSBhIGhvbWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQg d2hldGhlciB5b3UgaGF2ZSBhIGhvbWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ug c2F5IHRoYXQgeW91IGFyZSBub3cgaW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhh dmluZyBhIGhvbWUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4KCk5v dGUsIGJ5IHRoZSB3YXksIHRoYXQgJydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMgc2lt aWxhciB0byAnJ21pIHB1J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0 aCAnJ2JhJ28nJyBhbmQgJydwdScnLiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNhdXNl IGV2ZW50IGNvbnRvdXJzIHZpZXcgdGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9p bnQgb2YgdGhlIHByb2Nlc3MsIHdoZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBz ZWVuIGZyb20gdGhlIHByZXNlbnQuCgoKCk9mdGVuLCBldmVudCBjb250b3VycyBhcmUgbW9yZSBw cmVjaXNlIHRoYXQgb3RoZXIga2luZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFj aGlldmVkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6aSB7 a3V9IGJhJ28ge2t1fSBndW5rYSB7dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5pc2hl ZCB3b3JraW5nLuKAnQoKCgpJbiBMb2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50 J3Mg4oCcbmF0dXJhbCBiZWdpbm5pbmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhl IHRlcm0g4oCcbmF0dXJhbOKAnSBpcyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBh bmQgdGhlIG5hdHVyYWwgZW5kIHJlZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hl cmUgaXQgc2hvdWxkIGVuZC4gWW91IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5z dGFuY2UsIHRoYXQgaXRzIHByb2Nlc3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcg YmV5b25kIGl0cyBuYXR1cmFsIGVuZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwg c2ltaWxhcmx5LCBpcyBiZWluZyBlYXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJl Z2lubmluZy4gVGhlIGV2ZW50IGNvbnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFz IGZvbGxvd3M6CgoKCl9fJyd6YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlk aSBpcyBpbiBwcm9jZXNzIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0KCl9f Jyd4YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5 IGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9v ZCwgd2hpY2ggaXMgZWRpYmxlIGZvciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGth IHphJ28gbG8gbnUgZG8gYmEnbyB7a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1 fSB7a3Unb30ge3ZhdX0ge2tlaX0ge2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3ks IHlvdSBrZWVwIGVhdGluZyB3aGVuIHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRp bmcgc29tZXRoaW5nIGVkaWJsZSHigJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9InkiIHJl bD0iYm94W2ddIn0KCkltYWdlIGFib3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMpLiBB bGwgdGVuc2VzIGFib3ZlIHRoZSBsaW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBjb3Zl cmluZyBhbiBhbW91bnQgb2YgdGltZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGluZSBz aWduaWZ5IHN0YWdlcyB3aGljaCBhcmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNl cyBoYXZlIGJlZW4gZGVzY3JpYmluZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2VzIHNv bWUgdGltZSAoYXMgc2hvd24gb24gdGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUg dGhlIGV2ZW50IGxpa2UpLiBCdXQgbWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3JpYmVz IHBvaW50IGxpa2Ugc3RhZ2VzIGluIHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFz IGlzIHRydWUgb2YgJydjYScnIGFuZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xp Z2h0bHkgaW50byB0aGUgcGFzdCBhbmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5v dCB0byBiZSBwcmVjaXNlLgoKCgpUaGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZl bnQgY29udG91cnMgYXJlOgoKX18nJ2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6 IEJyaWRpIGlzIGF0IGl0cyBiZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1JydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7 c3VtdGl9CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNz IGlzIG5hdHVyYWxseSBjb21wbGV0ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0 OgoKX18nJ21vJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0 cyBuYXR1cmFsIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdo LCBwcm9jZXNzZXMgYWN0dWFsbHkgZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlz IHdoYXQgbWFrZXMgaXQgbmF0dXJhbC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQg cGVvcGxlIHVzdWFsbHkgcmV0cmFpbiB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29k LgoKCgpTaW5jZSBhIHByb2Nlc3MgY2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVz ZSBwb2ludHMgaGF2ZSBlYXJuZWQgdGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydk ZSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmlu ZyB7c3VtdGl9CgpfXycnZGknYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkg aXMgcmVzdW1pbmcgZHVyaW5nIHtzdW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1l YW5zIOKAnHgxIHBheXMgYXR0ZW50aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQgJydk aSdhIGp1bmRpJycgYXJlIGNvbW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFu ZCDigJxiYWNr4oCdLiBPbmUgY291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBjb250 b3VycyBieSB0aGVtc2VsdmVzIGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoKRmlu YWxseSwgb25lIGNhbiB0cmVhdCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmluZyB0 byB0aGUgZW5kIGFzIG9uZSBzaW5nbGUgcG9pbnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVubWkn J19fIOKAnHgxIG1lZXRzIHgyIGF0IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1 fSBjbydpIHtrdX0gcGVubWkgbG8gZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0 bGUgd2hpbGUgYWdvLCBJIHdhcyBhdCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBhIEdl cm1hbiBwZXJzb27igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAob3Jk ZXJzIGFuZCBxdWVzdGlvbnMpCgpQaGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGggc3lu dGF4IGhlYXZ5IExvamJhbiBnaXZlcyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBhYm91 dC4gRXNwZWNpYWxseSBiZWNhdXNlIGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4gU28g bGV0J3MgdHVybiB0byBzb21ldGhpbmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVz dGlvbnMuCgoKCldoYXQgdGhlLi4uIF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUg d2F5IHRvIGV4cHJlc3Mgb3JkZXJzIGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJq ZWN0IG9mIHRoZSBjbGF1c2UsIHdoeSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3 YXMgc3BlYWtpbmcgdG8sIGFuZCBub3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRo ZSBvYmxpZ2F0aW9uIHNvbWVvbmUgZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3Vh Z2UgdW5kZXJzdGFuZHMgdGhhdCBvcmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3 YXlzIGRpcmVjdGVkIHRvd2FyZHMgdGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNv IHRoZSBzdWJqZWN0IGlzIG5vdCBuZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1 YmplY3QgeWllbGRzICcnem8nZScnLCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBv cGVuIHRvIHVzLiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0aGUg aW1wZXJhdGl2ZSBmb3JtIG9mICcnZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lzZSwg aXQncyBlcXVpdmFsZW50IHRvICcnZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1hbnRp Y3MsIHNpbmNlIGl0IHR1cm5zIGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBpbnRv IGFuIG9yZGVyLiDigJxEbyBzdWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9 JydrbycnIeKAnSBGb3IgdGhlIHNhbWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhlIHN1YmplY3Qg aW4gRW5nbGlzaCBzZW50ZW5jZXMsIHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZlZCBm cm9tIGFueSBvdGhlciBzdW10aSB0aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRlciBv bmUgdG8gZ28gZmFyIGF3YXkgZm9yIGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMgdGhl IG9ubHkgc2VsYnJpPykKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+ fgoKKCcnLmkgemEnYSBkYWkgYSdvIG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5pIGtv IGppbXBlIHZhdSAudWknJykgLSBsb29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVl c3Rpb25zIGluIExvamJhbiBhcmUgdmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGlu IHR3byBraW5kczogRmlsbCBpbiB0aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4g TGV0J3MgYmVnaW4gd2l0aCB0aGUgdHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdzIHBy ZXR0eSBvdmVyY29tZWFibGUsIHNpbmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUn Jy4KCicneHUnJyB3b3JrcyBsaWtlIGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0 IGNhbiBnbyBhbnl3aGVyZSwgYW5kIGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChv ciBjb25zdHJ1Y3QpLiBJdCB0aGVuIHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVz dGlvbiwgYXNraW5nIHdoZXRoZXIgaXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmly bSwgeW91IHNpbXBseSByZXBlYXQgdGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycgJycu aSB2ZSd1IHpkYW5pIG1pJycsIG9yIHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hp Y2ggaXMgdGhlIGJyaWRpIHdpdGggYWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6 ZGFuaScnLgoKVGhlcmUgaXMgYW4gZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBicmlr YSdpLCBidXQgdGhvc2UgYXJlIGEgdGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCc bm/igJ0gb3Ig4oCcZmFsc2XigJ0sIHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRpIG5l Z2F0ZWQuIFRoYXQgdG9vLCB3aWxsIGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1 cm4gdG8gcXVlc3Rpb24gYW5zd2VyaW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlzIGZp bGwgaW4gdGhlIGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0byBi ZSByZXBsYWNlZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0 LiBUaGVyZSBhcmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQgeW91 IGFyZSBhc2tpbmcgYWJvdXQ6CgpfXycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydtbycn X18gLSBzZWxicmkgcXVlc3Rpb24KCl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9fJydj dSdlJydfXyAtIHRlbnNlIHF1ZXN0aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFz ayBhYm91dCBhIHN1bXRpLCB5b3UgdGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdo ZXJlIHlvdSB3YW50IHlvdXIgYW5zd2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0 aGUgeDIgdG8gYmUgZmlsbGVkIHdpdGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0 IHRvIG1lP+KAnS4gVGhlIGNvbWJpbmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2 ZXJ5IHVzZWZ1bCBpbmRlZWQ6CgpfXycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5 IHRoZSBhYnN0cmFjdGlvbiBvZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kgbWEn JyAtIOKAnE95LCB3aHkgZG8geW91IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVyIG9u ZS4gVGhpcyB0aW1lLCB5b3UgdHJhbnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8n JwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBi ZWVuIGRvaW5nIGFsbCB0aGlzIGxvbmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBp dCBjb3VsZCBhbHNvIG1lYW4g4oCcd2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmlu ZyB3aXRoICcnLnVhIG5haSBsaSdhIHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBpcyBq dXN0IGJlaW5nIGluY3JlZGlibHkgYW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0b25l IG9mIHZvaWNlIG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhlciBh IHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBx dWVzdGlvbiB3b3JkLiBUaGVyZWZvcmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUg b24gd29yZHMgaW4gdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQn cyB1c3VhbGx5IHdvcnRoIHRoZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28gdGhh dCB0aGUgcXVlc3Rpb24gd29yZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBub3Qg ZmVhc2FibGUsICcncGF1JycgaXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBzZW50 ZW5jZSBpcyBhIHF1ZXN0aW9uLiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBtYXJr cyBhbnkgcXVlc3Rpb24gYXMgYmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRo ZSB0b3BpYyBvZiBxdWVzdGlvbnMsIGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRo ZSB3b3JkICcna2F1JycsIHdoaWNoIGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlv buKAnS4gV2hhdCdzIGFuIGluZGlyZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9v ayBhdCB0aGUgc2VudGVuY2U6ICcnbWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8nJyAt IOKAnEkga25vdyB3aGF0IGlzIHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g4oCceDEga25v d3MgZmFjdChzKSB4MiBhcmUgdHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9u ZSBjYW4gdGhpbmsgaXQgYXMgdGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBk bycnLiBNb3JlIHJhcmVseSwgb25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAn J2thdScnLCBpbiB3aGljaCBjYXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5z d2VyIHRvIGEgcXVlc3Rpb246ICcnbWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAt IOKAnEkga25vdyB3aGF0IHlvdSBoYXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBj bGFzc2VzKQoKQmFjayB0byBtb3JlIGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYg eW91IGhhdmVuJ3QgYWxyZWFkeSwgSSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBMb2pi YW5pYyByZWNvcmRpbmcgY2FsbGVkICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBvciBs aXN0ZW4gdG8gc29tZW9uZSBzcGVhayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFjdGlj ZSB5b3VyIHByb251bmNpYXRpb24uIEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24gaW4g eW91ciBoZWFkIGluIExvamJhbiBpcyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhl IHdyb25nIHNvdW5kcywgYW5kIGxlYXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3cml0dGVuIHRl eHQgaXMgaGFyZC4gVGhlcmVmb3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUgTG9q YmFuIHNvdW5kcywgaG93ZXZlciBpbXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hvcnQg aW50cm9kdWN0aW9uIHRvIHRoZSBMb2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3JwaG9s b2d5PyBUaGUgd29yZCBpcyBkZXJpdmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkg b2Ygc2hhcGVz4oCdLCBhbmQgaW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBt YWtlIHdvcmRzIGZyb20gbGV0dGVycyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVkIHdpdGggc3lu dGF4IC0gaG93IHdlIG1ha2Ugc2VudGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRlcyB3 aXRoIGRpZmZlcmVudCBtb3JwaG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBk ZWZpbmVkIGJ5IHRoZWlyIG1vcnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5c3Rl bWF0aWMgdGhvdWdoLCB3b3JkcyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3Jv dXBlZCBieSBtb3JwaG9sb2dpY2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1ci4K Cnx8ICAgQ2xhc3N8TWVhbmluZ3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRz OnwgICB8ICAgfCAgIAoKICAgQnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBs ZXR0ZXJzIChleGNsdWRpbmcg4oCcIOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIuIEVu ZHMgaW4gdm93ZWwuICAgfCAgIEFjdHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhh cyBhIHBsYWNlIHN0cnVjdHVyZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRlcnMg b2YgdGhlIGZvcm0gQ1ZDQ1Ygb3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxhY2Vz LiBDb3ZlcnMgYmFzaWMgY29uY2VwdHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4gRGVy aXZlZCBmcm9tIGZyb20g4oCcbHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKAnSB8 ICAgTWluLiA2IGxldHRlcnMuIE1hZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGgg YmluZGluZyBsZXR0ZXJzIGlmIG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBjb25j ZXB0cyB0aGFuIGdpc211LgoKICAgLS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxhLCBi dXQgZG8gbm90IG1lZXQgZGVmaW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAn J2FuZ2VsaScnICB8ICAgQ292ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNl cyBvciBvcmdhbmlzbXMuCgogICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBhbmQg ZW5kaW5nIHdpdGggcGF1c2UgKGZ1bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEgY29u c29uYW50LnwgICBBbHdheXMgYWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBx dW90ZS4KCiAgIENtYXZvfCAgIEdyYW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1lYW5p bmcg4oCcc21hbGwgd29yZOKAnXwgT25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQgdGhl IGJlZ2lubmluZy4gRW5kcyBpbiBhIHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4g VmFyaWVzCgogICBXb3JkLWZyYWdtZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4fCAg Q0NWLCBDVkMsIENWJ1YsIC1DVkNDViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBh Y3R1YWwgd29yZHMsIGJ1dCBjYW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8 fAoKCgoKCl9fJydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0 aGV5IGJlZ2luIGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3RvcCBp biB3cml0aW5nLCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEgY2Fu J3QgaGF2ZSBhbnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0 aGUgb3RoZXIgaGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBp biBMb2piYW4gd2l0aG91dCB0aGVtIGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWlu IHF1b3RlIHdvcmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFs aXppbmcgdGhlIGxldHRlcnMgd2hpY2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEg YXJlOiAnJy5pb2hBTi4nJyAoSm9oYW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0 LicnIChNYXR0KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2gg ZG8gbm90IGVuZCBpbiBjb25zb25hbnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4u JycgKEV2ZSksIG9yIChwcm9iYWJseSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5p di4nJwoKCgpfXycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1 c2UgdGhleSBieSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBM b2piYW4gd29yZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBh bHNvIGdpdmVuIHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4g SXQncyBuZWFybHkgaW1wb3NzaWJsZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJp dmxhLCBhbmQgYWxtb3N0IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4gZ3Jh bW1hciAoYW5kIGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3Vh Z2UpIGFyZSBjYXB0dXJlZCBieSBicml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJpdmxh IGhhcyB0aHJlZSBzdWJjYXRlZ29yaWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qgd29y ZHMgb2YgdGhlIGxhbmd1YWdlLiBPbmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcg bmV3IG9uZXMgYXJlIGFkZGVkLiBUaGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxp a2Ug4oCcY2lyY2xl4oCdLCDigJxmcmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCd LiBFeGFtcGxlcyBpbmNsdWRlICcnemRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9f JydsdWp2bycnX18gYXJlIG1hZGUgYnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFmc2kp LCByZXNwcmVzZW50aW5nIGdpc211LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRv d24gdGhlIG1lYW5pbmcgb2YgdGhlIHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0 ZSBhbGdvcml0aG0sIHNvIG1ha2luZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1w b3NzaWJsZSwgd2l0aCBmZXcgZXhjZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcnc2Ug cHJhbWknJywgd2hpY2ggY2FuIG9ubHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVq dm8gYXJlIG1hZGUgb25jZSwgaXRzIHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0 aGF0IGRlZmluaXRpb24gaXMgbWFkZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhhbXBs ZXMgaW5jbHVkZSBicml2bGEgKGJyaWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1zb2Np YWxpemluZyA9IGZsaXJ0aW5nKSBhbmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBiZWV0 bGUpLgoKX18nJ2Z1J2l2bGEnJ19fIGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBm aXQgdGhlIGRlZmluaXRpb24gZm9yIGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUu IFRoZXkgdGVuZCB0byBjb3ZlciBjb25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIgYnkg bHVqdm8sIGZvciBpbnN0YW5jZSBuYW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkgY3Vs dHVyYWwgc3BlY2lmaWMgY29uY2VwdHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3VyaW8n JyAoS29yZWEpICcnY2lkanJwaXRzYScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwpLgoK CgpfXycnY21hdm8nJ19fIGFyZSBzbWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFu dHMuIFRoZXkgdGVuZCB0byBub3Qgc2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29y bGQsIGJ1dCB0byBoYXZlIG9ubHkgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2Nj dXIsIGFuZCBpdCdzIGRlYmF0YWJsZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0 aGVpciBncmFtbWF0aWNhbCBmdW5jdGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUg d29yZHMgb2YgdGhlIGNsYXNzIEdPaEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlk IHRvIHR5cGUgc2V2ZXJhbCBjbWF2byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNl IGxlc3NvbnMsIHRoYXQgd29uJ3QgYmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBp biBmdW5jdGlvbmFsIHVuaXRzLCB0aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVh ZC4gVGh1cywgJycudWlwdXp1dnVrdW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQg YW5kIHVuZGVyc3Rvb2QgYXMgJycudWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhl ciBMb2piYW4gd29yZHMsIG9uZSBzaG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEg ZnVsbCBzdG9wIGJlZm9yZSBhbnkgd29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZv IG9mIHRoZSBmb3JtIHhWViwgQ1YnVlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJl IHdvcmRzIHdoaWNoIGFyZSBub3QgaW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2 ZSBiZWVuIGFkZGVkIGJ5IExvamJhbiB1c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVk LgoKCgpfXycncmFmc2knJ19fIGFyZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFw cGVhciBhbG9uZS4gSG93ZXZlciwgc2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmlu ZSB0byBmb3JtIGx1anZvLiBUaGVzZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1k ZWZpbml0aW9uLCBmb3IgaW5zdGFuY2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQg ZW5kcyBpbiBhIGNvbnNvbmFudCAod2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaSdl a2VpJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQg Y2x1c3RlciwgYW5kIGlzIHRodXMgcmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29y ZC4gT2Z0ZW4sIGEgMy00IGxldHRlciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNp LCBsaWtlICcnenUnZScnLCB3aGljaCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBmb3Ig Jyd6dWt0ZScnLiBOb3RlIHRoYXQgdGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2byBh bmQgYSByYWZzaSB3b3VsZCBiZSBncmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25zaWRl cmVkIGhvbW9waG9uZXMuIEFsbCBnaXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFy ZSBwcmVmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBvZiBh IGdpc211IHN1ZmZpeGVkIHdpdGggYW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0 aGV5IGFyZSBzdWZmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2FuIG9u bHkgYXBwZWFyIGluIGx1anZvIG9yIGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0 aW9ucyBhcmU6IENWViwgQ1YnViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZD Vi4KCgoKVXNpbmcgd2hhdCB5b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3 ZXIgdGhlIHRlc3QgaSB0aHVzIHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxv d2luZyB3b3JkcyBhcyBjbWV2bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdpdmxh JycgKGYpIG9yIGNtYXZvIChjKToKCkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNp ICAgICAgICBIICkgLmknaQoKQyApIGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4gICAg ICAgIEogKSBwbGFqdmEKCkUgKSBwbydlICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAg ICAgICAgTCApIC5lcnRzYQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQt QywgZS1jLCBmLWwsIGctQywgaC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhl IGZ1bGwgc3RvcHMgYmVmb3JlIGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0b28g ZWFzeS4KCk5vdGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBl eGlzdCBpbiB0aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBo b2xvZ3kgc3RpbGwgbWFrZXMgaXQgYSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5lZCBn aXNtdS4gU2ltaWxhcmx5IHdpdGggJycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiBmb3VydGVlbiAodGhlIExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3Ug aGF2ZSByZWFkIGFuZCB1bmRlcnN0b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1 bnRpbCBub3csIHlvdSBoYXZlIGFtYXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9mIExv amJhbiBzbyB0aGF0IGl0IGRvZXNuJ3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0 aGUgcmVzdC4gQXMgYSByZXN1bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwg YmUgYSBtaXh0dXJlIG9mIHNvcnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRl ZCBieSBpbXBvcnRhbmNlIGluIG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBv ZiB0aGUgYmlnZ2VzdCBjb25zdHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRl ZCBrbm93bGVkZ2Ugb24gaG93IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAn J3RpJycgYW5kICcnbG8gU0VMQlJJJycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNp ZGVyaW5nIGhvdyBpbXBvcnRhbnQgc3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMg d2VsbCBhcyB0aGUgZm9sbG93aW5nIHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGku IEZvciBub3csIHdlIGZvY3VzIG9uIHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25l cyBtYWRlIHdpdGggYXJ0aWNsZXMgbGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4g Y2FsbGVkICcnZ2FkcmknJywgYW5kIGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNz b24gYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xh IENNRVZMQScnLCAnJ2xhaSBDTUVWTEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxsIGJl Z2luIGJ5IGRlc2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRp LCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBh ZnRlciBhbGw6CgpfXycnbG8nJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZl cnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5k aXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3Jp cHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRo IHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTog TmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxh IHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBh bHJlYWR5IGZhbWlsaWFyIHdpdGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRv ZXMgaXQgbWVhbiwg4oCcdmVyaWRpY2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBp bmRpdmlkdWFsaXR5L21hc3MtbmVzc+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFscyBh bmQgbWFzc2VzLCBJJ2xsIGNvbWUgYmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs 4oCdIGluIHRoaXMgY29udGV4dCBtZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1 YWxpZnkgYmVnaW4gbGFiZWxsZWQgYXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFsbHkg JydrbGFtYScnLiBUaHVzLCB2ZXJpZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkg YmUgdHJ1ZSBvciBmYWxzZSAtIHRoYXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0 dWFsbHkgdGhlIHgxIG9mIHRoZSBzZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkgYmUg Y29udHJhc3RlZCB3aXRoICcnbGUnJywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5v dCB2ZXJpZGljYWwuIFNheWluZyAnJ2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBv ciBtb3JlIHNwZWNpZmljIG9iamVjdHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAn J2dlcmt1JycgdG8gZGVzY3JpYmUgaXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVudGlm eSB0aG9zZSBzcGVjaWZpYyBvYmplY3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3 byBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5vdCBy ZWZlciB0byBvYmplY3RzIGluIGdlbmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNpZmlj IG9iamVjdHMuIFNlY29uZGx5LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUg b3IgbW9yZSBkb2dzLCAnJ2xlIGdlcmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2FsLCBj YW4gYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlw dGlvbiB3aWxsIGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0 aGUgc3BlYWtlciBpcyByZWZlcnJpbmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIg d2l0aCB0aGVtIGFuZCB0aGluayDigJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0 aW9uIHRvIGJlIHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92 ZXItZW1waGFzaXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmli ZSBhIGRvZyBpcyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5s ZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxs eSBwcmVzdW1lZCB0byByZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1 JycuCgpJbiB0cmFuc2xhdGlvbiwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0g b3Ig4oCcc29tZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBv ciDigJx0aGUgZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDi gJx0aGUg4oCcZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJp JycsIHRoZXJlIGlzICcnbGEnJywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1 bmNvbnZlbnRpb25hbGx5IGNhbGxlZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5 IHRoaXMgaXMgdGhhdCBpdCdzIG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwgc2lu Y2UgaXQgcmVmZXJzIHRvIGEgcHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0byBh IHBlcnNvbiBjYWxsZWQgSW5ub2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmliZSBo ZXIgYXMgYmVpbmcgaW5ub2NlbnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkg c3RhdGUgdGhhdCBieSBjb252ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBieSB0 aGF0IHNlbGJyaSBvciBjbWV2bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBkZXJp dmVkIGZyb20gaXQgY2FuIGNvbnZlcnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIg JydnYWRyaScnLiBBbHNvOiBCZSBjYXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRpb24g dGhhdCBuYW1lcyBjYW4gYmUgZm9ybWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBn YWRyaSAnJ2xhJycuIEJ1dCB0aG9zZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBh cmUgYXMgZ29vZCBhcyB0aGV5IGdldCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0 aGVtLgoKJydsYScnLCBhcyB3ZWxsIGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJpdCBl Y2NlbnRyaWMsIHNpbmNlIHRoZXkgX19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEg bmFtZS4gVW5saWtlIHRoZSBvdGhlciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1h dGljYWxseSBwbGFjZWQgYWZ0ZXIgJydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lkZXJl ZCBwYXJ0IG9mIHRoZSBuYW1lLiBGb3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJteSBk b2ciLCBidXQgJydsYSBtaSBnZXJrdScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoKCgpU aGVzZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUgbW9y ZSwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAtIGdh ZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3Vs dCBhcyBtYXNzKGVzKS4KCl9fJydsZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZl cnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9fJyds YWknJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQg c2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoK CgpUaGVzZSBhcmUgdGhlIHNhbWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkg dHJlYXQgdGhlIHN1bXRpIGV4cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9u ZSBvYmplY3QgaW4gcXVlc3Rpb24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5n IG9mIG9uZSBvYmplY3QgYXJlIGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhl c2UgdHdvIGNvbmNlcHRzIGxpZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEg Z3JvdXAgb2YgaW5kaXZpZHVhbHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFs cyBjYW4gYmUgc2FpZCB0byBmaXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFs bCBtZW1iZXJzIG9mIHRoZSBncm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0 IHRvIGRlc2NyaWJlIGEgcGFjayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVh bGx5LCBhcyBiZWluZyBibGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRo YXQgdGhleSBhcmUgYmxhY2suIEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0 aG9zZSBzZWxicmkgd2hpY2ggaXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVh bSwgc28gdG8gc3BlYWsuIEhvd2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kg Z2Vya3UnJyBtdXN0IGJlIGRvZ3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJs ZS4gVGhlIG5vdGlvbiBvZiAibWFzc2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVpcmVz IHNvbWUgZXhhbXBsZXMgdG8gZGVtb25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4gaGF2 ZToKCl9fJydzcnVyaScnX186IOKAnHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4g bGluZS9wbGFuZS9kaXJlY3Rpb25zIHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFu aScnIC0g4oCcVGhlIHBlb3BsZSBzdXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2libGUs IGV2ZW4gdGhvdWdoLCB5byBtb21hIGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBsZXRl bHkgaW1wbGF1c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBt ZW1iZXJzIGFsb25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZl YXRlZCBzbWFsbHBveCBpbiB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlk IHNvLCBidXQgdGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRl bmNlIHRydWUgaW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCd IGFyZSBhIG1hc3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg 4oCcaHVtYW5z4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2gg YXJlIGh1bWFuLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBhIGJp b2xvZ2ljYWwgY2VsbCBvZiBvcmdhbmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBhIGh1 bWFuIgoKJydsb2kgbWl2eXNsZSBjdSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFy ZSBodW1hbiIuIEFnYWluLCBub25lIG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwgdGhl IGNlbGxzIGhhdmUgdmVyeSBmZXcgaHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNpZGVy ZWQgYXMgYSB3aG9sZSBtYWtlcyB1cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcnbGVp JycsIHN1Y2ggYXMgJydsZWkgZ2Vya3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBn cm91cCBvZiBzcGVjaWZpYyBpbmRpdmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtlciBy ZWZlcnMgdG8gYXMgJydsZSBnZXJrdScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkgJyds YWknJyBhcmUgb25seSBhcHByb3ByaWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1l ZCBzdWNoLCBhbmQgbm90IGp1c3QgaWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBo b3dldmVyIGJlIHVzZWQgaWYgdGhlIGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBv ZiB0aGF0IGdyb3VwLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycg YW5kICcnbGUnJyBjYW4gYmUgdXNlZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFuZCBt YXNzZXMuIExldCdzIHNheSBhIHBhY2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3MgbmVl ZHMgZGVzY3JpcHRpb24uIEkgbWlnaHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1 Jycgb3IgJydsbyBnZXJrdScnLiBJZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRvIGNv cnJlY3RseSBzdGF0ZSBzb21ldGhpbmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24s IGJ1dCByZWFsbHkgaXNuJ3Q6ICcnbG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3MgYXJl IG5vdCBkb2dzIi4gU2luY2UgaXQncyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0 aGUgbWFueSBkb2dzIGNvbnNpZGVyZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCByYXRo ZXIgYSBwYWNrIG9mIGRvZ3MuCgpZb3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMg bm8gd29yZCB3aGljaCB1bmFtYmlndW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlkdWFs KHMpLiBJbiBvcmRlciB0byBiZSBleHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25lIG5l ZWRzICcnbG8nJywgJydsZScnIG9yICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIuIFRo ZSBzdWJqZWN0IG9mIHF1YW50aWZpZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4gbGVz c29uIHR3ZW50eS10d28uIFdoYXQgaXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJydsZScn IHZhZ3VlLCBhbmQgbm90IGV4cGxpY2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVp ciB2YWd1ZW5lc3MgZW5hYmxlcyB0aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdpdGhv dXQgdGhlIHNwZWFrZXIgaGF2aW5nIHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBh cyBhIG1hc3Mgb3IgYSBncm91cCBvZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJp ZXMsIHRoZXJlIGFyZSB0aHJlZSBzZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydpJydf XyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0 IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxj b252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xh J2knJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQg c2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpV bmxpa2UgZ3JvdXBzIG9mIGluZGl2aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0cyBk b2VzIG5vdCB0YWtlIGFueSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20g d2hpY2ggdGhlIHNldCBpcyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBv ciBsb2dpY2FsIGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHks IG1lbWJlcnNoaXAgYW5kIHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNl IGJldHdlZW4gYSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0 IGlzIGZvcm1lZDoKCl9fJyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3Vh ciBvZiBzcGVjaWVzL2JyZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydpIHRp cnh1IGN1IGNtYWx1Jycgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNt YWxsICh3aGljaCBpcywgYnkgdGhlIHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQg c2F5IHRoYXQgdGhlIHNldCBvZiBiaWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFy ZSBmZXcgb2YgdGhlbS4KCgoKTGFzdGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2VuZXJh bGl6aW5nICcnZ2FkcmknJzoKCl9fJydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29u dmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBlIG9m ICcnbG8ge3NlbGJyaX0nJy4KCl9fJydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxj b252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQv cGVyY2VpdmVkIGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBp cyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkg dGhlIGFyY2hldHlwZT8gRm9yICcnbG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2lu ZWQgYmlnIGNhdCwgd2hpY2ggaGFzIGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4ZW1w bGlmaWVzIGJpZyBjYXRzLiBJdCB3b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1 ZGVzIGhhdmluZyBhIHN0cmlwZWQgZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3Vw IG9mIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3RyaXBl ZCBmdXIsIHRoZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlwaWNh bCBodW1hbiBkb2VzIG5vdCBsaXZlIGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5z IGRvLiBIb3dldmVyLCBpZiBzdWZmaWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBm b3IgaW5zdGFuY2UgYmVpbmcgYWJsZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtuZScn X186IOKAnHgxIGlzIGNhcGFibGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNl IHgz4oCdCgonJ2xvJ2UgcmVtbmEgY3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBp Y2FsIGh1bWFuIGJlaW5nIGNhbiBzcGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhlIGlk ZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlz IG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBh cyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhh dmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJh biBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5 cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSByZW1u YScnIGlzIHRoZSBhcmNoZXR5cGUgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyByZW1u YScnLCB3aGlsZSB0aGUgYXJjaGV0eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMg YWxsICcnbGUgcmVtbmEnJy4KCgoKVGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUg ZGlhZ3JhbSBiZWxvdy4KCnx8IHxHZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoKdmVy aWRpY2FsfGxvfGxvaXxsbydpfGxvJ2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5h bWV8bGF8bGFpfGxhJ2l8ZG9lcyBub3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3 YXMgYSB3b3JkICcneG8nZScnIGZvciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1 bGVzIGFuZCBkZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwg YW5kIHRoZSBjdXJyZW50IHNldCBvZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCceG9y bG/igJ0gaGFzIHJlcGxhY2VkIHRoZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBh bmQgJyd4bydlJycgaXMgdXNlZCBhcyBhIGVsbGlwdGljYWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVl bikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1 bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09oQTYpCgpTZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5 IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6IOKAnFN0ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBj YW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVhY2ggb3RoZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0 aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5ndScnX18g4oCceDEgaXMgYSBsYW5ndWFnZSB1c2Vk IGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3RyYWN0aW9uKeKAnQoKJydsZSdlIHByZW51IHBvaSBr ZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIGxlJ2UgcHJlbnUg cG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gbG8gYmFuZ3UgcG9pIGxv IHByZW51IHBvaSBrZSdhIHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHNlIGJhbmd1IGtlJ2EnJwoK CgpXaGF0IHdlIHNlZSBpcyB0aGF0IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0 aGFuIHRoZSBFbmdsaXNoLiBUaGlzIGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlk aWN1bG91c2x5IGxvbmcgc3VtdGkgaXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4g dGhlIExvamJhbiB0ZXh0LCB3aGlsZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCc ZWFjaCBvdGhlcuKAnSBhbmQg4oCcdGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4gV291 bGRuJ3QgaXQgYmUgY2xldmVyIGlmIExvamJhbiBzb21laG93IGhhZCBtZWNoYW5pc21zIGZvciBk b2luZyB0aGUgc2FtZT8KCgoKSXQgdHVybnMgb3V0IGl0IGRvZXMsIHdoYXQgYSBzdXJwcmlzZSEg TG9qYmFuIGhhcyBhIHJhbmdlIG9mIHdvcmRzIGNhbGxlZCAnJ3N1bWthJ2knJyBtZWFuaW5nIOKA nHN1bXRpLXJlcHJlc2VudGF0aXZlc+KAnS4gSW4gRW5nbGlzaCwgd2UgcmVmZXIgdG8gdGhlbSBh cyBwcm8tc3VtdGksIGJlY2F1c2UgdGhleSBhcmUgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXMgdGhl IEVuZ2xpc2ggcHJvbm91bnMsIGJ1dCB3aXRoIHN1bXRpIGluc3RlYWQgb2Ygbm91bnMuIEluIGZh Y3QsIHlvdSBhbHJlYWR5IGtub3cgJyd0aScnLCAnJ2RvJycgYW5kICcnbWknJywgYnV0IHRoZXJl IGFyZSBtYW55IG1vcmUsIHNvIGxldCdzIGdldCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQgdG8g cHV0IGl0IGludG8gc3lzdGVtLiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZhbWls aWFyIHRvIEVuZ2xpc2gsIGFuZCB3aGF0IHlvdSd2ZSBhbHJlYWR5IGxlYXJuZWQ6CgoKCl9fJyd0 aScnX18gLSBzdW1rYSdpOiDigJxpbW1lZGlhdGUg4oCYaXQnOiByZXByZXNlbnRzIGEgc3VtdGkg cGh5c2ljYWxseSBuZWFyIHRoZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vta2EnaTog4oCc bmVhcmJ5IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHNvbWUgcGh5c2ljYWwgZGlzdGFuY2Ug ZnJvbSB0aGUgc3BlYWtlciBPUiBjbG9zZSB0byB0aGUgbGlzdGVuZXLigJ0KCl9fJyd0dScnX18g LSBzdW1rYSdpOiDigJxkaXN0YW50IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2Fs bHkgZmFyIGZyb20gdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci7igJ0KCgoKWW91IGNhbiBh Z2FpbiByZWNvZ25pemUgdGhlIOKAnGksIGEsIHXigJ0tc2VxdWVuY2Ugd2hpY2ggcG9wcyB1cCBv dmVyIGFuZCBvdmVyLiBTb21lIHRoaW5ncyBtaWdodCB0YWtlIHNvbWUgY2xlYXJpbmcgdXAsIHRo b3VnaC4gRmlyc3RseSwgdGhlc2Ugc3VtdGkgY2FuIHJlcHJlc2VudCBhbnl0aGluZyB3aGljaCBj YW4gYmUgc2FpZCB0byBvY2N1cHkgYSBwaHlzaWNhbCBzcGFjZS4gT2JqZWN0cywgY2VydGFpbmx5 LiBJZGVhcywgY2VydGFpbmx5IG5vdC4gRXZlbnRzIGFyZSBhY2NlcHRlZCwgYnV0IG9ubHkgdG8g dGhlIGV4dGVudCB0aGV5IGFyZSByZXN0cmljdGVkIHRvIGEgc3BlY2lmaWMgcGxhY2UgLSB0aGUg SmFzbWluIFJldm9sdXRpb24gY2Fubm90IGJlIHBvaW50ZWQgYXQsIGJ1dCBzb21lIGJhci1maWdo dCBvciBhIGtpc3MgbWlnaHQuIFNlY29uZGx5LCBub3RlIHRoYXQgdGhlIGRpc3RhbmNlIGlzIHJl bGF0aXZlIHRvIGRpZmZlcmVudCB0aGluZ3MgZm9yIHRoZSBkaWZmZXJlbnQgd29yZHM6ICcndHUn JyBvbmx5IGFwcGxpZXMgaWYgaXQncyBkaXN0YW50IGZyb20gYm90aCB0aGUgc3BlYWtlciBhbmQg dGhlIGxpc3RlbmVyLiBJbiBjYXNlcyB3aGVyZSB0aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMg ZmFyIGFwYXJ0IGFuZCB0aGUgbGlzdGVuZXIgY2Fubm90IHNlZSB0aGUgc3BlYWtlciB0YWxraW5n LCAnJ3RhJycgcmVmZXJzIHRvIHNvbWV0aGluZyBjbG9zZSB0byB0aGUgbGlzdGVuZXIuIFRoaXJk bHksIGl0J3MgYWxsIHJlbGF0aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhyZWUg d29yZHMgYXJlIGFsbCBwcm9ibGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5jZSwg YmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVua25v d24gdG8gZWFjaCBvdGhlciwgYW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVybW9y ZSwgdGhlIGF1dGhvciBvZiBhIGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQgZXhw cmVzcyB0aGUgcG9pbnRpbmcgaW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJpZXMg Y2FsbGVkIEtPaEEzLCB0byB3aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcna28nJywgYnV0 IEkgd29uJ3Qgd3JpdGUgdGhhdCBoZXJlKSBiZWxvbmdzOgoKX18nJ21pJydfXyAtIHN1bWthJ2k6 IFRoZSBzcGVha2VyKHMpLgoKX18nJ21pJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhl IHNwZWFrZXIocykgYW5kIHRoZSBsaXN0ZW5lcihzKSAuCgpfXycnbWknYScnX18gLSBzdW1rYSdp OiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgb3RoZXJzLgoKX18nJ21hJ2EnJ19fIC0g c3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocyksIHRoZSBsaXN0ZW5lcihzKSBhbmQg b3RoZXJzLgoKX18nJ2RvJydfXyAtIHN1bWthJ2k6IFRoZSBsaXN0ZW5lcihzKS4KCl9fJydkbydv JydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoK CgpUaGVzZSBzaXggc3Vta2EnaSBhcmUgbW9yZSBlYXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cg VmVubiBkaWFncmFtOgoKCgp7aW1nIGZpbGVJZD0iMyIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0K ClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAoJydrbycnIGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlz IG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg4oCcdGhlIG90aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3Np YmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0byBiZSDigJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBz dGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUgYmVoYWxmIG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUs IHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0cmFuc2xhdGVkIGFzIGVpdGhlciAnJ21pJycsICcnbWkn bycnLCAnJ21pJ2EnJyBvciAnJ21hJ2EnJywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMg cmVhbGx5IGp1c3QgJydtaScnLiBBbGwgb2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1v cmUgdGhhbiBvbmUgaW5kaXZpZHVhbCwgcmVwcmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxv Z2ljLCB0aGUgYnJpZGkgJydtaSBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0bHkg ZXF1aXZhbGVudCB0byAnJ2RvIGdsZWtpJycgc2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtlciBB LCBhbmQgYXJlIGNvbnNpZGVyZWQgdGhlIHNhbWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRv IHRoaXMgbGF0ZXIsIGluIHRoZSAnJ2JyaWthJ2knJyAocHJvLWJyaWRpKSBsZXNzb24uCgoKCkFs bCBvZiB0aGVzZSAnJ3N1bWthJ2knJyBhcmUgdmVyeSBjb250ZW50LXNwZWNpZmljLCBhbmQgY2Fu bm90IGJlIHVzZWQsIGZvciBpbnN0YW5jZSwgdG8gaGVscCB1cyB3aXRoIHRoZSBzZW50ZW5jZSB3 aGljaCB0aGlzIGxlc3NvbiBiZWdhbiB3aXRoLiBUaGUgZm9sbG93aW5nIHNlcmllcyBjYW4gaW4g cHJpbmNpcGxlIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW55IHN1bXRpOgoKX18nJ3JpJydfXyAtIHN1 bWthJ2k6IOKAnExhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncmEnJ19fIC0gc3Vta2EnaTog 4oCcQSByZWNlbnQsIGJ1dCBub3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncnUn J19fIC0gc3Vta2EnaTog4oCcQSBzdW10aSBtZW50aW9uZWQgbG9uZyBhZ2/igJ0KCgoKVGhlc2Ug c3VtdGkgd2lsbCByZWZlciB0byBhbnkgdGVybWluYXRlZCBzdW10aSBleGNlcHQgbW9zdCBvdGhl ciAnJ3N1bWthJ2knJy4gVGhlIHJlYXNvbiB0aGF0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycgY2Fu bm90IGJlIHJlZmVycmVkIHRvIGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVh c3kgdG8ganVzdCByZXBlYXQgYnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVs ZSBhcmUgJyd0aScnLCAnJ3RhJycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBj aGFuZ2VkIHdoYXQgeW91IHBvaW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhl IHdvcmQuIFRoZXkgd2lsbCBvbmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVz IGNhbm5vdCwgZm9yIGluc3RhbmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9u IGlmIHRoZSB3b3JkIGluIGlzIHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtlJ2Eg cGVuZG8gbWkgY3UgZGppY2EgbG8gbnUgcmkgc2UgemRhbmknJyAtIGhlcmUgJydyaScnIGNhbm5v dCByZWZlciB0byB0aGUgYWJzdHJhdGlvbiwgc2luY2UgaXQgaXMgbm90IHRlcm1pbmF0ZWQsIG5v ciB0byAnJ21pJycgb3IgJydrZSdhJycsIHNpbmNlIHRoZXkgYXJlIHN1bWthJ2ksIHNvIGl0IHJl ZmVycyB0byAnJ2xlIHBlbmRvJycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1kZXBl bmRlbnQgaW4gd2hhdCB0aGV5IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1l bnRpb25lZCBhYm92ZSwgYW5kICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQg c3VtdGkgdGhhbiAnJ3JhJycsIHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3Jp JycuCgoKCicncmknJyBhbmQgaXQncyBicm90aGVycyBhcmUgcHJldHR5IHdlbGwgc3VpdGVkIGZv ciBkZWFsaW5nIHdpdGggdGhlIG9yaWdpbmFsIHNlbnRlbmNlLiBUcnkgc2F5aW5nIGl0IHVzaW5n IHR3byBpbnN0YW5jZXMgb2YgJydzdW1rYSdpJychCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyds ZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGN1IHRh dmxhIHJ1IGxvIGJhbmd1IHBvaSBydSBjdSBzZSBiYW5ndSBrZSdhJycuICcncmknJyBpcyBub3Qg Y29ycmVjdCwgYmVjYXVzZSBpdCByZWZlcnMgdG8gJydsYSAubG9qYmFuLicnLiAnJ3JhJycgY291 bGQgYmUgdXNlZCwgYnV0IGNvdWxkIGJlIG1pc3Rha2VubHkgYmUgdGhvdWdodCB0byByZWZlciB0 byAnJ2xvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uJycsIGJ1dCAnJ3J1JycgaXMgYXNzdW1lZCB0 byByZWZlciB0byB0aGUgbW9zdCBkaXN0YW50IHN1bXRpIC0gdGhlIG1vc3Qgb3V0ZXIgb25lLn5+ CgoKCkxhc3RseSwgdGhlcmUgYSBzdW10Y2l0YSB3aGljaCByZXByZXNlbnQgdXR0ZXJhbmNlczog U28gY2FsbGVkIHV0dGVyYW5jZSB2YXJpYWJsZXMuIFRoZXkgbmVlZCBub3QgYmUgcmVzdHJpY3Rl ZCB0byBvbmUgc2VudGVuY2UgKGp1ZnJhKSwgYnV0IGNhbiBiZSBzZXZlcmFsIHNlbnRlbmNlcywg aWYgdGhlIGNvbnRleHQgYWxsb3dzIGl0OgoKX18nJ2RhJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJs ZTogUmVtb3RlIHBhc3Qgc2VudGVuY2UKCl9fJydkZSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6 IFJlY2VudCBzZW50ZW5jZQoKX18nJ2RpJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUHJldmlv dXMgc2VudGVuY2UKCl9fJydkZWknJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogVGhpcyBzZW50ZW5j ZQoKX18nJ2RpJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBzZW50ZW5jZQoKX18nJ2Rl J2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmVhciBmdXR1cmUgc2VudGVuY2UKCl9fJydkYSdl JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBmdXR1cmUgc2VudGVuY2UKCl9fJydkbydp JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDi gJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSByZXByZXNlbnRzIHNlbnRlbmNlcyBhcyBzdW10aSwg YW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tlbiB3b3JkcyBvciB0aGUgbGV0dGVycywgbm90IHRv IHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoKCgpUaGVyZSBhcmUgbW9yZSBMb2piYW4gJydzdW1r YSdpJycsIGJ1dCBmb3Igbm93IHlvdSBwcm9iYWJseSBuZWVkIGEgYnJlYWsgZnJvbSB0aGVtLiBU aGUgbmV4dCBsZXNzb24gd2lsbCBiZSBvbiBkZXJpdmVkIHN1bXRpLCBzdW10aSBtYWRlIGZyb20g b3RoZXIgc3VtdGkuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzaXh0ZWVuICh0aGUg TG9qYmFuIHN1bXRpIDM6IGRlcml2ZWQgc3VtdGkpCgpZb3UgY2FuIHByb2JhYmx5IHNlZSB0aGF0 IHRoZSBzdW10aSAnJ2xlIGJhbmd1IHBvaSBtaSBzZSBiYW5ndSBrZSdhJycgaXMgYSBsZXNzIHRo YW4gZWxlZ2FudCBleHByZXNzaW9uIGZvciDigJxteSBsYW5ndWFnZeKAnS4gVGhpcyBpcyBiZWNh dXNlIGl0J3MgcmVhbGx5IGEgd29yayBhcm91bmQuIEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBj YW4gYmUgc2FpZCB0byBmaWxsIGludG8gdGhlIHgxIG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycu IFdlIGNhbid0IGNvbnZlcnQgdGhhdCB0byBhIHN1bXRpIHVzaW5nIGEgZ2Fkcmk6ICcnbGUgYmFu Z3Uge2t1fSBtaScnIGlzIHR3byBzdW10aSwgYmVjYXVzZSAnJ2Jhbmd1IG1pJycgaXMgYSBicmlk aSwgbm90IGEgc2VsYnJpLiBOZWl0aGVyIGNhbiB3ZSBjb252ZXJ0IGl0IHVzaW5nICcnbGUgc3Un dScnLCBiZWNhdXNlIHRoZSBzdSd1IGdpdmVzIHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFic3Ry YWN0aW9uLCBhbmQgdGhlICcnbGUnJyB0aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4g YWJzdHJhY3Rpb24gc3VtdGkgbWVhbmluZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0aGlu ZyBpcyBteSBsYW5ndWFnZeKAnS4KCkVudGVyICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3aGlj aCBiaW5kcyBjb25zdHJ1Y3RzIChzdW10aSwgc3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBzZWxi cmkuIFVzaW5nIGl0IGluIG9yZGluYXJ5IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5l bGNpIGJlIGRvJycsIHRoZSAnJ2JlJycgZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEgc3Vt dGkgaXMgYm91bmQgdG8gYSBzZWxicmkgdGhpcyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24g dGhlIHNlbGJyaSB3aXRob3V0IHRoZSBzdW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJl IG1pJycgaXMgYSBjb3JyZWN0IHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lz ZSwgeW91IGNhbiBhdHRhY2ggYSBzdW10Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRv Jyc6IOKAnFRoZSBldmVudCBvZiBoaXR0aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCdLiBO b3RlIHRoYXQgdGhlIHByZXNlbmNlIG9yIGFic2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBwYXJz ZSBkaWZmZXJlbnRseTogV2l0aCB0aGUgZmEnb3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRhY2hl cyB0byAnJ251JycsIHdpdGhvdXQgdGhlIGZhJ29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4 aScnLiBTbyBpdCBkZWNpZGVzIHdoYXQgaXMgYmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhpdHRp bmcsIG9yIHRoZSBldmVudCBvZiBoaXR0aW5nIGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3BlY2lm aWMgY2FzZSwgdGhvdWdoLCB0aGF0J3MganVzdCBhYm91dCB0aGUgc2FtZSB0aGluZy4KCgoKV2hh dCBpZiBJIHdhbnQgdG8gYXR0YWNoIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmkgaW5zaWRlIGEg Z2Fkcmk/IOKAnFRoZSBnaXZlciBvZiB0aGUgYXBwbGUgdG8geW914oCdIGlzICcnbGUgZHVuZGEg YmUgbG8gcGxpc2UgYmUgZG8nJywgcmlnaHQ/IE5vcGUuIFRoZSBzZWNvbmQgJydiZScnIGF0dGFj aGVzIHRvIHRoZSBhcHBsZSwgbWVhbmluZyAnJ2xlIHBsaXNlIGJlIGRvJycgLSDigJxUaGUgYXBw bGUgb2YgdGhlIHN0cmFpbiBvZiB5b3XigJ0sIHdoaWNoIG1ha2VzIG5vIHNlbnNlLiBJbiBvcmRl ciB0byBzdHJpbmcgc2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSwgdGhlIGFsbCB0aGUgb25lcyBm b2xsb3dpbmcgdGhlIGZpcnN0IG11c3QgYmUgYm91bmQgd2l0aCAnJ2JlaScnLiBUaGUg4oCcYmlu ZGluZ+KAnSBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcnYmUnbycnIC0gb25lIGluc3RhbmNlIG9m ICcnYmUnbycnIGZvciBlYWNoIHNlbGJyaSB3aGljaCBoYXMgc3VtdGkgYm91bmQgYnkgJydiZScn LgoKVG8gbGlzdCB0aGVtOgoKX18nJ2JlJydfXyBiaW5kcyBzdW10aSBvciBzdW10Y2l0YSB0byBz ZWxicmkKCl9fJydiZWknJ19fIGJpbmRzIGEgc2Vjb25kLCB0aGlyZCwgZm91cnRoIChlY3QpIHN1 bXRpIG9yIHN1bXRjaXRhIHRvIGEgc2VsYnJpCgpfXycnYmUnbycnX18gZW5kcyBiaW5kaW5nIHRv IHNlbGJyaQoKCgpUaGVyZSBpcyBhbHNvIHdheXMgdG8gbG9vc2VseSBhc3NvY2lhdGUgYSBzdW10 aSB3aXRoIGFub3RoZXIuICcncGUnJyBhbmQgJyduZScnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9u LXJlc3RyaWN0aXZlIGFzc29jaWF0aW9uLiBBY3R1YWxseSwgJydsZSBiYW5ndSBwZSBtaScnIGlz IGEgYmV0dGVyIHRyYW5zbGF0aW9uIG9mIOKAnG15IGxhbmd1YWdl4oCdLCBzaW5jZSB0aGlzIHBo cmFzZSwgbGlrZSB0aGUgRW5nbGlzaCwgaXMgdmFndWUgYXMgdG8gaG93IHRoZSB0d28gYXJlIGFz c29jaWF0ZWQgd2l0aCBlYWNoIG90aGVyLgoKJydwZScnIGFuZCAnJ25lJycgYXJlIHVzZWQgYXMg bG9vc2UgYXNzb2NpYXRpb24gb25seSwgbGlrZSBzYXlpbmcg4oCcbXkgY2hhaXLigJ0gYWJvdXQg YSBjaGFpciB3aGljaCB5b3Ugc2l0IG9uLiBJdCdzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBoYXMg c29tZXRoaW5nIGRvIHRvIHdpdGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBjYW4g YmUgZXN0YWJsaXNoZWQgd2l0aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1 bmlxdWUgYW5kIGJpbmRpbmcgdG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3IgYSBj YXIgdGhhdCB5b3UgYWN0dWFsbHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3IgaXMg JydwbydlJycsIHdoaWNoIG1ha2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3 ZWVuIHN1bXRpLCBtZWFuaW5nIHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3 byBzdW10aS4gU29tZSBleGFtcGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIgb3Ig Im15IGhvbWUgY291bnRyeSI7IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0 IChldmVuIGlmIHlvdSBzYXcgb2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFybSks IGFuZCBhcmUgdGhlcmVmb3JlIGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBh ICcncG8nZScnIGlzIGFwcHJvcHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNv bnRhaW5zIHRoZSBvbmUgdG8gd2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScnIGlz IGJldHRlci4KCl9fJyduZScnX18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndo aWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVsYXRp dmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBwb3Nz ZXNpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycncG8n ZScnX18gaW5hbGllbmFibGUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4uLiIK CgoKQSB2ZXJ5IHVzZWZ1bCBjb25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7 c2VsYnJpfScnLiB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBlICB7 c3VtdGl9JycuIEZvciBpbnN0YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0byAn J2xlIGdlcmt1IHBlIG1pJycuIE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGluc2lk ZSBkZXNjcmlwdGlvbiBzdW10aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkga3Ug Z2Vya3UnJywgPSAnJ2xlIGdlcmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRoZSBk b2cgb2YgdGhlIG1hbiBJJ20gZmxpcnRpbmcgd2l0aOKAnSwgYnV0IHRoYXQncyBub3QgdmVyeSBl YXN5IHRvIHJlYWQgKG9yIHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4pLCBhbmQgaXMgb2Z0ZW4g YmVpbmcgYXZvaWRlZC4KCgoKT25lIG5lZWQgYWxzbyB0byBsZWFybiAnJ3R1J2EnJywgc2luY2Ug aXQgd2lsbCBtYWtlIGEgbG90IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBz dW10aSBhbmQgY29udmVydHMgaXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJz dHJhY3Rpb24gd2hpY2ggaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4g Rm9yIGV4YW1wbGUsIEkgY291bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxp c2UnJywgb3IgSSBjb3VsZCBsZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9u IGFib3V0IHRoZSBhcHBsZSBJIGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamljYSB0dSdhIGxv IHBsaXNlJycuIE9uZSBhbHdheXMgaGFzIHRvIGd1ZXNzIHdoYXQgYWJzdHJhY3Rpb24gdGhlIHNw ZWFrZXIgbWVhbnMgYnkgJyd0dSdhIFNVTVRJJycsIHNvIGl0IHNob3VsZCBvbmx5IGJlIHVzZWQg d2hlbiBjb250ZXh0IG1ha2VzIGl0IGVhc3kgdG8gZ3Vlc3MuIEFub3RoZXIgZXhhbXBsZToKCl9f JydnYXNudScnX18g4oCceDEgZG9lcy9icmluZ3MgYWJvdXQgeDIgKHZvbGl0aW9uIG5vdCBpbXBs aWVkKeKAnQoKJyd6YSdhIGRvIGdhc251IHR1J2EgbG8gc2thbWknJyAtIOKAnEkgc2VlIHRoYXQg eW91IG1ha2UgdGhlIGNvbXB1dGVyIGRvIHNvbWV0aGluZ+KAnS4gT2ZmaWNpYWxseSwgJyd0dSdh IFNVTVRJJycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZScnLiBWYWd1ZSwg YnV0IHVzZWZ1bC4gVGhlcmUgYXJlIHNpdHVhdGlvbnMgd2hlcmUgeW91IGNhbm5vdCB1c2UgJyd0 dSdhJycsIGV2ZW4gdGhvdWdoIGl0IHdvdWxkIHNlZW0gc3VpdGFibGUuIFRoZXNlIHNpdHVhdGlv bnMgYXJlIHdoZW4gSSBkb24ndCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8gYmUgYW4gYWJz dHJhY3Rpb24sIGJ1dCBhIGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9uZSBjYW4gdXNl ICcnem8nZSBwZScnLgoKX18nJ3R1J2EnJ19fIGNvbnZlcnQgc3VtdGkgdG8gdmFndWUgYWJzdHJh Y3Rpb24gaW52b2x2aW5nIHRoZSBzdW10aS4gRXF1aXZhbGVudCB0byAnJ2xlIHN1J3UgU1VNVEkg Y28nZSBrZWkga3UnJwoKCgpGaW5hbGx5LCBvbmUga2luZCBvZiBzdW10aSBjYW4gYmUgdHVybmVk IGludG8gYW5vdGhlciBieSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIExBaEUuCgpfXycnbHUnYScn X18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVh bHMuCgpfXycnbHUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9z ZXQgdG8gYSBzZXQuCgpfXycnbHUnbycnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9z ZXF1ZW5jZS9zZXQgdG8gbWFzcy4KCl9fJyd2dSdpJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChz KS9tYXNzL3NlcXVlbmNlL3NldCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQu CgpUaGUgdXNlIG9mIHRoZXNlIHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0 aGVtIGJlZm9yZSBhIHN1bXRpIG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9m IGEgbmV3IHR5cGUuIE5vdGljZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3Vt dGksIGEgc2VxdWVuY2UgaGFzIGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5 IG9mdGVuIChpdCBkb2Vzbid0IGhhdmUgaXRzIG93biBnYWRyaSwgZm9yIGluc3RhbmNlKSwgYnV0 IGp1c3QgaW5jbHVkZWQgaGVyZSBmb3IgY29tcGxldGlvbi4KClRoZSBsYXN0IHR3byBtZW1iZXJz IG9mIExBaEUgZG8gbm90IGNvbnZlcnQgYmV0d2VlbiB0eXBlcyBvZiBzdW10aSwgYnV0IGFsbG93 cyB5b3UgdG8gc3BlYWsgb2YgYSBhIHN1bXRpIGJ5IG9ubHkgbWVudGlvbmluZyBzb21ldGhpbmcg d2hpY2ggcmVmZXJlbmNlcyB0byBpdDoKCklmIG9uZSBzdW10aSBBIHJlZmVycyB0byBhIHN1bXRp IEIsIGZvciBpbnN0YW5jZSBiZWNhdXNlIHN1bXRpIEEgaXMgYSB0aXRsZSBvZiBhIGJvb2ssIG9y IGEgbmFtZSwgb3IgYSBzZW50ZW5jZSAod2hpY2ggYWx3YXlzIHJlZmVyIHRvIHNvbWV0aGluZywg YXQgbGVhc3QgYSBicmlkaSksIOKAmCdsYSdlIFNVTVRJIEEnJyByZWZlcnMgdG8gc3VtdGkgQi4g Rm9yIGluc3RhbmNlLCDigJgnbWkgbmVsY2kgbGEnZSBkaSd1JycgZm9yIOKAnEkgbGlrZSB3aGF0 IHlvdSBqdXN0IHNhaWTigJ0gKG5vdCAnJ21pIG5lbGNpIGRpJ3UnJyB3aGljaCBqdXN0IG1lYW5z ICJJIGxpa2UgeW91ciBwcmV2aW91cyBzZW50ZW5jZSIpIG9yIOKAmCdsYSdlIGxlIGNtYWx1IG5v bHRydScnIGZvciB0aGUgYm9vayDigJxUaGUgTGl0dGxlIFByaW5jZeKAnSwgYW5kIG5vdCBzb21l IGxpdHRsZSBwcmluY2UgaGltc2VsZi4gVGhlIGNtYXZvIOKAmCdsdSdlJycgZG9lcyB0aGUgZXhh Y3QgcmV2ZXJzZSDigJMg4oCYJ2x1J2UgU1VNVEknJyByZWZlcnMgdG8gYW4gb2JqZWN0IHdoaWNo IHJlZmVycyB0byB0aGUgc3VtdGkuIAoKX18nJ2xhJ2UnJ19fIC0g4oCcdGhlIHRoaW5nIHJlZmVy cmVkIHRvIGJ54oCdIC0gZXh0cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJl ZmVycyB0byBBLiAKCl9fJydsdSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJpbmcgdG/igJ0g LSBleHRyYWN0cyBhIHN1bXRpIEIgZnJvbSBhIHN1bXRpIEEsIHdoZW4gQiByZWZlcnMgdG8gQS4K CgoKCgohISFFbmQgb2YgcGFydCBvbmUKCkR1ZSB0byB0aGUgaW1wcmFjdGljYWxseSBsYXJnZSBz aXplIG9mIHRoZXNlIGxlc3NvbnMsIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGluc3RhbGxtZW50IGNh biBiZSBmb3VuZCBvbiBwYWdlcyBkZWRpY2F0ZWQgdG8gKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAy fHRoZSBmb3JtZXIpKSBhbmQgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZSBsYXR0ZXIpKS4g Tm8gd29ycmllcywgdGhvdWdoLCBjbGlja2luZyBvbiAidGhlIGZvcm1lciIgb3IgInRoZSBsYXR0 ZXIiIHdpbGwgdGFrZSB5b3UgdGhlcmUgcGFpbmxlc3NseS4KCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lr aWNoYW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGlu Zm8vd2lraWNoYW5nZXMK