Received: from localhost ([::1]:57326 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Rqd5S-0000yn-4B; Thu, 26 Jan 2012 20:06:55 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:34399 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1Rqd5C-0000y7-4i for wikineurotic@lojban.org; Thu, 26 Jan 2012 20:06:45 -0800 Received: from jukni.digitalkingdom.org (localhost [127.0.0.1]) by jukni.digitalkingdom.org (8.14.5/8.14.5) with ESMTP id q0R46P2v002632 for ; Thu, 26 Jan 2012 20:06:26 -0800 Received: (from apache@localhost) by jukni.digitalkingdom.org (8.14.5/8.14.5/Submit) id q0R46N4H002628; Thu, 26 Jan 2012 20:06:23 -0800 Date: Thu, 26 Jan 2012 20:06:23 -0800 X-Authentication-Warning: jukni.digitalkingdom.org: apache set sender to webmaster@lojban.org using -f To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 From: webmaster@lojban.org Message-ID: X-MIME-Autoconverted: from 8bit to quoted-printable by jukni.digitalkingdom.org id q0R46P2v002632 X-Spam-Score: 1.0 (+) X-Spam_score: 1.0 X-Spam_score_int: 10 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 CLL, aka Reference Grammar, Errata was changed by brablonau at 04:04 UTC Comment: Chap. 9. BAI TUhE contradiction You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 0.6 TO_NO_BRKTS_DYNIP To: misformatted and dynamic rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by brablonau X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBicmFibG9uYXUgYXQgMDQ6MDQgVVRDCkNvbW1lbnQ6IENoYXAuIDkuIEJBSSBUVWhFIGNvbnRy YWRpY3Rpb24KCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL0NMTCUyQyUyMGFrYSUyMFJlZmVyZW5jZSUyMEdy YW1tYXIlMkMlMjBFcnJhdGEKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlv dXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3Jn L3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1DTEwlMkMlMjBha2ElMjBSZWZlcmVuY2Ul MjBHcmFtbWFyJTJDJTIwRXJyYXRhJmNvbXBhcmU9MSZvbGR2ZXI9MjA5Jm5ld3Zlcj0yMTAKCgoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRl ciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDI2Ny0y NzAgY2hhbmdlZCB0byArTGluZXM6IDI2Ny0yNzIgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKKioqIDguNSBtZWFucyAiSSBnYXZl IHRoZSBib29rIHRvIEpvaG4sIGJlY2F1c2UgSm9obiBnYXZlIHRoZSBtb25leSB0byBtZSIgYnV0 IDguNiBtZWFucyAiSm9obiBnYXZlIHRoZSBtb25leSB0byBtZSBiZWNhdXNlIEkgZ2F2ZSB0aGUg Ym9vayB0byBKb2huLiIKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCisgCisgKiBTZWN0aW9uIDExLCBkZXNjcmlwdGlvbiBvZiB0 aGUgbWVhbmluZyBvZiAiLmlqZSBzZXJpJ2EgdHUnZSIgY29udHJhZGljdHMgdGhlIGV4cGxhbmF0 aW9uIG9mIEV4YW1wbGUgOS45LCB3aGljaCB3b3VsZCBzdWdnZXN0ICIuaWplIHJpJ2EgdHUnZSIu CgoqIHNlY3Rpb24gMTcsICJmcm9tIHNvdXJjZSBhcyBhbiBvcmlnaW4gb2YiIHNob3VsZCBiZSB0 d28gZW50cmllczsgImZyb20gc291cmNlIiBhbmQgImFzIGFuIG9yaWdpbiBvZiIgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cu CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqCgpUaGlzIHBhZ2UgaXMgZm9yIGVycmF0YSBpbiAoKFRoZSBDb21wbGV0ZSBMb2piYW4gTGFu Z3VhZ2UpKSwgdGhhdCBpcyBmb3IgbWlzdGFrZXMgc3VjaCBhcyB0eXBvcywgb3Igc2VsZi1jb250 cmFkaWN0aW9ucywgb3IgY29udHJhZGljdGlvbnMgd2l0aCBvdGhlciBiYXNlbGluZWQgbGFuZ3Vh Z2UgZGVmaW5pdGlvbiBtYXRlcmlhbC4gVGhpcyBpcyBfX25vdF9fIGEgcGFnZSB0byBwdXQgZGVz aWRlcmF0YSAoc3VnZ2VzdGlvbnMgZm9yIGltcHJvdmVtZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBz aG91bGQgZ28gdG8gKChTdWdnZXN0aW9ucyBmb3IgQ0xMLCBzZWNvbmQgZWRpdGlvbikpLiAgVGhp cyBpcyBhbHNvIG5vdCBhIHBhZ2UgdG8gcHV0IGVycmF0YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRo IEJhc2VsaW5lIEdyYW1tYXIgcHJvcG9zYWwgKGkuZS4sIHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQ RUcgZ3JhbW1hciBlcnJhdGEgc2hvdWxkIGdvIHRvICgoQ0xMIFBFRyBFcnJhdGEpKS4KCkFuIG9u bGluZSB2ZXJzaW9uIG9mIHRoZSBDTEwgaW5jb3Jwb3JhdGluZyB0aGUgY2hhbmdlcyBvbiB0aGlz IHBhZ2UgW2h0dHA6Ly9kYWcuZ2l0aHViLmNvbS9jbGwvfGlzIGF2YWlsYWJsZV0uCgpTZWUgYWxz byBbV2hhdCtpcytMb2piYW4lM0YrZXJyYXRhJmJsPXl8V2hhdCBpcyBMb2piYW4/IGVycmF0YV0g KGZvciB0aGUgcHVibGlzaGVkIHZlcnNpb24pLCBMZXZlbCAwIEJvb2tsZXQgRXJyYXRhIFt0aWtp LWVkaXRwYWdlLnBocD9wYWdlPUxldmVsKzArQm9va2xldCtFcnJhdGEmbGFuZz18P10gKGZvciB0 aGUgcHJlLXB1YmxpY2F0aW9uIHJldmlld3M7IG5vdyBmaW5pc2hlZCksIGFuZCBbTGVzc29ucytF cnJhdGEmYmw9eXxMZXNzb25zIEVycmF0YV0gKGZvciB0aGUgYmVnaW5uZXJzJyBjb3Vyc2UpLgoK VGhlICInJ0lOQ0xVREVEIElOIERBRy1DTEwnJyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2RhZy5n aXRodWIuY29tL2NsbC8gaW5jbHVkZXMgdGhpcyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwg cHJvYmFibHkgYmUgaW4gdGhlIG5leHQgQ0xMIHZlcnNpb24uCgotLS0KCiFDaGFwdGVyIDEKCiog VGhlcmUgaXMgYSBwYXJhZ3JhcGggYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwgb24gcGFn ZSA0LCB3aXRoIHRoZSBzZW50ZW5jZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2ZXMgYSBi cmllZiBvdmVydmlldyBvZiB0aGUgbGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1h bCBzdHJ1Y3R1cmUgb2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJldHdlZW4g cHV0IHNlbWFudGljIGJvbmVzIG9uIHRoYXQgZm9ybWFsIGZsZXNoLiInJwoqKiBXb3VsZG4ndCBp dCBtYWtlIG1vcmUgc2Vuc2UgdG8gc2F5ICJwdXQgc2VtYW50aWMgZmxlc2ggb24gdGhvc2UgZm9y bWFsIGJvbmVzIj8gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9ybidzIHdvcmsg JydUaGUgTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBhcHBlYXIgdGhh dCBldmVyeW9uZSBlbHNlIGNhbGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0 aW9uJycsIGJ5IF9fTGF1cmVuY2VfXyAoUi4pIEhvcm4uCioqICcnSU5DTFVERUQgSU4gREFHLUNM TCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgotLS0KIUNoYXB0 ZXIgMgoKKiBTZWN0aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRvIHBvaW50IGF0IGEgbGFu Z3VhZ2UsIGFuZCBzaG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5vdGUgY2hhbmdlZCB0byBt b3JlIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhvdyAidGkiIHdvcmtzLgoK KiBTZWN0aW9uIDYgRXhhbXBsZSA2LjUgaGFzICJjdSIgYXMgZWxpZGFibGUsIHdoZW4gaW4gZmFj dCBpdCBpcyBzaW1wbHkgaWxsZWdhbCB0aGVyZS4gIFJlbW92ZWQuICAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoqKiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBEQUctQ0xMLgoKKiBTZWN0aW9u IDggcGFnZSAxNyBjbGFpbXMgdGhhdCAieHUiIGlzIGRpc2N1c3NlZCBpbiBzZWN0aW9uIDEuNywg d2hpY2ggaGFwcGVucyB0byBsaXN0IHRoZSBjYXB0aW9ucyBmb3IgYWxsIHRoZSBjaGFwdGVyIHBp Y3R1cmVzLgoqKiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlvbiAxNS4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKiogVGhlIGxp bmsgaW4gdGhlIGN1cnJlbnQgREFHLUNMTCBpcyBwb2ludGluZyB0byAiMi8yLzE1IiBpbnN0ZWFk IG9mIHRvICIyLzE1Ii4KCiogU2VjdGlvbiAxMCBzYXlzIHRoYXQgZXhhbXBsZSAxMC4zIChtaSB0 YXZsYSBkbyBsZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUgYXMgKG1pIHRhdmxhIGRvIGxlIHRh dmxhIGt1KS4gRXhhbXBsZSAxMC4zIHNob3VsZCBiZSAibWkgdGF2bGEgZG8gbGUgdGF2bGEiLCBh cyBpdCBkZXNjcmliZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0ZWQuCioqIEl0IGFwcGVhcnMgdGhh dCBleGFtcGxlIDEwLjMgaXMgaW5jb3JyZWN0IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBu b3QgdGhlIHB1Ymxpc2hlZCBib29rLgoKKiBTZWN0aW9uIDE3IHNheXMgIk5vdGUgdGhhdCBFeGFt cGxlIDE3LjMgIGhhcyBhbmQgcmVxdWlyZXMgYSDigJxjdeKAnSB0byBwcmV2ZW50IOKAnGJhanJh 4oCdIGFuZCDigJxrbGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0YW5ydSwgYnV0IEV4YW1wbGUgMTcu NCAgYW5kIEV4YW1wbGUgMTcuNSAgbGFjayB0aGUgdW5uZWNlc3Nhcnkg4oCcY3XigJ0uIiwgYnV0 IGV4YW1wbGUgMTcuMyBpcyAibGEgZGphbi4gfm5wfltjdV1+L25wfiBrbGFtYSBsZSB6YXJjaSIu CioqIEl0IGFwcGVhcnMgdGhhdCB0aGUgb2ZmZW5kaW5nIHNlbnRlbmNlIGlzIHByZXNlbnQgb25s eSBpbiB0aGUgb25saW5lIHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoqIEV4YW1w bGUgMTcuOSBpcyAibGUgdmkgdGF2bGEga3UgY3UgYmEga2xhbWEiIGluIHRoZSBvbmxpbmUgdmVy c2lvbiwgYW5kIHRvdGFsbHkgYnJva2VuIGluIHRoZSBwdWJsaXNoZWQgYm9vay4KKiogR28gd2l0 aCB0aGUgb25saW5lIHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKISBDaGFwdGVyIDMKCkEgbG90IG9m IHRoZSBJUEEgZXhhbXBsZXMgdXNlIGEgc3BhY2UgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBicmVh ay4gVGhpcyBpcyBub3Qgc3RhbmRhcmQgSVBBIHVzYWdlOyBhY2NvcmRpbmcgdG8gSVBBLCB0aGUg cGVyaW9kIOKAnC7igJ0gc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBkaXZp c2lvbi4KCiogU2VjdGlvbiAyLCBwYWdlIDMwOiBpbiB0aGUgdGFibGUgdGhlIGRlc2NyaXB0aW9u IG9mICJhcG9zdHJvcGhlIiBzaG91bGQgcmVhZCAiYW4gdW52b2ljZWQgZ2xvdHRhbCBzcGlyYW50 Iiwgbm90ICJhIHVudm9pY2VkIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMiwgZGlnaXRhbCB2ZXJz aW9uLiAgVGhlIElQQSB0YWJsZSBnb3QgaG9ycmlibHkgbWFuZ2xlZCBzb21ld2hlcmUgYWxvbmcg dGhlIHdheS4gIEl0IHNob3VsZCBsb29rIGxpa2UgKFNBTVBBIGNvbHVtbiBhZGRlZCk6Cgp8fCBM ZXR0ZXIgfCBJUEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFNBTVBBICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAnICAgICAgfCBbaF0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQgICAgICAgICAg ICAgICAgICAgICAgCiAsICAgICAgfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IC0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0 aGUgc3lsbGFibGUgc2VwYXJhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAuICAgICAg fCBbypRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbP10gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBnbG90dGFsIHN0b3Agb3IgYSBw YXVzZSAgICAgICAgICAgICAgICAgICAgICAgIAogYSAgICAgIHwgW2FdLCBbyZFdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgW2FdLCBbQV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGFuIG9wZW4gdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKIGIgICAgICB8IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgW2JdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9p Y2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGMgICAgICB8IFvK g10sIFvKgl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbU10sIFtzYF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgcG9zdGFsdmVvbGFy IGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgIAogZCAgICAgIHwgW2RdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAg ICAgICAgICAgIAogZSAgICAgIHwgW8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW0VdLCBbZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg ZnJvbnQgbWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGYgICAgICB8 IFtmXSwgW8m4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtmXSwgW3BcXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBsYWJpYWwgZnJp Y2F0aXZlICAgICAgICAgICAgICAgICAgICAgCiBnICAgICAgfCBbyaFdICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbZ10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSB2b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogaSAgICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBbaV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9u dCBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogaiAgICAgIHwgW8qS XSwgW8qQXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtaXSwgW3pgXSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJp Y2F0aXZlICAgICAgICAgICAgICAgICAgICAgICAgCiBrICAgICAgfCBba10gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiBsICAgICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW2xdLCBbbD1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg dm9pY2VkIGxhdGVyYWwgYXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykgICAKIG0gICAgICB8 IFttXSwgW23MqV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbbV0sIFttPV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgbmFz YWwgKG1heSBiZSBzeWxsYWJpYykgICAgICAgIAogbiAgICAgIHwgW25dLCBbbsypXSwgW8WLXSwg W8WLzKldICAgICAgICAgICAgICAgICAgICAgfCBbbl0sIFtuPV0sIFtOXSwgW049XSAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsIG9yIHZlbGFyIG5hc2FsIChtYXkg YmUgc3lsbGFiaWMpIAogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW29dLCBbT10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGEgYmFjayBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIHAgICAg ICB8IFtwXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3BdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGJpbGFiaWFs IHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAKIHIgICAgICB8IFtyXSwgW8m5XSwgW8m+XSwg W8qAXSwgW3LMqV0sIFvJucypXSwgW8m+zKldLCBbyoDMqV0gfCBbcl0sIFtyXF0sIFs0XSwgW1Jc XSwgW3I9XSwgW3JcPV0sIFs0PV0sIFtSXD1dIHwgYSByaG90aWMgc291bmQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogcyAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAg IAogdCAgICAgIHwgW3RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdF0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQg ZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgIAogdSAgICAgIHwgW3VdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdV0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIGNsb3NlIHZvd2VsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAogdiAgICAgIHwgW3ZdLCBbzrJdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IGEgdm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCiB4ICAg ICAgfCBbeF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt4XSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBm cmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCiB5ICAgICAgfCBbyZldICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbQF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSBjZW50cmFsIG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogeiAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2 b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgICAgIHx8CgoqKiBTb3J0 LW9mICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKTsgd2hhdCBJIGFjdHVh bGx5IGRpZCBpcyBoYWQgQXJudCByZXZpZXcgd2hhdCBzb21lb25lIGVudGVyZWQgaW4gREFHLUNM TCwgd2hpY2ggcHJlc3VtYWJseSB3YXMgYmFzZWQgb24gdGhlIGFib3ZlLiAgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBmb3IgdGhlIHNlY29uZCBlbmcgKGlt bWVkaWF0ZWx5IHRvIHRoZSBsZWZ0IG9mICIobWF5IGJlIHN5bGxhYmljKSIpIHRoZSBzeWxsYWJp Y2l0eSBtYXJrZXIgaXMgY29uY2VhbGVkIGJ5IHRoZSByaWdodCB0YWlsLgoqKiBJIGNhbiBqdXN0 IGJhcmVseSBzZWUgdGhlIG1hcmtlciB1bmRlciBhIGdvb2QgbGlnaHQuICAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqKiBGb3IgZnV0dXJlIGVkaXRpb25zIDotKSAsIG5v dGUgdGhhdCB0aGUgSVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlhY3JpdGljcyBhYm92ZSByYXRoZXIg dGhhbiBiZWxvdyB0aGUgbGV0dGVyIGluIGNhc2VzIGxpa2UgdGhlc2UuIFVuZm9ydHVuYXRlbHks IHRoZSBmb250cyBoaXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBub3QgbWFkZSB0aGlzIGZhY2lsaXR5 IGF2YWlsYWJsZSwgc28gb3V0c2lkZSB0aGUgam91cm5hbCBvZiB0aGUgSVBBIGl0c2VsZiwgc3Vj aCBvdmVyLWRpYWNyaXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDigJQgbml0Y2lvbgoKKiBJbiBzZWN0 aW9uIDMuMiwgdGhlIGNvbW1hIHNob3VsZCAocHJvYmFibHkpIGJlIHJlcHJlc2VudGVkIGJ5IHRo ZSBJUEEgbm90YXRpb24gWy58Ll0sIGFzIHRoZSBwZXJpb2QgaXMgdXNlZCBpbiBJUEEgdG8gZGVu b3RlIHN5bGxhYmxlIGJyZWFrcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKKiBTZWN0aW9uIDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9qYmFuIHBob25lbWUgL3IvLCB0aGUg SVBBIHN5bWJvbCBmb3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9pY2VkIGFwaWNhbCB0YXAgaXMgZ2l2 ZW4gd2l0aCBhIHN5bGxhYmljaXR5IG1hcmtlciBiZWxvdy4gQSB0YXAgY2FuJ3QgYmUgc3lsbGFi aWMsIGJlY2F1c2UgaXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0YW50YW5lb3VzLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVtb3ZlIHRoYXQgY2FzZSBhbHRvZ2V0 aGVyLgoKKiBTZWN0aW9uIDIuICBUaGUgZGVzY3JpcHRpb25zIG9mICcnYycnIGFuZCAnJ2onJyBh cmUgbGlzdGVkIGFzICJjb3JvbmFsIHNpYmlsYW50InMuICBUaGUgZGVzY3JpcHRpb25zIHNob3Vs ZCByZWFkICJ2b2ljZWxlc3MgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIgYW5kICJ2b2ljZWQgcG9z dGFsdmVvbGFyIGZyaWNhdGl2ZSIsIHJlc3BlY3RpdmVseS4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDMsIHRoaXJkIHBhcmFncmFwaCAocGFnZSAzMSk6 ICJhIHVudm9pY2VkIHZvd2VsIGdsaWRlIiBzaG91bGQgYmUgImFuIHVudm9pY2VkIHZvd2VsIGds aWRlIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gSVBBIGZvciB0aGUgdW5hY2Nl cHRhYmxlIEFtZXJpY2FuIGZsYXAgdmFyaWFudCBvZiBpbnRlcnZvY2FsaWMgJyd0Jycgc2hvd3Mg dGhlIEdBICcncicnIHNvdW5kICh1cHNpZGUtZG93biByKSBpbnN0ZWFkIG9mIHRoZSBmbGFwIChs aWtlIGFuIHIgd2l0aCBubyB2ZXJ0aWNhbCBiaXQgYXQgdGhlIHRvcCDigJQgc2VlIHRoZSBsaXN0 IG9mIGFjY2VwdGlibGUgJydyJycgdmFyaWFudHMgb24gb24gcGFnZSA0NCB3aGVyZSBpdCBhcHBl YXJzIGNvcnJlY3RseSkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCiogU2VjdGlvbiA2LCBwYWdlIDM2LiAoU2FtZSBhcyBwcmV2aW91cyBlcnJhdHVtKSBU aGUgY29uc29uYW50IGlzIHJlZmVycmVkIHRvIGFzIGEgZmxhcCwgd2hpbGUgaXQgaXMgYWN0dWFs bHkgYSB0YXAuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlv biA3LiBJbiBiZXR3ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFu ZCB1bnZvaWNlZCBlcXVpdmFsZW50IHZvd2VscyIgc2hvdWxkIHJlYWQgImEgcGFpcmluZyBvZiB2 b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgY29uc29uYW50cyIuCgoqIFNlY3Rpb24gOCwg cGFnZSAzOC4gSVBBIGZvciBwcm9udW5jaWF0aW9uIG9mICJ4YXBja2UiIGhhcyBjIHdoZXJlIGl0 IHNob3VsZCBoYXZlIFMgKGxvbmcgcykuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCiogU2VjdGlvbiA5LCBwYWdlIDQwLiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgImRp a3lqdm8iIGhhcyBqIHdoZXJlIGl0IHNob3VsZCBoYXZlIFogKHRoYXQgbGl0dGxlIHNjcmlwdCB6 IHRoaW5nKSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK KiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBXaGF0IHNob3VsZCBiZSB0aGUgQ3lyaWxsaWMgbGV0dGVy IDsgaXMgcHJpbnRlZCBhcyBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIHRoZSBHcmVlayBsZXR0 ZXIgLiBJcyB0aGlzIG9ubHkgYSB0eXBvZ3JhcGhpY2FsIHZhcmlhbnQgb2YgdGhlIDssIG9yIGlz IGl0IGEgdmFyaWFudD8KCioqIFRoaXMgZXJyYXR1bSBpcyBpbmRlY2lwaGVyYWJsZSBhbmQgc2hv dWxkIGJlIGRyb3BwZWQsIHVubGVzcyBzb21lb25lIGNhbiByZWNvbnN0cnVjdCBpdC4gIFRoZSBD eXJpbGxpYyBsZXR0ZXJzIGxvb2sgZmluZS4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTIsIHBhZ2Ug NDYuIFJlcGxhY2UgdGhlIHdvcmRzICJ0aGUgaGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJk IHNpZ24sIFUrMDQ0QSBDWVJJTExJQyBTTUFMTCBMRVRURVIgSEFSRCBTSUdOLgoKKiBTZWN0aW9u IDEyLCBwYWdlIDQ3LiAiYXJlLyJlc3NlIiBzaG91bGQgcHJvYmFibHkgYmUgImFyZSIvImVzc2Ui ICh0aGUgYWN1dGUgb24gdGhlIGEgbWF5IG9yIG1heSBub3QgaGF2ZSBiZWVuIGxlZnQgb2ZmLCBi dXQgdGhlIGNsb3NpbmcgcXVvdGUgYWZ0ZXIgYXJlIGlzIGRlZmluYXRlbHkgbWlzc2luZy4pCioq IE15IGNvcHkgc2hvd3MgdGhlIGFjdXRlLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKIUNoYXB0ZXIgNAoKKiBT ZWN0aW9uIDQsIHBhZ2UgNTQuIFRoZSBib29rIHN0YXRlcyB0aGF0IGZ1J2l2bGEgd2l0aCBhIGZv cm0gbGlrZSAnJ3NwYSdpJycgYXJlIHZhbGlkLiBUaGV5IGFyZSBub3QsIHRoZXkgZmFpbCB0aGUg c2xpbmt1J2kgdGVzdC4gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMiIGluIHRoZSB0aGly ZCB0YWJsZSBpbiB0aGF0IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCiogU2VjdGlvbiA2LCBp dCBzYXlzICJNb3N0IGNtYXZvIHRoYXQgaGF2ZSByYWZzaSBhcmUgb25lcyB1c2VkIGluIGNvbXBv c2luZyB0YW5ydSAoZm9yIGEgY29tcGxldGUgbGlzdCwgc2VlIENoYXB0ZXIgMTIpIiwgYnV0IHRo ZXJlIGlzIG5vIHN1Y2ggbGlzdCBpbiBDaGFwdGVyIDEyLCBvciBhbnl3aGVyZSBpbiB0aGUgYm9v ayAoanUnb3NhaSkuIFBlcmhhcHMgaXQgd2FudHMgdG8gcG9pbnQgdG8gdGhlIGxpc3Qgb2YgUEEg cmFmc2kgaW4gQ2hhcHRlciAxOCBzZWN0aW9uIDI1PyBPciB0byB0aGUgbGlzdHMgb2YgdGFucnUg aW4gQ2hhcHRlciA1IHNlY3Rpb25zIDE0IGFuZCAxNT8KKiogV2hhdCBJIHByb2JhYmx5IG1lYW50 IHdhcyB0aGF0IENoYXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRpc2N1c3NlcyB0aGUgY21h dm8gdXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRoaW5rIGFueSBzcGVjaWZp YyBsaXN0IGV2ZXIgZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBhcmVudGhldGljYWwgc2Vu dGVuY2UuCgoqIFNlY3Rpb24gNiwganVzdCBhZnRlciBleGFtcGxlIDYuOS4gSXQgc2F5cyAic29t ZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlIiwgYnV0IGl0 IGlzIG5vdCByZWZlcnJpbmcgdG8gdGhlIHByZXZpb3VzIGV4YW1wbGU6IGl0IGlzIHJlZmVycmlu ZyBhbGwgdGhlIHdheSBiYWNrIHRvIGV4YW1wbGVzIDYuMSBhbmQgNi4yLCBzbyBpdCBzaG91bGQg YmUgInNvbWUgb2YgdGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZV9f c19fIi4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KQoo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVmZXIgZXhwbGljaXRseSB0byA2 LjEgYW5kIDYuMgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIEluIGV4YW1wbGUgNi4xNiwgdGhlIHdv cmQgInhhcm55a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1jYXIiLiBFaXRoZXIgdGhlIGdsb3Nz IHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZlbGp2byAoInN0dWJib3JuLWNhciIp LCBvciB0aGUgbHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgZ2xvc3MgImph bWthcmNlIgoqKiBUaGUgbGF0dGVyICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDcsIG1ha2luZyBhIHR5cGUg MyBmdSdpdmxhLCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBzIDEtNCIsIG5vdCAic3RlcHMgMS01 Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDcsIHN0 ZXAgNSBvZiB0aGUgU3RhZ2UgMyBmdSdpdmxhOiAiaWYgdGhlIHJhZnNpIGVuZHMgaW4gJydyJycg YW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicnIChvciB2aWNlIHZl cnNhKSB1c2UgYW4gJydsJyctaHlwaGVuIiBzaG91bGQgcmVhZCAgImlmIHRoZSByYWZzaSBlbmRz IGluICcncicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJywg Jyd0YycnLCAnJ3RzJycsICcnZHonJyBvciAnJ2RqJycsIG9yIHRoZSByYWZzaSBlbmRzIGluICcn bicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ3InJyB1c2UgYW4g JydsJyctaHlwaGVuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBU aGUgZW5kIG9mIHNlY3Rpb24gNyBzZWVtcyB0byBpbXBseSB0aGF0IGNtZW5lIGFyZSBleGVtcHQg ZnJvbSB0aGUgbm9ybWFsIHJlc3RyaWN0aW9ucyBvbiBjb25zb25hbnQgY2x1c3RlcnMgYXMgbG9u ZyBhcyBlYWNoIGNvbnNvbmFudCBwYWlyIGlzIHZhbGlkLgoKKiBTZWN0aW9uIDguIEV4YW1wbGUg OC4xMCAnJ2RqYW5kam9ueicnIGlzIG5vdCB2YWxpZCBsb2piYW4gYXMgaXQgY29udGFpbnMgdGhl IGZvcmJpZGRlbiBjb25zb25hbnQgc2VxdWVuY2UgYG5kamAuICAgICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEgZGlmZmVyZW50IG5hbWUuCioqIFJl cGxhY2luZyB3aXRoICJKb2huIEJyb3duIiBhcyAiZGphbmJyYXVuIi4gLS1ybHBvd2VsbCAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDgsIHBhZ2UgNjYuIEV4YW1wbGUgOC4xMi4g U2F5cyB0aGF0IHRoZSBnaXNtdSAic29scmkiIG1lYW5zICJhY3R1YWxseSwgJ3BlcnRhaW5pbmcg dG8gdGhlIHN1biciLiBUaGlzIGlzIGZhbHNlLiBBY2NvcmRpbmcgdG8gdGhlIGdpc211IGxpc3Qs IGl0IG1lYW5zICcnaXMnJ2Egc3VuLgoqKiBMZWF2ZSB0aGlzIG9uZSBhbG9uZS4gIEFzIGEgc2Vs dGF1LCAic29scmkiIGRvZXMgaW5kZWVkIG1lYW4gInNvbGFyIi4gIC0tamNvd2FuCgoqIFNlY3Rp b24gMTEsIDVhKSAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29uc29uYW50IHBhaXJzIHRoYXQgam9p biB0aGUgQ1ZDIHJhZnNpLCBhbmQgYWxzbyB0aGUgcGFpciBiZXR3ZWVuIHRoZSBsYXN0IENWQyBh bmQgdGhlIFggcG9ydGlvbiwgaWdub3JpbmcgYW55ICJ5Ii1oeXBoZW4gYmVmb3JlIHRoZSBYLicn IHNob3VsZCByZWFkIGluc3RlYWQ6ICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFp cnMgdXAgdG8gdGhlIGZpcnN0ICJ5Ii1oeXBoZW4sIG9yIHVwIHRvIHRoZSBlbmQgb2YgdGhlIHdv cmQgaW4gY2FzZSB0aGVyZSBhcmUgbm8gInkiLWh5cGhlbnMuJycKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rp b24gMTIuIEluIEV4YW1wbGVzIDEyLjIsIDEyLjMgYW5kIDEyLjQgdGhlIGNhbGN1bGF0aW9ucyBh cmUgZ2l2ZW4gYXMgMzI1MDAgbWludXMgdGhlIHNjb3JlLCBpbnN0ZWFkIG9mIHNpbXBseSB0aGUg c2NvcmUuIChQcm9iYWJseSBmcm9tIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoZSBhbGdvcml0aG0u KSAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxMywg cGFnZSA3NCwgdGhpcmQgdGFibGU6IHRoZXJlIGlzIG5vIHNwYWNlIGJldHdlZW4gImxvamJhdWdy aSIgYW5kICJsb2piYW5neWdyaSIsIHNvIHRoYXQgdGhleSBhcmUgcnVuIGludG8gb25lIHdvcmQg aW4gdGhlIHNlY29uZCBjb2x1bW4gb2YgdGhlIHRhYmxlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTUgc3RhdGVzIHRoYXQgImR6aXBvIiBjb21lcyBm cm9tICJjYWR6dSBjaXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4gIFRoaXMgZmFpbHMgdG8gbWFrZSBz ZW5zZSBlaXRoZXIgZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50aWNhbGx5IChJZiB0aGUgbmFtZSBy ZWZlcnMgdG8gcGVuZ3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBvdGhlciBmZWF0dXJlcyBvZiBB bnRhcmN0aWNhIHRoYXQgYXJlIG1vcmUgcHJvbWluZW50IGFuZCBub3Qgc2hhcmVkIGJ5IG90aGVy IHBsYWNlcykuICBJIHN1c3BlY3QgdGhhdCB0aGUgd29yZCBtYXkgYWN0dWFsbHkgY29tZSBmcm9t ICJkaXpsbyBkYXBsdSIgKCJsb3cgaXNsYW5kIiksIHdoaWNoIGlzIGEgc29tZXdoYXQgbW9yZSBy ZWFzb25hYmxlIG5hbWUuCioqIE5vdCBhbiBlcnJhdHVtLCB0aGUgd29yZCByZWFsbHkgZG9lcyBj b21lIGZyb20gImNhRFp1IGNJUG5pIi4gVGhhdCBpdCBmYWlscyB0byBtYWtlIHNlbnNlIGRvZXNu J3QgY2hhbmdlIHRoZSBmYWN0IHRoYXQgdGhhdCBpcyBob3cgdGhleSBjb25zdHJ1Y3RlZCBpdC4g VGhlIGV0eW1vbG9naWVzIG9mICJiZW1ybyIgYW5kICJrZXRjbyIgbWFrZSBldmVuIGxlc3Mgc2Vu c2UsIGJ5IHRoZSB3YXkuCioqKiBDb3JyZWN0LCBidXQgdGhlIGV0eW1vbG9naWVzIGFyZSB3aGF0 IHRoZXkgYXJlLiAgLS1qY293YW4KCi0tLQoKIUNoYXB0ZXIgNQoKKiBTZWN0aW9uIDYsIGV4YW1w bGUgNi4xNTogSXQgc2F5cyB7eGFtZ3Ugam8gY29ydHUgbnVudGF2bGF9LCBhbmQgdGhlIGdsb3Nz IHNheXMgeyhnb29kIGlmLWFuZC1vbmx5LWlmIHNob3J0KSBzcGVlY2h9LCBidXQge2NvcnR1fSBt ZWFucyAiaHVydCIsIG5vdCAic2hvcnQiLgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgKGNo YW5nZWQgdG8ge3RvcmR1fSkgKGluIHpvcnQncyBmb3JrIGF0IGxlYXN0KSAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogRXhhbXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVr YSBudW50YXZsYSAsICAoaW1wb3J0YW50IHdoZXRoZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1v Zi10YWxraW5nCioqIFNob3VsZCBiZSBwbHVrYSwgbm90IHNlbHBsdWthLiAgKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gOCBzYXlzICJpbnZvbHZpbmcgc2VsbWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQg aW4gQ2hhcHRlciA3IiwgYnV0IFZPaEEgZG9lc24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hB IGRvZXNuJ3QgZXZlbiBzZWVtIHRvIGJlIGEgc2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNv LCBwcm9iYWJseSBHT2hJIHNob3VsZCBiZSBHT2hBPwoKKiBTZWN0aW9uIDgsIHBhZ2UgOTYvOTc6 IEV4YW1wbGUgOC4xMyBuZWVkcyBzb21lIGtpbmQgb2YgdGVybWluYXRvciAobGlrZSAiYmUnbyIp IGJlZm9yZSB0aGUgImNvIi4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CiogQWxzbywgdGhlIHByZWNlZGluZyBwYXJhZ3JhcGggc3VnZ2VzdHMgdGhhdCAiYmUiIGlzIHRo ZSBvbmx5IHdheSB0byBmaWxsIHNlbGJyaSBwbGFjZXMgb3RoZXIgdGhhbiB4MS4gVGhpcyBpcyBu b3QgdGhlIGNhc2U6ICJtaSBsZSB6YXJjaSBjdSBrbGFtYSBjbyBzdXRyYSIgd291bGQgYWxzCm8g d29yay4KKiogSSBkb24ndCBhZ3JlZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2VzdGlvbiwg YWx0aG91Z2ggYWRkaW5nIGEgc2Vjb25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBtZS4gIC0t amNvd2FuCgoqIFNlY3Rpb24gOSBsaXN0cyAia2VpIiBhcyB0aGUgdGVybWluYXRvciBmb3IgbnUs IGJ1dCBpdCdzIG5vdCBvbmx5IGZvciBudSwgYnV0IGZvciBhbGwgb2YgTlUuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDQgc2F5cyAi ZGFkeWxzaSIgZm9yICJkYWR5c2xpIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1 IHVzZXMgInpkYW5pIGxpamdyaSIgaW4gdGhlIGV4YW1wbGUgbGlzdCwgYnV0IHRoZSBwYXJhZ3Jh cGggYWZ0ZXIsIGFzIHdlbGwgYXMgdGhlIG5leHQgbGlzdCwgcmVmZXIgdG8gInpkYW5pIGxpbmpp IiBhbmQgImxpbmppIHpkYW5pIi4KCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgaGFzIHRoZSBsdWp2 byAiY3B1bWknaSIgYnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2V0IGFzICJj cGFtaSdpIi4KKiogY3VhbWknaSBzIHB1bGwtbWFjaGluZSwgc28gdXNpbmcgdGhhdCAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CiogU2VjdGlvbiAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFwbGEiIGZvciAiYXBwbGUgY2Fr ZSIuIERvZXMgVHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtlIGFzIGEgdGlsZSwgb3IgaXMg dGhpcyBhIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRpb24gb2YgInRhcGxhIj8KKiog Tm8sIGl0J3MgdGhhdCB7dGFwbGF9IGNhbiBtZWFuIGJvdGggY2FrZSBhbmQgdGlsZSwgYXMgdGhl IGdpc211IGxpc3Qgc2hvd3M7IGl0J3MgYSBnZW5lcmljIHdvcmQgZm9yIGEgZmxhdCAzLUQgc2hh cGUsIG9yIHNob3J0IGN5bGluZGVyLiAgU3RldC4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTQsIHBh Z2UgMTA4IHNheXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgInR1bWxh IHBhZ2J1Iiwgc2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5vdCBhY3R1YWxseSBkZXRhY2hlZC4K KiogV2hhdCBtYWtlcyB5b3UgdGhpbmsgdGhhdCBzcGlzYSBoYXZlIHRvIGJlIGRldGFjaGVkPyAg U3RldC4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA5IHNheXMgInJvc3R1IG1vanlz dSdhIi4gInJvc3R1IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUsIG5vciBhbiBPbGQgTG9nbGFuIHBy aW1pdGl2ZS4gSXQncyBzdXBwb3NlZCB0byBiZSAibXJvc3QKdSIuCioqICJNcm9zdHUiIGlzIGNv cnJlY3QsIGFuZCB0aGF0J3MgdGhlIHJlYWRpbmcgb2YgdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQsICJudW5raWxi cmEiIGlzIGNsZWFybHkgbm90ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcg dGhlIHJpZ2h0IHJhZnNpIGZvciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNy YXBweSBsdWp2bzsgbmVlZHMgemVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoK KiBTZWN0aW9uIDE0LCBwYWdlIDExMiBsaXN0cyBudW1lcm91cyB0YW5ydSBleGFtcGxlcyB3aG9z ZSBtZWFuaW5ncyBhcmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0YXUgaW5zdGVhZCBvZiBoeXBvbnlt cy4gVGhpcyBjb250cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mgb2YgdGhlIHRlcnRhdSBhcyBkZWZp bmVkIG9uIHBhZ2UgODQuIFRoZSB3b3JkICJqYSIgc2hvdWxkIHByb2JhYmx5IGJlIGluc2VydGVk IGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVudGlyZSBzZWN0aW9uIHNob3VsZCBi ZSByZW1vdmVkLgoqKiBTdGV0LiAgTGlvbnMgY2FuJ3QgYmUgbWFkZSBvZiBzdG9uZSwgYnV0IHty b2tjaSBjaW5mb30gaXMgYSBsZWdpdGltYXRlIHRhbnJ1IG5vbmV0aGVsZXNzLiAgLS1qY293YW4K Ci0tLQoKIUNoYXB0ZXIgNgoKKiBFbmQgb2Ygc2VjdGlvbiAyLCBpdCBzYXlzICJjb21wb3VuZCBu ZWdhdG9yIGBgbmFrdScnIChkaXNjdXNzZWQgaW4gQ2hhcHRlciAxNSkiLCBidXQgIm5ha3UiIGlz IG5ldmVyIG1lbnRpb25lZCBpbiBjaGFwdGVyIDE1OyBpbmRlZWQsIHRoZSBvbmx5IHVzZXMgb2Yg dGhlIHdvcmQge2t1fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3b3JkcyB7amkndX0gb3Ige25hJ2l9 LiBDaGFwdGVyIDE2IHRhbGtzIGFib3V0IHtuYWt1fS4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xM JycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCiogU2VjdGlvbiAx MiwgcC4gMTM4IGNsYWltcyB0aGF0IHRoZSBzdW10aSBpbiBleGFtcGxlcyAxMi4yIGFuZCAxMi4z IG9wZXJhdGUgbGlrZSBleGFtcGxlcyAyLjUgYW5kIDMuNiByZXNwZWN0aXZlbHkuICIyLjYgYW5k IDMuNiIgaXMgYWxtb3N0IHN1cmVseSB3aGF0IHdhcyBtZWFudC4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBJbiBzZWN0aW9u IDExIEV4YW1wbGUgMTEuMiBvY2N1cnMgdHdpY2UuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDIgaGFz IGV4YW1wbGVzIDIuMyBhbmQgMi41IHRvIHNob3cgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB7bG99 IGFuZCB7bGV9LiBFeGFtcGxlIDIuNSBhbmQgdGhlIHN1YnNlcXVlbnQgdGV4dCBzYXkgdGhhdCB7 bG8gbmFubXUgY3UgbmlubXV9IGlzIG5lY2Vzc2FyaWx5IGZhbHNlIGluIGxvamJhbiBzaW5jZSB7 bm9kYSBuYW5tdSBnaSdlIG5pbm11fS4gVGhpcyBjb250cmlidXRlcyB0byB0cmFucy1lcmFzdXJl LCBhbmQgc2hvdWxkIGJlIHJldmlzZWQuCgoqIEluIHNlY3Rpb24gNSBiZXR3ZWVuIGV4YW1wbGVz IDUuMiBhbmQgNS4zLCBpdCBzYXlzIHRoYXQgdGhlIHR5cGljYWwgbGlvbiBiZXN0IGV4ZW1wbGlm aWVzIHRoZSBzZXQgb2YgbGlvbnMuIFRoaXMgaXMgZmFsc2UsIGl0IGV4ZW1wbGlmaWVzIG5vdCB0 aGUgc2V0LCBidXQgdGhlIG1lbWJlcnMgb2YgdGhhdCBzZXQuCgotLS0KCiEgQ2hhcHRlciA3Cgoq IFNlY3Rpb24gNiwgcGFnZSAxNTUgaGFzIGEgbm90ZSBiZWxvdyBleGFtcGxlIDYuMTMgdGhhdCBz YXlzLCBpbiBwYXJ0OiAiVGhlIExvamJhbiBkb2VzIG5vdCBjb250YWluIGFuIGVxdWl2YWxlbnQg b2YgdGhlICJteSIgaW4gY29sbG9xdWlhbCBFbmdsaXNoOyIgYW5kIHRoZW4gZ29lcyBvbiB0byBl eHBsYWluIGhvdyBleGFtcGxlIDYuMTMgY291bGQgYmUgbW9kaWZpZWQgdG8gaW5jbHVkZSAgdGhl IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBzcGVha2VyIGFuZCB0aGVpciBzb24gYW5kIGRhdWdo dGVyLiAgSSBiZWxpZXZlIHlvdSBjb3VsZCBzYXkgImxlIG1pIGJlcnNhIiBvciAibGUgYmVyc2Eg cGUgbWkiIHRvIGV4cHJlc3MgdGhlIEVuZ2xpc2ggIm15LCIgdGhlcmVmb3IgcmVtb3ZpbmcgdGhl IChwcmVzdW1hYmx5IGluYWNjdXJhdGUpIG5vdGUgYW5kIG1ha2luZyB0aGUgTG9qYmFuIHRyYW5z bGF0aW9uIG1vcmUgYWNjdXJhdGUuCioqIFN1cmUgeW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9m IHRoZSBub3RlICh3aGljaCBpcyAnJ25vdCcnIGluYWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBo b3cgdG8gdXNlIHJlbGF0aXZlIGNsYXVzZXMsIGJ1dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9t YXRpYyBFbmdsaXNoIHZlcnNpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBM b2piYW4gdmVyc2lvbiBkb2VzLiAgU3RldC4KCiogU2VjdGlvbiA2LCBwYWdlIDE1NiBoYXMgJydr YXJjYScnIGZvciAnJ2thcmNlJycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCiogQWZ0ZXIgZXhhbXBsZSA2LjE4IGlzIGEgcGFyYWdyYXBoIHRoYXQgcXVvdGVzIG5vbi1l eGlzdGVudCB0ZXh0IGZyb20gZXhhbXBsZSA2LjEwLiAgImdvJ2UgcmEnbyIgc2hvdWxkIHJlYWQg ImdvJ2kgcmEnbyIgYW5kICJkbyBnbydlIiBzaG91bGQgcmVhZCAibWkgZ28naSIKKiogVGhlIGNv cnJlY3QgY29ycmVjdGlvbiBpcyB0byByZXBsYWNlICJCJ3Mgc3RhdGVtZW50IiB3aXRoICJBJ3Mg c2Vjb25kIHN0YXRlbWVudCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK KioqIE5vdCByZWFsbHkuICJnbydlIHJhJ28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdvdWxk IG1lYW4gdGhlIHNhbWUgYXMgImdvJ2UiLCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFsIGNv cnJlY3Rpb24gaXMgdmFsaWQgdGhvdWdoLgoKKiBTZWN0aW9uIDcsIGV4YW1wbGUgNy43IGhhcyAi bWkgemJhc3UgbG9pIG11ZHJpIHppJ28iIGZvciAibWkgemJhc3UgbGUgZGluanUgemknbyIKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqIFNlY3Rpb24gOCwgcC4gMTU4IGltcGxpZXMgdGhhdCAnJ3ZvJ2EnJy1zZXJpZXMg YW5hcGhvcmEgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRpIHRoZXkgdGhlbXNlbHZlcyBhcmUg c3VtdGkgb2YuIFRoaXMgY29udHJhZGljdHMgdGhlIGNtYXZvIGxpc3QsIGFuZCBpcyBpbmNvcnJl Y3Q6ICcndm8nYScnLXNlcmllcyBhbmFwaG9yYSAoYWNjb3JkaW5nIHRvIHRoZSBtYSdvc3RlKSBy ZWZlciB0byBzdW10aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRpIHdpdGhpbiB0aGUgY3VycmVudCBz ZW50ZW5jZS4gVGhpcyBtYWtlcyB0aGVtIGxvZ29waG9ycy9sb25nIGRpc3RhbmNlIHJlZmxleGl2 ZXMsIHJhdGhlciB0aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxleGl2ZXMsIGFzIGlzIG5vcm1hbCBp biBodW1hbiBsYW5ndWFnZS4gVGh1cywgaW4gJydtaSBuZWxjaSBsZW51IGRvIHByYW1pIHZvJ2En JywgJyd2bydhJydtZWFucyAnJ21pJycsIG5vdCAnJ2RvJycuCioqX18tLT5fXygoV2h5IHRoZSBC b29rIGlzIFJpZ2h0IGFuZCB0aGUgbWEnb3N0ZSBpcyBXcm9uZykpCioqKldoaWNoIG9mIHRoZSB0 d28gY2FzZXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlPyBJZiB5b3UnZCB3cml0dGVuIGl0 IGluIExvamJhbiwgSSdkIGtub3chCioqKiogSSdkIGd1ZXNzIHRoYXQgc2hvcnQtZGlzdGFuY2Ug aXMgbm9ybWFsLCBiL2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCBjb21wYXJpbmcg dGhlIHR3by4gQnV0IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ugd291bGRuJ3QgaGF2ZSB0byBnbG9y ayB0aGF0LgoqKioqKiBTaG9ydC1kaXN0YW5jZSBpcyBpbmRlZWQgbm9ybWFsLCBidXQgTG9qYmFu aXN0cyBoYXZlIGNvbnNpc3RlbnRseSB1c2VkIGxvbmctZGlzdGFuY2UuICBOaWNrIHdyb3RlIGEg cGVlci1yZXZpZXdlZCBwYXBlciBvbiB0aGlzLiAgLS1qY293YW4KCiogRXhhbXBsZSA3LjguNSAo cDE1OSk6IGJhanJhIG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJlIGJhanlrbGEsIGxpa2UgdGhlIG90 aGVycy4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCwgaXQgc2F5cyAiRXhhbXBsZSA5LjMgaXMgYSB0 cnVseSBwcmVnbmFudCBxdWVzdGlvbi4uLiIgd2hlbiBleGFtcGxlIDkuMiBpcyB0aGUgcHJlZ25h bnQgcXVlc3Rpb24sIGFuZCBleGFtcGxlIDkuMyBpcyBhIGJldHRlciB3YXkgb2YgZXhwcmVzc2lu ZyAiV2hvIGFyZSB5b3U/IgoKKiBTZWN0aW9uIDE1LCBpdCBzYXlzICJGaW5hbGx5LCBsdWp2byBp bnZvbHZpbmcgYGB6aSdvJycgYXJlIGFsc28gcG9zc2libGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vz c2VkIGluIENoYXB0ZXIgMTIiLCBidXQgbm93aGVyZSBkb2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0 aGUgd29yZCB7emknb30sIG11Y2ggbGVzcyBsdWp2byBpbnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJv YmFibHkgYSBDaGFwdGVyIDEyIGVycmF0dW0uCi0tLQoKIUNoYXB0ZXIgOAoKKiBJbiBTZWN0aW9u IDMgdGhlIGV4YW1wbGUgMy4yMCBzaG91bGQgaGF2ZSB7eGFuY2V9IGluc3RlYWQgb2Yge3hhbmNp fSwgd2hpY2ggaXMgZGVmaW5pdGVseSBhIHR5cG8uIC0taWRvbnRrbncKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gOCwgcC4gMTgxOiAgOC4xKSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBuYW1jdScnc2hv dWxkIGJlICcnbGkgcGFpIG5vaSBuYSdlIGZyaW51IGN1IG5hbWN1JycuICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA4LCBFeGFtcGxlIDguNiwgdGhlIHRo aXJkIGxpbmUsICJJIHJ1bm5pbmdseS1nbyB0by10aGlzIFtyZWNpcHJvY2l0eV0gW3gzIG9mIHRo aXMgYnJpZGldIGZyb20tdGhhdCIsIGlzIG5vdCB0aGUgdXN1YWwgZGVjZW50IEVuZ2xpc2ggb25l IHdvdWxkIGV4cGVjdCBpbiB0aGF0IHBvc2l0aW9uOyByZXBsYWNlZCB3aXRoICJJIHJ1biB0byB0 aGlzIGZyb20gdGhhdCBhbmQgdmljZSB2ZXJzYS4iIGlzIGRhZy1jbGwgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCiogU2VjdGlvbiA5LCBleGFtcGxlIDkuMiBpcyAnJ2NvJ28geGlybWEnJy4gVGhl biwgJydOb3RlIHRoYXQgRXhhbXBsZSA5LjIgc2F5cyBmYXJld2VsbCB0byBzb21ldGhpbmcgd2hp Y2ggZG9lc27igJl0IHJlYWxseSBoYXZlIHRvIGJlIGEgaG9yc2UsIHNvbWV0aGluZyB0aGF0IHRo ZSBzcGVha2VyIHNpbXBseSB0aGlua3Mgb2YgYXMgYmVpbmcgYSBob3JzZSwgb3IgZXZlbiBtaWdo dCBiZSBzb21ldGhpbmcgKGEgcGVyc29uLCBmb3IgZXhhbXBsZSkgd2hvIGlzIG5hbWVkICJIb3Jz ZSIuIEluIGEgc2Vuc2UsIEV4YW1wbGUgOS4yIGlzIGFtYmlndW91cyBiZXR3ZWVuICJjbydvIGxl IHhpcm1hIiBhbmQgImNvJ28gbGEgeGlybWEiJycuIElzIHRoaXMgdHJ1ZT8KKiogWWVzLCBpbiB0 aGUgc2Vuc2UgdGhhdCBhbGwgdXNlcyBvZiAibGUiICcnbWlnaHQnJyBtZWFuICJsYSIuICBCdXQg aXQncyBwcm9iYWJseSBtb3JlIGNvbmZ1c2luZyB0aGFuIGl0J3Mgd29ydGguICBUcnVuY2F0ZSBh ZnRlciAidGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UiLiAgLS1qY293YW4KCiogU2VjdGlvbiA5 IHNheXMgJydJbiB2b2NhdGl2ZSBwaHJhc2VzIHdoaWNoIGFyZSBzaW1wbGUgbmFtZXMgKGFmdGVy IHRoZSB2b2NhdGl2ZSB3b3JkcyksIGFueSByZWxhdGl2ZSBjbGF1c2VzIG11c3QgY29tZSBqdXN0 IGFmdGVyIHRoZSBuYW1lcycnLiBUaGlzIGlzbid0IHRydWUuIFJlbGF0aXZlIGNsYXVzZXMgY2Fu IGdvIGJldHdlZW4gdGhlIHZvY2F0aXZlIGFuZCB0aGUgY21ldmxhLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpICBEcm9wIGl0OyBpdCByZWZsZWN0cyBhbiBlYXJsaWVyIHN0 YXRlIG9mIHRoZSBsYW5ndWFnZS4KCi0tLQohQ2hhcHRlciA5CgoqIFNlY3Rpb24gNiwgcGxhY2Ug c3RydWN0dXJlIG9mICcncGlsbm8nJyBpcyBtaXNzaW5nICJmb3IgcHVycG9zZSB4MyIuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA4LCB0aGUgZXhhbXBs ZXMgOC41IGFuZCA4LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4gdGhlIHNhbWUgdGhpbmcsIGJ1dCBk byBub3QuCioqIFBsZWFzZSBlbGFib3JhdGUuICAtLWpjb3dhbgoqKiogOC41IG1lYW5zICJJIGdh dmUgdGhlIGJvb2sgdG8gSm9obiwgYmVjYXVzZSBKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIiBi dXQgOC42IG1lYW5zICJKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIGJlY2F1c2UgSSBnYXZlIHRo ZSBib29rIHRvIEpvaG4uIgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxMSwgZGVzY3JpcHRpb24gb2YgdGhl IG1lYW5pbmcgb2YgIi5pamUgc2VyaSdhIHR1J2UiIGNvbnRyYWRpY3RzIHRoZSBleHBsYW5hdGlv biBvZiBFeGFtcGxlIDkuOSwgd2hpY2ggd291bGQgc3VnZ2VzdCAiLmlqZSByaSdhIHR1J2UiLgoK KiBzZWN0aW9uIDE3LCAiZnJvbSBzb3VyY2UgYXMgYW4gb3JpZ2luIG9mIiBzaG91bGQgYmUgdHdv IGVudHJpZXM7ICJmcm9tIHNvdXJjZSIgYW5kICJhcyBhbiBvcmlnaW4gb2YiICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgotLS0KCiFDaGFwdGVyIDEwCgoqIFNlY3Rpb24gNCwgIndoZW4gYm90aCBz cGF0aWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZSBjbWF2byBhcmUgZ2l2ZW4gaW4gYSBzaW5nbGUgdGVu c2UgY29uc3RydWN0LCB0aGUgdGVtcG9yYWwgdGVuc2UgaXMgZXhwcmVzc2VkIGZpcnN0IiBkaXNh Z3JlZXMgd2l0aCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGluIHRoZSBCTkYgZ3Jh bW1hci4KCiogU2VjdGlvbiA5LCBleGFtcGxlIDkuOSBvbiBwYWdlIDIyNyBoYXMgImNpcmxpIiBm b3IgImNpcmxhIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTIsIGV4YW1wbGUgMTIuNiB0cmFuc2xh dGVzIG1vcnNpIGFzICJkaWUiIHJhdGhlciB0aGFuICJhbSBkZWFkIiBpbiB0aGUgdHJhbnNsYXRp b24gKGFzIG9wcG9zZWQgdG8gdGhlIGdsb3NzKS4KCiogU2VjdGlvbiAxNiwgYXQgdGhlIGVuZCwg dGhlIFggYW5kIFkgaW4gdGhlIDMgZm9ybXMgZG9uJ3QgZml0IHByb3Blcmx5ICh0aGUgM3JkIGRv ZXNuJ3QgbWF0Y2ggdGhlIGZpcnN0IHR3bykuIEkgcmVjb21tZW5kLCBjb3B5aW5nIGZyb20gU2Vj dGlvbiAyMyAod2hlcmUgdGhleSBhcmUgd3JpdHRlbiBhZ2FpbiBjb3JyZWN0bHkpOgogICAgICAg WCAuaSBURU5TRSBibyBZCiAgICAgICBURU5TRSBnaSBYIGdpIFkKICAgICAgIFkgVEVOU0UgbGUg bnUgWAoKKiBTZWN0aW9uIDE3LCBleGFtcGxlIDE3LjEyIHNob3VsZCBub3QgaGF2ZSB0aGUgc2Vj b25kICJiZXZyaSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE4LCBleGFtcGxlIDE4LjkgaXMgc3Vw cG9zZWQgdG8gc2hvdyBzY2FsYXIgbmVnYXRpb24gb2YgdGVuc2VzIG5vdCBsaW1pdGVkIHRvIFBV IGFuZCBGQWhBLCBidXQgdGhlIGV4YW1wbGUgdGVuc2UgaXMgcmkndSAoRkFoQTIpLgoKKiBTZWN0 aW9uIDE5LCBleGFtcGxlIDE5LjEwIHNob3VsZCBoYXZlICJiYSIsIG5vdCAicHUiLCBhbmQgIltm dXR1cmVdIiwgbm90ICJbcGFzdF0iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoqIFNlY3Rpb24gMjUsIGV4YW1wbGVzIDI1LjEgYW5kIDI1LjIgaGF2ZSAnJ2x1J2EnJyBm b3IgJydsYSd1JycuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDI1LCB0aGlzIHdob2xlIHNlY3Rpb24g aXMgYXQgb2RkcyB3aXRoIHRoZSBmb3JtYWwgZ3JhbW1hci4gSXQgc2F5czogJydJdCBpcyBncmFt bWF0aWNhbCBmb3IgYSB0ZXJtc2V0IHRvIGJlIHBsYWNlZCBhZnRlciBhIHRlbnNlIG9yIG1vZGFs IHRhZyByYXRoZXIgdGhhbiBhIHN1bXRpJycuICBCdXQgdGhhdCBpcyBpbiBmYWN0IGluY29ycmVj dCwgaXQgaXMgbm90IGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgdGhlIGFyZ3VtZW50 IG9mIGEgdGFnLgoqKiBVbmZvcnR1bmF0ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNrIHJvY2tzLCBh bmQgc29tZSB3b3JrIHdpbGwgaGF2ZSB0byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0aGluZyBzYWlk IGFib3V0IHRoZW0gY29uc2lzdGVudCAtLSBpZiBpdCBpcyBldmVuIHBvc3NpYmxlLiAgUGVyc29u YWxseSwgSSdkIGxpa2UgdG8ganVzdCBidXJuIHRoZW0uICAtLWpjb3dhbiAgJycnTk9GSVgnJycK CiogU2VjdGlvbiAyNzogTU9oSSBzZWUgU2VjdGlvbiAyOCwgbm90IDI3LiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCiFDaGFwdGVyIDExCgoqIFNlY3Rpb24gNDog VGhlIHVzZSBvZiBrYSBpbiBFeGFtcGxlIDQuNCAocGFnZSAyNTkpIGlzIGVycm9uZW91czsgaXQg c2hvdWxkIGJlIGR1J3UuIC0tKChKb2huIENvd2FuKSkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqIExhc3QgcGFyYWdyYXBoIG9mIHNlY3Rpb24gNyByZWZlcmVuY2VzIGNo YXB0ZXIgNSBmb3IgYSBkaXNjdXNzaW9uIG9mICJsdSdlIi4gIGx1J2UgaXNuJ3QgbWVudGlvbmVk IGluIGNoYXB0ZXIgNS4gIFByb2JhYmx5IGNoYXB0ZXIgNiBpcyBtZWFudCBoZXJlLgoqKiBZZXMs IHNob3VsZCBiZSBTZWN0aW9uIDUuMTAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKKiBTZWN0aW9uIDksIHBhZ2UgMjY2IGhhcyAic2FvJ3JkemlmYSdhIiBpbnN0ZWFk IG9mICJzYSdvcmR6aWZhJ2EiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogVGhlIHNhbWUgZXhhbXBsZSAoOS42KSBh bHNvIGhhcyBrdWN0cmEgaW5zdGVhZCBvZiBrdWN0YWkKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFRoZSBib29rIHRp dGxlIGluIGV4YW1wbGUgOS42IHNlZW1zIHRvIGJlIGluY29ycmVjdDogIlRoZSBDcnVjaWZpeGlv biBvZiBKZXN1cyBDb25zaWRlcmVkIEFzIEEgRG93bmhpbGwgQmljeWNsZSBSYWNlIiBpcyBhY3R1 YWxseSAiW2h0dHA6Ly93d3cuZXZlcmdyZWVucmV2aWV3LmNvbS8xMDIvZmljdGlvbi9kdW8uaHRt bHxUaGUgQ3J1Y2lmaXhpb24gQ29uc2lkZXJlZCBBcyBBbiBVcGhpbGwgQmljeWNsZSBSYWNlXS4i CioqIFVuYXBwcm92ZWQKCiogU2VjdGlvbiAxMDogUGFyYWdyYXBoIGFib3ZlIGV4YW1wbGUgMTAu NyByZWZlcmVuY2VzICJDaGFwdGVyIDExIi4gVGhhdCBzaG91bGQgcmVhZCAiQ2hhcHRlciAxMCIu CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKKiBTZWN0aW9uIDEyLCBwYWdlIDI2OSBoYXMgZXhhbXBsZXMgMTMuMSBhbmQg MTMuMiwgdGhvc2Ugc2hvdWxkIGJlIGNhbGxlZCAxMi4xIGFuZCAxMi4yLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCiFDaGFwdGVyIDEyCgoqIFNlY3Rpb24gMiwg cGFnZSAyNzUuIFRoZSBwYXJhZ3JhcGggdW5kZXIgRXhhbXBsZSAyLjMgcmVmZXJzIHRvIGl0IGFz IEV4YW1wbGUgMi40ICgyLjQgZG9lc24ndCBldmVuIGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDUsIHJpZ2h0IGFmdGVyIGV4YW1wbGUgNS43 LiBJdCBzYXlzICJhIiBpbnN0ZWFkIG9mICJhbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCiogU2VjdGlvbiA2LCBwYWdlIDI4MC4gRXhhbXBsZSA2LjYgc2hvdWxkIGhh dmUgYSBzcGFjZSBiZXR3ZWVuICJsYSBzcGF0LiIgYW5kICJub2kiLgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2Vj dGlvbiA3LCBwYWdlIDI4Mi4gRXhhbXBsZSA3LjUgaGFzICJiYW5zb2kiIGluc3RlYWQgb2YgImJh bHNvaSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDExLCBwYWdlIDI4NSBoYXMgInhhc2Nha2N1cm51 IiBpbnN0ZWFkIG9mICJ4YXN5Y2FrY3VybnUiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxMiBjbGFp bXMgdGhhdCAtamF4LSBpcyBhIHJhZnNpIGZvciB7amFpfSwgYnV0IGl0IGlzbid0IGluIFtodHRw Oi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHR8aHR0cDov L3d3dy5sb2piYW4ub3JnL3B1YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0XS4gRG9lcyB7 amFpfSBoYXZlIGEgcmFmc2kgb3Igbm90PwoqKiBJdCBzaG91bGQsIGJ1dCBzb21laG93IGl0IG5l dmVyIGdvdCBpbnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5IG5vdCBpbnRvIHRo ZSByYWZzaSBsaXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQgdG8gdGhlIGdpc211 IGxpc3QuICAtLWpjb3dhbgoKKiBTZWN0aW9uIDEyLCByaWdodCBhdCB0aGUgZW5kLCBzYXlzIHRo YXQge2ZhaX0gaXMgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTEsIGJ1dCBDaGFwdGVyIDExIG1ha2Vz IG5vIG1lbnRpb24gb2Yge2ZhaX0uIE9ubHkgY2hhcHRlcnMgOSBhbmQgMTAgZG8uCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE0LCBleGFtcGxlIDE0LjIuIE1pc3Np bmcgPCAvcHJlID4gdGFnLCBhbmQgbWlzc2luZyA8IHByZT4gdGFnIGZvbGxvd2luZyBleHBsYW5h dG9yeSBwYXJhZ3JhcGguCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMjkxLiBUaGUgcGFyYWdyYXBoIHVu ZGVyIGV4YW1wbGUgMTQuNyBzYXlzICJzZSB4YW5jZSBtaW5kdSIgaW5zdGVhZCBvZiAic2UgeGFu Y2UgbWluZGUiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgdHdvIHBhcmFncmFwaHMgYmVmb3Jl IGV4YW1wbGUgMTUuNy4gSXQgc2F5cyAiVGhlcmUgYXJlIHNvbWUgY29tcGFyYXRpdmUgY29uY2Vw dHMgd2hpY2ggYXJlIGluIHdoaWNoIHRoZSAnc2Ugem1hZHUnIGlzIGRpZmZpY3VsdCB0byBzcGVj aWZ5LiIgVGhlICJ3aGljaCBhcmUgaW4gd2hpY2giIHNlZW1zIGdyYW1tYXRpY2FsbHkgaW5jb3Jy ZWN0LgoqKiBEcm9wICJ3aGljaCBhcmUiLiAgLS1qY293YW4gICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNSwgcGFnZSAyOTQsIGV4YW1wbGUgMTUuMTQu ICJsYSBhaW5jdGFpbiIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0IGJlY2F1c2UgaXQgc3RhcnRz IHdpdGggYSB2b3dlbC4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgotLS0KCiFDaGFwdGVyIDEzCgoqIE1hbnkgaW5jaWRl bnRzIG9mIG5vdCBoYXZpbmcgcGVyaW9kcyBpbiBmcm9udCBvZiB2b3dlbC1pbml0aWFsIGNtYXZv LgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCiogSW4gc2VjdGlvbiAyLCBwLiAzMDAgcmVmZXJlbmNlcyB0byB0aGUgZXhh bXBsZXMgZm9yIC51ZSBhbmQgLnVlY3UnaSBhcmUgZmxpcHBlZC4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBleGFtcGxlIDMuOS4g ImUnZSIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0LgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAzLCBw YWdlIDMwMywgZXhhbXBsZSAzLjEwLiAidGlzbmEiIG5lZWRzIHRvIGJlIHJlcGxhY2VkIHdpdGgg InRpc3lnYXUiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA0LCBwYWdlIDMwNS4gVGhlIHNjYWxlIHdp dGggdGhlIGdpc211IG1uZW1vbmljcyBpcyBtaXNhbGlnbmVkIHdpdGggdGhlIHNjYWxlIHdpdGgg dGhlIG1lbWJlcnMgb2Ygc2VsbWEnbyBDQUkuICJzYWkiIHNob3VsZCBiZSB0YWJiZWQgb25lIHBs YWNlIGxlZnQsIHNvIHRoYXQgaXQgYWxpZ25zIHdpdGggdHNhbGksICZjLgoKKiBTZWN0aW9uIDcs IGl0IHNheXMgIkl0IGlzIG5vdCBjbGVhciBob3cgbXVjaCB1c2UgbG9naWNhbGx5IGNvbm5lY3Rl ZCBhYnN0cmFjdG9ycyB3aWxsIGJlOiBzZWUgQ2hhcHRlciAxMy4iIEl0IHNob3VsZCBiZSAiQ2hh cHRlciAxNS4iCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFz dCkgYnV0IG5lZWRzIGFwcHJvdmFsCiogU2VjdGlvbiAxMCwgcGFnZSAzMTMuIFRoZXJlIGlzIGEg bWlzc2luZyBzcGFjZSBiZXR3ZWVuICJjb250aW51ZSBlbW90aW9uIiBhbmQgImVuZCBlbW90aW9u Ii4KCiogU2VjdGlvbiAxNS4gQSBzYW1wbGUgZGlhbG9ndWUgIDE1LjQpIC8gfm5wfltDb21tZW50 XSBQYW0gc2F5cywgW1BsZWFzZV0gQWxpY2UsIFtlbmQtb2YtY29tbWVudF0gLyBbQ29tbWVudF0g UGFtIHNheXMsIFtlbmQtb2YtY29tbWVudF0gW1BsZWFzZV0gQWxpY2UsL34vbnB+ICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgZXhh bXBsZSAxNS41IC94YW1ndS9nbGVraS8gPwoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgZXhhbXBs ZSAxNS4xMCkgL2ZpJ2kgcm8genZhdGkga28gcGlueGUgcGEgY2thZmkvZmknaSBybyB6dmF0aSAu aSBrbyBwaW54ZSBwYSBja2FmaS8KKiogTm8sIHRoaXMgb25lIGlzIHBlcmZlY3RseSBmaW5lOiAi ZmknaSBybyB6dmF0aSIgaXMgYSB2b2NhdGl2ZSBwaHJhc2UsIHdoaWNoIGlzIGEgZnJlZSBtb2Rp ZmllciwgbWVhbmluZyB0aGF0IGl0IGNhbiBvY2N1ciBhbG1vc3QgYW55d2hlcmUuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4x MykgL2ZpJ28gc2VscGxlamkgbWkvZmknbyBwbGVqaSBtaS8KKiogQW5kICJ3aXRoIHBheWVyIiBy YXRoZXIgdGhhbiAid2l0aCBwYXltZW50IjsgZXkncyBub3QgcGF5aW5nIHdpdGggZW1zZWxmISAt LSBjYW1ndXNtaXMKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgotLS0KCiFDaGFwdGVyIDE0CgoqIFNlY3Rpb24gOCwgcmln aHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJwcm9kdWNpbmcgZXhhbXBsZSA4LjEwIiB3aGljaCBz aG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNpbmcgZXhhbXBsZSA4LjkiLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gOTogYmV0d2VlbiBleGFtcGxlIDku MTAgYW5kIDkuMTEsICJpZGVudGlmaWVkIiBzaG91bGQgcmVhZCAiaWRlbnRpY2FsIgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCiogU2VjdGlvbiAxMSwgcmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIuIEl0IHNheXMgInRlcm1z ZXRzLi4uYXJlIGV4cGxhaW5lZCBpbiBDaGFwdGVyIDEyIGFuZCBDaGFwdGVyIDE2IiBidXQgY2hh cHRlciAxMiAod2hpY2ggaXMgb24gbHVqdm8pIG1ha2VzIGFic29sdXRlbHkgbm8gbWVudGlvbiBv ZiB0ZXJtc2V0cy4gQ2hhcHRlcnMgOSBhbmQgMTAgZGlzY3VzcyB0ZXJtc2V0cy4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE0LCBleGFtcGxlIDE0LjE1 IGlzIG5vdCBncmFtbWF0aWNhbCAoYWNjb3JkaW5nIHRvIGpib2ZpJ2UgYW5kIGNhbXhlcykgYmVj YXVzZSBpdCBzYXlzICJwZSdlIC5lIiB3aGVuIGl0IHNob3VsZCBzYXkgInBlJ2UgamUiLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUg MTQuMTYgbWVudGlvbnMgInNvcm1lIiwgd2hpY2ggaXMgcHJvYmFibHkgT2xkIExvZ2xhbiwgYW5k IHNob3VsZCBiZSByZXBsYWNlZCBieSAibWVuc2kiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNCwg InRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5 IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyB0cnVlOyBpZiBpdCBpcyBmYWxzZSwg dGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRydWUgb3IgZmFsc2UuIiBjaGFuZ2Vk IHRvICJ0aGUgc3RhdGVkIGdsb3NzIG9mIFRGVFRhcyDigJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVy YWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0LWhhbmQgYnJpZGkgaXMgZmFsc2U7IGlmIGl0IGlzIHRy dWUsIHRoZSBsZWZ0LWhhbmQgYnJpZGkgbWF5IGJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiIKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqIFNlY3Rpb24gMTUsIHJpZ2h0IGFmdGVyIDE1LjksIGl0IHNheXMgImV4YW1wbGUg MTQuMTciIHdoZXJlIGl0IHNob3VsZCBzYXkgImV4YW1wbGUgMTUuOSIgKDE0LjE3IGRvZXMgbm90 IGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9u IDE1LCBleGFtcGxlIDE1LjkgaXMgbm90IGdyYW1tYXRpY2FsOyBpdCBzaG91bGQgYmUgImxhIGRq YW4uIGZhJ3UgbGEgZnJhbmsuIGN1c2t1IG51J2kgYmF1IGxhIGxvamJhbi4gcGUnZSBmYSd1IGJh aSBsYSBkam9yZGouIi4KCiogU2VjdGlvbiAxOSwgZXhhbXBsZSAxOS40IGlzIHRyYW5zbGF0ZWQg YXMgIkkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBK dXBpdGVyIG9yLWVsc2UgSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhp bmdzIGlzbid0LWF0IEp1cGl0ZXIiIGJ1dCByZWFsbHkgaXQncyAiSSBvcGluZSB0aGUgZmFjdC10 aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIF9fZG8t bm90X18gb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBfX2lzLWF0 X18gSnVwaXRlciIuIFNvIDE5LjQgaXMgYWN0dWFsbHkgdHJ1ZSwgbm90IGZhbHNlIGFzIGl0IGlz IGNsYWltZWQgdG8gYmUuCioqIENvcnJlY3QsIHNvIHRoaXMgZXhhbXBsZSB3aWxsIG5lZWQgcmVw bGFjaW5nLiAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogQWxzbyB0 aGVyZSBpc24ndCByZWFsbHkgYSByZWFzb24gZm9yIGl0IHRvIHNheSBhIG1hc3Mgb2YgbGl2aW5n IHRoaW5ncyBhbmQgbm90IHNvbWUgaW5kaXZpZHVhbCBsaXZpbmcgdGhpbmdzLgoqKiBTdGV0LiAg VGhlIGF1dGhvciBwcmVmZXJzIGl0IHRoYXQgd2F5LCB0aGFua3lvdXZlcnltdWNoLiAgLS1qY293 YW4uCgoKLS0tCgohIENoYXB0ZXIgMTUKCiogU2VjdGlvbiAyLCBtaXNzaW5nIDwgL3ByZSA+IHRh ZyBhZnRlciBleGFtcGxlIDIuOCBhbmQgPCBwcmU+IHRhZyBiZWZvcmUgZXhhbXBsZSAyLjkuCgoq IFNlY3Rpb24gOSwgdHdvIHBhcmFncmFwaHMgYWJvdmUgZXhhbXBsZSA5LjQgdGhlIHdvcmQgIm5l Z2F0aXYiIHNob3VsZCBiZSAibmVnYXRpdmUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqIFNlY3Rpb24gOTogSXMgdGhlcmUgc3VwcG9zZWQgdG8gYmUgYW55IGRpZmZl cmVuY2UgYmV0d2VlbiBleC4gOS41IGFuZCA5LjY/CioqIFRoYXQgcHJvYmxlbSBpcyBvbmx5IGlu IHRoZSBvbmxpbmUgdmVyc2lvbi4KCiogU2VjdGlvbiAxMCwgdGhyZWUgcGFyYWdyYXBocyBhZnRl ciBleGFtcGxlIDEwLjE0LCB0aGVyZSdzIGEgc2VtaWNvbG9uIHdoaWNoIHNob3VsZCBiZSBhIGNv bW1hIGFmdGVyICIoc2F5LCBhIHNwZWxsaW5nIGVycm9yKSIuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxMCwgaXQgc2F5cyAiJ2ppJ3VuYSdpa3UnIG1l dGFsaW5ndWlzdGljYWxseSBzYXlzIHRoYXQgc29tZXRoaW5nIGlzIHdyb25nIHdpdGggdGhhdCBh c3N1bXB0aW9uLiAoU2VlIENoYXB0ZXIgMTAuKSIuIFNob3VsZG4ndCB0aGF0IGJlIENoYXB0ZXIg OSwgbW9kYWxzPwoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVh c3QpICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQotLS0KCiFDaGFwdGVyIDE2 CgoqIFNlY3Rpb24gNSwgZXhhbXBsZSA1LjU6IEVuZ2xpc2ggaGFzICJldmVyeSBZIiB3aGVuIGl0 IHNob3VsZCByZWFkICJldmVyeSBYIgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFw cHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA2LCBleGFtcGxlIDYu NiBoYXMgYSBtaXNzaW5nICJjdSIgYmVmb3JlICJ2aXNrYSIuCioqICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9u IDgsIHRoZSBleHBsYW5hdGlvbiBvZiBleGFtcGxlIDguMyBzYXlzICJhbnkgZW50aXR5IHdoaWNo IGlzIG9uZSBpcyBhbHNvIHRoZSBvdGhlciIuIFRoYXQgd291bGQgYmUgdHJ1ZSBpZiB0aGUgZXhh bXBsZSB1c2VkIHtnb30sIGJ1dCBpdCB1c2VzIHtnYW5haX0uIDguMyBkb2VzIG5vdCBjbGFpbSB0 aGF0IGlmIHNvbWV0aGluZyB3YWxrcyBhY3Jvc3MgdGhlIGZpZWxkIHRoZW4gaXQgZ29lcyB0byB0 aGUgc3RvcmUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIENoYW5nZSBp dCB0byB1c2Uge2dvfS4gJydJTkNMVURFRCBJTiBEQUctQ0xMJycKKiogU2FtZSBwbGFjZTogbmVl ZHMgdG8gYm8ge2RhIGdvfSwgbm90IHtnbyBkYX0gIEFuZCB0aGUgZ2xvc3Mgc2hvdWxkIGJlICJG b3ItZXZlcnkgWDogWCBpcy1hLWdvZXItdG8gdGhlIHN0b3JlIGlmLWFuZC1vbmx5LWlmIGl0IGlz LWEtd2Fsa2VyLW9uIHRoZSBmaWVsZC4iICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rp b24gOCwgZXhhbXBsZSA4LjMuIEVpdGhlciB0aGUge2RhfSBzaG91bGQgY29tZSBiZWZvcmUgdGhl IHtnYW5haX0gKG9yLCBieSB0aGUgcHJldmlvdXMgXiBlcnJhdHVtLCB7Z299KSBhbmQgdGhlIGds b3NzIHNob3VsZCBiZSBjaGFuZ2VkIHRvIG9ubHkgbWVudGlvbiAiWCIgb25jZSwgb3IgYSB7ZGF9 IHNob3VsZCBiZSBpbnNlcnRlZCBiZWZvcmUge2NhZHp1fS4KKiogJydJTkNMVURFRCBJTiBEQUct Q0xMJycgIGNob3NlIGZpcnN0IG9wdGlvbiBzaW5jZSBpdCdzIHRlcnNlciAoem9ydCdzIGZvcmsg YXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKKiBUaGlzOiAiQWRqYWNlbnQgbmVnYXRpb24g Ym91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIgcmVhZHMgYmV0dGVyIGFz ICJBZGphY2VudCBwYWlycyBvZiBuZWdhdGlvbiBib3VuZGFyaWVzIGluIHRoZSBwcmVuZXggY2Fu IGJlIGRyb3BwZWQsIgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKKioqIFRoZSBvbmxpbmUgdmVyc2lvbiBzYXlzICJBZGph Y2VudCBkb3VibGUgbmVnYXRpb24gYm91bmRhcmllcyIsIGJ1dCBJJ20gb2theSB3aXRoIGVpdGhl ciAiZG91YmxlIiBvciAicGFpcnMgb2YiLiAgLS1qY293YW4KCiogU2VjdGlvbiAxMCwgZXguIDEw LjUgYW5kIDEwLjYgaGF2ZSBhIHByZW5leCwgIm5ha3Ugem8ndSIsIGFmdGVyIGFuIGlqZWsuIFRo aXMgaXMgbm90IGFsbG93ZWQgYnkgdGhlIGdyYW1tYXIuIEl0IGNvdWxkIGJlIGZpeGVkIGJ5IHJl bW92aW5nIHRoZSAiem8ndSIgYW5kIHVzaW5nICJuYWt1IiBvdXRzaWRlIHRoZSBwcmVuZXgsIGFs dGhvdWdoIHRoaXMgaXMgb25seSBleHBsYWluZWQgaW4gdGhlIGZvbGxvd2luZyBTZWN0aW9uIDEx LgoqKiBUaGlzIGlzIGEgYmlnIHByb2JsZW0sIGFuZCBJJ20gbm90IHN1cmUgd2hhdCBzaG91bGQg YmUgZml4ZWQuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKKiBTZWN0aW9uIDEyLCBleC4gMTIuNyBh bmQgMTIuOSBoYXZlIG1pc3NpbmcgImN1InMuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE0LCBFeGFt cGxlIDE0LjEgaGFzICJibGFjaSIgKGdsYXNzKSBub3QgImJsYWJpIiAod2hpdGUpIGFzIHBlciB0 aGUgRW5nbGlzaC4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgotLS0KCiFDaGFwdGVyIDE3CgoqIFNlY3Rpb24gNSwgYWZ0 ZXIgZXhhbXBsZSA1LjEsIHBhcmFncmFwaCBzdGFydGluZyAiSG93ZXZlciwgIiBoYXMgaW5jb3Jy ZWN0IGZvbnQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlv biA5LCBwYWdlIDQyMS4gbGVyZnUgc3RyaW5ncyBhcmUgd3JpdHRlbiB3aXRob3V0IHBhdXNlcyBv ciBzcGFjZXMsIGV2ZW4gdGhvdWdoIEJZIHdvcmRzIGhhdmUgdG8gZW5kIHdpdGggYSBjb25zb25h bnQuCioqIFN0ZXQuICBCWSB3b3JkcyBkbyBub3QgZW5kIHdpdGggYSBjb25zb25hbnQsIGFuZCBh IHN0cmluZyBvZiB0aGVtIGNhbiBuZXZlciBiZSBhbWJpZ3VvdXMsIHNvIHBhdXNlcy9zcGFjZXMg YXJlIG5vdCByZXF1aXJlZC4gIC0tamNvd2FuCgoqIFNlY3Rpb24gOSwgRXhhbXBsZSA5LjQ6IHNo b3VsZG4ndCAic3lteWp5IiBiZSAic3lteWR5IiAobG9qYmFuIG1vcnBob2xvZ3kpPyAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTAuIEFmdGVyIEV4YW1w bGUgMTAuNC41LCB0aGUgcmVmZXJlbmNlIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgaW5zdGVh ZCB0byBFeGFtcGxlIDEwLjQuNS4KKipJbiB0aGUgY3VycmVudCBEQUctQ0xMLCB0aGUgZXhhbXBs ZXMgbnVtYmVyaW5nIGlzIHNhbmUsIGJ1dCBhZnRlciBFeGFtcGxlIDEwLjMsIHRoZSB0d28gcmVm ZXJlbmNlcyB0byBFeGFtcGxlIDEwLjQgc2hvdWxkIGJlIHRvIEV4YW1wbGUgMTAuMy4KCiogUmln aHQgYmVmb3JlIHNlY3Rpb24gMTIsIHRoZXJlIGlzIGEgbGluZSBicmVhayBpbiB0aGUgbWlkZGxl IG9mIHRoZSBwYXJhZ3JhcGguICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CiogU2VjdGlvbiAxNywgcGFnZSA0MjcuICIudHZyaXlkb3MuIGJ1IiBiZWdpbnMgd2l0aCB0aGUg Y29uc29uYW50IGNsdXN0ZXIsIHdoaWNoIGlzbid0IGV2ZW4gcGVybWlzc2libGUgbWVkaWFsbHku CioqIGNoYW5nZSB0byB0eXZyaXlkb3MKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKioqIEFjdHVhbGx5LCBpdCBzaG91 bGQgYmUgInR5dnJkb3MuIGJ1IiAgLS1qY293YW4KCiogSW4gdGhlIHRhYmxlIGluIHNlY3Rpb24g MTksIHRoZSBsZXJ2bGEgZm9yIG92ZXItZG90ICgiLmdhcm1vYy4gYnUiKSBhbmQgb3Zlci1yaW5n ICgiLmdhcmppbi4gYnUiKSBzaG91bGQgYmUgdXBkYXRlZCB0byB0aGVpciBwb3N0LVJlYWxsb2Nh dGlvbiBmb3JtcywgIi5nYXBtb2MuIGJ1IiBhbmQgIi5nYXB5amluLiBidSIuCioqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CiogU2VjdGlvbiAxOSBoYXMgdHdvIGNvbHVtbnMgcnVuIHRvZ2V0aGVyIGluIHRoZSByb3cgdGhh dCBzYXlzICJEYW5pc2gvTGF0aW4gYWV0ZWkgLmFidSAuZWJ1IGZvaSIKCi0tLQoKIUNoYXB0ZXIg MTgKCiogU2VjdGlvbiAzLCBleC4gMy4xMCwgc2hvdWxkIHRyYW5zbGF0ZSBhcyAiLjEwMTIwMDEi LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIEluIHNlY3Rpb24gNCBl eGFtcGxlIDQuNSBpcyBsaW5rZWQgaW5zdGVhZCBvZiA0LjcgLSAiRXhhbXBsZSA0LjUgaXMgbm90 IGBgMSBtaW51cyAyJycsIFsuLi58Li4uXSIgd2hlcmUgZXhhbXBsZSA0LjUgaXMganVzdCAidGUn byIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA1LCBw NDM3IGV4NS45IFtnbG9zc106IG91ciAtPiBmb3VyICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDYsIHA0Mzg6 IGogdnUndSAtPiB2dSd1ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKiog JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU3RhcnQgb2Ygc2VjdGlvbiAxMSBzaG91bGQgcmVh ZCB0aGVyZSBhcmUgZml2ZSBtZW1iZXJzIG9mIE1PSSAobm90IGZvdXIpLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIEluIHNlY3Rpb24gMTEsIGV4IDExLjEwIG9uIHZh J2UgInNvZmkndXBhbm8iIGluIHRoZSBleGFtcGxlIGlzIGdsb3NzZWQgYXMgIjgvMTAiIGluc3Rl YWQgb2YgIjkvMTAiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIEluIHNlY3Rpb24gMTEsICJsZWkgcmF0Y3UgcG9pIHp2 YXRpIGxlIHBhbmthIGN1IHNvJ3VtZWkgZm8gbG8naSByYXRjdSIsIGJ1dCB0aGVyZSBpcyBubyA0 dGggcGxhY2Ugb2YgbWVpLgoqKiBSZW1vdmUgdGhlICJmbyI7ICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBFeGFtcGxlIDE0LjQg bmVlZHMgYSBzdWItMiBhZnRlciBib3RoIG51bWJlcnMuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBJbiBzZWN0aW9u IDE3LCBhdCB0aGUgYm90dG9tIG9mIHBhZ2UgNDU0LCB0aGUgcXVhZHJhdGljIGZvcm11bGEgc2hv dWxkIGJlIGRlc2NyaWJlZCBhcyBhIGNsYXNzaWMgZXhhbXBsZSBvZiBvcGVyYXRvciBsb2dpY2Fs IGNvbm5lY3Rpb24sIG5vdCBvcGVyYW5kLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoqIFNlY3Rpb24gMjAsIHA0NTg6IC1lc3RhYmxpc2hlZCAtPiBlc3RhYmxpc2hlZCAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMjEgc3RhdGVz IHRoYXQgdGhlIHJhZnNpIG9mICJmcmludSIgbWF5IGJlIHVzZWQgYXMgcmFmc2kgZm9yICJmaSd1 IjsgaG93ZXZlciwgImZyaW51IiBsb3N0IGJvdGggb2YgaXRzIHNob3J0IHJhZnNpIGluIHRoZSBS ZWFsbG9jYXRpb24sIHNvIHRoaXMgcmVhbGx5IGlzbid0IHZlcnkgdXNlZnVsLiBUaGUgdGFibGUg YmVsb3cgbGlzdHMgImZpJ3UiIGFzIGEgcmFmc2kgdXNhYmxlIGZvciAiZmkndSIsIHRoZXJlZm9y ZSBvZiAiZnJpbnUiOyB0aGUgZ2ltc3RlIGxpc3RzICJmaSd1IiBhcyBhIHJhZnNpIG9mICJjZmlw dSIuCioqIFRoaXMgaXMgYSBzZXJpb3VzIHByb2JsZW0gd2hpY2ggbmVlZHMgc29tZSB0aG91Z2h0 LiAgVGhlcmUgbmVlZHMgdG8gYmUgYSByYWZzaSBmb3IgZmkndSBzb21laG93LiAgLS1qY293YW4g ICcnJ05PRklYJycnCgoqIFNlY3Rpb24gMjIgZXhhbXBsZSAyMi4zLCAibW8nZSB2b2JvaSByZW5v bWVpIHN1J2kgemUiLCBkb2VzIG5vdCBwYXJzZS4KKiogSXQgbmVlZHMgInZlaSIgaW4gZnJvbnQg dG8gYmUgYSBxdWFudGlmaWVyIChhbiBvcGVyYW5kIGJ5IGl0c2VsZiBpcyBub3QgYSBwZXJtaXR0 ZWQgZnJhZ21lbnQpLiBBbHNvLCB0aGUgZm9sbG93aW5nIHRleHQgbWVudGlvbnMgInRlJ3UiIGJ1 dCB0aGUgZXhhbXBsZSBvbWl0cyBpdC4KKioqIE5vbmUgb2YgdGhvc2UgZXhhbXBsZXMgcGFyc2Ug d2l0aG91dCB7bGl9LCB3aGljaCBJIGhhdmUgYWRkZWQgdG8gYWxsLiAgUmVwbGFjZWQgdGhlIG9u ZSBpbiBxdWVzdGlvbiB3aXRoICJsaSBtbydlIHZvYm9pIHJlbm9tZWkgdGUndSBzdSdpIHplIiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCi0tLQohQ2hhcHRlciAxOQoKKiBTZWN0aW9uIDQsIHA0NjcgZXg0LjM6IHp1J28gLT4g em8ndSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBT ZWN0aW9uIDYsIHBhZ2UgNDcyLiBFeGFtcGxlIDYuNiBlbmRzIHdpdGggImtsYW1hIiwgYnV0IGZv ciB0aGUgYXJndW1lbnQgdG8gbWFrZSBzZW5zZSwgaXQgaGFzIHRvIHNheSAibnVua2xhIi4KKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqIFNlY3Rpb24gNywgRXhhbXBsZSA3LjEgaGFzIGFzIHRoZSBFbmdsaXNoOiAiSSBn by10byAoZmlyc3RseSkgdGhlIHN0b3JlIGFuZCAoc2Vjb25kbHkpIHRoZSBtYXJrZXQuIiAgInRo ZSBtYXJrZXQiIHNob3VsZCBiZSAidGhlIGhvdXNlIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIEV4YW1wbGUgMTEu OCwgdGhlcmUncyBhIGRlbnBhYnUgYWZ0ZXIge3phJ2V9IGFuZCBubyBkZW5wYWJ1IGFmdGVyIHth bGJlaW5pYXN9LgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVh c3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKKiBTZWN0aW9uIDExLCB0aGUgcGFyYWdyYXBoIGFmdGVy IGV4YW1wbGUgMTEuOCBzYXlzICJjdGlpcHlyaXMiIGJ1dCBpdCBzaG91bGQgYmUgImNraWlweXJp cyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKLS0tCgohQ2hhcHRlciAy MAoKKiBTZWN0aW9uIExFLCBwYWdlIDQ5OC4gSW4gImxlIGdlcmt1IGtsYW1hIGxlIHpkYW5pIiwg ImN1IiBpcyBtaXNzaW5nLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiBUVWhFLCBwYWdlIDUwNS4gSW4g InhhZ21hdSB6byd1IHR1J2UgZ2FuYWkgY2lkamEgZ2kgY25pbm8gLmkgZ2FuYWkgdmFuanUgZ2kg dG9sY2knbyB0dSd1IiwgImNuaW5vIiBzaG91bGQgYmUgcmVwbGFjZWQgYnkgImNpdG5vIi4gIEFs c28sIGEgcHJlbmV4IGNhbid0IGhhdmUgYSBzZWxicmksIHNvICcneGFnbWF1Jycgc2hvdWxkIGJl IHJlcGxhY2VkIGJ5ICcnbG8geGFnbWF1JycuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIFNFLCBwYWdl IDUwNDogbWlzc2luZyAiY3UiIGFmdGVyICJ6YXJjaSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBJbiB0aGUgcGFz c2FnZXMgb24gVkVJIGFuZCBWRWhPLCB0aGUgImJvInMgc2hvdWxkIGJlIGNoYW5nZWQgdG8gImJp J2Uicy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKLS0tCgohQ2hhcHRl ciAyMQoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1tb2RhbC05 NzIgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIENVaEUuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUt dGVuc2UtbW9kYWwtOTcyIGhhcyBhbiBleHRyYSBuZXdsaW5lIGluIHRoZSBzcGFjZS90aW1lIHN1 YnBocmFzZS4KCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzZWxicmktMS0xMzEgaXMg bWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5BLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgdGFucnUtdW5pdC0yLTE1 MiBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgSkFJLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycgOyBiaXphcmVsbHksIHRoZSBXb3JkIGRvYyB0aGUg Ym9vayB3YXMgcHJpbnRlZCBmcm9tIGRvZXMgbm90IGhhdmUgdGhpcyBwcm9ibGVtIGF0IGFsbC4K CiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYXRvci0xLTM3MSBpcyBtaXNzaW5n IHR3byAifCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gdGhl IEJORiBncmFtbWFyLCB0aGUgcnVsZSBtZXgtb3BlcmF0b3ItMzc0IGlzIG1pc3NpbmcgYSAifCIg YmVmb3JlIHRoZSBNQWhPIGFuZCBhbm90aGVyIGJlZm9yZSB0aGUgVlVoVS4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxl IG9wZXJhbmQtMy0zODUgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5JaEUuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gdGhlIEJORiBncmFtbWFyLCBpbiB0 aGUgcnVsZSB0aW1lXzEwMzAsIHRoZSAiWkVoQSBbUFUgW05BSV0gXSIgc2hvdWxkIGJlIGVuY2xv c2VkIGluIHBhcmVudGhlc2VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2lu ZXVyb3RpYyBtYWlsaW5nIGxpc3QKV2lraW5ldXJvdGljQGxvamJhbi5vcmcKaHR0cDovL21haWwu bG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2luZXVyb3RpYwo=