Received: from localhost ([::1]:50926 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UBqNK-00037E-Id; Sat, 02 Mar 2013 09:37:34 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:59445 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UBqNB-000375-Ba for wikichanges@lojban.org; Sat, 02 Mar 2013 09:37:32 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 2 Mar 2013 09:37:24 -0800 From: "Apache" Date: Sat, 2 Mar 2013 09:37:24 -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 wavelessonscontinuedp3 was changed by gleki at 17:37 UTC Comment: bu'a ro da zo'u da bu'a Bob > su'o bu'a ro da zo'u da bu'a la .bab. You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp3 [...] 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 wavelessonscontinuedp3 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: 51851 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMyB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAx NzozNyBVVEMKQ29tbWVudDogYnUnYSBybyBkYSB6byd1IGRhIGJ1J2EgQm9iID4gc3UnbyBidSdh IHJvIGRhIHpvJ3UgZGEgYnUnYSBsYSAuYmFiLgoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZv bGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvd2F2ZWxlc3Nv bnNjb250aW51ZWRwMwoKWW91IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2 ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlr aS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPXdhdmVsZXNzb25zY29udGludWVkcDMmY29tcGFy ZT0xJm9sZHZlcj01Jm5ld3Zlcj02CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZv bGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQu CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqCgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSsKQEAgLUxpbmVzOiA0NC00OCBjaGFuZ2VkIHRvICtMaW5lczogNDQtNDggQEAKKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsK U2luY2Ugb25seSB0ZXJtcyBjYW4gZ28gaW4gdGhlIHByZW5leCwgdGhlc2UgYnJpa2EnaSBuZWVk IHRvIGhhdmUgYSBxdWFudGlmaWVyIGluIG9yZGVyIHRvIG1ha2UgdGhlbSBpbnRvIHN1bXRpLiBX aGVuIHF1YW50aWZpZWQgaW4gdGhlIHByZW5leCwgaG93ZXZlciwgdGhlIHF1YW50aWZpZXIgd29y a3MgdmVyeSBkaWZmZXJlbnQgZnJvbSBxdWFudGlmaWVycyB3aXRoIG5vcm1hbCBzZWxicmk6IElu c3RlYWQgb2YgcXVhbnRpZnlpbmcgdGhlIGFtb3VudCBvZiB0aGluZ3Mgd2hpY2ggZml0cyB0aGUg eDEgb2YgdGhlIHNlbGJyaSB2YXJpYWJsZSwgaXQgZGlyZWN0bHkgcXVhbnRpZmllcyB0aGUgYW1v dW50IG9mIHNlbGJyaSB3aGljaCBhcHBsaWVzLiBBZ2FpbiwgdGhlIGRlZmF1bHQgcXVhbnRpZmll ciBpcyAnJ3NvJ3UnJy4gVGh1cywgaW5zdGVhZCBvZiAnJ3JlIGJ1J2Egem8ndScnIG1lYW5pbmcg IkNvbmNlcm5pbmcgdHdvIHRoaW5ncyB3aGljaCBpcyBpbiByZWxhdGlvbnNoaXAgWDoiLCBpdCBt ZWFucyAiQ29uY2VybmluZyB0d28gcmVsYXRpb25zaGlwcyBYOiIKSXQncyBwcm9iYWJseSBnb29k IHRvIHNlZSBhbiBleGFtcGxlIG9mICcnYnUnYScnIHB1dCB0byBwcmFjdGljZToKLSAnJ3JvIGRh IGJ1J2EgbGEgLmJhYi4nJyA9ICZxdW90O0NvbnNpZGVyaW5nIGFsbCBYIHdoaWNoIGV4aXN0czog WCBpcyBpbiBhdCBsZWFzdCBvbmUgcmVsYXRpb25zaGlwIHdpdGggQm9iJnF1b3Q7ID0gJnF1b3Q7 RXZlcnl0aGluZyBpcyByZWxhdGVkIHRvIEJvYiBpbiBhdCBsZWFzdCBvbmUgd2F5LiZxdW90Oy4g Tm90aWNlIGFnYWluIHRoZSBvcmRlciBtYXR0ZXJzOiAnJ2J1J2Egcm8gZGEgem8ndSBkYSBidSdh IEJvYicnIG1lYW5zOiAmcXVvdDtUaGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVsYXRpb25zaGlwIHN1 Y2ggdGhhdCBldmVyeXRoaW5nIHRoYXQgZXhpc3RzIGlzIGluIHRoYXQgcmVsYXRpb25zaGlwIHdp dGggQm9iJnF1b3Q7LiBUaGUgZmlyc3Qgc3RhdGVtZW50IGlzIHRydWUgLSBmb3IgYW55IG9uZSB0 aGluZywgb25lIGNhbiBpbmRlZWQgbWFrZSB1cCBzb21lIHNlbGJyaSB3aGljaCByZWxhdGVzIGFu eSBndXkgY2FsbGVkIEJvYiBhbmQgaXQuIEJ1dCBJJ20gbm90IHN1cmUgdGhlIGxhdHRlciBpcyB0 cnVlIC0gdGhhdCBvbmUgY2FuIG1ha2UgYSBzZWxicmkgd2hpY2ggY2FuIHJlbGF0ZSBhbnl0aGlu Zywgbm8gbWF0dGVyIHdoYXQgaXQgaXMsIGFuZCBCb2IuCisgJydybyBkYSBidSdhIGxhIC5iYWIu JycgPSAmcXVvdDtDb25zaWRlcmluZyBhbGwgWCB3aGljaCBleGlzdHM6IFggaXMgaW4gYXQgbGVh c3Qgb25lIHJlbGF0aW9uc2hpcCB3aXRoIEJvYiZxdW90OyA9ICZxdW90O0V2ZXJ5dGhpbmcgaXMg cmVsYXRlZCB0byBCb2IgaW4gYXQgbGVhc3Qgb25lIHdheS4mcXVvdDsuIE5vdGljZSBhZ2FpbiB0 aGUgb3JkZXIgbWF0dGVyczogJydzdSdvIGJ1J2Egcm8gZGEgem8ndSBkYSBidSdhIGxhIC5iYWIu JycgbWVhbnM6ICZxdW90O1RoZXJlIGlzIGF0IGxlYXN0IG9uZSByZWxhdGlvbnNoaXAgc3VjaCB0 aGF0IGV2ZXJ5dGhpbmcgdGhhdCBleGlzdHMgaXMgaW4gdGhhdCByZWxhdGlvbnNoaXAgd2l0aCBC b2ImcXVvdDsuIFRoZSBmaXJzdCBzdGF0ZW1lbnQgaXMgdHJ1ZSAtIGZvciBhbnkgb25lIHRoaW5n LCBvbmUgY2FuIGluZGVlZCBtYWtlIHVwIHNvbWUgc2VsYnJpIHdoaWNoIHJlbGF0ZXMgYW55IGd1 eSBjYWxsZWQgQm9iIGFuZCBpdC4gQnV0IEknbSBub3Qgc3VyZSB0aGUgbGF0dGVyIGlzIHRydWUg LSB0aGF0IG9uZSBjYW4gbWFrZSBhIHNlbGJyaSB3aGljaCBjYW4gcmVsYXRlIGFueXRoaW5nLCBu byBtYXR0ZXIgd2hhdCBpdCBpcywgYW5kIEJvYi4KTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdoaWNo IHF1YW50aWZpZXMgc2VsYnJpOgonJ2NpJ2kgYnUnZSB6byd1IG1pIGJ1J2UgZG8nJyAtICJDb25j ZXJuaW5nIGFuIGluZmluaXRlIGFtb3VudCBvZiByZWxhdGlvbnNoaXBzOiBJIGFtIGluIGFsbCB0 aG9zZSByZWxhdGlvbnNoaXAgd2l0aCB5b3UuIiBvciAiVGhlcmUgZXhpc3RzIGFuIGluZmluaXRl IGFtb3VudCBvZiByZWxhdGlvbnNoaXBzIGJldHdlZW4gdXMiCgoKCgoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2Ug Y29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJhbiBXYXZlIExlc3NvbnMgQ29udGludWVk IChwYXJ0IHRocmVlKToKCiEhIU1hZGUgYnkgbGEga2xha3Ugd2l0aCBoZWxwIGZyb20gdmFyaW91 cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBsYSAua3JpYmFjci4gU3ByaW5nIDIw MTMuCgoKCldlbGNvbWUgdG8gdGhlIHRoaXJkIHBhcnQgb2YgVGhlIFdhdmVsZXNzb25zY29udGlu dWVkLiBJZiB5b3Ugd2FudCB0byBnbyBiYWNrIHRvICgod2F2ZWxlc3NvbnNjb250aW51ZWR8dGhl IGZpcnN0IHBhcnQpKSBvciAoKHdhdmVsZXNzb25zY29udGludWVkcDJ8dGhlIHNlY29uZCBwYXJ0 KSksIGp1c3QgY2xpY2sgb24gdGhlIHdvcmRzIHJlcHJlc2VudGluZyB0aGVtIGluIHRoaXMgc2Vu dGVuY2UuIFRoaXMgdGhpcmQgcGFydCBpcyBhYm91dCBhZHZhbmNlZCBMb2piYW4uIFRoZSBMb2pi YW4gaW4gdGhpcyBwYXJ0IGlzIHJhcmVseSByZWxldmFudCB3aGVuIHNwZWFraW5nIExvamJhbiBp biBub3JtYWwgY29udGV4dHMsIGJ1dCBpdCBwb3BzIHVwIHF1aXRlIG9mdGVuIHdoZW4gc3BlYWtp bmcgYWJvdXQgbGFuZ3VhZ2UgYW5kIGxvZ2ljLiAKClRoZXNlIGNvcm5lcnMgb2YgTG9qYmFuIGlz IGZvciB0aGUgbW9zdCBwYXJ0IGV4cGVyaW1lbnRhbCwgbmV3IG9yIGNvbXBsZXgsIHNvIHlvdSBz aG91bGQgZXhwZWN0IGEgbG90IG9mIGNoYW5naW5nIGRlZmluaXRpb25zLCBvdXRkYXRlZCBkZWZp bml0aW9ucywgZGlzYWdyZWVtZW50cyBhbmQgbWlzdW5kZXJzdGFuZGluZ3Mgb24gdGhlIHBhcnQg b2YgdGhlIGF1dGhvciBvZiB0aGlzIHRleHQuIFNvcnJ5IGFib3V0IHRoYXQuCgoKCiEhTG9qYmFu IExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXNldmVuIChsb2piYW4gbG9naWM6IGRhLCBidSdhLCB6 byd1IGFuZCB0ZXJtcykKClRoZSBzdGF0ZWQgdG9waWMgb2YgdGhpcyBsZXNzb24gbmVlZHMgc29t ZSBqdXN0aWZpY2F0aW9uOiBUaGlzIGxlc3NvbiBpcyBub3QgcmVhbGx5IGFib3V0IGhvdyBkbyB0 byBsb2dpYyBpbiBMb2piYW4sIHNpbmNlIGZpcnN0bHksIGxvZ2ljIGlzIHByZXN1bWFibHkgdGhl IHNhbWUgaW4gYWxsIGxhbmd1YWdlcywgYW5kIHNlY29uZGx5LCBhY3R1YWxseSB0ZWFjaGluZyBs b2dpYyB3b3VsZCBiZSB0b3RhbGx5IGltcHJhY3RpY2FsIGluIG9uZSBzaW5nbGUgbGVzc29uLiBS YXRoZXIsIHRoaXMgbGVzc29uIGV4cGxhaW5zIHNvbWUgY29uc3RydWN0cyB3aGljaCByZXNlbWJs ZSB0aG9zZSB3aGljaCBsb2dpY2lhbnMgdXNlLiBJdCB0dXJucyBvdXQgdGhleSBoYXZlIGEgcmVt YXJrYWJsZSB3aWRlIHJhbmdlIG9mIHVzZXMgaW4gTG9qYmFuLgoKR2V0dGluZyBpbnZvbHZlZCBp biB0aGUgbW9yZSBvYnNjdXJlIGRldGFpbHMgb2YgdGhlc2UgbG9naWNhbCBjb25zdHJ1Y3RzIGNh biBiZSBtaW5kLXdhcnBpbmdseSBkaWZmaWN1bHQsIGFuZCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBz b21lIGRpc2FncmVlbWVudCBpbiB0aGUgY29ybmVycyBvZiB0aGlzIHBhcnQgb2YgdGhlIGxhbmd1 YWdlLgoKTGVhcm5pbmcgdGhlc2UgbG9naWNhbCBjb25zdHJ1Y3RzIHJlcXVpcmVzIG9uZSB0byBs ZWFybiBhIGJpdCBhYm91dCBjb25zdHJ1Y3RzIHdoaWNoIGFyZSBub3QgbG9naWNhbCBpbiBuYXR1 cmUuIExldCdzIGJlZ2luIHdpdGggJyd6byd1JycKCl9fJyd6byd1JydfXyBTZXBhcmF0ZXMgcHJl bmV4IGZyb20gYnJpZGkKCkJlZm9yZSBhbnkgJyd6byd1JycgaXMgdGhlIHByZW5leCwgYWZ0ZXIg Jyd6byd1JycgaXMgdGhlIGJyaWRpLiBJbmZvcm1hbGx5LCBhIHByZW5leCBpcyBhIHBsYWNlIGlu IGZyb250IG9mIHRoZSBicmlkaSwgd2hlcmUgeW91IHB1dCBhIGJ1bmNoIG9mIHRlcm1zLiBBIHRl cm0gaXMgYW4gRW5nbGlzaCB3b3JkIGdpdmVuIHRvIHNvbWUga2luZHMgb2YgTG9qYmFuIGNvbnN0 cnVjdHM6IFN1bXRpLCBzdW10Y2l0YSB3aXRoIG9yIHdpdGhvdXQgc3VtdGkgYXR0YWNoZWQsICcn bmEga3UnJyBhbmQgYW4gYWJvbWluYXRpb24gY2FsbGVkIF9fdGVybXNldHNfXywgd2hpY2ggSSBy ZWZ1c2UgdG8gaW5jbHVkZSBpbiB0aGVzZSBsZXNzb25zLiBUaGUgcHJlbmV4IGlzIG5vdCBwYXJ0 IG9mIHRoZSBicmlkaSwgYnV0IGFueSB0ZXJtcyBwdXQgaW5zaWRlIGl0IGdpdmVzIHVzIGluZm9y bWF0aW9uIGFib3V0IHRoZSBicmlkaS4gT25lIGNhbiwgZm9yIGV4YW1wbGUsIHVzZSBpdCB0byBz dGF0ZSBhIHRvcGljIGFzIHNob3duIHRodXM6CgonJ2xvIHBhbXBlJ28gamUgbmFpIHNwZW5pIHpv J3UgbWkgbmEgemFucnUnJyAtICJDb25jZXJuaW5nIGxvdmVycyB3aG8gYXJlIG5vdCBzcG91c2Vz OiBJIGRvIG5vdCBhcHByb3ZlIi4gVGhlIGJlbmVmaXRzIG9mIGtpbmQgb2Ygc2VudGVuY2Ugc3Ry dWN0dXJpbmcgaXMgcXVlc3Rpb25hYmxlLCBidXQgaXQncyBhbHdheXMgZ29vZCB0byBoYXZlIHNv bWUgdmFyaWF0aW9uIHRvIHBsYXkgd2l0aC4gRnVydGhlcm1vcmUsIGNvbnN0cnVjdGluZyBzZW50 ZW5jZXMgdGhpcyB3YXkgcmVzZW1ibGVzIE1hbmRhcmluIChhbmQgb3RoZXIgbGFuZ3VhZ2VzKSBj bG9zZWx5LCBtZWFuaW5nIGl0IG1pZ2h0IHNlZW0gbW9yZSBpbnR1aXRpdmUgZm9yIHNwZWFrZXJz IG9mIHRoYXQgbGFuZ3VhZ2UuCgpfXycncGFtcGUnbycnX18geDEgaXMgYSBsb3ZlciBvZiB4MgoK X18nJ3phbnJ1JydfXyB4MSBhcHByb3ZlcyBvZiB4MiAocGxhbiwgZXZlbnQgb3IgYWN0aW9uKQoK T2YgY291cnNlLCB0aGUgcmVsYXRpb24gYmV0d2VlbiB0aGUgdGVybXMgaW4gdGhlIHByZW5leCBh bmQgdGhlIGJyaWRpIGlzIHZhZ3VlLiBPbmUgY2FuIGltYWdpbmUgYW55IHN1bXRpIGluIHRoZSBw cmVuZXggYmVhcmluZyB0aGUgc2FtZSByZWxldmFuY2UgdG8gdGhlIGJyaWRpIGFzIGlmIHRoZXkg d2VyZSBwdXQgaW4gdGhlIGJyaWRpIGFmdGVyIGEgJydkbydlJycgc3VtdGNpdGEsIGFuZCBhbnkg c3VtdGNpdGEgaW4gdGhlIHByZW5leCBkb2luZyBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyBpZiB0 aGV5IHdlcmUgaW4gdGhlIGJyaWRpLiBJdCBpcyBxdWl0ZSBwb3NzaWJsZSB0byBwdXQgdGVybXMg aW4gcHJlbmV4ZXMgd2l0aG91dCBhbnkgY2xlYXIgaGludHMgYXMgdG8gaG93IHRoZSB0ZXJtIG1h eSByZWxhdGUgdG8gdGhlIGJyaWRpOgoKJydsZSB2aSBnZXJrdSB6byd1IG1pIHRvJ2UgbmVsY2kg bG8gY2lkanJwaXRzYScnIC0gIkNvbmNlcm5pbmcgdGhpcyBkb2cgaGVyZTogSSBkaXNsaWtlIHBp enphLiIgSXQgbGVhdmVzIHlvdSBndWVzc2luZyBhYm91dCB0aGUgcmVhc29uIGZvciBtZW50aW9u aW5nIHRoZSBkb2cuCgpfXycnY2lkanJwaXRzYScnX18geDEgaXMgcGl6emEgd2l0aCB0b3BwaW5n L2luZ3JlZGllbnRzIHgyCgpJZiB0aGUgcHJlbmV4IGNvbnRhaW5zICcnbmEga3UnJywgaXQncyBw cmV0dHkgc3RyYWlnaHQgZm9yd2FyZDogVGhlIGVudGlyZSBicmlkaSBpcyBuZWdhdGVkLCBqdXN0 IGFzIGlmIHRoZSBicmlkaSBpdHNlbGYgYmVnYW4gd2l0aCAnJ25hIGt1JycuCgpTbyBob3cgbG9u ZyBkb2VzIGEgcHJlbmV4IGxhc3Q/IEl0IGxhc3RzIHVudGlsIHRoZSBmb2xsb3dpbmcgYnJpZGkg aXMgdGVybWluYXRlZC4gSWYgdGhhdCBpcyBub3QgZGVzaXJlZCwgdGhlcmUgYXJlIHR3byB3YXlz IHRvIG1ha2UgaXQgYXBwbHkgdG8gc2V2ZXJhbCBicmlkaTogT25lIGlzIHRvIHB1dCBzb21lIGtp bmQgb2YgY29ubmVjdGl2ZSBhZnRlciB0aGUgJycuaScnIHNlcGFyYXRpbmcgdGhlIGJyaWRpLCBh bmQgYW5vdGhlciBtZXRob2QgaXMgdG8gc2ltcGx5IGluY2x1ZGUgYWxsIG9mIHRoZSB0ZXh0IGlu ICcndHUnZScnIC4uLiAnJ3R1J3UnJy1icmFja2V0cy4gVGhlc2UgYnJhY2tldHMgd29yayBwcmV0 dHkgbXVjaCBieSBnbHVpbmcgYWxsIHRoZSBicmlkaSB0b2dldGhlciBhbmQgbWFrZXMgYWxsIHNv cnRzIG9mIGNvbnN0cnVjdCBhcHBseSB0byBzZXZlcmFsIGJyaWRpLgoKTm93IHRoYXQgd2UgY292 ZXJlZCAnJ3pvJ3UnJywgdGhlIGZpcnN0ICJsb2dpY2FsIiB3b3JkcyB3ZSBjYW4gdXNlIGl0IHdp dGggYXJlIHRoZXNlOgoKX18nJ2RhJydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlh bCBzdW1rYSdpIDEKCl9fJydkZScnX18gbG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwg c3Vta2EnaSAyCgpfXycnZGknJ19fIGxvZ2ljYWxseSBxdWFudGlmaWVkIGV4aXN0ZW50aWFsIHN1 bWthJ2kgMwoKVGhlc2Ugd29yZHMgYXJlIGFsbCB0aGUgc2FtZSwgbGlrZSB0aGUgbWF0aGVtYXRp Y2FsIHZhcmlhYmxlcyB4LCB5IGFuZCB6LiBPbmNlIHlvdSBoYXZlIGRlZmluZWQgdGhlbSwgaG93 ZXZlciwgdGhleSBrZWVwIHJlZmVyaW5nIHRvIHRoZSBzYW1lIHRoaW5nLiBUaGVzZSB3b3JkcyBh cmUgZGVmaW5lZCBpbiB0aGUgcHJlbmV4IG9mIGJyaWRpLCBtZWFuaW5nIHRoYXQgd2hlbiB0aGUg cHJlbmV4IHN0b3AgYXBwbHlpbmcsIHRoZSBkZWZpbml0aW9uIG9mIHRoZXNlIHRocmVlIHdvcmRz IGFyZSBjYW5jZWxsZWQuCgpUaGUgd29yZHMgJydkYScnLCAnJ2RlJycgYW5kICcnZGknJyBjYW4g cmVmZXIgdG8gbGl0ZXJhbGx5IGFueSBzdW10aSwgd2hpY2ggbWFrZXMgdGhlbSBraW5kIG9mIHVz ZWxlc3MgdW5sZXNzIHJlc3RyaWN0ZWQgaW4gc29tZSB3YXkuIFRoZSBmaXJzdCBhbmQgZm9yZW1v c3Qgd2F5IHRvIHJlc3RyaWN0IHRoZW0gaXMgdG8gcXVhbnRpZnkgdGhlbTogVGhleSBhcmUgbm90 IGNhbGxlZCAibG9naWNhbGx5IHF1YW50aWZpZWQgZXhpc3RlbnRpYWwgc3Vta2EnaSIgZm9yIG5v dGhpbmcuIFRoZXkgYXJlIHN1bWthJ2ksIHRoZXkgYXJlIG1vc3QgdXNlZnVsIHdoZW4gcXVhbnRp ZmllZCwgYW5kIHRoZXkgYXJlIGV4aXN0ZW50aWFsLiBXaGF0IGRvZXMgaXQgbWVhbiwgYmVpbmcg ImV4aXN0ZW50aWFsIj8gSXQgbWVhbnMgdGhhdCBpZiB0aGV5IGFyZSB1c2VkLCB0aGF0IGltcGxp ZXMgdGhhdCB0aGV5IGFjdHVhbGx5IHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBleGlzdHMuIEFu IGV4YW1wbGU6CgpUaGUgc3RhdGVtZW50ICcncGEgZGEgem8ndSBkYSBnZXJrdScnIGhhcyAnJ3Bh IGRhJycgaW4gdGhlIHByZW5leCwgd2hpY2ggbWVhbnMgIkNvbmNlcm5pbmcgb25lIGV4aXN0aW5n IHRoaW5nOiIsIGFuZCB0aGVuICcnZGEnJywgbm93IGRlZmluZWQsIGlzIHVzZWQgaW4gdGhlIGJy aWRpICcnZGEgZ2Vya3UnJy4gVHJhbnNsYXRlZCB0byBFbmdsaXNoLCB0aGlzIG1lYW5zOiAiVGhl cmUgZXhpc3RzIG9uZSB0aGluZyB3aGljaCBpcyBhIGRvZyIuIFRoaXMgaXMgb2J2aW91c2x5IGZh bHNlLCB0aGVyZSBhcmUgYXJvdW5kIDQwMCwwMDAsMDAwIG9mIHRoZW0gaW4gdGhlIHdvcmxkLiBJ ZiAnJ2RhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBub3QgcXVhbnRpZmllZCwgdGhlIG51bWJlciAn J3N1J28nJyBpcyB0aGUgZGVmYXVsdC4gVGh1cyAnJ2RhIHpvJ3UgZGEgZ2Vya3UnJyBtZWFucyAi VGhlcmUgZXhpc3QgYXQgbGVhc3Qgb25lIHRoaW5nIHdoaWNoIGlzIGEgZG9nIiwgd2hpY2ggaXMg dHJ1ZS4gTm90aWNlIGhlcmUsIHRoYXQgYW55IHF1YW50aWZpY2F0aW9uIG11c3QgYmUgbW9yZSBv ciBsZXNzIGV4YWN0IGluIG9yZGVyIHRvIGJlIHRydWU6IE9mIGNvdXJzZSBvbmUgZG9nIGV4aXN0 cywgYnV0IGluIExvamJhbiwgJydwYSBkYSB6byd1IGRhIGdlcmt1JycgbWVhbnMgbm90IG9ubHkg dGhhdCBkb2VzIG9uZSBkb2cgZXhpc3RzLCBidXQgYWxzbyB0aGF0IG5vIG1vcmUgdGhhbiBvbmUg ZG9lcy4gCgpUaGVyZSBhcmUgYSBmZXcgc3BlY2lmaWMgcnVsZXMgdG8gdGhlc2UgZXhpc3RlbnRp YWwgc3Vta2EnaToKCi0gSWYgdGhlIHF1YW50aWZpZXIgJydybycnIGlzIHVzZWQgYmVmb3JlICcn ZGEnJywgaXQgaW5zdGVhZCByZWZlcnMgdG8gImFsbCB3aGljaCBleGlzdHMiLgoKLSBJbXBvcnRh bnRseSwgdGhlIHVzYWdlIG9mIGFuIGV4aXN0ZW50aWFsIHN1bWthJ2kgb25seSBhc3NlcnRzIHRo YXQgc3VjaCBhIHRoaW5nIGV4aXN0cyBfX2luIHRoZSBkb21haW4gb2YgdHJ1dGggd2hlcmUgaXQn cyB1c2VkX18uIFRodXMsIGluIHRoZSBzZW50ZW5jZSAnJ3NvJ2UgdmVyYmEgY3Uga3JpY2kgbG8g ZHUndSBzdSdvIGRhIGNyaWRhJycsIGRvZXMgbm90IHN0YXRlICcnZGEgY3JpZGEnJywgc2luY2Ug aXRzICJkb21haW4gb2YgdHJ1dGgiIGlzIG9ubHkgaW5zaWRlIHRoZSBkdSd1LWFic3RyYWN0aW9u LiBHZW5lcmFsbHkgc3BlYWtpbmcsIGFic3RyYWN0aW9ucyBjb250YWluIHRoZWlyIG93biBkb21h aW4gb2YgdHJ1dGgsIHNvIHVzaW5nICcnZGEnJyBhbmQgZnJpZW5kcyBpbnNpZGUgYW4gYWJzdHJh Y3Rpb24gaXMgdXN1YWxseSBzYWZlLgoKLSBJZiB0aGUgc2FtZSB2YXJpYWJsZSBpcyBxdWFudGlm aWVkIHNldmVyYWwgdGltZXMsIHRoZSBmaXJzdCBxdWFudGlmaWNhdGlvbiBpcyB0aGUgb25lIHdo aWNoIHN0aWNrczogQW55IGxhdGVyIHF1YW50aWZpZWQgaW5zdGFuY2Ugb2YgdGhhdCB2YXJpYWJs ZSBjYW4gcmVmZXIgb25seSB0byB0aGluZ3Mgd2hpY2ggYXJlIGFsc28gYmVpbmcgcmVmZXJyZWQg dG8gYnkgdGhlIGZpcnN0IGluc3RhbmNlIG9mIHRoYXQgdmFyaWFibGUsIGFuZCBhbnkgbGF0ZXIg bm9uLXF1YW50aWZpZWQgaW5zdGFuY2Ugb2YgdGhhdCB2YXJpYWJsZSB3aWxsIGdhaW4gdGhlIGZp cnN0IHF1YW50aWZpZXIuIFRvIHVzZSBhbiBleGFtcGxlOiAnJ2NpIGRhIHpvJ3UgcmUgZGEgYmFy ZGEgLmlqZSBkYSBwZWx4dScnIG1lYW5zICJUaGVyZSBleGlzdHMgdGhyZWUgdGhpbmdzIHN1Y2gg dGhhdCB0d28gb2YgdGhlbSBhcmUgYmlnIGFuZCBhbGwgdGhyZWUgYXJlIHllbGxvdyIuICcncmUg ZGEnJywgYmVpbmcgYWZ0ZXIgJydjaSBkYScnLCBjYW4gb25seSByZWZlciB0byB0d28gb2YgdGhl IGFscmVhZHkgc3RhdGVkIHRocmVlIHRoaW5ncy4gV2hlbiAnJ2RhJycgYXBwZWFycyB3aXRob3V0 IGEgcXVhbnRpZmllciwgJydjaScnIGlzIGFzc3VtZWQuCgotIElmIHRoZXJlIGFyZSBzZXZlcmFs IHRlcm1zIGluIHRoZSBwcmVuZXgsIHRoZSB0ZXJtcyBhcmUgYWx3YXlzIHJlYWQgbGVmdCB0byBy aWdodC4gU29tZXRpbWVzLCB0aGlzIG1hdHRlcnM6ICcncm8gZGEgZGUgem8ndSBkYSBwcmFtaSBk ZScnIG1lYW5zICJDb25jZXJuaW5nIGFsbCB0aGUgdGhpbmdzIFggdGhhdCBleGlzdHMsIGNvbmNl cm5pbmcgYXQgbGVhc3Qgb25lIHRoaW5nIFk6IFggbG92ZXMgWSIuIFRoaXMgaXMgdGhlIHNhbWUg YXMgIkFsbCB0aGluZ3MgbG92ZSBhdCBsZWFzdCBvbmUgdGhpbmcuIiwgd2hlcmUgdGhlICJ0aGlu ZyhzKSIgY2FuIGJlIGFueXRoaW5nLCBpbmNsdWRpbmcgdGhlIHRoaW5nIGl0c2VsZi4gTm90ZSBo ZXJlIHRoYXQgJydkZScnIGNhbiByZWZlciB0byBkaWZmZXJlbnQgdGhpbmdzIGZvciBlYWNoICcn ZGEnJyAtIHRoZSB0aGluZyB3aGljaCBpcyByZWZlcnJlZCB0byBieSAnJ2RlJycgaXMgZGVwZW5k ZW50IG9uIHRoZSAnJ2RhJycsIHNpbmNlIGl0IGNhbWUgYmVmb3JlIGl0IGluIHRoZSBwcmVuZXgs IHRoZXJlZm9yZSBlYWNoIHRoaW5nIG1pZ2h0IGxvdmUgc29tZXRoaW5nIGRpZmZlcmVudC4gSWYg d2Ugc3dpdGNoZWQgdGhlIHBsYWNlcyBvZiAnJ2RhJycgYW5kICcnZGUnJyBpbiB0aGUgcHJlbmV4 LCBhIGRpZmZlcmVudCByZXN1bHQgd291bGQgYXJpc2U6ICcnZGUgcm8gZGEgem8ndSBkYSBwcmFt aSBkZScnID0gIkNvbmNlcm5pbmcgYXQgbGVhc3Qgb25lIHRoaW5nIFksIGNvbmNlcm5pbmcgYWxs IFggd2hpY2ggZXhpc3RzOiBYIGxvdmVzIFkiLCBtZWFuaW5nICJUaGVyZSBleGlzdHMgYXQgbGVh c3Qgb25lIHRoaW5nIHdoaWNoIGV2ZXJ5dGhpbmcgbG92ZXMiLgoKT2YgY291cnNlLCBib3RoIGNs YWltcyBhcmUgY29tcGxldGVseSBmYWxzZS4gVGhlcmUgYXJlIG1hbnkgdGhpbmdzIHdoaWNoIGxv dmVzIG5vdGhpbmcgLSByb2Nrcywgb3IgYWJzdHJhY3QgY29uY2VwdHMsIGZvciBleGFtcGxlLiBM aWtld2lzZSwgaXQncyBpbXBvc3NpYmxlIHRvIGNvbmNpZXZlIG9mIHNvbWV0aGluZyB3aGljaCBl dmVyeXRoaW5nIGxvdmVzLCBzaW5jZSAiZXZlcnl0aGluZyIgYWxzbyBlbmNvbXBhc3NlcyBub24t c2VudGllbnQgdGhpbmdzLiBXZSBuZWVkIGJldHRlciB3YXlzIHRvIHJlc3RyaWN0IHdoYXQgdGhl c2UgdmFyaWFibGVzIGNhbiBwb2ludCB0by4gT25lIGdvb2Qgd2F5IG9mIGRvaW5nIGl0IGlzIHRv IG1ha2UgdGhlbSB0aGUgc3ViamVjdCBvZiBhIHJlbGF0aXZlIGNsYXVzZToKCicncm8gZGkgcG9p IHJlbW5hIHpvJ3UgYmlya2EgZGknJyA9ICJDb25jZXJuaW5nIGFsbCBYIHRoYXQgZXhpc3RzLCB3 aGljaCBpcyBodW1hbjogWCBoYXMgb25lIG9yIG1vcmUgYXJtcy4iIG9yICJBbGwgaHVtYW5zIGhh dmUgYXJtcyIsIHdoaWNoIGlzIHRydWUsIGF0IGxlYXN0IHdoZW4gc3BlYWtpbmcgaW4gYSBwb3Rl bnRpYWwsIHRpbWVsZXNzIHNlbnNlLgoKX18nJ2JpcmthJydfXyB4MSBpcyBhbiBhcm0gb2YgeDIK CldoZW4gcmVzdHJpY3RpbmcgY2xhaW1zIHVzaW5nIHRoaXMga2luZCBvZiBsb2dpY2FsICJleGlz dGVudGlhbCIgdmFyaWFibGUsIGl0J3MgdmVyeSBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCB1 bmxlc3MgdGhlcmUgaXMgYW4gZXhwbGljaXQgJydubycnIGFzIGEgcXVhbnRpZmllciwgdGhlc2Ug a2luZCBvZiBzdGF0ZW1lbnRzIGFsd2F5cyBpbXBseSB0aGF0IHRoZXJlIF9fYWN0dWFsbHkgZXhp c3RzX18gc29tZXRoaW5nIHdoaWNoIGNhbiBiZSByZWZlcnJlZCB0byBieSAnJ2RhJycuIFRoZXJl Zm9yZSwgYW55IGtpbmQgb2Ygbm9uLW5lZ2F0ZWQgc3RhdGVtZW50IHdoZXJlICcnZGEnJyBwb2lu dHMgdG8gc29tZXRoaW5nIHdoaWNoIGRvZXMgbm90IGV4aXN0IGlzIGZhbHNlLCBhcyBpbiB0aGlz IGV4YW1wbGU6ICcncm8gZGEgcG9pIHBhdnlzZWxqaXJuYSB6byd1IGRhIHNlIGppcm5hJycgLSAi QWxsIHVuaWNvcm5zIGhhdmUgaG9ybnMiLiBUaGlzIGlzIHdyb25nIGJlY2F1c2UsIHNpbmNlICcn ZGEnJyBpcyBleGlzdGVuc2lhbCwgaXQgYWxzbyBtZWFucyB0aGF0IHRoZXJlIG11c3QgZXhpc3Qg YXQgbGVhc3Qgb25lIHVuaWNvcm4uCgpJbnRlcmVzdGluZ2x5LCB3aGVuIHVzaW5nIGEgcmVsYXRp dmUgY2xhdXNlLCB0aGUgdmFyaWFibGUgaXMgYmVpbmcgcmVzdHJpY3RlZCByZWdhcmRsZXNzIG9m IHdoZXRoZXIgeW91IHVzZSAnJ3BvaScnIG9yICcnbm9pJycuIFRoaXMgaXMgYmVjYXVzZSAnJ3Jl IGRhIG5vaSBnZXJrdScnIHN0aWxsIG9ubHkgY2FuIHJlZmVyIHRvIHR3byB0aGluZ3Mgd2hpY2gg YXJlIGh1bWFucy4gVGhlcmVmb3JlLCAnJ25vaScnIG1ha2VzIGxpdHRsZSBzZW5zZSB3aXRoICcn ZGEnJy8nJ2RlJycvJydkaScnLiBBbnkgY2xhdXNlIGlzIGFsd2F5cyByZXN0cmljdGl2ZSwgdW5s ZXNzIGl0J3MgcmVhbGx5IHN0dXBpZCBhbmQgb2J2aW91cyBsaWtlICcnZGUgbm9pIGdlcmt1IGN1 IGdlcmt1JycuCgpJbiBmYWN0LCB5b3UgZG9uJ3QgcmVhbGx5IG5lZWQgdGhlIHByZW5leCB0byBk ZWZpbmUgdGhlIHZhcmlhYmxlcy4gWW91IGNhbiB1c2UgdGhlbSBkaXJlY3RseSBhcyBzdW10aSBp biB0aGUgYnJpZGksIGFuZCBxdWFudGlmeSB0aGVtIHRoZXJlLiBZb3Ugb25seSBuZWVkIHRvIHF1 YW50aWZ5IHRoZW0gdGhlIGZpcnN0IHRpbWUgdGhleSBhcHBlYXIsIHRob3VnaC4gVGh1cywgdGhl IHNlbnRlbmNlIGFib3V0IGh1bWFucyBoYXZpbmcgYXJtcyBjb3VsZCBiZSB0dXJuZWQgaW50byAn J2JpcmthIHJvIGRpIHBvaSByZW1uYScnLiBUaGUgb3JkZXIgb2YgdGhlIHZhcmlhYmxlcyBzdGls bCBtYXR0ZXJzIHRob3VnaCwgYW5kIHNvIHRoZSBwcmVuZXggY2FuIGJlIHVzZWQgdG8gYXZvaWQg aGF2aW5nIHRvIG1lc3MgdXAgeW91ciBicmlkaSB0byBwbGFjZSB0aGUgdmFyaWFibGVzIGluIHRo ZSBjb3JyZWN0IG9yZGVyLiBXaGVuIGhhdmluZyBtb3JlIHZhcmlhYmxlcywgYSBwcmVuZXggaXMg dXN1YWxseSBhIGdvb2QgaWRlYS4KClRoZSBzZWNvbmQga2luZCBvZiBsb2dpY2FsIHdvcmRzIGFy ZSBiYXNpY2FsbHkgdGhlIHNhbWUgYXMgdGhlIHRocmVlIHdlIGhhdmUgYWxyZWFkeSBiZWVuIHRo b3VnaCwgYnV0IHRoZXNlIGFyZSBicmlrYSdpIGluc3RlYWQgb2Ygc3Vta2EnaToKCl9fJydidSdh JydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBicmlrYSdpIDEKCl9fJydidSdl JydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBicmlrYSdpIDIKCl9fJydidSdp JydfXyBsb2dpY2FsbHkgcXVhbnRpZmllZCBleGlzdGVudGlhbCBicmlrYSdpIDMKClRoZXNlIHdv cmsgcHJldHR5IG11Y2ggdGhlIHNhbWUgd2F5IGFzIHRoZSBvdGhlciB0aHJlZSwgYnV0IHRoZXJl IGFyZSBhIGZldyBwb2ludHMgd2hpY2ggYXJlIGltcG9ydGFudCB0byBtZW50aW9uOgoKU2luY2Ug b25seSB0ZXJtcyBjYW4gZ28gaW4gdGhlIHByZW5leCwgdGhlc2UgYnJpa2EnaSBuZWVkIHRvIGhh dmUgYSBxdWFudGlmaWVyIGluIG9yZGVyIHRvIG1ha2UgdGhlbSBpbnRvIHN1bXRpLiBXaGVuIHF1 YW50aWZpZWQgaW4gdGhlIHByZW5leCwgaG93ZXZlciwgdGhlIHF1YW50aWZpZXIgd29ya3MgdmVy eSBkaWZmZXJlbnQgZnJvbSBxdWFudGlmaWVycyB3aXRoIG5vcm1hbCBzZWxicmk6IEluc3RlYWQg b2YgcXVhbnRpZnlpbmcgdGhlIGFtb3VudCBvZiB0aGluZ3Mgd2hpY2ggZml0cyB0aGUgeDEgb2Yg dGhlIHNlbGJyaSB2YXJpYWJsZSwgaXQgZGlyZWN0bHkgcXVhbnRpZmllcyB0aGUgYW1vdW50IG9m IHNlbGJyaSB3aGljaCBhcHBsaWVzLiBBZ2FpbiwgdGhlIGRlZmF1bHQgcXVhbnRpZmllciBpcyAn J3NvJ3UnJy4gVGh1cywgaW5zdGVhZCBvZiAnJ3JlIGJ1J2Egem8ndScnIG1lYW5pbmcgIkNvbmNl cm5pbmcgdHdvIHRoaW5ncyB3aGljaCBpcyBpbiByZWxhdGlvbnNoaXAgWDoiLCBpdCBtZWFucyAi Q29uY2VybmluZyB0d28gcmVsYXRpb25zaGlwcyBYOiIKCkl0J3MgcHJvYmFibHkgZ29vZCB0byBz ZWUgYW4gZXhhbXBsZSBvZiAnJ2J1J2EnJyBwdXQgdG8gcHJhY3RpY2U6CgonJ3JvIGRhIGJ1J2Eg bGEgLmJhYi4nJyA9ICJDb25zaWRlcmluZyBhbGwgWCB3aGljaCBleGlzdHM6IFggaXMgaW4gYXQg bGVhc3Qgb25lIHJlbGF0aW9uc2hpcCB3aXRoIEJvYiIgPSAiRXZlcnl0aGluZyBpcyByZWxhdGVk IHRvIEJvYiBpbiBhdCBsZWFzdCBvbmUgd2F5LiIuIE5vdGljZSBhZ2FpbiB0aGUgb3JkZXIgbWF0 dGVyczogJydzdSdvIGJ1J2Egcm8gZGEgem8ndSBkYSBidSdhIGxhIC5iYWIuJycgbWVhbnM6ICJU aGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVsYXRpb25zaGlwIHN1Y2ggdGhhdCBldmVyeXRoaW5nIHRo YXQgZXhpc3RzIGlzIGluIHRoYXQgcmVsYXRpb25zaGlwIHdpdGggQm9iIi4gVGhlIGZpcnN0IHN0 YXRlbWVudCBpcyB0cnVlIC0gZm9yIGFueSBvbmUgdGhpbmcsIG9uZSBjYW4gaW5kZWVkIG1ha2Ug dXAgc29tZSBzZWxicmkgd2hpY2ggcmVsYXRlcyBhbnkgZ3V5IGNhbGxlZCBCb2IgYW5kIGl0LiBC dXQgSSdtIG5vdCBzdXJlIHRoZSBsYXR0ZXIgaXMgdHJ1ZSAtIHRoYXQgb25lIGNhbiBtYWtlIGEg c2VsYnJpIHdoaWNoIGNhbiByZWxhdGUgYW55dGhpbmcsIG5vIG1hdHRlciB3aGF0IGl0IGlzLCBh bmQgQm9iLgoKTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdoaWNoIHF1YW50aWZpZXMgc2VsYnJpOgoK JydjaSdpIGJ1J2Ugem8ndSBtaSBidSdlIGRvJycgLSAiQ29uY2VybmluZyBhbiBpbmZpbml0ZSBh bW91bnQgb2YgcmVsYXRpb25zaGlwczogSSBhbSBpbiBhbGwgdGhvc2UgcmVsYXRpb25zaGlwIHdp dGggeW91LiIgb3IgIlRoZXJlIGV4aXN0cyBhbiBpbmZpbml0ZSBhbW91bnQgb2YgcmVsYXRpb25z aGlwcyBiZXR3ZWVuIHVzIgoKWW91IGNhbid0IHF1YW50aWZ5IHRoZSBzZWxicmkgdmFyaWFibGVz IGluIHRoZSBicmlkaSBpdHNlbGYsIHRob3VnaC4gVGhlbiBpdCB3aWxsIGFjdCBhcyBhIHN1bXRp OiAnJ21pIGNpJ2kgYnUnYSBkbycnIGlzIG5vdCBhIGJyaWRpLiBUaGVyZSBhcmUgc29tZSBzaXR1 YXRpb24gd2hlcmUgdGhpcyB3aWxsIGJlY29tZSBwcm9ibGVtYXRpYyAtIGxlc3NvbiB0d2VudHkt bmluZSB3aWxsIHRlYWNoIGhvdyB0byBvdmVyY29tZSB0aG9zZSBwcm9ibGVtcy4KCgoKISFMb2pi YW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZWlnaHQgKHNlbWFudGljcyBvZiBzaW1wbGUgYWJz dHJhY3Rpb25zKQoKSSBmZWVsIGl0IGlzIG5lY2Vzc2FyeSB0byByZXBlYXQgcGFydCBvZiB0aGUg ZGlzY2xhaW1lciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBwYXJ0IG9mIHRoZSBXYXZlbGVz c29uc2NvbnRpbnVlZDogV2hhdCB5b3UgZmluZCBpbiB0aGlzIGxlc3NvbiBhbmQgdGhlIGZvbGxv d2luZyBpcyBub3QgZ29sZGVuIEJQRkstZGVmaW5pdGlvbnMsIGJ1dCBvbmUgaW50ZXJwcmV0YXRp b24uIEkgaGF2ZSBwaWVjZWQgdGhlIGxlc3NvbnMgdG9nZXRoZXIgZnJvbSB0aGUgYmVzdCBhbmQg bW9zdCBjb25zaXN0ZW50IHRoZW9yaWVzIG9uIExvamJhbiwgYnV0IG1pbmQgdGhhdCB3aGF0IGlz IHRhdWdodCBpbiBoZXJlIG1pZ2h0IG5vdCBiZSB3aGF0IGFsbCBsb2piYW5pc3RzIGFncmVlIG9u LgoKV2hpbGUgeW91IGhhdmUgYmVlbiB0YXVnaHQgYWJvdXQgYWJzdHJhY3Rpb25zIHR3ZW50eS10 d28gbGVzc29ucyBhZ28sIHRoZXJlIGFyZSBzdGlsbCBtYW55IHR5cGVzIG9mIGFic3RyYWN0aW9u IHdpdGggd2hpY2ggeW91IGFyZSB1bmZhbWlsaWFyLCBhbmQgc29tZSBvZiB0aGUgb25lcyB5b3Ug YXJlIGZhbWlsaWFyIHdpdGggaGF2ZSBub3QgYmVlbiBwcm9wZXJseSBkZWZpbmVkLgoKVGhlIGZp cnN0IGFuZCBtb3N0IGJhc2ljIGFic3RyYWN0b3IgaXMgJydzdeKAmXUnJywgd2hpY2ggeW91IGFs cmVhZHkga25vdy4KCllvdSBtaWdodCByZW1lbWJlciBmcm9tIGxlc3NvbiBzaXggdGhhdCAnJ3N1 J3UnJyBoYWQgYSBwbGFjZSBzdHJ1Y3R1cmUgd2l0aCB0d28gc3VtdGkgcGxhY2VzLiBUaGUgc2Vj b25kIHN1bXRpIHBsYWNlIG9mICcnc3UndScnIG1ha2VzIHRoZSB3b3JkIHZlcnNhdGlsZSwgYXMg dGhlIHgyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgaG93IHRoZSBhYnN0cmFjdGlvbiBzaG91bGQg YmUgY29uc2lkZXJlZC4KClRoZSBFbmdsaXNoIHBocmFzZSDigJx0aGF0IEkgbG92ZSB5b3XigJ0g aXMgZGVmaW5pdGVseSBhIHN1bXRpLCBzaW5jZSBpdOKAmXMgbWVhbnQgdG8gZnVuY3Rpb24gYXMg YSBzdWJqZWN0IG9yIG9iamVjdCBpbiBhIHNlbnRlbmNlLiBJdOKAmXMgYWxzbyBjbGVhcmx5IG1h ZGUgZnJvbSBhbiBhYnN0cmFjdGlvbi4gSXQgY2FuIHRoZXJlZm9yZSBiZSB0cmFuc2xhdGVkICcn bG8gc3XigJl1IG1pIGRvIHByYW1pJycuIFdpdGhvdXQgdGhlIGNvbnRleHQgb2YgdGhlIEVuZ2xp c2ggc2VudGVuY2UsIHRob3VnaCwgaXTigJlzIGhhcmQgdG8gZ3Vlc3Mgd2hhdCBraW5kIG9mIGFi c3RyYWN0aW9uIHdhcyBtZWFudC4g4oCcSSB3aWxsIGRpZSBoYXBweSBieSB0aGUgdGltZSB0aGF0 IEkgbG92ZSB5b3Uu4oCdIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gYXMgYW4gZXZlbnQgaGFwcGVu aW5nIGluIHRpbWUuIOKAnFRoZSB0cnV0aCBpcyB0aGF0IEkgbG92ZSB5b3Uu4oCdIHRyZWF0cyB0 aGUgYWJzdHJhY3Rpb24gbGlrZSBhIGJyaWRpLCB3aGljaCBjYW4gYmUgY29uc2lkZXJlZCB0cnVl IG9yIGZhbHNlLiAiWW91IGRvbid0IGtub3cgaG93IG11Y2ggSSBsb3ZlIHlvdSIgdHJlYXRzIHRo ZSAoYWxtb3N0IHNhbWUpIGFic3RyYWN0aW9uIGFzIGFuIGFtb3VudC4gVXNpbmcgdGhlIHNlY29u ZCBzdW10aSBwbGFjZSBvZiAnJ3N14oCZdScnLCB0aGVzZSBjYW4gYmUgZXhwbGljaXRseSBkaXN0 aW5ndWlzaGVkIGJldHdlZW46CgonJ2xvIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8gZmFz bnUnJyBpcyBhbiBldmVudC4KCicnbG8gc3XigJl1IG1pIGRvIHByYW1pIGtlaSBiZSBsbyBicmlk aScnIGlzIGEgYnJpZGkuCgonJ2xvIHN14oCZdSBtaSBkbyBwcmFtaSBrZWkgYmUgbG8ga2xhbmkn JyBpcyBhbiBhbW91bnQuCgpVc2luZyAnJ3N14oCZdScnIHRoaXMgd2F5LCB0aGUgc2VtYW50aWMs IHRob3VnaCBub3QgZ3JhbW1hdGljYWwsIHJhbmdlIG9mIGFsbCBhYnN0cmFjdG9ycyBjYW4gYmUg Y292ZXJlZC4gTW9yZSB1c3VhbGx5LCB0aG91Z2gsIG90aGVyIGFic3RyYWN0b3JzIGFyZSB1c2Vk LiAnJ251JycsIHdoaWNoIHlvdSBhbHNvIGtub3csIHRyZWF0cyB0aGUgYWJzdHJhY3Rpb24gYXMg YW4gZXZlbnQuCgpfXycnbnUnJ19fIHgxIGlzIGFuIGV2ZW50IG9mIEJSSURJCgpUaGVyZSBhcmUg bWFueSB3YXlzIHRvIHZpZXcgYW4gZXZlbnQsIGFuZCBzbyB0aGVyZSBhcmUgZm91ciBvdGhlciBh YnN0cmFjdG9ycyB3aG9zZSBzZW1hbnRpY3MgYXJlIGFsbCBjb3ZlcmVkIGJ5ICcnbnUnJywgYnV0 IG1vcmUgc3BlY2lmaWMuCgpfXycnbXXigJllJydfXyB4MSBpcyBhIHBvaW50LWxpa2UgZXZlbnQg b2YgQlJJREkgaGFwcGVuaW5nCgpfXycnemHigJlpJydfXyB4MSBpcyBhIHN0YXRlIG9mIEJSSURJ IGJlaW5nIHRydWUKCl9fJydwdeKAmXUnJ19fIHgxIGlzIGEgcHJvY2VzcyBvZiBCUklESSB1bmZv bGRpbmcgdGhyb3VnaCBzdGFnZXMgeDIKCl9fJyd6deKAmW8nJ19fIHgxIGlzIGFuIGFjdGl2aXR5 IG9mIEJSSURJIGNvbnNpc3Rpbmcgb2YgdGhlIHJlcGVhdGVkIGV2ZW50IG9mIHgyCgpUaGUgdW5k ZXJzdGFuZGluZyBvZiB0aGVzZSBhYnN0cmFjdG9ycyBpcyB0aWVkIHRvIHRoZSB1bmRlcnN0YW5k aW5nIG9mIGV2ZW50IGNvbnRvdXJzLiAnJ2114oCZZScnIGlzIGFraW4gdG8gdGhlIGV2ZW50IGNv bnRvdXIgJydjb+KAmWknJyBpbiB0aGUgc2Vuc2UgdGhhdCBib3RoIHRyZWF0IHRoZSBicmlkaSBh cyBwb2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNlOgoKJydsZSBtdeKAmWUgbWkga2Fucm8gYmlu eG8gY3Ugc2UgZGppY2EgbWknJyDigJMg4oCdTWUgYmVjb21pbmcgaGVhbHRoeSBpcyBkZXNpcmVk IGJ5IG1l4oCdIGhhcyB0aGUgc2VtYW50aWMgbWVhbmluZyB0aGF0IHRoZSBwcm9jZXNzIG9mIGJl Y29taW5nIGhlYWx0aHkgaXMgbm90IGJlaW5nIGNvbnNpZGVyZWQuIElmIGl0IGNvbnNpc3RzIG9m IGNoZW1vdGhlcmFweSwgaXQgaXMgcGxhdXNpYmxlIHRoYXQgdGhpcyBwcm9jZXNzIGlzIG5vdCBk ZXNpcmVkIGF0IGFsbC4g4oCcQmVjb21pbmcgaGVhbHRoeeKAnSwgaW4gYSBwb2ludC1saWtlIHNl bnNlIGlzIGRlc2lyZWQsIGhvd2V2ZXIuCgonJ3ph4oCZaScnIGlzIGxpa2UgdGhlIGV2ZW50IGNv bnRvdXIgJydjYeKAmW8nJyBpbiB0aGUgc2Vuc2UgdGhhdCAnJ2xlIHph4oCZaSBCUklESScnIGJl Z2lucyB0byBhcHBseSB3aGVuIHRoZSBicmlkaSBiZWdpbnMgYW5kIHNoYXJwbHkgZW5kcyB3aGVu IHRoZSBicmlkaSBjZWFzZXMgdG8gYmUgdHJ1ZSwgbXVjaCBsaWtlICcnY2HigJlvJycuIAoKJyd6 YeKAmW8gemHigJlpIG1pIGthbnJvIGJpbnhvJycgbWVhbnMgdGhhdCB0aGUgc3RhdGUgb2YgbWUg YmVjb21pbmcgaGVhbHRoeSB0b29rIHRvbyBsb25nIHRpbWU7IHRoYXQgdGhlIHRpbWUgYmV0d2Vl biBteSBoZWFsdGggYmVnaW5uaW5nIHRvIGltcHJvdmUgYW5kIGJlIGFjdHVhbGx5IGJlaW5nIGhl YWx0aHkgd2FzIGxvbmctd2luZGVkLgoKVGhlIGFjdHVhbCB0cmVhdG1lbnQgaXMgcGVyaGFwcyBi ZXR0ZXIgY2F1Z2h0IGJ5ICcncHXigJl1JycsIHdoaWNoLCBsaWtlIGV2ZW50IGNvbnRvdXJzIGlu IGdlbmVyYWwsIHB1dHMgZW1waGFzaXMgb24gdGhlIGVudGlyZSBldmVudCBhcyB1bmZvbGRpbmcg dGhyb3VnaCB0aW1lLiAnJy5paSBiYSB6aSBjb+KAmWEgcHXigJl1IG1pIGthbnJvIGJpbnhvIHZh dSAub2knJyBleHByZXNzZXMgZmVhciB0aGF0IHRoZSBwYWluZnVsIHByb2Nlc3Mgb2YgYmVjb21p bmcgaGVhbHRoeSBpcyBhYm91dCB0byBiZWdpbi4gVGhlIHgyIGlzIGZpbGxlZCBieSBhIHNlcXVl bmNlIG9mIHN0YWdlcywgd2hpY2ggY2FuIGJlIG1hZGUgYnkgaW50ZXJzcGFjaW5nIHRoZSBzdGFn ZXMgd2l0aCB0aGUgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSAnJ2Nl4oCZbycnOiAnJ3pl4oCZdSBw deKAmXUgbWkga2Fucm8gYmlueG8ga2VpIGxlIG51IG1pIGZhY2tpIGNl4oCZbyBsZSBudSBtaSBq YWkgdG9sc3RpIGNl4oCZbyBtaSByZW52aScnIG1lYW5zIOKAnHNvbWV0aGluZyBpcyBhIGxvbmcg cHJvY2VzcyBvZiBtZSBiZWNvbWluZyBoZWFsdGh5IGNvbnNpc3Rpbmcgb2YgdGhlIHN0YWdlcyBB ICkgSSBmaW5kIG91dCBCICkgc29tZXRoaW5nIGFib3V0IG1lIGJlZ2lucyBDICkgSSBlbmR1cmUu 4oCdCgpGaW5hbGx5LCB0aGUgc2VtYW50aWNzIG9mICcnenXigJlvJycgdHJlYXRzIHRoZSBhYnN0 cmFjdGlvbiBhcyBjb25zaXN0aW5nIG9mIGEgbnVtYmVyIG9mIHJlcGVhdGVkIGFjdGlvbnM6ICcn bG8gemEnYSB6byd1IGRhcnhpIGxvIHRhbnhlIGN1IHJpbmthIGxvIGNhIG11J2UgcG9ycGknJyDi gJMgIlRoZSBvYnNlcnZlZCBhY3Rpdml0eSBvZiBiZWF0aW5nIHRoZSBib3ggY2F1c2VkIGl0cyBj dXJyZW50IGJyb2tlbm5lc3MiIGlzIG1vcmUgYWNjdXJhdGUgdGhhbiB0aGUgc2ltaWxpYXIgc2Vu dGVuY2UgdXNpbmcgJydudScnLCBiZWNhdXNlICcnenUnbycnIG1ha2VzIGl0IGV4cGxpY2l0IHRo YXQgaXQgd2FzIHRoZSByZXBlYXRpbmcgb2YgdGhlIGFjdGlvbiBvZiBiZWF0aW5nLCBub3QgdGhl IGJlYXRpbmcgaW4gaXRzZWxmIHdoaWNoIGJyb2tlIHRoZSBib3guCgpUaGUgeDIgb2YgJyd6dSdv JycgaXMgZWl0aGVyIG9uZSBldmVudCBvciBhIHNlcXVlbmNlIHdoaWNoIGlzIHJlcGVhdGVkLiBU byBiZSB1bm5lY2Vzc2FyaWx5IGV4cGxpY2l0LCB3ZSBjb3VsZCBoYXZlIHN0YXRlZCB0aGF0IHRo ZSBjYXVzZSBvZiB0aGUgY3VycmVudCBicm9rZW5uZXNzIHdhcyAnJ2xvIHpvJ3UgZGFyeGkgbG8g dGFueGUga2VpIGxvbnUgbGFmdGkgbG8gZ3JhbmEga2VpIGt1IGNlJ28gbG9udSBtdXZnYXUgbG8g Z3JhbmEgbG8gdGFueGUga2VpIGt1IGNlJ28gLi4uJycgYW5kIHNvIG9uLgoKTm90ZSB0aGUgZGlm ZmVyZW5jZSBiZXR3ZWVuICcnbXXigJllIGJhanJhJycsICcnemHigJlpIGJhanJhJycsICcncHXi gJl1IGJhanJhJycsICcnenXigJlvIGJhanJhJycgYW5kICcnbnUgYmFqcmEnJy4gVGhlIHBvaW50 LWxpa2UgZXZlbnQgb2YgcnVubmluZyBwdXRzIGVtcGhhc2lzIG9uIHRoZSBldmVudCBoYXBwZW5p bmcsIGJ1dCBub3RoaW5nIGVsc2UuIFRoZSBzdGF0ZSBvZiBydW5uaW5nIGJlZ2lucyB3aGVuIHRo ZSBydW5uZXIgYmVnaW5zIGFuZCBzdG9wcyB3aGVuIHRoZSBydW5uZXIgc3RvcHMuIFRoZSBwcm9j ZXNzIG9mIHJ1bm5pbmcgY29uc2lzdHMgb2YgYSB3YXJtLXVwLCBrZWVwaW5nIGEgc3RlYWR5IHNw ZWVkLCBhbmQgdGhlIGZpbmFsIHNwcmludC4gVGhlIGFjdGl2aXR5IG9mIHJ1bm5pbmcgY29uc2lz dHMgdGhlIGN5Y2xlcyBvZiBsaWZ0aW5nIG9uZSBmb290LCBtb3ZpbmcgaXQgZm9yd2FyZCwgZHJv cHBpbmcgaXQgZG93biwgcmVwZWF0IHdpdGggdGhlIG90aGVyIGZvb3QuIEFsbCBvZiB0aGVzZSBh c3BlY3RzIGFyZSBzaW11bHRhbmVvdXNseSBjb3ZlcmVkIGJ5IHRoZSBldmVudCBvZiBydW5uaW5n LCAnJ251IGJhanJhJycuIAoKU29tZSBhYnN0cmFjdGlvbnMgYXJlIGV2ZW4gbW9yZSBhYnN0cmFj dCB0aGFuIG1lcmUgZXZlbnRzLCB3aGljaCBhZnRlciBhbGwgYXJlIGJvdW5kIGluIHNwYWNlIGFu ZCB0aW1lLiBPbmUgZXhhbXBsZSBvZiBzdWNoIGlzICcnbGknaScnLCB0aGUgImV4cGVyaWVuY2Ug YWJzdHJhY3Rpb24iOgoKX18nJ2xpJ2knJ19fIEV4cGVyaWVuY2UgYWJzdHJhY3RvcjogeDEgaXMg eDIncyBpbnRlcm5hbCBleHBlcmllbmNlIG9mIEJSSURJCgpVbmxpa2UgZXZlbnQgYWJzdHJhY3Rp b25zLCB0aGlzIGlzIGV4cGxpY2l0bHkgbWVudGFsIC0gYSAnJ2xpJ2knJy1hYnN0cmFjdGlvbiBj YW5ub3QgYmUgc2FpZCB0byBleGlzdCBvdXRzaWRlIHRoZSBtaW5kIG9mIGEgcGVyc29uLiAnJ2xp J2knJyBpcyBkZXJpdmVkIGZyb20gJydsaWZyaScnLCBhbmQgaXMgYWx3YXlzIGEgJydzZSBsaWZy aScnIC0gYW4gZXhwZXJpZW5jZS4KClRob3VnaCBpdCdzIHNvbWV3aGF0IHJlbGF0ZWQgdG8gJydu aScnLCB0aGlzIG1pZ2h0IGJlIGEgZ29vZCB0aW1lIHRvIGludHJvZHVjZSAnJ2plaScnIC0gdGhl IHRydXRoLWFic3RyYWN0aW9uLiBUaGlzIGlzIG9uZSBvZiB0aGUgbGVhc3QgdXNlZCBhYnN0cmFj dGlvbnMgb2YgdGhlbSBhbGwsIGFuZCBJIG9ubHkgaW5jbHVkZSBpdCBoZXJlIGZvciBjb21wbGV0 ZW5lc3MuCgpfXycnamVpJydfXzogVHJ1dGggYWJzdHJhY3Rpb246IHgxIGlzIHRoZSB0cnV0aC12 YWx1ZSBvZiBCUklESSB1bmRlciBlcGlzdGVtb2xvZ3kgeDIKCkEgJydqZWknJy1hYnN0cmFjdGlv biBpcyBzb21ldGhpbmcgYmV0d2VlbiB0cnVlIGFuZCBmYWxzZSwgYW5kIGNhbiBiZSByZXByZXNl bnRlZCBieSBhIG51bWJlciBiZXR3ZWVuIDAgKGZhbHNlKSBhbmQgMSAodHJ1ZSkuIFVzaW5nICcn amVpJyctYWJzdHJhY3Rpb25zIGluIG1hdGhlbWF0aWNzIGlzIGluYWR2aWNhYmxlLCBzaW5jZSBp dCBoYXNuJ3QgZ290IGFueSBwcm9wZXJ0aWVzIG5vcm1hbGx5IGFzc29jaWF0ZWQgd2l0aCBudW1i ZXJzIC0gb25lIG1pZ2h0IGFzIHdlbGwgcmVwcmVzZW50IHRoZSB0cnV0aCB2YWx1ZSBvbiBhIHNw ZWN0cnVtIG9mIGNvbG9yIGZyb20gcmVkIHRvIGJsdWUuCgonJ2plaScnIGlzIHJhcmVseSB1c2Vk LCBub3QgYmVjYXVzZSB0cnV0aCBhYnN0cmFjdGlvbnMgYXJlIGluZnJlcXVlbnRseSBuZWVkZWQs IGJ1dCBiZWNhdXNlIG1vc3QgbG9qYmFuaXN0cyB1c2Ugb3RoZXIgbWVjaGFuaXNtcyB0byBvYnRh aW4gdGhlbSwgZm9yIGluc3RhbmNlICcna2F1JycsIGFzIGV4cGxhaW5lZCBsYXRlciBpbiB0aGlz IGxlc3Nvbi4KCicnbWkgZGknaSBwZW5zaSBsbyBqZWkgbWkgbWVya28nJyAtICJJIG9mdGVuIHRo aW5rIGFib3V0IHdoZXRoZXIgSSBhbSBBbWVyaWNhbiBvciBub3QiIChjb250cmFzdCB3aXRoICcn bWkgZGknaSBwZW5zaSBsbyBuaSBtaSBtZXJrbycnIC0gIkkgb2Z0ZW4gdGhpbmsgYWJvdXQgaG93 IEFtZXJpY2FuIEkgYW0iKQoKVGhlIGZvbGxvd2luZyBhYnN0cmFjdGlvbiBpcyBvbmUgb2YgdGhl IG1vc3Qgd2lkZWx5IHVzZWQgYWJzdHJhY3Rpb24gZHVlIHRvIGl0cyBmcmVxdWVudCB1c2VmdWxu ZXNzOgoKX18nJ2R1J3UnJ19fOiBCcmlkaSBhYnN0cmFjdGlvbjogeDEgaXMgdGhlIGJyaWRpIG9m IEJSSURJLCBhcyByZXByZXNlbnRlZCBieSB0ZXh0IHgyCgogQWNjb3JkaW5nIHRvIHRoZSBzdGFu ZGFyZCwgYWJzdHJhY3Rpb25zIGxpa2UgdHJ1dGhzLCBsaWVzLCB0aGluZ3MgYmVpbmcgZGlzY292 ZXJlZCBvciBiZWxpZXZlZCBhcmUgYWxsIHB1cmUgYnJpZGk6CgonJy51aSBzYWkgcHUgemkgZmFj a2kgbGUgZHXigJl1IHppIGNpdGthIGxvIGNpZGpycGl0c2EnJyDigJMg4oCcWWVzISBJIGp1c3Qg Zm91bmQgb3V0IHRoYXQgcGl6emEgd2lsbCBiZSBlYXRlbiBzb29uIeKAnS4KCiBXaGF0IGlzIGJl aW5nIGRpc2NvdmVyZWQgaXMgdGhlIHRydXRoIG9mIGFuIGFic3RyYWN0IGJyaWRpLCBzbyAnJ2R1 J3UnJyBpcyBhcHByb3ByaWF0ZS4KCkZvciBicmlkaSB0byBleGlzdCAob3IgYXQgbGVhc3QgdG8g aGF2ZSBhbnkgcmVsZXZhbmNlKSwgdGhleSBtdXN0IGJlIHJlcHJlc2VudGVkIGJ5IHNvbWUgdGV4 dCwgd2hldGhlciB0aGlzIGlzIHNwZWVjaCwgdGhvdWdodCBvciB3cml0aW5nLiBUaGUgdGVybSDi gJx0ZXh04oCdIGlzIG1pc2xlYWRpbmcgaWYgaXQgaXMgZXhwcmVzc2VkIG9ubHkgaW4gdGhlIG1p bmQgb2Ygc29tZW9uZSwgYnV0IHRoZSB0ZXJtIG5vbmV0aGVsZXNzIGFwcGxpZXMuCgpPbmUgdXNl IG9mIHRoZSB4MiBvZiAnJ2R1J3UnJyBpcyB0byBleHByZXNzIGluZGlyZWN0IHF1b3RhdGlvbjoK CicnLnVlIGRvIHB1IGN1c2t1IGt1J2kgbG8gc2UgZHUndSBkbyBuZWxjaSBsbyBja2FmaScnIC0g Ik9oISBCdXQgeW91IHNhaWQgdGhhdCB5b3UgbGlrZWQgY29mZmVlIi4gSGVyZSwgdGhlIGV4cHJl c3NlZCBzZW50ZW5jZSBpcyB0aGUgdGV4dCwgd2hlcmVpbiB0aGUgYnJpZGkgaXMgY29udGFpbmVk LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1uaW5lIChzZW1hbnRpY3Mgb2Yg Y29tcGxleCBhYnN0cmFjdGlvbnMpCgpBbGwgdGhlIHR5cGVzIG9mIGFic3RyYWN0aW9uIHdlIGhh dmUgc2VlbiB0aHVzZmFyLCBldmVudHMgYW5kIGJyaWRpLCBoYXZlIGFsbCB0aGVpciBzdW10aSBw bGFjZXMgZmlsbGVkIC0gaWYgbm90IGV4cGxpY2l0bHksIHRoZW4gYnkgJyd6bydlJycuIEFzIHdl IHNoYWxsIHNlZSwgaXQncyBhIGRpZmZlcmVudCBzdG9yeSB3aGVuIGl0IGNvbWVzIHRvIHRoZSBm b2xsb3dpbmcgYWJzdHJhY3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSBzaW1wbGVzdDoKCgoK X18nJ25pJydfXzogQW1vdW50IGFic3RyYWN0aW9uOiB4MSBpcyB0aGUgYW1vdW50IG9mIEJSSURJ IG9uIHRoZSBzY2FsZSB4MiAKCgoKQW5kIGxldCdzIHNlZSBpdCBwdXQgdG8gdXNlOgoKJydtaSB6 bWFkdSBkbyBsbyBuaSB4ZWtyaScnIC0gIkknbSBibGFja2VyIHRoYW4geW91LiIKCkEgJyduaScn LWFic3RyYWN0aW9uIGlzIHVzdWFsbHkgc29tZSBudW1iZXIsIGV4YWN0IG9yIGluZXhhY3QuIEFz IHRoZSBmb2xsb3dpbmcgZXhhbXBsZSBhYm92ZSBzaG93cywgd2hhdCBpcyBxdWFudGlmaWVkIG1h eSBub3QgYWx3YXlzIGJlIHByYWN0aWNhbGx5IG1lYXN1cmFibGUuIEluIHByaW5jaXBsZSwgaG93 ZXZlciwgYmxhY2tuZXNzIGNvdWxkIGJlIG1lYXN1cmVkIHdpdGggc29tZSBvcHRpY2FsIGRldmlj ZS4gVGhlcmUgaXMgc29tZSBkaXNhZ3JlZW1lbnQgYWJvdXQgd2hldGhlciBpdCdzIGNvcnJlY3Qg dG8gdXNlICcnbmknJyB0byBxdWFudGlmeSBzb21ldGhpbmcgd2hpY2ggaXMgdW5tZWFzdXJhYmxl LCBsaWtlCgonJ2xlIG5pIG1pIHBlbmRvIGRvJycgLSAiSG93IG11Y2ggd2UgYXJlIGZyaWVuZHMi CgoKCkl0J3Mgd3JvbmcgdG8gdXNlICcnbmknJyBhcyBhIHdheSB0byBlbnVtZXJhdGUgaG93IG1h bnkgb2JqZWN0cyBmaXQgYSBwcmVkaWNhdGUgLSBpdCdzIGFsd2F5cyBhYm91dCB0byB3aGljaCBl eHRlbmQgY2VydGFpbiBzdW10aSBmaXQgYSBwcmVkaWNhdGUuIFRodXM6ICcnZG8gbWxlY2EgbWkg bG8gbmkgc2UgcGFuemknJyBtZWFucyAiWW91IGFyZSBsZXNzIG9mIGEgcGFyZW50IHRoYW4gSSBh bSIsIGFuZCBub3QgIllvdSBoYXZlIGZld2VyIGNoaWxkcmVuIHRoYW4gbWUiLgoKCgpUaGUgYWJz dHJhY3RvciAnJ25pJycgaXMgYSBncmVhdCB3YXkgdG8gZ2V0IHN0YXJ0ZWQgb24gdGhlIGNvbXBs aWNhdGVkIHdvcmQgJydjZSd1JycuCgpfXycnY2UndScnX18gUHNldWRvLXF1YW50aWZpZXIgYmlu ZGluZyBhIHZhcmlhYmxlIHdpdGhpbiBhbiBhYnN0cmFjdGlvbiB0aGF0IHJlcHJlc2VudHMgYW4g b3BlbiBwbGFjZS4KCkkgYXNzdW1lIHRoZSBkZWZpbml0aW9uIGlzbid0IHZlcnkgaGVscGZ1bCwg c28gaGVyZSdzIGEgZmV3IGV4YW1wbGVzIHRvIHNlZSBpdCBpbiB1c2U6CgogJydkbyBtbGVjYSBt aSBsbyBuaSBjZSd1IHBhbnppIHpvJ2UnJyA9ICJZb3UgYXJlIGxlc3MgdGhhbiBtZSBpbiBxdWFu dGl0eTogQmVpbmcgYSBjaGlsZCBvZiBzb21lb25lIiA9ICJZb3UgYXJlIGxlc3Mgb2YgYSBjaGls ZCB0aGFuIEkgYW0iIAoKICcnZG8gbWxlY2EgbWkgbG8gbmkgem8nZSBwYW56aSBjZSd1JycgLSAi WW91IGFyZSBsZXNzIHRoYW4gbWUgaW4gcXVhbnRpdHk6IFNvbWV0aGluZyBiZWluZyBvbmUncyBj aGlsZCIgPSAiWW91IGFyZSBsZXNzIG9mIGEgcGFyZW50IHRoYW4gSSBhbSIKCkluIG90aGVyIHdv cmRzLCBmaWxsaW5nICcnY2UndScnIGluIGEgc3VtdGkgcGxhY2UgaW5zaWRlIGFuIGFic3RyYWN0 aW9uIGFsbG93cyB0aGUgc3VtdGkgcGxhY2UgdG8gcmVtYWluICJvcGVuIiAtIG5vdCBmaWxsZWQg YnkgYW55dGhpbmcsIG5vdCBldmVuIGEgJyd6bydlJycuIFRoaXMgb3BlbiBwbGFjZSBpcyByZW1u aXNjaWVudCBvZiB0aGUgIngiZXMgaW4gdGhlIG5vcm1hbCBFbmdsaXNoIGRlZmluaXRpb25zIG9m IGxvamJhbmljIHNlbGJyaSAtIHNvbWV0aGluZyBfX3RvIGJlIGZpbGxlZF9fIGJ5IGEgc3VtdGku IAoKRm9yIHRoZSByZWNvcmQsIHRoZSBqdWZyYSAnJ2NlJ3UgcGFuemkgem8nZScnIGluIHRoZSBm aXJzdCBleGFtcGxlIGFjdHVhbGx5IHJlZmVycyB0byB0d28gZGlzdGluY3QgYnJpZGk6ICcnbWkg cGFuemkgem8nZScnIGFuZCAnJ2RvIHBhbnppIHpvJ2UnJy4gU2luY2UgdGhlc2UgdHdvIGJyaWRp IGFyZSBjb25zaWRlcmVkIGRpZmZlcmVudCwgdGhlICcnem8nZScnIG5lZWQgbm90IHJlZmVyIHRv IHRoZSBzYW1lIG9iamVjdC4KClRodXMsIGFueSBhYnN0cmFjdGlvbiB3aXRoIGEgJydjZSd1Jycg aW5zaWRlIGl0IGlzIGEgcHJlZGljYXRlLCB3aGVyZSB0aGUgJydjZSd1JyctcGxhY2VzIGFyZSBm aWxsYWJsZS4gU2luY2UgdGhlIGFic3RyYWN0b3JzICcna2EnJyBhbmQgJydzaSdvJycsIGlzIGFi b3V0ICJmaXR0aW5nIGEgcHJlZGljYXRlIiwgYW5kIHNpbmNlIGEgJydjZSd1JycgaXMgbmVlZGVk IHRvIHRyYW5zZm9ybSBhbiBhYnN0cmFjdGlvbiBpbnRvIGEgcHJlZGljYXRlLCBhbGwgJydrYScn IGFuZCAnJ3NpJ28nJy1hYnN0cmFjdGlvbnMgYWx3YXlzIGNvbnRhaW4gYXQgbGVhc3Qgb25lICcn Y2UndScnLiBBICcnbmknJy1hYnN0cmFjdGlvbiBjYW4gY29udGFpbiBhICcnY2UndScnLCBidXQg bWF5IGFsc28gcXVhbnRpZnkgYW4gYWJzdHJhY3Rpb24gd2l0aCBhbGwgdGhlIHN1bXRpIHBsYWNl cyBmaWxsZWQsIGFzIGluICcnbGkgZHUnZSBuaSBkbyBuZWxjaSBsbyB2YW5qdScnLiAKCkluIHRo ZSBhYnN0cmFjdGlvbnMgd2hlcmUgYSAnJ2NlJ3UnJyBpcyBwcmVzZW50LCBjYW4gdGhlIHBvc2l0 aW9uIG9mIHRoZSAnJ2NlJ3UnJyBiZSBlbGlkZWQsIGJ1dCBpcyB0aGVuIG1vc3Qgb2Z0ZW4gYXNz dW1lZCB0byBiZSB0aGUgZmlyc3QgdW5maWxsZWQgc3VtdGkgcGxhY2UuIEluIHNvbWUgY29udGV4 dHMsIGhvd2V2ZXIsIHRoZSAnJ2NlJ3UnJyBjYW4gYmUgYXNzdW1lZCB0byBiZSBzb21ld2hlcmUg ZWxzZSwgYXMgZXhlbXBsaWZpZWQgd2l0aCAnJ21pIHptYWR1IGRvIGxvIG5pIGxvIGJydW5hIGN1 IGpib2NyZScnLCB3aGVyZSB0aGUgZWxpZGVkICcnY2UndScnIGlzIHByb2JhYmx5IGhpZGluZyBp biAnJ2xvIGJydW5hIGJlIGNlJ3UnJy4KCgoKRXhhY3RseSBob3cgdGhlICcnY2UndScnJ2QgcGxh Y2VzIGluc2lkZSBhbiBhYnN0cmFjdGlvbiByZWxhdGVzIHdpdGggdGhlIG1haW4gYnJpZGkgaXMg c3BlY2lmaWVkIGJ5IHRoZSBzZWxicmkgb2YgdGhlIG1haW4gYnJpZGkuIEZvciAnJ3ptYWR1Jycg YW5kICcnbWxlY2EnJywgdGhlICcnY2UndScnJ2QgcGxhY2VzIGFyZSB3aGF0J3MgcXVhbnRpZmll ZCBieSB0aGUgc2VsYnJpIG9mIHRoZSBtYWluIGJyaWRpLiBUaGUgcmVsYXRpb24gaXMgYWxtb3N0 IGFsd2F5cyBvYnZpb3VzLCBidXQgYXMgd2Ugc2hhbGwgc2VlIGxhdGVyLCB0aGVyZSBpcyBvbmUg a2luZCBvZiBhYnN0cmFjdGlvbiwgd2hvc2UgJydjZSd1JycgZG8gbm90IHJlbGF0ZSB0byB0aGUg bWFpbiBicmlkaSBpbiBhbnkgc3RyYWlnaHRmb3J3YXJkIHdheS4KCgoKQmVmb3JlIHRoYXQsIHRo b3VnaCwgeW91IG5lZWQgdG8gbGVhcm4gYWJvdXQgJydrYScnIC0gcHJvYmFibHkgdGhlIGFic3Ry YWN0aW9uIHdob3NlIHVuZGVyc3RhbmRpbmcgaGFzIGNoYW5nZWQgdGhlIG1vc3QgdGhlIHJlY2Vu dCB5ZWFycy4gWWV0IGFnYWluIEkgcmVtaW5kIHlvdSB0aGF0IHRoaXMgdW5kZXJzdGFuZGluZyBp cyBub3Qgb2ZmaWNpYWwgTG9qYmFuLCBidXQgcmF0aGVyIGEgd2lkZXNwcmVhZCBjdXJyZW50IHVu ZGVyc3RhbmRpbmcuIExldCdzIHNlZSB0aGUgb2ZmaWNpYWwgZ2xvc3M6CgpfXycna2EnJ19fIFBy b3BlcnR5L3F1YWxpdHkgYWJzdHJhY3RvciAoLW5lc3MpOyB4MSBpcyBxdWFsaXR5L3Byb3BlcnR5 IGV4aGliaXRlZCBieSBCUklESS4KClVuZGVyIHRoZSB1bmRlcnN0YW5kaW5nIHdoaWNoIEkgd2ls bCB0ZWFjaCwgdGhpcyBnbG9zcyBpcyBtaWxkbHkgbWlzbGVhZGluZy4gSW5zdGVhZCwgJydrYScn IHNob3VsZCBwcm9iYWJseSBiZSBnbG9zc2VkIHN1Y2g6CgpfXycna2EnJ19fIFByZWRpY2F0ZSBh YnN0cmFjdG9yOiB4MSBpcyB0aGUgcHJlZGljYXRlIG9mIEJSSURJIFtuZWVkcyBhdCBsZWFzdCBv bmUgb3BlbiB2YXJpYWJsZV0KCk11Y2ggbGlrZSBhICcnbmknJy1hYnN0cmFjdGlvbiwgYSAnJ2th JyctYWJzdHJhY3Rpb24gaXMgYSBwcmVkaWNhdGUgYW5kIHRoZXJlZm9yZSBuZWVkcyBhdCBsZWFz dCBvbmUgJydjZSd1JycsIG9mdGVuIGVsaWRlZC4gVGhlIGRpZmZlcmVuY2UgaXMgcHVyZWx5IHNl bWFudGljOiAnJ25pJycgZm9jdXNlcyBvbiBob3cgbXVjaCBhIGNlcnRhaW4gc3VtdGkgZml0cyBh IHByZWRpY2F0ZSwgd2hlcmVhcyBhICcna2EnJy1hYnN0cmFjdGlvbiBpcyB0aGUgcHJlZGljYXRl IGl0c2VsZi4gTGlrZSB3aXRoICcnbmknJywgaG93IHRoZSAnJ2NlJ3UnJ3Mgb2YgJydrYScnIHJl bGF0ZXMgdG8gdGhlIG1haW4gYnJpZGkgaXMgZGVmaW5lZCBieSB0aGUgc2VsYnJpIG9mIHRoZSBt YWluIGJyaWRpLiAKClVuZGVyIHRoaXMgaW50ZXJwcmV0YXRpb24sICcna2EnJy1hYnN0cmFjdGlv bnMgZmlsbHMgbW9zdCBvZiB0aGUgc3VtdGkgcGxhY2VzIHdoaWNoIHNvbWV0aGluZyBpcyBkb2lu ZyBvciBiZWluZy4gRXhhbXBsZXMgYXJlIGFsd2F5cyBnb29kOgoKJydtaSBrYWtuZSBsbyBrYSAn JyBbY2UndV0gJydiYWpyYSBmaSBsbyBtaSBiaXJrYScnIC0gIkkgY2FuIHJ1biBvbiBteSBhcm1z IgoKT2YgY291cnNlLCBzZXZlcmFsICcnY2UndScnIGNhbiBiZSB1c2VkIHdpdGhpbiBhICcna2En Jy1hYnN0cmFjdGlvbi4gV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UgbWVhbj8KCicn bWkgbG8gcGFtcGUnbyBjdSBzaW14dSBsbyBrYSBjZSd1IGNlJ3UgZ2xldHUnJyAKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydNZSBhbmQgbXkgbG92ZXIgaGF2ZSBzZXggd2l0aCBlYWNoIG90aGVyIG11 dHVhbGx5In5+CgoKClRoZSBsYXN0IG9mIHRoZSBhYnN0cmFjdG9ycyB3ZSB0cmVhdCBoZXJlIGlz ICcnc2knbycnLiBMaWtlICcna2EnJywgaXRzIGRlZmluaXRpb24gYXMgaXQgd2lsbCBiZSB0YXVn aHQgaGVyZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgb2ZmaWNpYWwgZGVmaW5pdGlvbi4gRXR5bW9s b2dpY2FsbHksICcnc2knbycnIGRlcml2ZXMgZnJvbSAnJ3NpZGJvJycsICJpZGVhIiwgYW5kIHRo ZSBvZmZpY2lhbCBnbG9zcyBvZiAnJ3NpJ28nJyByZWZsZWN0cyB0aGlzOgoKX18nJ3NpJ28nJ19f OiBJZGVhL2NvbmNlcHQgYWJzdHJhY3RvcjsgeDEgaXMgeDIncyBjb25jZXB0IG9mIEJSSURJLgoK VW5kZXIgdGhlIGN1cnJlbnQgdXNhZ2Ugd2hpY2ggSSB3aWxsIHVzZSBhcyBzdGFuZGFyZCwgYSAn J3NpJ28nJy1hYnN0cmFjdGlvbiBpcyBsaWtlIGEgJydrYScnLWFic3RyYWN0aW9uLCBidXQgd2l0 aCB0d28gaW1wb3J0YW50IGRpZmZlcmVuY2VzLiAKCkZpcnN0bHksIGEgJydzaSdvJyctYWJzdHJh Y3Rpb24gaGFzIGFsbCBpdHMgc3VtdGkgcGxhY2VzIGZpbGxlZCB3aXRoICcnY2UndScnIGJ5IGRl ZmF1bHQsIHRoZXJlYnkgYmVpbmcgcmVsYXRlZCBsZXNzIHRvIGEgc3BlY2lmaWMgc2l0dWF0aW9u LCBhbmQgbW9yZSB0byBhIGdlbmVyYWwgc2l0dWF0aW9uLiAKClNlY29uZGx5LCB0aGVyZSBpcyBu b3QgbmVjZXNzYXJpbHkgYW55IHJlbGF0aW9uIGJldHdlZW4gdGhlICcnY2UndScnIGluc2lkZSB0 aGUgJydzaSdvJyctYWJzdHJhY3Rpb24gYW5kIHRoZSBzdW10aSBvZiB0aGUgbWFpbiBicmlkaSwg YW5kIHRoZXJlZm9yZSB0aGUgbWFpbiBzZWxicmkgZG9lcyBub3QgZGVmaW5lIHRoaXMgcmVsYXRp b24uCgpJbiBvcmRlciB0byBleHBsYWluIG1vcmUgaW50dWl0aXZlbHkgdGhlIGRpZmZlcmVuY2Ug YmV0d2VlbiAnJ2thJycgYW5kICcnc2knbycnLCBjb25zaWRlciB0aGUgZm9sbG93aW5nICB0d28g YnJpZGk6CgonJ21pIG5lbGNpIGxvIGthIGNlJ3UgY3Jpbm8nJywgd2hlcmUgdGhlICcnY2UndScn IHJlZmVycyB0byBhIHN1bXRpIGluIHRoZSBvdXRlciBicmlkaSwgbmFtZWx5ICcnbWknJywgdGh1 cyBtZWFuaW5nOiAiSSBsaWtlIGJlaW5nIGdyZWVuIiwgdmVyc3VzCgonJ21pIG5lbGNpIGxvIHNp J28gY2UndSBjcmlubycnLCB3aGVyZSB0aGUgJydjZSd1JycgcmVtYWlucyBjb21wbGV0ZWx5IGFi c3RyYWN0LCBtYWtpbmcgdGhlIGJyaWRpIG1lYW46ICJJIGxpa2UgZ3JlZW5uZXNzIgoKCgpCZWZv cmUgd2UgdmVudHVyZSBvbiB0b3dhcmRzIHRoZSBuZXh0IGxlc3NvbiwgdGhlcmUncyBvbmUgd29y ZCB3aGljaCBJIHRoaW5rIGRlc2VydmVzIGEgbW9yZSB0aG9yb3VnaCBleHBsYW5hdGlvbjogJydr YXUnJy4KCicna2F1Jycgd2FzIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbHZlLCBidXQgdGhlIHJl YWwgaW1wbGljYXRpb25zIG9mIGl0IHdhcyBub3QuIElmIHlvdSBoYXZlIGZvcmdvdHRlbiB3aGF0 IGl0IG1lYW5zLCBJIGFkdmljZSB5b3UgdG8gZ28gYmFjayBhbmQgc2VlLiBVbmZvcnR1bmF0ZWx5 LCBJIGNhbid0IHByZXNlbnQgYSB0aGVvcnkgb24gd2hhdCAnJ2thdScnIGRvZXMgd2hlbiBpdCdz IHByZXNlbnQgaW4gdGhlIG1haW4gYnJpZGksIG9ubHkgb24gd2hhdCBpdCBkb2VzIGluc2lkZSBh biBhYnN0cmFjdGlvbi4KCkEgYnJpZGkgd2l0aCBhYnN0cmFjdGlvbiBjb250YWluaW5nIGEgJydr YXUnJyBtYWtlcyB0d28gY2xhaW1zOiBUaGUgYnJpZGkgaXRzZWxmIG1ha2VzIG9uZSBjbGFpbSBh cyB1c3VhbCwgYW5kIGltcGxpY2l0IGluIHRoZSBhYnN0cmFjdGlvbiBpcyBmdXJ0aGVybW9yZSB0 aGUgY2xhaW0gdGhhdCB0aGUgd29yZCAnJ2thdScnIGlzIGF0dGFjaGVkIHRvIGhhcyBhIHJlYWws IG5vbnplcm8gbWVhbmluZy4KClRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZDogVGhlIGJyaWRp ICcnbWkgcHUgdmlza2EgbG8gbnUgbWEga2F1IGNsaXZhIGxlIHNhbGNpJycgKEkgc2F3IHdobyBs ZWZ0IHRoZSBwYXJ0eSkgbWFrZXMgdHdvIGNsYWltcy4gRmlyc3QsIGl0IG1ha2VzIGFuIGltcGxp Y2l0IGNsYWltIHRoYXQgdGhlICcnbWEnJyByZWZlcnMgdG8gc29tZXRoaW5nIHJlYWwuIFRoYXQg aXMsIHRoZSBicmlkaSBhY3R1YWxseSBjbGFpbXMgdGhhdCAnJ2RhIGNsaXZhIGxlIHNhbGNpJycg KFggbGVmdCB0aGUgcGFydHkpLiBTZWNvbmRseSwgdGhlIG1haW4gYnJpZGkgbWFrZXMgdGhlIGNs YWltIHRoYXQgd2hhdCB0aGUgJydtYScnIHJlZmVycyB0byBpcyB3aGF0IHdhcyBiZWluZyBzZWVu LCBvciBpbiBsb2piYW4gJydtaSBwdSB2aXNrYSBsbyBudSBkYSBjbGl2YSBsZSBzYWxjaScnLiAo SSBzYXcgdGhhdCBYIGxlZnQgdGhlIHBhcnR5KQoKVGhpcyBwcmluY2lwbGUgaXMgbm90IHJlc3Ry aWN0ZWQgdG8gdGhlIGFic3RyYWN0b3IgJydudScnLCBvciB0byB0aGUgcXVlc3Rpb24gd29yZCAn J21hJycuIFRoZSBzYW1lIHByaW5jaXBsZSBjYW4gYmUgZXh0ZW5kZWQgdG8gYW55IG90aGVyIGFi c3RyYWN0b3IgYW5kIGFueSBvdGhlciBxdWVzdGlvbiB3b3JkLCBhcyBpbiB0aGUgZm9sbG93aW5n IGJyaWRpOgoKJydsYSAuYmFiLiBuYSdlIGJpcnRpIGxvIGR1J3UgeHUga2F1IGxhIC5taWFzLiBw YW1wZSdvJycgKEJvYiBpc24ndCBzdXJlIHdoZXRoZXIgb3Igbm90IE1pYSBoYXMgYSBib3lmcmll bmQpIHN0YXRlcyBmaXJzdGx5IHRoYXQgJyd4dScnIGFwcGxpZXMsIHdoaWNoIG1lYW5zIHRoYXQg YSB0cnV0aCB2YWx1ZSBjb3JyZWN0bHkgY2FuIGJlIGFzc2lnbmVkIHRvIHRoZSBicmlkaSwgYW5k IHNlY29uZGx5IHRoYXQgd2hhdCBCb2IgaXNuJ3Qgc3VyZSBhYm91dCBpcyB0aGUgY29ycmVjdCB0 cnV0aCB2YWx1ZSBmb3IgdGhlIGJyaWRpLgoKJydrYXUnJyBjYW4gYWxzbyBiZSBhcHBsaWVkIHRv IGEgbm9uLXF1ZXN0aW9uIHdvcmQuIFRoaXMgZG9lc24ndCByZWFsbHkgY2hhbmdlIHRoZSBtZWFu aW5nIG9mIHRoZSB3b3JkLiBUaGUgc2FtZSBwcm9jZWR1cmUgc3RpbGwgYXBwbGllczoKCicnZG8g Y2EnbyBkanVubyBsbyBkdSd1IGxhIGtyZXN0Y2VuIGthdSBjdSBjaW5iYSBsYSBhbicnID0gIllv dSBhbHJlYWR5IGtub3cgdGhhdCBpdCB3YXMgS3Jpc3RpYW4sIHdobyBraXNzZWQgQW5uZS4iIHN0 YXRlcyBmaXJzdGx5IHRoYXQgJydsYSBrcmVzdGNlbiBjdSBjaW5iYSBsYSBhbicnIGFuZCB0aGVu IHRoYXQgJydkbyBjYSdvIGRqdW5vIGxvZHUndSBsYSBrcmVzdGNlbiBjdSBjaW5iYSBsYSBhbicn LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0eSAodGhlIG5vdC1zby1jdXRlIGFz c29ydGVkIHdvcmRzKQoKWWVzLCB0aGlzIGxlc3NvbiBpcyB5ZXQgYW5vdGhlciB3aGljaCBmb2N1 c2VzIG9uIGFzc29ydGVkIHdvcmRzLiBUaGlzIHRpbWUsIGhvd2V2ZXIsIHRoZSBjb250ZW50IG9m IHRoZSBsZXNzb24gaXMgbm90IGNob3NlbiBieSBjb21tb24gdXNhZ2U6IFVubGlrZSB3b3JkcyBs aWtlICcnamFpJycgYW5kICcnc2knJywgdGhlIGZvbGxvd2luZyB3b3JkcyBzZWUgbGl0dGxlIHVz YWdlIGluIG9yZGluYXJ5IGNvbnZlcnNhdGlvbi4gU29tZSBvZiB0aGVtIGFyZSwgaG93ZXZlciwg aW1wb3J0YW50IHRvIHVuZGVyc3RhbmRpbmcgdGhlIGZvbGxvd2luZyBsZXNzb25zLCBhbmQgc28g dGhlc2Ugd29yZHMgbXVzdCBiZSBhd2t3YXJkbHkgcGxhY2VkIGJlZm9yZSB0aGVpciB1c2FnZSBp biB0aGVzZSBsZXNzb25zLgoKCgpMZXQgdXMgYmVnaW4gd2l0aCAnJ3hpJyc7IGl0J3MgZWFzeS4K Cl9fJyd4aScnX186IFN1YnNjcmlwdC4gQ29udmVydHMgYW55IGZvbGxvd2luZyBudW1iZXIgc3Ry aW5nIHRvIGEgc3Vic2NyaXB0LCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2YgYW4gYXR0aXR1ZGlu YWwgKGllLiBwbGFjYWJsZSBwcmFjdGljYWxseSBhbnl3aGVyZSkuCgpUaGVyZSBhcmUgZmV3IG9m ZmljaWFsbHkgZW5jb3VyYWdlZCB1c2VzIG9mICcneGknJywgYnV0IHByZWNpc2VseSBiZWNhdXNl IHRoZSBjb25zdHJ1Y3QgJyd4aScnK251bWJlciBoYXMgdGhlIGZyZWUgZ3JhbW1hciBvZiBhbiBh dHRpdHVkaW5hbCwgdGhlIHBvc3NpYmxlIHVzZXMgb2YgJyd4aScnIGFyZSBhbG1vc3QgZW5kbGVz cy4gSW4gZ2VuZXJhbCwgaXQncyB1c2VkIHRvIGVudW1lcmF0ZSBhbnkgX193b3JkX18sIF9fdmFy aWFibGVfXyBvciBfX2dyYW1tYXRpY2FsIGNvbnN0cnVjdF9fLCBhcyBvcHBvc2VkIHRvIHdoYXQg aXQgcmVmZXJzIHRvLiBMZXQncyBzZWUgc29tZSBleGFtcGxlcy4KCmxhIHRzYW5pIGN1IGN1c2t1 IHpvIGNvaSAgLmkgYmEgYm8gbGEgLnRyaWxpeW4uIGN1c2t1IGx1IC51aSBjb2kgbGEgdHNhbmkg Y29pIGxhIGtsYWt1IGxpJ3UgIC5pIGJhIGJvIGxhIGtsYWt1IGN1IHNwdWRhIGZpIGx1IGNvaSB0 eS4geGkgcGEgLmUgdHkuIHhpIHJlIGRvJ3Ugem8nbyBsaSd1IC0gIlRzYW5pIHNhaWQgImhpIiwg dGhlbiBUcmlsaXluIHNhaWQgIkhleSBUc2FuaSwgaGV5IEtsYWt1IDopIiwgdGhlbiBLbGFrdSBh bnN3ZXJlZCAiSGVsbG8gVDEgYW5kIFQyIDpQIiIKCkJlY2F1c2UgaXQncyB0aGUgc3RhbmRhcmQg dGhhdCAnJ3R5LicgcmVmZXJzIHRvIHRoZSBsYXN0IHN1bXRpIHdoaWNoIGJlZ2FuIHdpdGggVCwg Jyd0eScnIGJ5IGl0c2VsZiBhcyBzYWlkIGJ5IEtsYWt1IHdvdWxkIGhhdmUgcmVmZXJyZWQgdG8g VHNhbmkuIFR3byBfX2RpZmZlcmVudF9fICcndHkuJycgY2FuIGJlIG1hZGUgYnkgc3Vic2NyaXB0 aW5nIHdpdGggJyd4aScnLgoKSWYgdGhlIHJhcmUgc2l0dWF0aW9uIGFyaXNlcyB0aGF0IHdlIG5l ZWQgbW9yZSB2YXJpYWJsZXMgb2YgdGhlIHR5cGUgJydkYScnIG9yICcnYnUnYScnIHRoYXQgdGhl cmUgYXJlIGluIHRoZSBsYW5ndWFnZSwgYW4gaW5maW5pdGUgbnVtYmVyIGNhbiBiZSBtYWRlIGJ5 IHNpbXBseSBzdWJzY3JpcHRpbmcgYW55IGV4aXN0aW5nIHdpdGggYSBudW1iZXIuIE5vdGUgdGhh dCBhIG5vbi1zdWJzY3JpcHRlZCB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZCBhZiBiZWluZyBlcWl1 dmFsZW50IHRvIGFueSBzdWJzY3JpcHRlZCBvbmUuIFRoYXQgaXM6ICcndHknJyBpcyBub3QgYWx3 YXlzIGVxdWFsIHRvICcndHkgeGkgcGEnJyBvciAnJ3R5IHhpIG5vJycgb3IgYW55dGhpbmcgb2Yg dGhlIHNvcnQuIEkgZXhwZWN0IHRoaXMgdG8gYmUgcmFyZWx5IHVzZWQsIGJlY2F1c2UgYW55IHNl bnRlbmNlIHdpdGggbW9yZSB0aGFuIDMgJydkYScnLWxpa2Ugd29yZHMgb3IgbW9yZSB0aGFuIDEw ICcna28nYScnLWxpa2Ugd29yZHMgd291bGQgYmUgaGFyZCB0byBrZWVwIHRyYWNrIG9mLgoKCgpT ZWNvbmQsIHdlIGhhdmUgJydraScnLCBvZiB3aGljaCBJIGFtIG5vdCBhd2FyZSBvZiBhIHNpbmdl IHVzYWdlIGluIG15IHRpbWUgb24gSVJDOyBwcm9iYWJseSBub3QgYmVjYXVzZSB0aGUgd29yZCdz IHVzZWxlc3MsIGJ1dCBiZWNhdXNlIGZldyBMb2piYW5pYyB0ZXh0cyBhcmUgb2YgdGhlIGtpbmQg d2hlcmUgeW91IG5lZWQgaXQuCgpfXycna2knJ19fICJTdGlja3kgdGVuc2UiLiBTZXQvdXNlIHRl bnNlIGRlZmF1bHQ7IGVzdGFibGlzaGVzIG5ldyBvcGVuIHNjb3BlIHNwYWNlL3RpbWUvbW9kYWwg cmVmZXJlbmNlIGJhc2UuCgpBbnkgcm93IG9mIHRlbnNlIHdvcmRzIGNhbiBiZSBzdWZmaXhlZCB3 aXRoICcna2knJyB0byBtYWtlIHRoZSB0ZW5zZShzKSBhcHBseSB0byBhbGwgZm9sbG93aW5nIGJy aWRpLiBXaGVuLCBmb3IgaW5zdGFuY2UsIHRlbGxpbmcgYSBzdG9yeSwgdGhpcyBjYW4gYmUgdXNl ZCB0byBtYWtlIGV4cGxpY2l0IHRoYXQgdGhlIGRlZmF1bHQgdGltZSAtIHRoZSB0aW1lIGFzIG1l YW50IHdpdGhvdXQgYW55IHRlbnNlIHdvcmRzIC0gaXMgdGhlIHRpbWUgdGhlIHN0b3J5IGlzIHBs YWNlZCBpbi4gVXN1YWxseSwgdGhpcyB3aWxsIG5vdCBiZSBuZWNlc3Nhcnk7IGJlZ2lubmluZyBh IGZhaXJ5dGFsZSB3aXRoICcncHUgenUgdnUga3UnJywgb25lIGNhbiBhc3N1bWUgdGhhdCB0aGUg ZW50aXJlIHRhbGUgaXMgaGFwcGVuaW5nIGEgbG9uZyB0aW1lIGFnbyBhbmQgZmFyIGF3YXkuIExl dCdzIGhhdmUgYW4gZXhhbXBsZToKCicncHUgenUgdnUga2kga3UgemFzdGkgZmEgbG8gcHVrY2xp dGUgamUgY21hbHUgbml4bGkgZ29pIGtv4oCZYSAgLmkgcm8gZGEgcG9pICcnWycncHUgenUgdnUn J10nJyB2aXNrYSBrb+KAmWEgY3UgbmVsY2kga2/igJlhJycgLSAiT25jZSB1cG9uIGEgdGltZSB0 aGVyZSB3YXMgYSBzd2VldCwgbGl0dGxlIGdpcmwuIEV2ZXJ5b25lIHdobyBzYXcgaGVyIGxpa2Vk IGhlciIuIFRoZSAnJ2tpJycgYWxsb3dzIHVzIHRvIGVsaWRlIHRoZSB0aHJlZSB0ZW5zZXMgaW4g dGhlIHNlY29uZCBicmlkaSwgYW5kIGluIGFsbCB0aGUgYnJpZGkgdG8gZm9sbG93LgoKU28sIGlm IGEgYnVuY2ggb2YgdGVuc2VzIGhhdmUgYmVlbiBtYWtlIHN0aWNreSB3aXRoICcna2knJywgaG93 IGRvIHdlIHVuc3RpY2sgdGhlbT8gU2ltcGxlIHVzZSAnJ2tpJycgYnUgaXRzZWxmLCBhbmQgYWxs IHN0aWNreSB0ZW5zZXMgYXJlIG1hZGUgdW5zdGlja3kuCgpMYXN0bHksIHNldmVyYWwgc2V0cyBv ZiB0ZW5zZXMgY2FuIGJlIG1hZGUgc3RpY2t5IGJ5IHN1YnNjcmlwdGluZyAnJ2tpJycuIElmIHRo ZXJlIGFyZSBzZXZlcmFsIG9mIHN1Y2ggc2V0cyBpbiB1c2FnZSBhdCBhbnkgZ2l2ZW4gdGltZSwg b25lIGNhbiB1c2UgdGhlIHN1YnNjcmlwdGVkICcna2knJ3MgdG8gbWFrZSB0aGUgY29ycmVzcG9u ZGluZyBzZXQgb2YgdGVuc2VzIGFwcGx5LiBVbnN1YnNjcmlwdGVkICcna2knJyBhbG9uZSBzdGls bCBtYWtlcyBhbGwgdGVuc2Ugc3RpY2tpbmVzcyBkaXNhcHBlYXIsIHNvIHlvdSBoYXZlIHRvIGJl IGNhcmVmdWwgbm90IHRvIHVzZSAnJ2tpJycgdW5zdWJzY3JpcHRlZCBpZiB5b3UgcGxhbiBvbiB1 c2luZyBzZXZlcmFsIHNldHMgb2YgdGVuc2VzLgoKCgpDaGFuZ2luZyBzdWJqZWN0LiBUaGVyZSdz IGEgc2V0IG9mIHN1bXRjaXRhIHdoaWNoIGFyZSBvZnRlbiB1c2VkLCBidXQgd2hpY2ggSSBkYXJl IG5vdCB0cnkgdG8gZGVmaW5lIGlmIG5vdCB1bmRlciB0aGUgZGlzY2xhaW1lciBvZiBwYXJ0IHRo cmVlLiBMZXQncyBzZWUgb2ZmaWNpYWwgZGVmaW5pdGlvbnMgZm9yIHR3byBvZiB0aGVtIGZpcnN0 LgoKX18nJ2NhJ2EnJ19fOiBtb2RhbCBhc3BlY3Q6IGFjdHVhbGl0eS9vbmdvaW5nIGV2ZW50LiBC cmlkaSBoYXMvaXMvd2lsbCBoYXBwZW4gZHVyaW5nIHVuZGVyIHRoZSBjaXJjdW1zdGFuY2VzIG9m IHtzdW10aX0KCl9fJydrYSdlJydfXzogbW9kYWwgYXNwZWN0OiBpbm5hdGUgY2FwYWJpbGl0eTsg cG9zc2libHkgdW5yZWFsaXplZC4gQnJpZGkgaXMgcG9zc2libGUgdW5kZXIgdGhlIGNpcmN1bXN0 YW5jZXMgb2Yge3N1bXRpfQoKTGV0J3MgZmlyc3QgY29udHJhc3QgJydjYSdhJycgd2l0aCAnJ2th J2UnJy4gJydrYSdlJycgbWVhbnMgdGhhdCB0aGUgYnJpZGkgaXMgInBvc3NpYmxlIGlmIHRoZSBl dmVudCBvZiBTVU1USSBoYXMvaXMvd2lsbCBvY2N1ciIuICcnY2EnYScnIGJ5IGNvbnRyYXN0LCBt ZWFucyB0aGF0IHRoZSBicmlkaSAiaGFzLCBpcywgb3Igd2lsbCBoYXBwZW4gaWYgdGhlIGV2ZW50 IG9mIFNVTVRJIGhhcy9pcy93aWxsIG9jY3VyIi4gCgpMaWtlIGFsbCBzdW10Y2l0YSwgdGhlaXIg Y29ycmVzcG9uZGluZyBzdW10aSBjYW4gYmUgZWxpZGVkIGlmIHRoZSBzdW10Y2l0YSBpcyBwbGFj ZWQgYmVmb3JlIHRoZSBzZWxicmk6CgonJ2xlIHZpIHNvdmRhIGthJ2UgZnVsdGEgLmkgamEnbyBi byByaSBmdXNyYScnIC0gIlRoaXMgZWdnIGZsb2F0cy4gVGhlcmVmb3JlLCBpdCdzIHJvdHRlbiIu CgpCeSB1c2luZyAnJ2thJ2UnJywgdGhpcyBzZW50ZW5jZSBkb2VzIG5vdCBzdGF0ZSB0aGF0IHRo ZSBlZ2cgaGFzIGZsb2F0ZWQsIG9yIGV2ZXIgd2lsbCBmbG9hdCwgYnV0IHJhdGhlciB0aGF0IGl0 IGNvdWxkIGZsb2F0LgoKCgpfXycncHUnaScnX186IG1vZGFsIGFzcGVjdDogY2FuIGFuZCBoYXM7 IGRlbW9uc3RyYXRlZCBwb3RlbnRpYWwuIEJyaWRpIGNvdWxkIG9yIGNvdWxkIG5vdCBoYXBwZW4s IGJ1dCBpbiBmYWN0IGl0IGlzL2RpZC93aWxsIGhhcHBlbiB1bmRlciB0aGUgY2lyY3Vtc3RhbmNl IG9mIHtzdW10aX0KCl9fJydudSdvJydfXzogbW9kYWwgYXNwZWN0OiBjYW4gYnV0IGhhcyBub3Q7 IHVucmVhbGl6ZWQgcG90ZW50aWFsLiBCcmlkaSBpcyBwb3NzaWJsZSwgYnV0IGlzL3dpbGwvaGF2 ZSBub3QgaGFwcGVuZWQgdW5kZXIge3N1bXRpfQoKCgpVbmRlcnN0YW5kaW5nICcna2EnZScnIGFu ZCAnJ2NhJ2EnJywgJydudSdvJycgc2ltcGx5IG1lYW5zICcna2EnZSBqZSBuYSBrdSBjYSdhJycs IGFuZCAnJ3B1J2knJyBtZWFucyAnJ2NhJ2EgamUga2EnZSBuYSBrdScnLiAKCkhpc3RvcmljYWxs eSwgdGhlc2UgZm91ciB3b3JkcyB3YXMgdGVuc2Ugc3VtdGNpdGEgLSB0aGVyZWZvcmUgdGhlICJt b2RhbCBhc3BlY3QiIGluIHRoZWlyIGRlZmluaXRpb25zLiBBbGwgdGVuc2Ugc3VtdGNpdGEgd2Fz IHRoZW4gbm90IGNvbnNpZGVyZWQgc3VtdGNpdGEgYXQgYWxsLCBidXQgcmF0aGVyICJzZWxicmkg dGNpdGEiLiBBIG1vZGVybiB1bmRlcnN0YW5kaW5nIG9mIExvamJhbiBpcyBnYWluaW5nIHBvcHVs YXJpdHksIHdoZXJlaW4gdGhlIHRlbnNlIHN1bXRjaXRhIGFyZSBjb25zaWRlcmVkIHN1bXRjaXRh LCBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBCQUksIGFuZCBpbiB3aGVyZSBzZWxicmkgdGNpdGEg YXJlIG5vdCB1c2VkLiAKCkJlY2F1c2Ugb2YgdGhlc2UgZm91ciB3b3JkcycgaGlzdG9yeSBhcyBz ZWxicmkgdGNpdGEsIHRoZXkgY2FuIGJlIGZyZWVseSBlbGlkZWQgLSBpbmRlZWQsIHNpbmNlIG9u ZSBvZiB0aGUgZm91ciB3b3JkcyBhbHdheXMgYXBwbGllcywgb25lIGlzIGFsd2F5cyBhc3N1bWVk IHRvIGJlIGVsaWRlZC4gVGhpcyBpcyBtb3N0IG9mdGVuICcnY2EnYScnLiBJbmRlZWQsIGl0J3Mg c28gb2Z0ZW4gJydjYSdhJycgdGhhdCBvbmUgY291bGQgd29uZGVyIHdoeSAnJ2NhJ2EnJyBpcyBu b3QgdGhlIGRlZmF1bHQuCgpPbmUgcmVhc29uIGlzIHRoYXQgc29tZSBzZWxicmkgaGFzIHR3byB1 c2VmdWwgZGVmaW5pdGlvbnMsIG9uZSB3aGljaCBpbXBsaWVzICcna2EnZSBTRUxCUkknJyBhbmQg b25lIHdoaWNoIGltcGxpZXMgJydjYSdhIFNFTEJSSScnLiBGb3IgYW4gZXhhbXBsZSwgc2VlICcn ZmFzbnUnJywgd2hpY2ggY2FuIG1lYW4gIngxIGlzIGhhcHBlbmluZyIgb3IgIngxIGlzIGFuIGV2 ZW50Iiwgd2hlcmUgdGhlIGZpcnN0IGltcGxpZXMgJydjYSdhIGZhc251JycgYW5kIHRoZSBzZWNv bmQgJydrYSdlIGZhc251JycKCkFub3RoZXIgdXNlIG9mICJpbXBsaWVkICcna2EnZScnIiBpcyBh cyBhIHdheSB0byBlc2NhcGUgYW4gYW5ub3lpbmcgcGhpbG9zb3BoaWNhbCBwcm9ibGVtIGluIHRo ZSBsYW5ndWFnZS4gQSBzZWxicmkgb25seSBhcHBsaWVzIGlmIGFsbCBpdHMgcGxhY2VzIGFwcGx5 IHRvby4gRm9yIHNvbWUgc2VsYnJpLCBsaWtlICcna2FicmknJywgdGhhdCdzIGEgcHJvYmxlbS4K Cl9fJydrYWJyaScnX18geDEgaXMgYSBjdXAgY29udGFpbmluZyBjb250ZW50cyB4MiBhbmQgb2Yg bWF0ZXJpYWwgeDMKClRoZSBkZWZpbml0aW9uIHN1Z2dlc3RzIHRoYXQgaWYgdGhlIGNvbnRlbnQg b2YgdGhlIGN1cCBpcyByZW1vdmVkLCB0aGUgeDIgbm8gbG9uZ2VyIGFwcGxpZXMgYW5kIGl0IHN0 b3BzIGJlaW5nICcnbG8ga2FicmknJy4gSW1wbGllZCAnJ2thJ2UnJywgb3IgbW9yZSBmaXR0aW5n bHksICcnbnUnbycnLCBsZXQgdXMgZXNjYXBlIHRoYXQgcHJvYmxlbS4KCgoKCgohISFFbmQgb2Yg bGVzc29ucwoKU29ycnksIGJ1dCBhcyBvZiBub3csIHRoZXJlIGFyZSBubyBtb3JlIGxlc3NvbnMg aW4gdGhpcyBzZXJpZXMuIFBlcmhhcHMgbW9yZSB3aWxsIGJlIGFkZGVkIGxhdGVyLiBNZWFud2hp bGUsIGZlZWwgZnJlZSB0byB2aXNpdCAoKHdhdmVsZXNzb25zY29udGludWVkfHRoZSBmaXJzdCBw YXJ0IG9mIFdhdmVsZXNzb25zY29udGludWVkKSkgb3IgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxU aGUgc2Vjb25kIHBhcnQgb2YgV2F2ZWxlc3NvbnNjb250aW51ZWQpKS4KCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxp c3QKV2lraWNoYW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4v bGlzdGluZm8vd2lraWNoYW5nZXMK