Received: from localhost ([::1]:44073 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1Xqz6w-0000FO-Kp; Tue, 18 Nov 2014 22:51:30 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:41748 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1Xqz6r-0000EL-H7 for wikineurotic@lojban.org; Tue, 18 Nov 2014 22:51:28 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Tue, 18 Nov 2014 22:51:25 -0800 From: "Apache" Date: Tue, 18 Nov 2014 22:51:25 -0800 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.5 (/) X-Spam_score: 0.5 X-Spam_score_int: 5 X-Spam_bar: / X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: The page CLL, aka Reference Grammar, Errata was changed by gleki at 06:50 UTC You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (0.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: github.com] 1.4 RCVD_IN_BRBL_LASTEXT RBL: No description available. [173.13.139.235 listed in bb.barracudacentral.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 1.0 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by gleki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: webmaster@lojban.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org Content-Length: 67778 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBnbGVraSBhdCAwNjo1MCBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL0NMTCUyQyUyMGFrYSUyMFJl ZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBFcnJhdGEKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0 byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3 dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1DTEwlMkMlMjBha2El MjBSZWZlcmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhJmNvbXBhcmU9MSZvbGR2ZXI9MjI4Jm5l d3Zlcj0yMjkKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBm b2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDIxOS0yMjMgY2hhbmdlZCB0byArTGluZXM6IDIxOS0yMjQgQEAKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKCiEgQ2hhcHRl ciA3Ci0gCisgKiBTZWN0aW9uIDUuIGh0dHA6Ly9sb2piYW4uZ2l0aHViLmlvL2NsbC83LzYvaW5k ZXguaHRtbC4gNi4xNCBpcyB1c2FnZSB3aXRoIG91dGVyIHJlcGVhdGluZy4gSXQgd291bGQgc2Vl bSB0aGF0IHdhcyBhIG1pc3Rha2UuIExvb2tpbmcgYXQgdGhhdCwgaXQgc2VlbXMgbGlrZSB0aGUg YXV0aG9yIGV4cGVjdHMge25laX0gdG8gcmVwZWF0IHRoZSBlbnRpcmUgb3V0ZXJtb3N0IGJyaWRp LCBhbmQgZXhwZWN0cyB7bm8nYX0gdG8gcmVwZWF0IHRoZSBvdXRlciBicmlkaSBhbG9uZSwgc29t ZWhvdyB3aXRob3V0IHRoZSBjdXJyZW50IGlubmVybW9zdCBicmlkaS4gT3Igc29tZXRoaW5nLiBE ZWZpbml0ZWx5IHNlZW1zIG1pc3Rha2VuIHRvIG1lLiBzbyB3aXRoIHpvJ2UgaW4gcGxhY2Ugb2Yg dGhlIGFic3RyYWN0aW9uIGNsYXVzZS4gSW4gdGhpcyBjYXNlLCBtYXliZSB3aXRoIHt6aSdvfSwg YWN0dWFsbHkuPGJyIC8+VGhhdCB3b3VsZCBiZSB1c2VmdWwgYnV0IGl0IHdvdWxkIGJlIG5pY2Ug aWYgdGhhdCBoYWQgYmVlbiBleHBsaWNpdC4KKiBTZWN0aW9uIDYsIHBhZ2UgMTU1IGhhcyBhIG5v dGUgYmVsb3cgZXhhbXBsZSA2LjEzIHRoYXQgc2F5cywgaW4gcGFydDogIlRoZSBMb2piYW4gZG9l cyBub3QgY29udGFpbiBhbiBlcXVpdmFsZW50IG9mIHRoZSAibXkiIGluIGNvbGxvcXVpYWwgRW5n bGlzaDsiIGFuZCB0aGVuIGdvZXMgb24gdG8gZXhwbGFpbiBob3cgZXhhbXBsZSA2LjEzIGNvdWxk IGJlIG1vZGlmaWVkIHRvIGluY2x1ZGUgIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3Bl YWtlciBhbmQgdGhlaXIgc29uIGFuZCBkYXVnaHRlci4gIEkgYmVsaWV2ZSB5b3UgY291bGQgc2F5 ICJsZSBtaSBiZXJzYSIgb3IgImxlIGJlcnNhIHBlIG1pIiB0byBleHByZXNzIHRoZSBFbmdsaXNo ICJteSwiIHRoZXJlZm9yIHJlbW92aW5nIHRoZSAocHJlc3VtYWJseSBpbmFjY3VyYXRlKSBub3Rl IGFuZCBtYWtpbmcgdGhlIExvamJhbiB0cmFuc2xhdGlvbiBtb3JlIGFjY3VyYXRlLgoqKiBTdXJl IHlvdSBjb3VsZCwgYnV0IHRoZSBwb2ludCBvZiB0aGUgbm90ZSAod2hpY2ggaXMgJydub3QnJyBp bmFjY3VyYXRlKSBpcyBub3QgdGVhY2hpbmcgaG93IHRvIHVzZSByZWxhdGl2ZSBjbGF1c2VzLCBi dXQgdG8gY2xhcmlmeSB0aGF0IHRoZSBpZGlvbWF0aWMgRW5nbGlzaCB2ZXJzaW9uIGNvbnRhaW5z IG1vcmUgaW5mb3JtYXRpb24gdGhhbiB0aGUgTG9qYmFuIHZlcnNpb24gZG9lcy4gIFN0ZXQuCgoK CgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKVGhpcyBwYWdlIGlz IGZvciBlcnJhdGEgaW4gKChUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlKSksIHRoYXQgaXMg Zm9yIG1pc3Rha2VzIHN1Y2ggYXMgdHlwb3MsIG9yIHNlbGYtY29udHJhZGljdGlvbnMsIG9yIGNv bnRyYWRpY3Rpb25zIHdpdGggb3RoZXIgYmFzZWxpbmVkIGxhbmd1YWdlIGRlZmluaXRpb24gbWF0 ZXJpYWwuIFRoaXMgaXMgX19ub3RfXyBhIHBhZ2UgdG8gcHV0IGRlc2lkZXJhdGEgKHN1Z2dlc3Rp b25zIGZvciBpbXByb3ZlbWVudCk7IHN1Y2ggc3VnZ2VzdGlvbnMgc2hvdWxkIGdvIHRvICgoU3Vn Z2VzdGlvbnMgZm9yIENMTCwgc2Vjb25kIGVkaXRpb24pKS4gIFRoaXMgaXMgYWxzbyBub3QgYSBw YWdlIHRvIHB1dCBlcnJhdGEgcmVzdWx0aW5nIGZyb20gdGhlIDR0aCBCYXNlbGluZSBHcmFtbWFy IHByb3Bvc2FsIChpLmUuLCB0aGUgKChQRUcpKSBncmFtbWFyKTsgUEVHIGdyYW1tYXIgZXJyYXRh IHNob3VsZCBnbyB0byAoKENMTCBQRUcgRXJyYXRhKSkuCgoKCkFuIG9ubGluZSB2ZXJzaW9uIG9m IHRoZSBDTEwgaW5jb3Jwb3JhdGluZyB0aGUgY2hhbmdlcyBvbiB0aGlzIHBhZ2UgW2h0dHA6Ly9s b2piYW4uZ2l0aHViLmNvbS9jbGwvfGlzIGF2YWlsYWJsZV0uCgoKClNlZSBhbHNvIFtXaGF0K2lz K0xvamJhbiUzRitlcnJhdGEmYmw9eXxXaGF0IGlzIExvamJhbj8gZXJyYXRhXSAoZm9yIHRoZSBw dWJsaXNoZWQgdmVyc2lvbiksIExldmVsIDAgQm9va2xldCBFcnJhdGEgW3Rpa2ktZWRpdHBhZ2Uu cGhwP3BhZ2U9TGV2ZWwrMCtCb29rbGV0K0VycmF0YSZsYW5nPXw/XSAoZm9yIHRoZSBwcmUtcHVi bGljYXRpb24gcmV2aWV3czsgbm93IGZpbmlzaGVkKSwgYW5kIFtMZXNzb25zK0VycmF0YSZibD15 fExlc3NvbnMgRXJyYXRhXSAoZm9yIHRoZSBiZWdpbm5lcnMnIGNvdXJzZSkuCgoKClRoZSAiJydJ TkNMVURFRCBJTiBEQUctQ0xMJyciIHRhZyBtZWFucyB0aGF0IGh0dHA6Ly9sb2piYW4uZ2l0aHVi LmNvbS9jbGwvIGluY2x1ZGVzIHRoaXMgZml4LCB3aGljaCBhbHNvIG1lYW5zIGl0J2xsIHByb2Jh Ymx5IGJlIGluIHRoZSBuZXh0IENMTCB2ZXJzaW9uLgoKCgotLS0KCgoKIUNoYXB0ZXIgMQoKCgoq IFRoZXJlIGlzIGEgcGFyYWdyYXBoIGF0IHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiBDTEwsIG9uIHBh Z2UgNCwgd2l0aCB0aGUgc2VudGVuY2UgJyciSW4gZXNzZW5jZSwgQ2hhcHRlciAyIGdpdmVzIGEg YnJpZWYgb3ZlcnZpZXcgb2YgdGhlIGxhbmd1YWdlLCBDaGFwdGVyIDIxIGdpdmVzIHRoZSBmb3Jt YWwgc3RydWN0dXJlIG9mIHRoZSBsYW5ndWFnZSwgYW5kIHRoZSBjaGFwdGVycyBpbiBiZXR3ZWVu IHB1dCBzZW1hbnRpYyBib25lcyBvbiB0aGF0IGZvcm1hbCBmbGVzaC4iJycKCioqIFdvdWxkbid0 IGl0IG1ha2UgbW9yZSBzZW5zZSB0byBzYXkgInB1dCBzZW1hbnRpYyBmbGVzaCBvbiB0aG9zZSBm b3JtYWwgYm9uZXMiPyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIGl0IHNheXMgIkxhcnJ5IEhvcm4ncyB3 b3JrICcnVGhlIE5hdHVyYWwgSGlzdG9yeSBvZiBOZWdhdGlvbicnIi4gSXQgd291bGQgYXBwZWFy IHRoYXQgZXZlcnlvbmUgZWxzZSBjYWxscyBpdCAnJ19fQV9fIE5hdHVyYWwgSGlzdG9yeSBvZiBO ZWdhdGlvbicnLCBieSBfX0xhdXJlbmNlX18gKFIuKSBIb3JuLgoKKiogJydJTkNMVURFRCBJTiBE QUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKLS0t CgohQ2hhcHRlciAyCgoKCiogU2VjdGlvbiA1IGV4YW1wbGUgNS43IHVzZXMgInRpIiB0byBwb2lu dCBhdCBhIGxhbmd1YWdlLCBhbmQgc2hvdWxkIGhhdmUgaXRzIGFjY29tcGFueWluZyBub3RlIGNo YW5nZWQgdG8gbW9yZSBhY2N1cmF0ZWx5IHJlZmxlY3QgdGhhdCB0aGlzIGlzIG5vdCBob3cgInRp IiB3b3Jrcy4KCgoKKiBTZWN0aW9uIDYgRXhhbXBsZSA2LjUgaGFzICJjdSIgYXMgZWxpZGFibGUs IHdoZW4gaW4gZmFjdCBpdCBpcyBzaW1wbHkgaWxsZWdhbCB0aGVyZS4gIFJlbW92ZWQuICAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKiogdWFuYWksIEkgc3RpbGwgc2VlICJjdSIgaW4gREFHLUNM TC4KCgoKKiBTZWN0aW9uIDggcGFnZSAxNyBjbGFpbXMgdGhhdCAieHUiIGlzIGRpc2N1c3NlZCBp biBzZWN0aW9uIDEuNywgd2hpY2ggaGFwcGVucyB0byBsaXN0IHRoZSBjYXB0aW9ucyBmb3IgYWxs IHRoZSBjaGFwdGVyIHBpY3R1cmVzLgoKKiogSXQgc2hvdWxkIHJlZmVyIHRvIFNlY3Rpb24gMTUu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCioqKiBUaGUgbGluayBpbiB0aGUgY3VycmVudCBEQUctQ0xMIGlzIHBvaW50aW5nIHRv ICIyLzIvMTUiIGluc3RlYWQgb2YgdG8gIjIvMTUiLgoKCgoqIFNlY3Rpb24gMTAgc2F5cyB0aGF0 IGV4YW1wbGUgMTAuMyAobWkgdGF2bGEgZG8gbGUgdGF2bGEga3UpIG1lYW5zIHRoZSBzYW1lIGFz IChtaSB0YXZsYSBkbyBsZSB0YXZsYSBrdSkuIEV4YW1wbGUgMTAuMyBzaG91bGQgYmUgIm1pIHRh dmxhIGRvIGxlIHRhdmxhIiwgYXMgaXQgZGVzY3JpYmVzIGhvdyAia3UiIG1heSBiZSBvbWl0dGVk LgoKKiogSXQgYXBwZWFycyB0aGF0IGV4YW1wbGUgMTAuMyBpcyBpbmNvcnJlY3Qgb25seSBpbiB0 aGUgb25saW5lIHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoKCiogU2VjdGlvbiAx NyBzYXlzICJOb3RlIHRoYXQgRXhhbXBsZSAxNy4zICBoYXMgYW5kIHJlcXVpcmVzIGEg4oCcY3Xi gJ0gdG8gcHJldmVudCDigJxiYWpyYeKAnSBhbmQg4oCca2xhbWHigJ0gZnJvbSBmb3JtaW5nIGEg dGFucnUsIGJ1dCBFeGFtcGxlIDE3LjQgIGFuZCBFeGFtcGxlIDE3LjUgIGxhY2sgdGhlIHVubmVj ZXNzYXJ5IOKAnGN14oCdLiIsIGJ1dCBleGFtcGxlIDE3LjMgaXMgImxhIGRqYW4uIH5ucH5bY3Vd fi9ucH4ga2xhbWEgbGUgemFyY2kiLgoKKiogSXQgYXBwZWFycyB0aGF0IHRoZSBvZmZlbmRpbmcg c2VudGVuY2UgaXMgcHJlc2VudCBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgbm90IHRoZSBw dWJsaXNoZWQgYm9vay4KCgoKKiBFeGFtcGxlIDE3LjkgaXMgImxlIHZpIHRhdmxhIGt1IGN1IGJh IGtsYW1hIiBpbiB0aGUgb25saW5lIHZlcnNpb24sIGFuZCB0b3RhbGx5IGJyb2tlbiBpbiB0aGUg cHVibGlzaGVkIGJvb2suCgoqKiBHbyB3aXRoIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIEV4YW1wbGUgMTcuOSBpbiBkYWctY2xsIGFzIG9mIDIwMTItMDUtMDUgaXMgImxlIHZpIHRh dmxhIH5ucH5ba3Vdfi9ucH4gY3UgYmEga2xhbWEiLiBTaW5jZSB0aGUgc2FtZSBzZWN0aW9uIGhh cyBleHBsYWluZWQgdGhhdCB0ZW5zZSB0YWdzIG1ha2UgImN1IiB1bm5lY2Vzc2FyeSwgSSB0aGlu ayB0aGUgZXhhbXBsZSBzaG91bGQgYmUgImxlIHZpIHRhdmxhIH5ucH5ba3VdIFtjdV1+L25wfiBi YSBrbGFtYSIuCgoKCi0tLQoKCgohIENoYXB0ZXIgMwoKCgpBIGxvdCBvZiB0aGUgSVBBIGV4YW1w bGVzIHVzZSBhIHNwYWNlIHRvIGluZGljYXRlIGEgc3lsbGFibGUgYnJlYWsuIFRoaXMgaXMgbm90 IHN0YW5kYXJkIElQQSB1c2FnZTsgYWNjb3JkaW5nIHRvIElQQSwgdGhlIHBlcmlvZCDigJwu4oCd IHNob3VsZCBiZSB1c2VkIHRvIGluZGljYXRlIGEgc3lsbGFibGUgZGl2aXNpb24uCgoKCiogU2Vj dGlvbiAyLCBwYWdlIDMwOiBpbiB0aGUgdGFibGUgdGhlIGRlc2NyaXB0aW9uIG9mICJhcG9zdHJv cGhlIiBzaG91bGQgcmVhZCAiYW4gdW52b2ljZWQgZ2xvdHRhbCBzcGlyYW50Iiwgbm90ICJhIHVu dm9pY2VkIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiwgZGlnaXRhbCB2ZXJzaW9uLiAgVGhl IElQQSB0YWJsZSBnb3QgaG9ycmlibHkgbWFuZ2xlZCBzb21ld2hlcmUgYWxvbmcgdGhlIHdheS4g IEl0IHNob3VsZCBsb29rIGxpa2UgKFNBTVBBIGNvbHVtbiBhZGRlZCk6CgoKCnx8IExldHRlciB8 IElQQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU0FNUEEgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAnICAgICAgfCBbaF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQgICAgICAgICAgICAgICAg ICAgICAgCgogLCAgICAgIHwgLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIHN5 bGxhYmxlIHNlcGFyYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIC4gICAgICB8IFvK lF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFs/XSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGdsb3R0YWwgc3RvcCBvciBhIHBhdXNl ICAgICAgICAgICAgICAgICAgICAgICAgCgogYSAgICAgIHwgW2FdLCBbyZFdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgW2FdLCBbQV0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IGFuIG9wZW4gdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKCiBiICAgICAgfCBbYl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNl ZCBiaWxhYmlhbCBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogYyAgICAgIHwgW8qD XSwgW8qCXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtTXSwgW3NgXSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBwb3N0YWx2ZW9sYXIg ZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgCgogZCAgICAgIHwgW2RdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAg ICAgICAgICAgIAoKIGUgICAgICB8IFvJm10sIFtlXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IFtFXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBh IGZyb250IG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogZiAgICAg IHwgW2ZdLCBbybhdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2ZdLCBbcFxdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGxhYmlhbCBm cmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAKCiBnICAgICAgfCBbyaFdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbZ10gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAoKIGkgICAgICB8IFtpXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEg ZnJvbnQgY2xvc2Ugdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBqICAgICAg fCBbypJdLCBbypBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW1pdLCBbemBdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIHBvc3RhbHZlb2xh ciBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgICAKCiBrICAgICAgfCBba10gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAg ICAgICAgICAgICAgICAgCgogbCAgICAgIHwgW2xdLCBbbMypXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFtsXSwgW2w9XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBhIHZvaWNlZCBsYXRlcmFsIGFwcHJveGltYW50IChtYXkgYmUgc3lsbGFiaWMpICAgCgog bSAgICAgIHwgW21dLCBbbcypXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFttXSwg W209XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBiaWxh YmlhbCBuYXNhbCAobWF5IGJlIHN5bGxhYmljKSAgICAgICAgCgogbiAgICAgIHwgW25dLCBbbsyp XSwgW8WLXSwgW8WLzKldICAgICAgICAgICAgICAgICAgICAgfCBbbl0sIFtuPV0sIFtOXSwgW049 XSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsIG9yIHZlbGFyIG5h c2FsIChtYXkgYmUgc3lsbGFiaWMpIAoKIG8gICAgICB8IFtvXSwgW8mUXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IFtvXSwgW09dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBhIGJhY2sgbWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCgogcCAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBb cF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2lj ZWQgYmlsYWJpYWwgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgIAoKIHIgICAgICB8IFtyXSwg W8m5XSwgW8m+XSwgW8qAXSwgW3LMqV0sIFvJucypXSwgW8m+zKldLCBbyoDMqV0gfCBbcl0sIFty XF0sIFs0XSwgW1JcXSwgW3I9XSwgW3JcPV0sIFs0PV0sIFtSXD1dIHwgYSByaG90aWMgc291bmQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIHMgICAgICB8IFtzXSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGFsdmVvbGFyIHNpYmlsYW50ICAgICAg ICAgICAgICAgICAgICAKCiB0ICAgICAgfCBbdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IFt0XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBhbiB1bnZvaWNlZCBkZW50YWwvYWx2ZW9sYXIgc3RvcCAgICAgICAgICAgICAgICAgCgogdSAg ICAgIHwgW3VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIGNsb3NlIHZvd2Vs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIHYgICAgICB8IFt2XSwgW86yXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt2XSwgW0JdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAg ICAgICAgICAgIAoKIHggICAgICB8IFt4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgW3hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFu IHVudm9pY2VkIHZlbGFyIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgICAKCiB5ICAgICAg fCBbyZldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbQF0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBjZW50cmFsIG1pZCB2b3dlbCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIHogICAgICB8IFt6XSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGEgdm9pY2VkIGFsdmVvbGFyIHNpYmlsYW50ICAgICAgICAgICAgICAg ICAgICAgICB8fAoKCgoqKiBTb3J0LW9mICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKTsgd2hhdCBJIGFjdHVhbGx5IGRpZCBpcyBoYWQgQXJudCByZXZpZXcgd2hhdCBzb21l b25lIGVudGVyZWQgaW4gREFHLUNMTCwgd2hpY2ggcHJlc3VtYWJseSB3YXMgYmFzZWQgb24gdGhl IGFib3ZlLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMzAu IGZvciB0aGUgc2Vjb25kIGVuZyAoaW1tZWRpYXRlbHkgdG8gdGhlIGxlZnQgb2YgIihtYXkgYmUg c3lsbGFiaWMpIikgdGhlIHN5bGxhYmljaXR5IG1hcmtlciBpcyBjb25jZWFsZWQgYnkgdGhlIHJp Z2h0IHRhaWwuCgoqKiBJIGNhbiBqdXN0IGJhcmVseSBzZWUgdGhlIG1hcmtlciB1bmRlciBhIGdv b2QgbGlnaHQuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiogRm9y IGZ1dHVyZSBlZGl0aW9ucyA6LSkgLCBub3RlIHRoYXQgdGhlIElQQSBhcHByb3ZlcyBwdXR0aW5n IGRpYWNyaXRpY3MgYWJvdmUgcmF0aGVyIHRoYW4gYmVsb3cgdGhlIGxldHRlciBpbiBjYXNlcyBs aWtlIHRoZXNlLiBVbmZvcnR1bmF0ZWx5LCB0aGUgZm9udHMgaGl0aGVydG8gYXZhaWxhYmxlIGhh dmUgbm90IG1hZGUgdGhpcyBmYWNpbGl0eSBhdmFpbGFibGUsIHNvIG91dHNpZGUgdGhlIGpvdXJu YWwgb2YgdGhlIElQQSBpdHNlbGYsIHN1Y2ggb3Zlci1kaWFjcml0aWNzIGFyZSBzZWxkb20gc2Vl bi4g4oCUIG5pdGNpb24KCgoKKiBJbiBzZWN0aW9uIDMuMiwgdGhlIGNvbW1hIHNob3VsZCAocHJv YmFibHkpIGJlIHJlcHJlc2VudGVkIGJ5IHRoZSBJUEEgbm90YXRpb24gWy58Ll0sIGFzIHRoZSBw ZXJpb2QgaXMgdXNlZCBpbiBJUEEgdG8gZGVub3RlIHN5bGxhYmxlIGJyZWFrcy4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMC4gRm9y IHRoZSBMb2piYW4gcGhvbmVtZSAvci8sIHRoZSBJUEEgc3ltYm9sIGZvciBhIGRlbnRhbC9hbHZl b2xhciB2b2ljZWQgYXBpY2FsIHRhcCBpcyBnaXZlbiB3aXRoIGEgc3lsbGFiaWNpdHkgbWFya2Vy IGJlbG93LiBBIHRhcCBjYW4ndCBiZSBzeWxsYWJpYywgYmVjYXVzZSBpdCBpcyBieSBkZWZpbml0 aW9uIGluc3RhbnRhbmVvdXMuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkg SnVzdCByZW1vdmUgdGhhdCBjYXNlIGFsdG9nZXRoZXIuCgoKCiogU2VjdGlvbiAyLiAgVGhlIGRl c2NyaXB0aW9ucyBvZiAnJ2MnJyBhbmQgJydqJycgYXJlIGxpc3RlZCBhcyAiY29yb25hbCBzaWJp bGFudCJzLiAgVGhlIGRlc2NyaXB0aW9ucyBzaG91bGQgcmVhZCAidm9pY2VsZXNzIHBvc3RhbHZl b2xhciBmcmljYXRpdmUiIGFuZCAidm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUiLCByZXNw ZWN0aXZlbHkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0 aW9uIDMsIHRoaXJkIHBhcmFncmFwaCAocGFnZSAzMSk6ICJhIHVudm9pY2VkIHZvd2VsIGdsaWRl IiBzaG91bGQgYmUgImFuIHVudm9pY2VkIHZvd2VsIGdsaWRlIi4KCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gNiwgcGFnZSAzNi4gSVBBIGZvciB0aGUgdW5hY2NlcHRhYmxlIEFtZXJpY2FuIGZsYXAg dmFyaWFudCBvZiBpbnRlcnZvY2FsaWMgJyd0Jycgc2hvd3MgdGhlIEdBICcncicnIHNvdW5kICh1 cHNpZGUtZG93biByKSBpbnN0ZWFkIG9mIHRoZSBmbGFwIChsaWtlIGFuIHIgd2l0aCBubyB2ZXJ0 aWNhbCBiaXQgYXQgdGhlIHRvcCDigJQgc2VlIHRoZSBsaXN0IG9mIGFjY2VwdGlibGUgJydyJycg dmFyaWFudHMgb24gb24gcGFnZSA0NCB3aGVyZSBpdCBhcHBlYXJzIGNvcnJlY3RseSkgICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2 LCBwYWdlIDM2LiAoU2FtZSBhcyBwcmV2aW91cyBlcnJhdHVtKSBUaGUgY29uc29uYW50IGlzIHJl ZmVycmVkIHRvIGFzIGEgZmxhcCwgd2hpbGUgaXQgaXMgYWN0dWFsbHkgYSB0YXAuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDcuIEluIGJldHdlZW4g dGhlIHNoYWRlZCBib3hlcywgImEgcGFpcmluZyBvZiB2b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2 YWxlbnQgdm93ZWxzIiBzaG91bGQgcmVhZCAiYSBwYWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2lj ZWQgZXF1aXZhbGVudCBjb25zb25hbnRzIi4KCgoKKiBTZWN0aW9uIDgsIHBhZ2UgMzguIElQQSBm b3IgcHJvbnVuY2lhdGlvbiBvZiAieGFwY2tlIiBoYXMgYyB3aGVyZSBpdCBzaG91bGQgaGF2ZSBT IChsb25nIHMpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2Vj dGlvbiA5LCBwYWdlIDQwLiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgImRpa3lqdm8iIGhhcyBq IHdoZXJlIGl0IHNob3VsZCBoYXZlIFogKHRoYXQgbGl0dGxlIHNjcmlwdCB6IHRoaW5nKSAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDEyLCBwYWdlIDQ2LiBXaGF0IHNob3VsZCBiZSB0aGUgQ3lyaWxsaWMgbGV0dGVyIDsgaXMgcHJp bnRlZCBhcyBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIHRoZSBHcmVlayBsZXR0ZXIgLiBJcyB0 aGlzIG9ubHkgYSB0eXBvZ3JhcGhpY2FsIHZhcmlhbnQgb2YgdGhlIDssIG9yIGlzIGl0IGEgdmFy aWFudD8KCgoKKiogVGhpcyBlcnJhdHVtIGlzIGluZGVjaXBoZXJhYmxlIGFuZCBzaG91bGQgYmUg ZHJvcHBlZCwgdW5sZXNzIHNvbWVvbmUgY2FuIHJlY29uc3RydWN0IGl0LiAgVGhlIEN5cmlsbGlj IGxldHRlcnMgbG9vayBmaW5lLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBS ZXBsYWNlIHRoZSB3b3JkcyAidGhlIGhhcmQgc2lnbiIgd2l0aCBhbiBhY3R1YWwgaGFyZCBzaWdu LCBVKzA0NEEgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEhBUkQgU0lHTi4KCgoKKiBTZWN0aW9uIDEy LCBwYWdlIDQ3LiAiYXJlLyJlc3NlIiBzaG91bGQgcHJvYmFibHkgYmUgImFyZSIvImVzc2UiICh0 aGUgYWN1dGUgb24gdGhlIGEgbWF5IG9yIG1heSBub3QgaGF2ZSBiZWVuIGxlZnQgb2ZmLCBidXQg dGhlIGNsb3NpbmcgcXVvdGUgYWZ0ZXIgYXJlIGlzIGRlZmluYXRlbHkgbWlzc2luZy4pCgoqKiBN eSBjb3B5IHNob3dzIHRoZSBhY3V0ZS4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgNAoK CgoqIFNlY3Rpb24gNCwgcGFnZSA1NC4gVGhlIGJvb2sgc3RhdGVzIHRoYXQgZnUnaXZsYSB3aXRo IGEgZm9ybSBsaWtlICcnc3BhJ2knJyBhcmUgdmFsaWQuIFRoZXkgYXJlIG5vdCwgdGhleSBmYWls IHRoZSBzbGlua3UnaSB0ZXN0LiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHAgNTgsICItbGFjIiBpbiB0 aGUgdGhpcmQgdGFibGUgaW4gdGhhdCBzZWN0aW9uIHNob3VsZCBiZSAiLWxhYy0iCgoKCiogU2Vj dGlvbiA2LCBpdCBzYXlzICJNb3N0IGNtYXZvIHRoYXQgaGF2ZSByYWZzaSBhcmUgb25lcyB1c2Vk IGluIGNvbXBvc2luZyB0YW5ydSAoZm9yIGEgY29tcGxldGUgbGlzdCwgc2VlIENoYXB0ZXIgMTIp IiwgYnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlzdCBpbiBDaGFwdGVyIDEyLCBvciBhbnl3aGVyZSBp biB0aGUgYm9vayAoanUnb3NhaSkuIFBlcmhhcHMgaXQgd2FudHMgdG8gcG9pbnQgdG8gdGhlIGxp c3Qgb2YgUEEgcmFmc2kgaW4gQ2hhcHRlciAxOCBzZWN0aW9uIDI1PyBPciB0byB0aGUgbGlzdHMg b2YgdGFucnUgaW4gQ2hhcHRlciA1IHNlY3Rpb25zIDE0IGFuZCAxNT8KCioqIFdoYXQgSSBwcm9i YWJseSBtZWFudCB3YXMgdGhhdCBDaGFwdGVyIDEyLCB0YWtlbiBhcyBhIHdob2xlLCBkaXNjdXNz ZXMgdGhlIGNtYXZvIHVzZWQgaW4gY29uc3RydWN0aW5nIHRhbnJ1LiAgSSBkb24ndCB0aGluayBh bnkgc3BlY2lmaWMgbGlzdCBldmVyIGV4aXN0ZWQuICBJJ2QganVzdCBkcm9wIHRoZSBwYXJlbnRo ZXRpY2FsIHNlbnRlbmNlLgoKCgoqIFNlY3Rpb24gNiwganVzdCBhZnRlciBleGFtcGxlIDYuOS4g SXQgc2F5cyAic29tZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFt cGxlIiwgYnV0IGl0IGlzIG5vdCByZWZlcnJpbmcgdG8gdGhlIHByZXZpb3VzIGV4YW1wbGU6IGl0 IGlzIHJlZmVycmluZyBhbGwgdGhlIHdheSBiYWNrIHRvIGV4YW1wbGVzIDYuMSBhbmQgNi4yLCBz byBpdCBzaG91bGQgYmUgInNvbWUgb2YgdGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0aGUgcHJldmlv dXMgZXhhbXBsZV9fc19fIi4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9y ayBhdCBsZWFzdCkKCihBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBSZWZlciBl eHBsaWNpdGx5IHRvIDYuMSBhbmQgNi4yCgoKCiogU2VjdGlvbiA3LCBwYWdlIDYwLiBJbiBleGFt cGxlIDYuMTYsIHRoZSB3b3JkICJ4YXJueWthcmNlIiBpcyBnbG9zc2VkIGFzICJ3YXItY2FyIi4g RWl0aGVyIHRoZSBnbG9zcyBzaG91bGQgYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSB2ZWxqdm8g KCJzdHViYm9ybi1jYXIiKSwgb3IgdGhlIGx1anZvIHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxl Y3QgdGhlIGdsb3NzICJqYW1rYXJjZSIKCioqIFRoZSBsYXR0ZXIgKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biA3LCBtYWtpbmcgYSB0eXBlIDMgZnUnaXZsYSwgc3RlcCA1IHNob3VsZCByZWFkICJzdGVwcyAx LTQiLCBub3QgInN0ZXBzIDEtNSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKKiBTZWN0aW9uIDcsIHN0ZXAgNSBvZiB0aGUgU3RhZ2UgMyBmdSdpdmxhOiAiaWYgdGhl IHJhZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3 aXRoICcnbicnIChvciB2aWNlIHZlcnNhKSB1c2UgYW4gJydsJyctaHlwaGVuIiBzaG91bGQgcmVh ZCAgImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZs YSBiZWdpbnMgd2l0aCAnJ24nJywgJyd0YycnLCAnJ3RzJycsICcnZHonJyBvciAnJ2RqJycsIG9y IHRoZSByYWZzaSBlbmRzIGluICcnbicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdp bnMgd2l0aCAnJ3InJyB1c2UgYW4gJydsJyctaHlwaGVuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIFRoZSBlbmQgb2Ygc2VjdGlvbiA3IHNlZW1zIHRvIGltcGx5 IHRoYXQgY21lbmUgYXJlIGV4ZW1wdCBmcm9tIHRoZSBub3JtYWwgcmVzdHJpY3Rpb25zIG9uIGNv bnNvbmFudCBjbHVzdGVycyBhcyBsb25nIGFzIGVhY2ggY29uc29uYW50IHBhaXIgaXMgdmFsaWQu CgoKCiogU2VjdGlvbiA4LiBFeGFtcGxlIDguMTAgJydkamFuZGpvbnonJyBpcyBub3QgdmFsaWQg bG9qYmFuIGFzIGl0IGNvbnRhaW5zIHRoZSBmb3JiaWRkZW4gY29uc29uYW50IHNlcXVlbmNlIGBu ZGpgLiAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJlcGxhY2Ugd2l0 aCBhIGRpZmZlcmVudCBuYW1lLgoKKiogUmVwbGFjaW5nIHdpdGggIkpvaG4gQnJvd24iIGFzICJk amFuYnJhdW4iLiAtLXJscG93ZWxsICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biA4LCBwYWdlIDY2LiBFeGFtcGxlIDguMTIuIFNheXMgdGhhdCB0aGUgZ2lzbXUgInNvbHJpIiBt ZWFucyAiYWN0dWFsbHksICdwZXJ0YWluaW5nIHRvIHRoZSBzdW4nIi4gVGhpcyBpcyBmYWxzZS4g QWNjb3JkaW5nIHRvIHRoZSBnaXNtdSBsaXN0LCBpdCBtZWFucyAnJ2lzJydhIHN1bi4KCioqIExl YXZlIHRoaXMgb25lIGFsb25lLiAgQXMgYSBzZWx0YXUsICJzb2xyaSIgZG9lcyBpbmRlZWQgbWVh biAic29sYXIiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDExLCA1YSkgJydFeGFtaW5lIGFsbCB0 aGUgQy9DIGNvbnNvbmFudCBwYWlycyB0aGF0IGpvaW4gdGhlIENWQyByYWZzaSwgYW5kIGFsc28g dGhlIHBhaXIgYmV0d2VlbiB0aGUgbGFzdCBDVkMgYW5kIHRoZSBYIHBvcnRpb24sIGlnbm9yaW5n IGFueSAieSItaHlwaGVuIGJlZm9yZSB0aGUgWC4nJyBzaG91bGQgcmVhZCBpbnN0ZWFkOiAnJ0V4 YW1pbmUgYWxsIHRoZSBDL0MgY29uc29uYW50IHBhaXJzIHVwIHRvIHRoZSBmaXJzdCAieSItaHlw aGVuLCBvciB1cCB0byB0aGUgZW5kIG9mIHRoZSB3b3JkIGluIGNhc2UgdGhlcmUgYXJlIG5vICJ5 Ii1oeXBoZW5zLicnCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEyLiBJbiBFeGFtcGxlcyAxMi4y LCAxMi4zIGFuZCAxMi40IHRoZSBjYWxjdWxhdGlvbnMgYXJlIGdpdmVuIGFzIDMyNTAwIG1pbnVz IHRoZSBzY29yZSwgaW5zdGVhZCBvZiBzaW1wbHkgdGhlIHNjb3JlLiAoUHJvYmFibHkgZnJvbSBw cmV2aW91cyB2ZXJzaW9ucyBvZiB0aGUgYWxnb3JpdGhtLikgICAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxMywgcGFnZSA3NCwgdGhpcmQgdGFibGU6 IHRoZXJlIGlzIG5vIHNwYWNlIGJldHdlZW4gImxvamJhdWdyaSIgYW5kICJsb2piYW5neWdyaSIs IHNvIHRoYXQgdGhleSBhcmUgcnVuIGludG8gb25lIHdvcmQgaW4gdGhlIHNlY29uZCBjb2x1bW4g b2YgdGhlIHRhYmxlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiog U2VjdGlvbiAxNSBzdGF0ZXMgdGhhdCAiZHppcG8iIGNvbWVzIGZyb20gImNhZHp1IGNpcG5pIiAo IndhbGtpbmcgYmlyZCIpLiAgVGhpcyBmYWlscyB0byBtYWtlIHNlbnNlIGVpdGhlciBldHltb2xv Z2ljYWxseSBvciBzZW1hbnRpY2FsbHkgKElmIHRoZSBuYW1lIHJlZmVycyB0byBwZW5ndWlucywg dGhlcmUgYXJlIGEgbG90IG9mIG90aGVyIGZlYXR1cmVzIG9mIEFudGFyY3RpY2EgdGhhdCBhcmUg bW9yZSBwcm9taW5lbnQgYW5kIG5vdCBzaGFyZWQgYnkgb3RoZXIgcGxhY2VzKS4gIEkgc3VzcGVj dCB0aGF0IHRoZSB3b3JkIG1heSBhY3R1YWxseSBjb21lIGZyb20gImRpemxvIGRhcGx1IiAoImxv dyBpc2xhbmQiKSwgd2hpY2ggaXMgYSBzb21ld2hhdCBtb3JlIHJlYXNvbmFibGUgbmFtZS4KCioq IE5vdCBhbiBlcnJhdHVtLCB0aGUgd29yZCByZWFsbHkgZG9lcyBjb21lIGZyb20gImNhRFp1IGNJ UG5pIi4gVGhhdCBpdCBmYWlscyB0byBtYWtlIHNlbnNlIGRvZXNuJ3QgY2hhbmdlIHRoZSBmYWN0 IHRoYXQgdGhhdCBpcyBob3cgdGhleSBjb25zdHJ1Y3RlZCBpdC4gVGhlIGV0eW1vbG9naWVzIG9m ICJiZW1ybyIgYW5kICJrZXRjbyIgbWFrZSBldmVuIGxlc3Mgc2Vuc2UsIGJ5IHRoZSB3YXkuCgoq KiogQ29ycmVjdCwgYnV0IHRoZSBldHltb2xvZ2llcyBhcmUgd2hhdCB0aGV5IGFyZS4gIC0tamNv d2FuCgoKCi0tLQoKCgohQ2hhcHRlciA1CgoKCiogU2VjdGlvbiA2LCBleGFtcGxlIDYuMTU6IEl0 IHNheXMge3hhbWd1IGpvIGNvcnR1IG51bnRhdmxhfSwgYW5kIHRoZSBnbG9zcyBzYXlzIHsoZ29v ZCBpZi1hbmQtb25seS1pZiBzaG9ydCkgc3BlZWNofSwgYnV0IHtjb3J0dX0gbWVhbnMgImh1cnQi LCBub3QgInNob3J0Ii4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICAoY2hhbmdlZCB0byB7 dG9yZHV9KSAoaW4gem9ydCdzIGZvcmsgYXQgbGVhc3QpICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIEV4YW1wbGUgNi4xNjogdmFqbmkganUgc2VscGx1a2EgbnVudGF2 bGEgLCAgKGltcG9ydGFudCB3aGV0aGVyLW9yLW5vdCBwbGVhc2luZykgZXZlbnQtb2YtdGFsa2lu ZwoKKiogU2hvdWxkIGJlIHBsdWthLCBub3Qgc2VscGx1a2EuICAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9u IDggc2F5cyAiaW52b2x2aW5nIHNlbG1hJ28gVk9oQSBhbmQgR09oSSwgZXhwbGFpbmVkIGluIENo YXB0ZXIgNyIsIGJ1dCBWT2hBIGRvZXNuJ3QgYXBwZWFyIGluIENoYXB0ZXIgNy4gVk9oQSBkb2Vz bid0IGV2ZW4gc2VlbSB0byBiZSBhIHNlbG1hJ28sIGZvciB0aGF0IG1hdHRlci4gQWxzbywgcHJv YmFibHkgR09oSSBzaG91bGQgYmUgR09oQT8KCgoKKiBTZWN0aW9uIDgsIHBhZ2UgOTYvOTc6IEV4 YW1wbGUgOC4xMyBuZWVkcyBzb21lIGtpbmQgb2YgdGVybWluYXRvciAobGlrZSAiYmUnbyIpIGJl Zm9yZSB0aGUgImNvIi4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBBbHNvLCB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCBzdWdnZXN0cyB0aGF0ICJiZSIgaXMgdGhl IG9ubHkgd2F5IHRvIGZpbGwgc2VsYnJpIHBsYWNlcyBvdGhlciB0aGFuIHgxLiBUaGlzIGlzIG5v dCB0aGUgY2FzZTogIm1pIGxlIHphcmNpIGN1IGtsYW1hIGNvIHN1dHJhIiB3b3VsZCBhbHMKCm8g d29yay4KCioqIEkgZG9uJ3QgYWdyZWUgdGhhdCB0aGVyZSdzIGFueSBzdWNoIHN1Z2dlc3Rpb24s IGFsdGhvdWdoIGFkZGluZyBhIHNlY29uZCBwb3NzaWJpbGl0eSBpcyBmaW5lIHdpdGggbWUuICAt LWpjb3dhbgoKCgoqIFNlY3Rpb24gOSBsaXN0cyAia2VpIiBhcyB0aGUgdGVybWluYXRvciBmb3Ig bnUsIGJ1dCBpdCdzIG5vdCBvbmx5IGZvciBudSwgYnV0IGZvciBhbGwgb2YgTlUuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNCBz YXlzICJkYWR5bHNpIiBmb3IgImRhZHlzbGkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwg cGFnZSAxMDUgdXNlcyAiemRhbmkgbGlqZ3JpIiBpbiB0aGUgZXhhbXBsZSBsaXN0LCBidXQgdGhl IHBhcmFncmFwaCBhZnRlciwgYXMgd2VsbCBhcyB0aGUgbmV4dCBsaXN0LCByZWZlciB0byAiemRh bmkgbGluamkiIGFuZCAibGluamkgemRhbmkiLgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IGhh cyB0aGUgbHVqdm8gImNwdW1pJ2kiIGJ1dCBkZWZpbmVzIGl0IGF0IHRoZSBib3R0b20gb2YgdGhl IHNldCBhcyAiY3BhbWknaSIuCgoqKiBjdWFtaSdpIHMgcHVsbC1tYWNoaW5lLCBzbyB1c2luZyB0 aGF0ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA2IHNheXMgInBsaXNlIHRhcGxhIiBm b3IgImFwcGxlIGNha2UiLiBEb2VzIFR1cmtpc2ggcmVhbGx5IHJlZmVyIHRvIGEgY2FrZSBhcyBh IHRpbGUsIG9yIGlzIHRoaXMgYSBtaXN1bmRlcnN0YW5kaW5nIG9mIHRoZSBkZWZpbml0aW9uIG9m ICJ0YXBsYSI/CgoqKiBObywgaXQncyB0aGF0IHt0YXBsYX0gY2FuIG1lYW4gYm90aCBjYWtlIGFu ZCB0aWxlLCBhcyB0aGUgZ2lzbXUgbGlzdCBzaG93czsgaXQncyBhIGdlbmVyaWMgd29yZCBmb3Ig YSBmbGF0IDMtRCBzaGFwZSwgb3Igc2hvcnQgY3lsaW5kZXIuICBTdGV0LiAgLS1qY293YW4KCgoK KiBTZWN0aW9uIDE0LCBwYWdlIDEwOCBzYXlzICJ0dW1sYSBzcGlzYSIuIFRoaXMgc2hvdWxkIHBy b2JhYmx5IGJlICJ0dW1sYSBwYWdidSIsIHNpbmNlIHBpZWNlcyBvZiBsYW5kIGFyZSBub3QgYWN0 dWFsbHkgZGV0YWNoZWQuCgoqKiBXaGF0IG1ha2VzIHlvdSB0aGluayB0aGF0IHNwaXNhIGhhdmUg dG8gYmUgZGV0YWNoZWQ/ICBTdGV0LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEw OSBzYXlzICJyb3N0dSBtb2p5c3UnYSIuICJyb3N0dSIgaXMgbm90IGEgTG9qYmFuIGdpc211LCBu b3IgYW4gT2xkIExvZ2xhbiBwcmltaXRpdmUuIEl0J3Mgc3VwcG9zZWQgdG8gYmUgIm1yb3N0Cgp1 Ii4KCioqICJNcm9zdHUiIGlzIGNvcnJlY3QsIGFuZCB0aGF0J3MgdGhlIHJlYWRpbmcgb2YgdGhl IG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiAxNCwgIm51bmtpbGJyYSIgaXMgY2xlYXJseSBub3QgInNoYXJwZW5lciIsIGFu ZCBldmVuIGlmIGl0IHdhcyB1c2luZyB0aGUgcmlnaHQgcmFmc2kgZm9yIGNhYnJhLCB0aGF0IHN0 cmlrZXMgbWUgYXMgYSBwcmV0dHkgY3JhcHB5IGx1anZvOyBuZWVkcyB6ZW5iYSBvciB6bWFkdSBv ciBiaW54byBvciBzb21ldGhpbmcuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMTIgbGlzdHMgbnVt ZXJvdXMgdGFucnUgZXhhbXBsZXMgd2hvc2UgbWVhbmluZ3MgYXJlIGh5cGVybnltcyBvZiB0aGUg dGVydGF1IGluc3RlYWQgb2YgaHlwb255bXMuIFRoaXMgY29udHJhZGljdHMgdGhlIHByaW1hcmlu ZXNzIG9mIHRoZSB0ZXJ0YXUgYXMgZGVmaW5lZCBvbiBwYWdlIDg0LiBUaGUgd29yZCAiamEiIHNo b3VsZCBwcm9iYWJseSBiZSBpbnNlcnRlZCBiZXR3ZWVuIHRoZSBjb25zdGl0dWVudHMsIG9yIHRo ZSBlbnRpcmUgc2VjdGlvbiBzaG91bGQgYmUgcmVtb3ZlZC4KCioqIFN0ZXQuICBMaW9ucyBjYW4n dCBiZSBtYWRlIG9mIHN0b25lLCBidXQge3Jva2NpIGNpbmZvfSBpcyBhIGxlZ2l0aW1hdGUgdGFu cnUgbm9uZXRoZWxlc3MuICAtLWpjb3dhbgoKCgotLS0KCgoKIUNoYXB0ZXIgNgoKCgoqIEVuZCBv ZiBzZWN0aW9uIDIsIGl0IHNheXMgImNvbXBvdW5kIG5lZ2F0b3IgYGBuYWt1JycgKGRpc2N1c3Nl ZCBpbiBDaGFwdGVyIDE1KSIsIGJ1dCAibmFrdSIgaXMgbmV2ZXIgbWVudGlvbmVkIGluIGNoYXB0 ZXIgMTU7IGluZGVlZCwgdGhlIG9ubHkgdXNlcyBvZiB0aGUgd29yZCB7a3V9IGF0IGFsbCBhcmUg YWZ0ZXIgdGhlIHdvcmRzIHtqaSd1fSBvciB7bmEnaX0uIENoYXB0ZXIgMTYgdGFsa3MgYWJvdXQg e25ha3V9LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0 KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKKiBTZWN0aW9uIDEyLCBwLiAxMzggY2xhaW1zIHRoYXQg dGhlIHN1bXRpIGluIGV4YW1wbGVzIDEyLjIgYW5kIDEyLjMgb3BlcmF0ZSBsaWtlIGV4YW1wbGVz IDIuNSBhbmQgMy42IHJlc3BlY3RpdmVseS4gIjIuNiBhbmQgMy42IiBpcyBhbG1vc3Qgc3VyZWx5 IHdoYXQgd2FzIG1lYW50LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlvbiAxMSBFeGFtcGxlIDExLjIgb2Nj dXJzIHR3aWNlLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAyIGhhcyBleGFtcGxlcyAyLjMgYW5k IDIuNSB0byBzaG93IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4ge2xvfSBhbmQge2xlfS4gRXhhbXBs ZSAyLjUgYW5kIHRoZSBzdWJzZXF1ZW50IHRleHQgc2F5IHRoYXQge2xvIG5hbm11IGN1IG5pbm11 fSBpcyBuZWNlc3NhcmlseSBmYWxzZSBpbiBsb2piYW4gc2luY2Uge25vZGEgbmFubXUgZ2knZSBu aW5tdX0uIFRoaXMgY29udHJpYnV0ZXMgdG8gdHJhbnMtZXJhc3VyZSwgYW5kIHNob3VsZCBiZSBy ZXZpc2VkLgoKCgoqIEluIHNlY3Rpb24gNSBiZXR3ZWVuIGV4YW1wbGVzIDUuMiBhbmQgNS4zLCBp dCBzYXlzIHRoYXQgdGhlIHR5cGljYWwgbGlvbiBiZXN0IGV4ZW1wbGlmaWVzIHRoZSBzZXQgb2Yg bGlvbnMuIFRoaXMgaXMgZmFsc2UsIGl0IGV4ZW1wbGlmaWVzIG5vdCB0aGUgc2V0LCBidXQgdGhl IG1lbWJlcnMgb2YgdGhhdCBzZXQuCgoKCi0tLQoKCgohIENoYXB0ZXIgNwoKKiBTZWN0aW9uIDUu IGh0dHA6Ly9sb2piYW4uZ2l0aHViLmlvL2NsbC83LzYvaW5kZXguaHRtbC4gNi4xNCBpcyB1c2Fn ZSB3aXRoIG91dGVyIHJlcGVhdGluZy4gSXQgd291bGQgc2VlbSB0aGF0IHdhcyBhIG1pc3Rha2Uu IExvb2tpbmcgYXQgdGhhdCwgaXQgc2VlbXMgbGlrZSB0aGUgYXV0aG9yIGV4cGVjdHMge25laX0g dG8gcmVwZWF0IHRoZSBlbnRpcmUgb3V0ZXJtb3N0IGJyaWRpLCBhbmQgZXhwZWN0cyB7bm8nYX0g dG8gcmVwZWF0IHRoZSBvdXRlciBicmlkaSBhbG9uZSwgc29tZWhvdyB3aXRob3V0IHRoZSBjdXJy ZW50IGlubmVybW9zdCBicmlkaS4gT3Igc29tZXRoaW5nLiBEZWZpbml0ZWx5IHNlZW1zIG1pc3Rh a2VuIHRvIG1lLiBzbyB3aXRoIHpvJ2UgaW4gcGxhY2Ugb2YgdGhlIGFic3RyYWN0aW9uIGNsYXVz ZS4gSW4gdGhpcyBjYXNlLCBtYXliZSB3aXRoIHt6aSdvfSwgYWN0dWFsbHkuCgpUaGF0IHdvdWxk IGJlIHVzZWZ1bCBidXQgaXQgd291bGQgYmUgbmljZSBpZiB0aGF0IGhhZCBiZWVuIGV4cGxpY2l0 LgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU1IGhhcyBhIG5vdGUgYmVsb3cgZXhhbXBsZSA2LjEzIHRo YXQgc2F5cywgaW4gcGFydDogIlRoZSBMb2piYW4gZG9lcyBub3QgY29udGFpbiBhbiBlcXVpdmFs ZW50IG9mIHRoZSAibXkiIGluIGNvbGxvcXVpYWwgRW5nbGlzaDsiIGFuZCB0aGVuIGdvZXMgb24g dG8gZXhwbGFpbiBob3cgZXhhbXBsZSA2LjEzIGNvdWxkIGJlIG1vZGlmaWVkIHRvIGluY2x1ZGUg IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlYWtlciBhbmQgdGhlaXIgc29uIGFuZCBk YXVnaHRlci4gIEkgYmVsaWV2ZSB5b3UgY291bGQgc2F5ICJsZSBtaSBiZXJzYSIgb3IgImxlIGJl cnNhIHBlIG1pIiB0byBleHByZXNzIHRoZSBFbmdsaXNoICJteSwiIHRoZXJlZm9yIHJlbW92aW5n IHRoZSAocHJlc3VtYWJseSBpbmFjY3VyYXRlKSBub3RlIGFuZCBtYWtpbmcgdGhlIExvamJhbiB0 cmFuc2xhdGlvbiBtb3JlIGFjY3VyYXRlLgoKKiogU3VyZSB5b3UgY291bGQsIGJ1dCB0aGUgcG9p bnQgb2YgdGhlIG5vdGUgKHdoaWNoIGlzICcnbm90JycgaW5hY2N1cmF0ZSkgaXMgbm90IHRlYWNo aW5nIGhvdyB0byB1c2UgcmVsYXRpdmUgY2xhdXNlcywgYnV0IHRvIGNsYXJpZnkgdGhhdCB0aGUg aWRpb21hdGljIEVuZ2xpc2ggdmVyc2lvbiBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uIHRoYW4g dGhlIExvamJhbiB2ZXJzaW9uIGRvZXMuICBTdGV0LgoKCgoqIFNlY3Rpb24gNiwgcGFnZSAxNTYg aGFzICcna2FyY2EnJyBmb3IgJydrYXJjZScnLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogQWZ0ZXIgZXhhbXBsZSA2LjE4IGlzIGEgcGFyYWdyYXBoIHRoYXQgcXVv dGVzIG5vbi1leGlzdGVudCB0ZXh0IGZyb20gZXhhbXBsZSA2LjEwLiAgImdvJ2UgcmEnbyIgc2hv dWxkIHJlYWQgImdvJ2kgcmEnbyIgYW5kICJkbyBnbydlIiBzaG91bGQgcmVhZCAibWkgZ28naSIK CioqIFRoZSBjb3JyZWN0IGNvcnJlY3Rpb24gaXMgdG8gcmVwbGFjZSAiQidzIHN0YXRlbWVudCIg d2l0aCAiQSdzIHNlY29uZCBzdGF0ZW1lbnQiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqKiogTm90IHJlYWxseS4gImdvJ2UgcmEnbyIgaW4gQSdzIHNlY29uZCBzdGF0 ZW1lbnQgd291bGQgbWVhbiB0aGUgc2FtZSBhcyAiZ28nZSIsIHdoaWNoIGlzIHdyb25nLiBUaGUg b3JpZ2luYWwgY29ycmVjdGlvbiBpcyB2YWxpZCB0aG91Z2guCgoKCipTZWN0aW9uIDYsIHRoZSBl eGNlcHRpb25zIHRvIHRoZSBhbmFwaG9yYSBydWxlcyBhcmUgYWxtb3N0IGNlcnRhaW5seSBpbmNv bXBsZXRlLiBJbiBwYXJ0aWN1bGFyICJtYSIgYW5kICJjZSd1IiBkZWZpbml0ZWx5IHdhcnJhbnQg ZXhjZXB0aW9ucy4KCgoKKiBTZWN0aW9uIDcsIGV4YW1wbGUgNy43IGhhcyAibWkgemJhc3UgbG9p IG11ZHJpIHppJ28iIGZvciAibWkgemJhc3UgbGUgZGluanUgemknbyIKCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gOCwgcC4gMTU4IGltcGxpZXMgdGhhdCAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhvcmEg cmVmZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRpIHRoZXkgdGhlbXNlbHZlcyBhcmUgc3VtdGkgb2Yu IFRoaXMgY29udHJhZGljdHMgdGhlIGNtYXZvIGxpc3QsIGFuZCBpcyBpbmNvcnJlY3Q6ICcndm8n YScnLXNlcmllcyBhbmFwaG9yYSAoYWNjb3JkaW5nIHRvIHRoZSBtYSdvc3RlKSByZWZlciB0byBz dW10aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRpIHdpdGhpbiB0aGUgY3VycmVudCBzZW50ZW5jZS4g VGhpcyBtYWtlcyB0aGVtIGxvZ29waG9ycy9sb25nIGRpc3RhbmNlIHJlZmxleGl2ZXMsIHJhdGhl ciB0aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxleGl2ZXMsIGFzIGlzIG5vcm1hbCBpbiBodW1hbiBs YW5ndWFnZS4gVGh1cywgaW4gJydtaSBuZWxjaSBsZW51IGRvIHByYW1pIHZvJ2EnJywgJyd2bydh JydtZWFucyAnJ21pJycsIG5vdCAnJ2RvJycuCgoqKl9fLS0+X18oKFdoeSB0aGUgQm9vayBpcyBS aWdodCBhbmQgdGhlIG1hJ29zdGUgaXMgV3JvbmcpKQoKKioqV2hpY2ggb2YgdGhlIHR3byBjYXNl cyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2U/IElmIHlvdSdkIHdyaXR0ZW4gaXQgaW4gTG9q YmFuLCBJJ2Qga25vdyEKCioqKiogSSdkIGd1ZXNzIHRoYXQgc2hvcnQtZGlzdGFuY2UgaXMgbm9y bWFsLCBiL2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCBjb21wYXJpbmcgdGhlIHR3 by4gQnV0IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ugd291bGRuJ3QgaGF2ZSB0byBnbG9yayB0aGF0 LgoKKioqKiogU2hvcnQtZGlzdGFuY2UgaXMgaW5kZWVkIG5vcm1hbCwgYnV0IExvamJhbmlzdHMg aGF2ZSBjb25zaXN0ZW50bHkgdXNlZCBsb25nLWRpc3RhbmNlLiAgTmljayB3cm90ZSBhIHBlZXIt cmV2aWV3ZWQgcGFwZXIgb24gdGhpcy4gIC0tamNvd2FuCgoKCiogRXhhbXBsZSA3LjguNSAocDE1 OSk6IGJhanJhIG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJlIGJhanlrbGEsIGxpa2UgdGhlIG90aGVy cy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgaXQgc2F5cyAiRXhhbXBsZSA5LjMgaXMgYSB0 cnVseSBwcmVnbmFudCBxdWVzdGlvbi4uLiIgd2hlbiBleGFtcGxlIDkuMiBpcyB0aGUgcHJlZ25h bnQgcXVlc3Rpb24sIGFuZCBleGFtcGxlIDkuMyBpcyBhIGJldHRlciB3YXkgb2YgZXhwcmVzc2lu ZyAiV2hvIGFyZSB5b3U/IgoKCgoqIFNlY3Rpb24gMTUsIGl0IHNheXMgIkZpbmFsbHksIGx1anZv IGludm9sdmluZyBgYHppJ28nJyBhcmUgYWxzbyBwb3NzaWJsZSwgYW5kIGFyZSBmdWxseSBkaXNj dXNzZWQgaW4gQ2hhcHRlciAxMiIsIGJ1dCBub3doZXJlIGRvZXMgQ2hhcHRlciAxMiBtZW50aW9u IHRoZSB3b3JkIHt6aSdvfSwgbXVjaCBsZXNzIGx1anZvIGludm9sdmluZyBpdC4gVGhpcyBpcyBw cm9iYWJseSBhIENoYXB0ZXIgMTIgZXJyYXR1bS4KCi0tLQoKCgohQ2hhcHRlciA4CgoKCiogU2Vj dGlvbiAxLiBFeGFtcGxlIDEuOCBpcyBzYWlkIHRvIGJlIGVxdWl2YWxlbnQgdG8gRXhhbXBsZSAx LjQsIHdoZW4gaXQgaXMgaW5zdGVhZCBlcXVpdmFsZW50IHRvIEV4YW1wbGUgMS41LgoKCgoqIElu IFNlY3Rpb24gMyB0aGUgZXhhbXBsZSAzLjIwIHNob3VsZCBoYXZlIHt4YW5jZX0gaW5zdGVhZCBv ZiB7eGFuY2l9LCB3aGljaCBpcyBkZWZpbml0ZWx5IGEgdHlwby4gLS1pZG9udGtudwoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiA4LCBwLiAxODE6ICA4LjEpICcnbGkgcGFpIG5vaSBuYSdlIGZyaW51 IG5hbWN1JydzaG91bGQgYmUgJydsaSBwYWkgbm9pIG5hJ2UgZnJpbnUgY3UgbmFtY3UnJy4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOCwgRXhhbXBs ZSA4LjYsIHRoZSB0aGlyZCBsaW5lLCAiSSBydW5uaW5nbHktZ28gdG8tdGhpcyBbcmVjaXByb2Np dHldIFt4MyBvZiB0aGlzIGJyaWRpXSBmcm9tLXRoYXQiLCBpcyBub3QgdGhlIHVzdWFsIGRlY2Vu dCBFbmdsaXNoIG9uZSB3b3VsZCBleHBlY3QgaW4gdGhhdCBwb3NpdGlvbjsgcmVwbGFjZWQgd2l0 aCAiSSBydW4gdG8gdGhpcyBmcm9tIHRoYXQgYW5kIHZpY2UgdmVyc2EuIiBpcyBkYWctY2xsICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA5LCBleGFtcGxlIDkuMiBpcyAnJ2Nv J28geGlybWEnJy4gVGhlbiwgJydOb3RlIHRoYXQgRXhhbXBsZSA5LjIgc2F5cyBmYXJld2VsbCB0 byBzb21ldGhpbmcgd2hpY2ggZG9lc27igJl0IHJlYWxseSBoYXZlIHRvIGJlIGEgaG9yc2UsIHNv bWV0aGluZyB0aGF0IHRoZSBzcGVha2VyIHNpbXBseSB0aGlua3Mgb2YgYXMgYmVpbmcgYSBob3Jz ZSwgb3IgZXZlbiBtaWdodCBiZSBzb21ldGhpbmcgKGEgcGVyc29uLCBmb3IgZXhhbXBsZSkgd2hv IGlzIG5hbWVkICJIb3JzZSIuIEluIGEgc2Vuc2UsIEV4YW1wbGUgOS4yIGlzIGFtYmlndW91cyBi ZXR3ZWVuICJjbydvIGxlIHhpcm1hIiBhbmQgImNvJ28gbGEgeGlybWEiJycuIElzIHRoaXMgdHJ1 ZT8KCioqIFllcywgaW4gdGhlIHNlbnNlIHRoYXQgYWxsIHVzZXMgb2YgImxlIiAnJ21pZ2h0Jycg bWVhbiAibGEiLiAgQnV0IGl0J3MgcHJvYmFibHkgbW9yZSBjb25mdXNpbmcgdGhhbiBpdCdzIHdv cnRoLiAgVHJ1bmNhdGUgYWZ0ZXIgInRoaW5rcyBvZiBhcyBiZWluZyBhIGhvcnNlIi4gIC0tamNv d2FuCgoKCiogU2VjdGlvbiA5IHNheXMgJydJbiB2b2NhdGl2ZSBwaHJhc2VzIHdoaWNoIGFyZSBz aW1wbGUgbmFtZXMgKGFmdGVyIHRoZSB2b2NhdGl2ZSB3b3JkcyksIGFueSByZWxhdGl2ZSBjbGF1 c2VzIG11c3QgY29tZSBqdXN0IGFmdGVyIHRoZSBuYW1lcycnLiBUaGlzIGlzbid0IHRydWUuIFJl bGF0aXZlIGNsYXVzZXMgY2FuIGdvIGJldHdlZW4gdGhlIHZvY2F0aXZlIGFuZCB0aGUgY21ldmxh LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBEcm9wIGl0OyBpdCByZWZs ZWN0cyBhbiBlYXJsaWVyIHN0YXRlIG9mIHRoZSBsYW5ndWFnZS4KCgoKKiBTZWN0aW9uIDEwLCBl eGFtcGxlIDEwLjMgdXNlcyAia2UnYSBnb2kga28nZSB6byd1IGtvJ2EgemJhc3Uga2UnYSIgYnV0 IGdsb3NzZXMgaXQgYXMgIihJVCA9IGl0MiA6IGl0MSBidWlsdCBpdDIpIi4gVGhlIGFzc2lnbmVk ICJrbydlIiBpcyBub3QgdXNlZCBhcyBleHBlY3RlZCBvciBkZXNjcmliZWQsIGFuZCBzaG91bGQg cHJvYmFibHkgYmUgImtvJ2EgemJhc3Uga28nZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkgIFllcywgImtvJ2EgemJhc3Uga28nZSIgaXMgY2xlYXJseSB3aGF0J3MgbWVh bnQuCgoKCi0tLQoKIUNoYXB0ZXIgOQoKCgoqIFNlY3Rpb24gNiwgcGxhY2Ugc3RydWN0dXJlIG9m ICcncGlsbm8nJyBpcyBtaXNzaW5nICJmb3IgcHVycG9zZSB4MyIuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDgsIHRoZSBleGFtcGxlcyA4LjUgYW5k IDguNiBhcmUgc3VwcG9zZWQgdG8gbWVhbiB0aGUgc2FtZSB0aGluZywgYnV0IGRvIG5vdC4KCioq IFBsZWFzZSBlbGFib3JhdGUuICAtLWpjb3dhbgoKKioqIDguNSBtZWFucyAiSSBnYXZlIHRoZSBi b29rIHRvIEpvaG4sIGJlY2F1c2UgSm9obiBnYXZlIHRoZSBtb25leSB0byBtZSIgYnV0IDguNiBt ZWFucyAiSm9obiBnYXZlIHRoZSBtb25leSB0byBtZSBiZWNhdXNlIEkgZ2F2ZSB0aGUgYm9vayB0 byBKb2huLiIKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTEsIGRlc2NyaXB0aW9uIG9mIHRoZSBtZWFu aW5nIG9mICIuaWplIHNlcmknYSB0dSdlIiBjb250cmFkaWN0cyB0aGUgZXhwbGFuYXRpb24gb2Yg RXhhbXBsZSA5LjksIHdoaWNoIHdvdWxkIHN1Z2dlc3QgIi5pamUgcmknYSB0dSdlIi4KCgoKKiBz ZWN0aW9uIDE3LCAicGVydGFpbmVkIHRvIGJ5IGNvbmNlcm5pbmciIHNob3VsZCBiZSBzZXBhcmF0 ZWQsIHdpdGggImNvbmNlcm5pbmciIHNob3VsZCBiZSBpbiB0aGUgbGFzdCBjb2x1bW4gb2YgdGhl IHRhYmxlCgoKCiogc2VjdGlvbiAxNyAiZnJvbSBzb3VyY2UgYXMgYW4gb3JpZ2luIG9mIiBzaG91 bGQgYmUgdHdvIGVudHJpZXM7ICJmcm9tIHNvdXJjZSIgYW5kICJhcyBhbiBvcmlnaW4gb2YiICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciAxMAoKCgoqIFNlY3Rpb24g NCwgIndoZW4gYm90aCBzcGF0aWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZSBjbWF2byBhcmUgZ2l2ZW4g aW4gYSBzaW5nbGUgdGVuc2UgY29uc3RydWN0LCB0aGUgdGVtcG9yYWwgdGVuc2UgaXMgZXhwcmVz c2VkIGZpcnN0IiBkaXNhZ3JlZXMgd2l0aCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcy IGluIHRoZSBCTkYgZ3JhbW1hci4KCgoKKiBTZWN0aW9uIDksIGV4YW1wbGUgOS45IG9uIHBhZ2Ug MjI3IGhhcyAiY2lybGkiIGZvciAiY2lybGEiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiwg ZXhhbXBsZSAxMi42IHRyYW5zbGF0ZXMgbW9yc2kgYXMgImRpZSIgcmF0aGVyIHRoYW4gImFtIGRl YWQiIGluIHRoZSB0cmFuc2xhdGlvbiAoYXMgb3Bwb3NlZCB0byB0aGUgZ2xvc3MpLgoKCgoqIFNl Y3Rpb24gMTYsIGF0IHRoZSBlbmQsIHRoZSBYIGFuZCBZIGluIHRoZSAzIGZvcm1zIGRvbid0IGZp dCBwcm9wZXJseSAodGhlIDNyZCBkb2Vzbid0IG1hdGNoIHRoZSBmaXJzdCB0d28pLiBJIHJlY29t bWVuZCwgY29weWluZyBmcm9tIFNlY3Rpb24gMjMgKHdoZXJlIHRoZXkgYXJlIHdyaXR0ZW4gYWdh aW4gY29ycmVjdGx5KToKCiAgICAgICBYIC5pIFRFTlNFIGJvIFkKCiAgICAgICBURU5TRSBnaSBY IGdpIFkKCiAgICAgICBZIFRFTlNFIGxlIG51IFgKCgoKKiBTZWN0aW9uIDE3LCBleGFtcGxlIDE3 LjEyIHNob3VsZCBub3QgaGF2ZSB0aGUgc2Vjb25kICJiZXZyaSIuCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBT ZWN0aW9uIDE4LCBleGFtcGxlIDE4LjkgaXMgc3VwcG9zZWQgdG8gc2hvdyBzY2FsYXIgbmVnYXRp b24gb2YgdGVuc2VzIG5vdCBsaW1pdGVkIHRvIFBVIGFuZCBGQWhBLCBidXQgdGhlIGV4YW1wbGUg dGVuc2UgaXMgcmkndSAoRkFoQTIpLgoKCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTkuMTAgc2hv dWxkIGhhdmUgImJhIiwgbm90ICJwdSIsIGFuZCAiW2Z1dHVyZV0iLCBub3QgIltwYXN0XSIuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDI1LCBleGFt cGxlcyAyNS4xIGFuZCAyNS4yIGhhdmUgJydsdSdhJycgZm9yICcnbGEndScnLgoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiAyNSwgdGhpcyB3aG9sZSBzZWN0aW9uIGlzIGF0IG9kZHMgd2l0aCB0aGUg Zm9ybWFsIGdyYW1tYXIuIEl0IHNheXM6ICcnSXQgaXMgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNl dCB0byBiZSBwbGFjZWQgYWZ0ZXIgYSB0ZW5zZSBvciBtb2RhbCB0YWcgcmF0aGVyIHRoYW4gYSBz dW10aScnLiAgQnV0IHRoYXQgaXMgaW4gZmFjdCBpbmNvcnJlY3QsIGl0IGlzIG5vdCBncmFtbWF0 aWNhbCBmb3IgYSB0ZXJtc2V0IHRvIGJlIHRoZSBhcmd1bWVudCBvZiBhIHRhZy4KCioqIFVuZm9y dHVuYXRlbHkgdHJ1ZS4gIFRlcm1zZXRzIHN1Y2sgcm9ja3MsIGFuZCBzb21lIHdvcmsgd2lsbCBo YXZlIHRvIGJlIGRvbmUgdG8gbWFrZSBldmVyeXRoaW5nIHNhaWQgYWJvdXQgdGhlbSBjb25zaXN0 ZW50IC0tIGlmIGl0IGlzIGV2ZW4gcG9zc2libGUuICBQZXJzb25hbGx5LCBJJ2QgbGlrZSB0byBq dXN0IGJ1cm4gdGhlbS4gIC0tamNvd2FuICAnJydOT0ZJWCcnJwoKCgoqIFNlY3Rpb24gMjc6IE1P aEkgc2VlIFNlY3Rpb24gMjgsIG5vdCAyNy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgotLS0KCgoKIUNoYXB0ZXIgMTEKCgoKKiBTZWN0aW9uIDQ6IFRoZSB1c2Ugb2Yg a2EgaW4gRXhhbXBsZSA0LjQgKHBhZ2UgMjU5KSBpcyBlcnJvbmVvdXM7IGl0IHNob3VsZCBiZSBk dSd1LiAtLSgoSm9obiBDb3dhbikpICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIExhc3QgcGFyYWdyYXBoIG9mIHNlY3Rpb24gNyByZWZlcmVuY2VzIGNoYXB0ZXIgNSBm b3IgYSBkaXNjdXNzaW9uIG9mICJsdSdlIi4gIGx1J2UgaXNuJ3QgbWVudGlvbmVkIGluIGNoYXB0 ZXIgNS4gIFByb2JhYmx5IGNoYXB0ZXIgNiBpcyBtZWFudCBoZXJlLgoKKiogWWVzLCBzaG91bGQg YmUgU2VjdGlvbiA1LjEwLiAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDksIHBhZ2UgMjY2IGhhcyAic2FvJ3JkemlmYSdhIiBpbnN0ZWFkIG9mICJz YSdvcmR6aWZhJ2EiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogVGhlIHNhbWUgZXhhbXBsZSAoOS42KSBhbHNv IGhhcyBrdWN0cmEgaW5zdGVhZCBvZiBrdWN0YWkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFRoZSBib29rIHRp dGxlIGluIGV4YW1wbGUgOS42IHNlZW1zIHRvIGJlIGluY29ycmVjdDogIlRoZSBDcnVjaWZpeGlv biBvZiBKZXN1cyBDb25zaWRlcmVkIEFzIEEgRG93bmhpbGwgQmljeWNsZSBSYWNlIiBpcyBhY3R1 YWxseSAiW2h0dHA6Ly93d3cuZXZlcmdyZWVucmV2aWV3LmNvbS8xMDIvZmljdGlvbi9kdW8uaHRt bHxUaGUgQ3J1Y2lmaXhpb24gQ29uc2lkZXJlZCBBcyBBbiBVcGhpbGwgQmljeWNsZSBSYWNlXS4i CgoqKiBVbmFwcHJvdmVkCgoKCiogU2VjdGlvbiAxMDogUGFyYWdyYXBoIGFib3ZlIGV4YW1wbGUg MTAuNyByZWZlcmVuY2VzICJDaGFwdGVyIDExIi4gVGhhdCBzaG91bGQgcmVhZCAiQ2hhcHRlciAx MCIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExOiBFeGFtcGxlIDExLjUgaXMge3N1J29kYSBw b2kgdmVyYmEgY3Uga2xhbWEgcm9kZSBwb2kgY2t1bGUgbmFrdX0uIEl0IHNob3VsZCBiZSB7c3Un b2RhIHBvaSB2ZXJiYSBjdSBrbGFtYSByb2RlIHBvaSBja3VsZSBrdSdvIG5ha3V9IG9yIGFuIGVx dWl2YWxlbnQ7IGFzIGl0IHN0YW5kcyB0aGUgbmFrdSBpcyB1bmRlc2lyYWJseSBpbiB0aGUgcmVs YXRpdmUgY2xhdXNlLgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgMjY5IGhhcyBleGFtcGxlcyAxMy4x IGFuZCAxMy4yLCB0aG9zZSBzaG91bGQgYmUgY2FsbGVkIDEyLjEgYW5kIDEyLjIuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDEyCgoKCiog U2VjdGlvbiAyLCBwYWdlIDI3NS4gVGhlIHBhcmFncmFwaCB1bmRlciBFeGFtcGxlIDIuMyByZWZl cnMgdG8gaXQgYXMgRXhhbXBsZSAyLjQgKDIuNCBkb2Vzbid0IGV2ZW4gZXhpc3QpLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA1LCByaWdodCBhZnRl ciBleGFtcGxlIDUuNy4gSXQgc2F5cyAiYSIgaW5zdGVhZCBvZiAiYW4iLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA2LCBwYWdlIDI4MC4gRXhhbXBs ZSA2LjYgc2hvdWxkIGhhdmUgYSBzcGFjZSBiZXR3ZWVuICJsYSBzcGF0LiIgYW5kICJub2kiLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBwYWdlIDI4Mi4gRXhhbXBsZSA3LjUgaGFzICJiYW5z b2kiIGluc3RlYWQgb2YgImJhbHNvaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExLCBwYWdl IDI4NSBoYXMgInhhc2Nha2N1cm51IiBpbnN0ZWFkIG9mICJ4YXN5Y2FrY3VybnUiLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxMiByZWZlcnMgdG8gIm51bmtsYW1hIiBhcyB0aGUgc2FtZSBsdWp2 byBhcyAibnVua2xhIi4gIEV2ZW4gaWYgdGhlc2UgYXJlIGVxdWl2YWxlbnQgYWx0ZXJuYXRpdmVz IGl0IHdvdWxkIGJlIGxlc3MgY29uZnVzaW5nIHRvIGJlIGNvbnNpc3RlbnQuCgoKCiogU2VjdGlv biAxMiBjbGFpbXMgdGhhdCAtamF4LSBpcyBhIHJhZnNpIGZvciB7amFpfSwgYnV0IGl0IGlzbid0 IGluIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50 eHR8aHR0cDovL3d3dy5sb2piYW4ub3JnL3B1YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0 XS4gRG9lcyB7amFpfSBoYXZlIGEgcmFmc2kgb3Igbm90PwoKKiogSXQgc2hvdWxkLCBidXQgc29t ZWhvdyBpdCBuZXZlciBnb3QgaW50byB0aGUgZ2lzbXUgbGlzdCwgYW5kIGNvbnNlcXVlbnRseSBu b3QgaW50byB0aGUgcmFmc2kgbGlzdCBlaXRoZXIuICBTdGV0LCBhbmQgd2UnbGwgYWRkIGl0IHRv IHRoZSBnaXNtdSBsaXN0LiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEyLCByaWdodCBhdCB0aGUg ZW5kLCBzYXlzIHRoYXQge2ZhaX0gaXMgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTEsIGJ1dCBDaGFw dGVyIDExIG1ha2VzIG5vIG1lbnRpb24gb2Yge2ZhaX0uIE9ubHkgY2hhcHRlcnMgOSBhbmQgMTAg ZG8uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBleGFt cGxlIDE0LjIuIE1pc3NpbmcgPCAvcHJlID4gdGFnLCBhbmQgbWlzc2luZyA8IHByZT4gdGFnIGZv bGxvd2luZyBleHBsYW5hdG9yeSBwYXJhZ3JhcGguCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAyOTEu IFRoZSBwYXJhZ3JhcGggdW5kZXIgZXhhbXBsZSAxNC43IHNheXMgInNlIHhhbmNlIG1pbmR1IiBp bnN0ZWFkIG9mICJzZSB4YW5jZSBtaW5kZSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE1LCB0 d28gcGFyYWdyYXBocyBiZWZvcmUgZXhhbXBsZSAxNS43LiBJdCBzYXlzICJUaGVyZSBhcmUgc29t ZSBjb21wYXJhdGl2ZSBjb25jZXB0cyB3aGljaCBhcmUgaW4gd2hpY2ggdGhlICdzZSB6bWFkdScg aXMgZGlmZmljdWx0IHRvIHNwZWNpZnkuIiBUaGUgIndoaWNoIGFyZSBpbiB3aGljaCIgc2VlbXMg Z3JhbW1hdGljYWxseSBpbmNvcnJlY3QuCgoqKiBEcm9wICJ3aGljaCBhcmUiLiAgLS1qY293YW4g ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE1LCBl eGFtcGxlIDE1LjEsIHRoZSB4NCBvZiB7em1hZHV9IGFuZCB7bWxlY2F9IHNob3VsZCBiZSAiYnkg YW1vdW50IiBvciAiYnkgcXVhbnRpdHkiLCBub3QgImluIHF1YW50aXR5Ii4KCgoKKiBTZWN0aW9u IDE1LCBwYWdlIDI5NCwgZXhhbXBsZSAxNS4xNC4gImxhIGFpbmN0YWluIiBuZWVkcyBhIHBlcmlv ZCBiZWZvcmUgaXQgYmVjYXVzZSBpdCBzdGFydHMgd2l0aCBhIHZvd2VsLgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK Ci0tLQoKCgohQ2hhcHRlciAxMwoKCgoqIE1hbnkgaW5jaWRlbnRzIG9mIG5vdCBoYXZpbmcgcGVy aW9kcyBpbiBmcm9udCBvZiB2b3dlbC1pbml0aWFsIGNtYXZvLgoKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4g c2VjdGlvbiAyLCBwLiAzMDAgcmVmZXJlbmNlcyB0byB0aGUgZXhhbXBsZXMgZm9yIC51ZSBhbmQg LnVlY3UnaSBhcmUgZmxpcHBlZC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUgMy45LiAiZSdlIiBuZWVkcyBhIHBl cmlvZCBiZWZvcmUgaXQuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBleGFt cGxlIDMuMTAuICJ0aXNuYSIgbmVlZHMgdG8gYmUgcmVwbGFjZWQgd2l0aCAidGlzeWdhdSIuCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDQsIHBhZ2UgMzA1LiBUaGUgc2NhbGUgd2l0aCB0aGUgZ2lz bXUgbW5lbW9uaWNzIGlzIG1pc2FsaWduZWQgd2l0aCB0aGUgc2NhbGUgd2l0aCB0aGUgbWVtYmVy cyBvZiBzZWxtYSdvIENBSS4gInNhaSIgc2hvdWxkIGJlIHRhYmJlZCBvbmUgcGxhY2UgbGVmdCwg c28gdGhhdCBpdCBhbGlnbnMgd2l0aCB0c2FsaSwgJmMuCgoKCiogU2VjdGlvbiA3LCBpdCBzYXlz ICJJdCBpcyBub3QgY2xlYXIgaG93IG11Y2ggdXNlIGxvZ2ljYWxseSBjb25uZWN0ZWQgYWJzdHJh Y3RvcnMgd2lsbCBiZTogc2VlIENoYXB0ZXIgMTMuIiBJdCBzaG91bGQgYmUgIkNoYXB0ZXIgMTUu IgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQg bmVlZHMgYXBwcm92YWwKCiogU2VjdGlvbiAxMCwgcGFnZSAzMTMuIFRoZXJlIGlzIGEgbWlzc2lu ZyBzcGFjZSBiZXR3ZWVuICJjb250aW51ZSBlbW90aW9uIiBhbmQgImVuZCBlbW90aW9uIi4KCgoK KiBTZWN0aW9uIDE1LiBBIHNhbXBsZSBkaWFsb2d1ZSAgMTUuNCkgLyB+bnB+W0NvbW1lbnRdIFBh bSBzYXlzLCBbUGxlYXNlXSBBbGljZSwgW2VuZC1vZi1jb21tZW50XSAvIFtDb21tZW50XSBQYW0g c2F5cywgW2VuZC1vZi1jb21tZW50XSBbUGxlYXNlXSBBbGljZSwvfi9ucH4gKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE1LCBleGFt cGxlIDE1LjUgL3hhbWd1L2dsZWtpLyA/CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE1LCBleGFt cGxlIDE1LjEwKSAvZmknaSBybyB6dmF0aSBrbyBwaW54ZSBwYSBja2FmaS9maSdpIHJvIHp2YXRp IC5pIGtvIHBpbnhlIHBhIGNrYWZpLwoKKiogTm8sIHRoaXMgb25lIGlzIHBlcmZlY3RseSBmaW5l OiAiZmknaSBybyB6dmF0aSIgaXMgYSB2b2NhdGl2ZSBwaHJhc2UsIHdoaWNoIGlzIGEgZnJlZSBt b2RpZmllciwgbWVhbmluZyB0aGF0IGl0IGNhbiBvY2N1ciBhbG1vc3QgYW55d2hlcmUuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE1LCBleGFtcGxl IDE1LjEzKSAvZmknbyBzZWxwbGVqaSBtaS9maSdvIHBsZWppIG1pLwoKKiogQW5kICJ3aXRoIHBh eWVyIiByYXRoZXIgdGhhbiAid2l0aCBwYXltZW50IjsgZXkncyBub3QgcGF5aW5nIHdpdGggZW1z ZWxmISAtLSBjYW1ndXNtaXMKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUu MTMuIFdyb25nIHVzZSBvZiB7c2VsZnV9LiB7YmV2cml9IHdvdWxkIGZpdCBiZXR0ZXIuCgotLS0K CgoKIUNoYXB0ZXIgMTQKCgoKKiBTZWN0aW9uIDgsIHJpZ2h0IGJlZm9yZSBleGFtcGxlIDguOSBp cyAicHJvZHVjaW5nIGV4YW1wbGUgOC4xMCIgd2hpY2ggc2hvdWxkIGluIGZhY3QgcmVhZCAicHJv ZHVjaW5nIGV4YW1wbGUgOC45Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gOTogYmV0d2VlbiBleGFtcGxlIDkuMTAgYW5kIDkuMTEsICJpZGVudGlm aWVkIiBzaG91bGQgcmVhZCAiaWRlbnRpY2FsIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMSwg cmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIuIEl0IHNheXMgInRlcm1zZXRzLi4uYXJlIGV4cGxhaW5l ZCBpbiBDaGFwdGVyIDEyIGFuZCBDaGFwdGVyIDE2IiBidXQgY2hhcHRlciAxMiAod2hpY2ggaXMg b24gbHVqdm8pIG1ha2VzIGFic29sdXRlbHkgbm8gbWVudGlvbiBvZiB0ZXJtc2V0cy4gQ2hhcHRl cnMgOSBhbmQgMTAgZGlzY3VzcyB0ZXJtc2V0cy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTUgaXMgbm90IGdyYW1tYXRp Y2FsIChhY2NvcmRpbmcgdG8gamJvZmknZSBhbmQgY2FteGVzKSBiZWNhdXNlIGl0IHNheXMgInBl J2UgLmUiIHdoZW4gaXQgc2hvdWxkIHNheSAicGUnZSBqZSIuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBleGFtcGxlIDE0LjE2IG1lbnRpb25z ICJzb3JtZSIsIHdoaWNoIGlzIHByb2JhYmx5IE9sZCBMb2dsYW4sIGFuZCBzaG91bGQgYmUgcmVw bGFjZWQgYnkgIm1lbnNpIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTQsICJ0aGUgc3RhdGVk IGdsb3NzIG9mIFRGVFRhcyDigJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4g dGhlIHJpZ2h0LWhhbmQgYnJpZGkgaXMgdHJ1ZTsgaWYgaXQgaXMgZmFsc2UsIHRoZSBsZWZ0LWhh bmQgYnJpZGkgbWF5IGJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiIgY2hhbmdlZCB0byAidGhlIHN0 YXRlZCBnbG9zcyBvZiBURlRUYXMg4oCcb25seSBpZuKAnSB3b3JrcyBuYXR1cmFsbHkgb25seSB3 aGVuIHRoZSByaWdodC1oYW5kIGJyaWRpIGlzIGZhbHNlOyBpZiBpdCBpcyB0cnVlLCB0aGUgbGVm dC1oYW5kIGJyaWRpIG1heSBiZSBlaXRoZXIgdHJ1ZSBvciBmYWxzZS4iCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDE1LCByaWdodCBhZnRlciAxNS45LCBpdCBzYXlzICJleGFtcGxlIDE0LjE3IiB3 aGVyZSBpdCBzaG91bGQgc2F5ICJleGFtcGxlIDE1LjkiICgxNC4xNyBkb2VzIG5vdCBleGlzdCku ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE1LCBl eGFtcGxlIDE1LjggaXMgbWlzc2luZyBhIGRvdCBhZnRlciAibGEgbG9qYmFuIi4KCgoKKiBTZWN0 aW9uIDE1LCBleGFtcGxlIDE1LjkgaXMgbm90IGdyYW1tYXRpY2FsOyBpdCBzaG91bGQgYmUgImxh IGRqYW4uIGZhJ3UgbGEgZnJhbmsuIGN1c2t1IG51J2kgYmF1IGxhIGxvamJhbi4gcGUnZSBmYSd1 IGJhaSBsYSBkam9yZGouIi4KCgoKKiBTZWN0aW9uIDE3LCBleGFtcGxlIDE3LjQgaXMgd3Jvbmcu ICBUaGUgc2VjdGlvbiBleHBsYWlucyB0aGF0IG1la3NvIG9wZXJhdG9ycyBjYW4gYmUgbG9naWNh bGx5IGNvbm5lY3RlZCB1c2luZyB7Z3UnZSAuLi4gZ2kgLi4ufSwgYnV0IHRoaXMgZXhhbXBsZSB0 cmllcyB0byBjb25uZWN0IHRoZW0gd2l0aCB7Z2UgLi4uIGdpIC4uLn0uICBSZXBsYWNlIHtnZX0g d2l0aCB7Z3UnZX0gaW4gdGhlIGV4YW1wbGUgdG8gY29ycmVjdCBpdC4KCgoKKiBTZWN0aW9uIDE5 LCBleGFtcGxlIDE5LjQgaXMgdHJhbnNsYXRlZCBhcyAiSSBvcGluZSB0aGUgZmFjdC10aGF0IGEt bWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIG9waW5lIHRoZSBm YWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXNuJ3QtYXQgSnVwaXRlciIgYnV0IHJl YWxseSBpdCdzICJJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3Mg aXMtYXQgSnVwaXRlciBvci1lbHNlIEkgX19kby1ub3RfXyBvcGluZSB0aGUgZmFjdC10aGF0IGEt bWFzcy1vZiBsaXZpbmctdGhpbmdzIF9faXMtYXRfXyBKdXBpdGVyIi4gU28gMTkuNCBpcyBhY3R1 YWxseSB0cnVlLCBub3QgZmFsc2UgYXMgaXQgaXMgY2xhaW1lZCB0byBiZS4KCioqIENvcnJlY3Qs IHNvIHRoaXMgZXhhbXBsZSB3aWxsIG5lZWQgcmVwbGFjaW5nLiAgICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBBbHNvIHRoZXJlIGlzbid0IHJlYWxseSBhIHJlYXNv biBmb3IgaXQgdG8gc2F5IGEgbWFzcyBvZiBsaXZpbmcgdGhpbmdzIGFuZCBub3Qgc29tZSBpbmRp dmlkdWFsIGxpdmluZyB0aGluZ3MuCgoqKiBTdGV0LiAgVGhlIGF1dGhvciBwcmVmZXJzIGl0IHRo YXQgd2F5LCB0aGFua3lvdXZlcnltdWNoLiAgLS1qY293YW4uCgoKCgoKLS0tCgoKCiEgQ2hhcHRl ciAxNQoKCgoqIFNlY3Rpb24gMiwgbWlzc2luZyA8IC9wcmUgPiB0YWcgYWZ0ZXIgZXhhbXBsZSAy LjggYW5kIDwgcHJlPiB0YWcgYmVmb3JlIGV4YW1wbGUgMi45LgoKCgoqIFNlY3Rpb24gNCwgZXhh bXBsZSA0LjEyIC9uYWtlL25hJ2VrZS8KCgoKKiBTZWN0aW9uIDksIHR3byBwYXJhZ3JhcGhzIGFi b3ZlIGV4YW1wbGUgOS40IHRoZSB3b3JkICJuZWdhdGl2IiBzaG91bGQgYmUgIm5lZ2F0aXZlIi4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOTogSXMg dGhlcmUgc3VwcG9zZWQgdG8gYmUgYW55IGRpZmZlcmVuY2UgYmV0d2VlbiBleC4gOS41IGFuZCA5 LjY/CgoqKiBUaGF0IHByb2JsZW0gaXMgb25seSBpbiB0aGUgb25saW5lIHZlcnNpb24uCgoKCiog U2VjdGlvbiAxMCwgdGhyZWUgcGFyYWdyYXBocyBhZnRlciBleGFtcGxlIDEwLjE0LCB0aGVyZSdz IGEgc2VtaWNvbG9uIHdoaWNoIHNob3VsZCBiZSBhIGNvbW1hIGFmdGVyICIoc2F5LCBhIHNwZWxs aW5nIGVycm9yKSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBT ZWN0aW9uIDEwLCBpdCBzYXlzICInamkndW5hJ2lrdScgbWV0YWxpbmd1aXN0aWNhbGx5IHNheXMg dGhhdCBzb21ldGhpbmcgaXMgd3Jvbmcgd2l0aCB0aGF0IGFzc3VtcHRpb24uIChTZWUgQ2hhcHRl ciAxMC4pIi4gU2hvdWxkbid0IHRoYXQgYmUgQ2hhcHRlciA5LCBtb2RhbHM/CgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKLS0tCgoKCiFDaGFwdGVyIDE2CgoKCiogU2VjdGlvbiA1LCBl eGFtcGxlIDUuNTogRW5nbGlzaCBoYXMgImV2ZXJ5IFkiIHdoZW4gaXQgc2hvdWxkIHJlYWQgImV2 ZXJ5IFgiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi42IGhhcyBhIG1pc3Np bmcgImN1IiBiZWZvcmUgInZpc2thIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgdGhlIGV4 cGxhbmF0aW9uIG9mIGV4YW1wbGUgOC4zIHNheXMgImFueSBlbnRpdHkgd2hpY2ggaXMgb25lIGlz IGFsc28gdGhlIG90aGVyIi4gVGhhdCB3b3VsZCBiZSB0cnVlIGlmIHRoZSBleGFtcGxlIHVzZWQg e2dvfSwgYnV0IGl0IHVzZXMge2dhbmFpfS4gOC4zIGRvZXMgbm90IGNsYWltIHRoYXQgaWYgc29t ZXRoaW5nIHdhbGtzIGFjcm9zcyB0aGUgZmllbGQgdGhlbiBpdCBnb2VzIHRvIHRoZSBzdG9yZS4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgQ2hhbmdlIGl0IHRvIHVzZSB7 Z299LiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiogU2FtZSBwbGFjZTogbmVlZHMgdG8gYm8g e2RhIGdvfSwgbm90IHtnbyBkYX0gIEFuZCB0aGUgZ2xvc3Mgc2hvdWxkIGJlICJGb3ItZXZlcnkg WDogWCBpcy1hLWdvZXItdG8gdGhlIHN0b3JlIGlmLWFuZC1vbmx5LWlmIGl0IGlzLWEtd2Fsa2Vy LW9uIHRoZSBmaWVsZC4iICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCBl eGFtcGxlIDguMy4gRWl0aGVyIHRoZSB7ZGF9IHNob3VsZCBjb21lIGJlZm9yZSB0aGUge2dhbmFp fSAob3IsIGJ5IHRoZSBwcmV2aW91cyBeIGVycmF0dW0sIHtnb30pIGFuZCB0aGUgZ2xvc3Mgc2hv dWxkIGJlIGNoYW5nZWQgdG8gb25seSBtZW50aW9uICJYIiBvbmNlLCBvciBhIHtkYX0gc2hvdWxk IGJlIGluc2VydGVkIGJlZm9yZSB7Y2FkenV9LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycg IGNob3NlIGZpcnN0IG9wdGlvbiBzaW5jZSBpdCdzIHRlcnNlciAoem9ydCdzIGZvcmsgYXQgbGVh c3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgoqIFRoaXM6ICJBZGphY2VudCBuZWdhdGlvbiBib3Vu ZGFyaWVzIGluIHRoZSBwcmVuZXggY2FuIGJlIGRyb3BwZWQsIiByZWFkcyBiZXR0ZXIgYXMgIkFk amFjZW50IHBhaXJzIG9mIG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUg ZHJvcHBlZCwiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCioqKiBUaGUgb25saW5lIHZlcnNpb24gc2F5cyAiQWRqYWNl bnQgZG91YmxlIG5lZ2F0aW9uIGJvdW5kYXJpZXMiLCBidXQgSSdtIG9rYXkgd2l0aCBlaXRoZXIg ImRvdWJsZSIgb3IgInBhaXJzIG9mIi4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxMCwgZXguIDEw LjUgYW5kIDEwLjYgaGF2ZSBhIHByZW5leCwgIm5ha3Ugem8ndSIsIGFmdGVyIGFuIGlqZWsuIFRo aXMgaXMgbm90IGFsbG93ZWQgYnkgdGhlIGdyYW1tYXIuIEl0IGNvdWxkIGJlIGZpeGVkIGJ5IHJl bW92aW5nIHRoZSAiem8ndSIgYW5kIHVzaW5nICJuYWt1IiBvdXRzaWRlIHRoZSBwcmVuZXgsIGFs dGhvdWdoIHRoaXMgaXMgb25seSBleHBsYWluZWQgaW4gdGhlIGZvbGxvd2luZyBTZWN0aW9uIDEx LgoKKiogVGhpcyBpcyBhIGJpZyBwcm9ibGVtLCBhbmQgSSdtIG5vdCBzdXJlIHdoYXQgc2hvdWxk IGJlIGZpeGVkLiAgLS1qY293YW4gICcnJ05PRklYJycnCgoqIFNlY3Rpb24gMTIsIGV4LiAxMi43 IGFuZCAxMi45IGhhdmUgbWlzc2luZyAiY3Uicy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTQs IEV4YW1wbGUgMTQuMSBoYXMgImJsYWNpIiAoZ2xhc3MpIG5vdCAiYmxhYmkiICh3aGl0ZSkgYXMg cGVyIHRoZSBFbmdsaXNoLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciAxNwoKCgoqIFNl Y3Rpb24gNSwgYWZ0ZXIgZXhhbXBsZSA1LjEsIHBhcmFncmFwaCBzdGFydGluZyAiSG93ZXZlciwg IiBoYXMgaW5jb3JyZWN0IGZvbnQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKKiBTZWN0aW9uIDUsIGluIHRoZSBzZWNvbmQgcGFyYWdyYXBoIGFmdGVyIGV4YW1wbGUg NS4xLCBzYXlzICd0aGUgbGVyZnUgd29yZCDigJx0eeKAnSB3b3VsZCByZXByZXNlbnQgbm90IExh dGluIOKAnHTigJ0gYnV0IEdyZWVrIOKAnHRhdeKAnS4nIFNob3VsZG4ndCBpdCBiZSAidHkuIj8K CgoKKiBTZWN0aW9uIDksIHBhZ2UgNDIxLiBsZXJmdSBzdHJpbmdzIGFyZSB3cml0dGVuIHdpdGhv dXQgcGF1c2VzIG9yIHNwYWNlcywgZXZlbiB0aG91Z2ggQlkgd29yZHMgaGF2ZSB0byBlbmQgd2l0 aCBhIGNvbnNvbmFudC4KCioqIFN0ZXQuICBCWSB3b3JkcyBkbyBub3QgZW5kIHdpdGggYSBjb25z b25hbnQsIGFuZCBhIHN0cmluZyBvZiB0aGVtIGNhbiBuZXZlciBiZSBhbWJpZ3VvdXMsIHNvIHBh dXNlcy9zcGFjZXMgYXJlIG5vdCByZXF1aXJlZC4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiA5LCBF eGFtcGxlIDkuNDogc2hvdWxkbid0ICJzeW15ankiIGJlICJzeW15ZHkiIChsb2piYW4gbW9ycGhv bG9neSk/ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9u IDEwLiBBZnRlciBFeGFtcGxlIDEwLjQuNSwgdGhlIHJlZmVyZW5jZSB0byBFeGFtcGxlIDEwLjQg c2hvdWxkIGJlIGluc3RlYWQgdG8gRXhhbXBsZSAxMC40LjUuCgoqKkluIHRoZSBjdXJyZW50IERB Ry1DTEwsIHRoZSBleGFtcGxlcyBudW1iZXJpbmcgaXMgc2FuZSwgYnV0IGFmdGVyIEV4YW1wbGUg MTAuMywgdGhlIHR3byByZWZlcmVuY2VzIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgdG8gRXhh bXBsZSAxMC4zLgoKCgoqIFJpZ2h0IGJlZm9yZSBzZWN0aW9uIDEyLCB0aGVyZSBpcyBhIGxpbmUg YnJlYWsgaW4gdGhlIG1pZGRsZSBvZiB0aGUgcGFyYWdyYXBoLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gc2VjdGlvbiAxMywgdGhlIGZpcnN0IHBhcmFncmFw aCBzdGF0ZXMgIkhpc3RvcmljYWxseSwgdGhlc2UgY2hhcmFjdGVyIHNldHMgaGF2ZSBvbmx5IGNv dmVyZWQgdGhlIEVuZ2xpc2ggYWxwaGFiZXQgYW5kIGEgZmV3IHNlbGVjdGVkIHB1bmN0dWF0aW9u IG1hcmtzLiIsIHdoaWNoIGlzIGluY29ycmVjdC4gVGhlcmUgaGF2ZSBiZWVuIG11bHRpdHVkZXMg b2YgY2hhcmFjdGVyIHNldHMgZm9yIHdyaXRpbmcgc3lzdGVtcyBvdGhlciB0aGFuIHRoZSBFbmds aXNoIGFscGhhYmV0LgoKKiogQ2hhbmdlIHRvIHNvbWV0aGluZyBhbG9uZyB0aGUgbGluZSBvZiAi SGlzdG9yaWNhbGx5LCBlYWNoIG9mIHRoZXNlIGNoYXJhY3RlciBzZXRzIGhhcyBvbmx5IGNvdmVy ZWQgYSBwYXJ0aWN1bGFyIHdyaXRpbmcgc3lzdGVtLiIKCgoKKiBTZWN0aW9uIDE3LCBwYWdlIDQy Ny4gIi50dnJpeWRvcy4gYnUiIGJlZ2lucyB3aXRoIHRoZSBjb25zb25hbnQgY2x1c3Rlciwgd2hp Y2ggaXNuJ3QgZXZlbiBwZXJtaXNzaWJsZSBtZWRpYWxseS4KCioqIGNoYW5nZSB0byB0eXZyaXlk b3MKCioqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCioqKiogQWN0dWFsbHksIGl0IHNob3VsZCBiZSAidHl2cmRvcy4gYnUi ICAtLWpjb3dhbgoKCgoqIEluIHRoZSB0YWJsZSBpbiBzZWN0aW9uIDE5LCB0aGUgbGVydmxhIGZv ciBvdmVyLWRvdCAoIi5nYXJtb2MuIGJ1IikgYW5kIG92ZXItcmluZyAoIi5nYXJqaW4uIGJ1Iikg c2hvdWxkIGJlIHVwZGF0ZWQgdG8gdGhlaXIgcG9zdC1SZWFsbG9jYXRpb24gZm9ybXMsICIuZ2Fw bW9jLiBidSIgYW5kICIuZ2FweWppbi4gYnUiLgoKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTkg aGFzIHR3byBjb2x1bW5zIHJ1biB0b2dldGhlciBpbiB0aGUgcm93IHRoYXQgc2F5cyAiRGFuaXNo L0xhdGluIGFldGVpIC5hYnUgLmVidSBmb2kiCgoKCi0tLQoKIUNoYXB0ZXIgMTgKCgoKKiBTZWN0 aW9uIDMsIGV4LiAzLjEwLCBzaG91bGQgdHJhbnNsYXRlIGFzICIuMTAxMjAwMSIuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDQgZXhhbXBsZSA0 LjUgaXMgbGlua2VkIGluc3RlYWQgb2YgNC43IC0gIkV4YW1wbGUgNC41IGlzIG5vdCBgYDEgbWlu dXMgMicnLCBbLi4ufC4uLl0iIHdoZXJlIGV4YW1wbGUgNC41IGlzIGp1c3QgInRlJ28iLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA1LCBwNDM3IGV4 NS45IFtnbG9zc106IG91ciAtPiBmb3VyICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHA0Mzg6IGog dnUndSAtPiB2dSd1ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU3RhcnQgb2Ygc2VjdGlvbiAxMSBzaG91bGQgcmVh ZCB0aGVyZSBhcmUgZml2ZSBtZW1iZXJzIG9mIE1PSSAobm90IGZvdXIpLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gc2VjdGlvbiAxMSwgZXggMTEuMTAgb24g dmEnZSAic29maSd1cGFubyIgaW4gdGhlIGV4YW1wbGUgaXMgZ2xvc3NlZCBhcyAiOC8xMCIgaW5z dGVhZCBvZiAiOS8xMCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioq ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlvbiAxMSwgImxlaSByYXRjdSBw b2kgenZhdGkgbGUgcGFua2EgY3Ugc28ndW1laSBmbyBsbydpIHJhdGN1IiwgYnV0IHRoZXJlIGlz IG5vIDR0aCBwbGFjZSBvZiBtZWkuCgoqKiBSZW1vdmUgdGhlICJmbyI7ICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1w bGUgMTQuNCBuZWVkcyBhIHN1Yi0yIGFmdGVyIGJvdGggbnVtYmVycy4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IEluIHNlY3Rpb24gMTcsIGV4YW1wbGUgMTcuNSwge2dpfSBzaG91bGQgYmUgcmVwbGFjZWQgYnkg e2d1J2V9LCBiZWNhdXNlIG1la3NvIG9wZXJhdG9ycyBhcmUgdG8gYmUgY29ubmVjdGVkIGJ5IGd1 aGVrcy4gIFRoaXMgaXMgZXNzZW50aWFsbHkgdGhlIHNhbWUgbWlzdGFrZSBhcyBpbiBleGFtcGxl IDE0LzE3LjQuCgoKCiogSW4gc2VjdGlvbiAxNywgdGhlIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9y IGV4YW1wbGUgMTcuNiBoYXMgdGhlIGZvcm11bGEgcmVuZGVyZWQgd3JvbmcgaW4gdGhlIEhUTUwg dmVyc2lvbi4gIFRoZSBmcmFjdGlvbiBiYXIgc2hvdWxkIGJlIGFkZGVkIChpdCBpcyBpbnZpc2Js ZSBjdXJyZW50bHkpLCBhbmQgdGhlIHdvcmRzICJ0aGVuIHggPSIgc2hvdWxkIGJlIHZlcnRpY2Fs bHkgYWxpZ25lZCB0byB0aGUgZnJhY3Rpb24gYmFyICh0aGV5IGFyZSBjdXJyZW50bHkgYWxpZ25l ZCB0byB0aGUgbnVtZXJhdG9yKS4KCgoKKiBJbiBzZWN0aW9uIDE3LCBhdCB0aGUgYm90dG9tIG9m IHBhZ2UgNDU0LCB0aGUgcXVhZHJhdGljIGZvcm11bGEgc2hvdWxkIGJlIGRlc2NyaWJlZCBhcyBh IGNsYXNzaWMgZXhhbXBsZSBvZiBvcGVyYXRvciBsb2dpY2FsIGNvbm5lY3Rpb24sIG5vdCBvcGVy YW5kLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAy MCwgcDQ1ODogLWVzdGFibGlzaGVkIC0+IGVzdGFibGlzaGVkICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDIxIHN0YXRlcyB0aGF0IHRoZSByYWZzaSBv ZiAiZnJpbnUiIG1heSBiZSB1c2VkIGFzIHJhZnNpIGZvciAiZmkndSI7IGhvd2V2ZXIsICJmcmlu dSIgbG9zdCBib3RoIG9mIGl0cyBzaG9ydCByYWZzaSBpbiB0aGUgUmVhbGxvY2F0aW9uLCBzbyB0 aGlzIHJlYWxseSBpc24ndCB2ZXJ5IHVzZWZ1bC4gVGhlIHRhYmxlIGJlbG93IGxpc3RzICJmaSd1 IiBhcyBhIHJhZnNpIHVzYWJsZSBmb3IgImZpJ3UiLCB0aGVyZWZvcmUgb2YgImZyaW51IjsgdGhl IGdpbXN0ZSBsaXN0cyAiZmkndSIgYXMgYSByYWZzaSBvZiAiY2ZpcHUiLgoKKiogVGhpcyBpcyBh IHNlcmlvdXMgcHJvYmxlbSB3aGljaCBuZWVkcyBzb21lIHRob3VnaHQuICBUaGVyZSBuZWVkcyB0 byBiZSBhIHJhZnNpIGZvciBmaSd1IHNvbWVob3cuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCgoK KiBTZWN0aW9uIDIyIGV4YW1wbGUgMjIuMywgIm1vJ2Ugdm9ib2kgcmVub21laSBzdSdpIHplIiwg ZG9lcyBub3QgcGFyc2UuCgoqKiBJdCBuZWVkcyAidmVpIiBpbiBmcm9udCB0byBiZSBhIHF1YW50 aWZpZXIgKGFuIG9wZXJhbmQgYnkgaXRzZWxmIGlzIG5vdCBhIHBlcm1pdHRlZCBmcmFnbWVudCku IEFsc28sIHRoZSBmb2xsb3dpbmcgdGV4dCBtZW50aW9ucyAidGUndSIgYnV0IHRoZSBleGFtcGxl IG9taXRzIGl0LgoKKioqIE5vbmUgb2YgdGhvc2UgZXhhbXBsZXMgcGFyc2Ugd2l0aG91dCB7bGl9 LCB3aGljaCBJIGhhdmUgYWRkZWQgdG8gYWxsLiAgUmVwbGFjZWQgdGhlIG9uZSBpbiBxdWVzdGlv biB3aXRoICJsaSBtbydlIHZvYm9pIHJlbm9tZWkgdGUndSBzdSdpIHplIiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBT ZWN0aW9uIDI1LiAgVGhlIHJhZnNpIGZvciAic28nZSIsIC1zb3AtLCBpcyBtaXNzaW5nLCB0aGUg cmFmc2kgZm9yIHRoZSBmb2xsb3dpbmcgZm91ciB3b3JkcyBhcmUgbGlzdGVkIHVuZGVyIHRoZSB3 cm9uZyB3b3JkLiAgVGhhdCBpcywgLXNvci0gaXMgYWN0dWFsbHkgdGhlIHJhZnNpIGZvciAic28n aSIsIGFuZCAtZGF6LSBpcyB0aGUgcmFmc2kgZm9yICJkYSdhIi4KCgoKLS0tCgohQ2hhcHRlciAx OQoKCgoqIFNlY3Rpb24gNCwgcDQ2NyBleDQuMzogenUnbyAtPiB6byd1ICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSA0 NzIuIEV4YW1wbGUgNi42IGVuZHMgd2l0aCAia2xhbWEiLCBidXQgZm9yIHRoZSBhcmd1bWVudCB0 byBtYWtlIHNlbnNlLCBpdCBoYXMgdG8gc2F5ICJudW5rbGEiLgoKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2Vj dGlvbiA3LCBFeGFtcGxlIDcuMSBoYXMgYXMgdGhlIEVuZ2xpc2g6ICJJIGdvLXRvIChmaXJzdGx5 KSB0aGUgc3RvcmUgYW5kIChzZWNvbmRseSkgdGhlIG1hcmtldC4iICAidGhlIG1hcmtldCIgc2hv dWxkIGJlICJ0aGUgaG91c2UiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAxMS44LCB0aGVyZSdz IGEgZGVucGFidSBhZnRlciB7emEnZX0gYW5kIG5vIGRlbnBhYnUgYWZ0ZXIge2FsYmVpbmlhc30u CgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBu ZWVkcyBhcHByb3ZhbAoKCgoqIFNlY3Rpb24gMTEsIHRoZSBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBs ZSAxMS44IHNheXMgImN0aWlweXJpcyIgYnV0IGl0IHNob3VsZCBiZSAiY2tpaXB5cmlzIi4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKLS0tCgoKCiFDaGFwdGVyIDIwCgoK CiogU2VjdGlvbiBMRSwgcGFnZSA0OTguIEluICJsZSBnZXJrdSBrbGFtYSBsZSB6ZGFuaSIsICJj dSIgaXMgbWlzc2luZy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gVFVoRSwgcGFnZSA1MDUuIElu ICJ4YWdtYXUgem8ndSB0dSdlIGdhbmFpIGNpZGphIGdpIGNuaW5vIC5pIGdhbmFpIHZhbmp1IGdp IHRvbGNpJ28gdHUndSIsICJjbmlubyIgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJjaXRubyIuICBB bHNvLCBhIHByZW5leCBjYW4ndCBoYXZlIGEgc2VsYnJpLCBzbyAnJ3hhZ21hdScnIHNob3VsZCBi ZSByZXBsYWNlZCBieSAnJ2xvIHhhZ21hdScnLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiBTRSwg cGFnZSA1MDQ6IG1pc3NpbmcgImN1IiBhZnRlciAiemFyY2kiLgoKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4g dGhlIHBhc3NhZ2VzIG9uIFZFSSBhbmQgVkVoTywgdGhlICJibyJzIHNob3VsZCBiZSBjaGFuZ2Vk IHRvICJiaSdlInMuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0t CgoKCiFDaGFwdGVyIDIxCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUt dGVuc2UtbW9kYWwtOTcyIGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBDVWhFLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0 aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9kYWwtOTcyIGhhcyBhbiBleHRyYSBuZXdsaW5lIGluIHRo ZSBzcGFjZS90aW1lIHN1YnBocmFzZS4KCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxl IHNlbGJyaS0xLTEzMSBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTkEuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBy dWxlIHRhbnJ1LXVuaXQtMi0xNTIgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIEpBSS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycgOyBiaXphcmVs bHksIHRoZSBXb3JkIGRvYyB0aGUgYm9vayB3YXMgcHJpbnRlZCBmcm9tIGRvZXMgbm90IGhhdmUg dGhpcyBwcm9ibGVtIGF0IGFsbC4KCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG9w ZXJhdG9yLTEtMzcxIGlzIG1pc3NpbmcgdHdvICJ8Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgbWV4LW9wZXJh dG9yLTM3NCBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTUFoTyBhbmQgYW5vdGhlciBiZWZv cmUgdGhlIFZVaFUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJ biB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG9wZXJhbmQtMy0zODUgaXMgbWlzc2luZyBhICJ8 IiBiZWZvcmUgdGhlIE5JaEUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIGluIHRoZSBydWxlIHRpbWVfMTAzMCwgdGhlICJaRWhB IFtQVSBbTkFJXSBdIiBzaG91bGQgYmUgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVy b3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93 aWtpbmV1cm90aWMK