Received: from localhost ([::1]:39746 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1YBJqO-0002F4-De; Wed, 14 Jan 2015 01:02:28 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:60618 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1YBJqJ-0002Ex-BW for wikichanges@lojban.org; Wed, 14 Jan 2015 01:02:26 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Wed, 14 Jan 2015 01:02:23 -0800 From: "Apache" Date: Wed, 14 Jan 2015 01:02:23 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 3.2 (+++) X-Spam_score: 3.2 X-Spam_score_int: 32 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 iifle at 23:02 W You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (3.2 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: evergreenreview.com] 1.4 RCVD_IN_BRBL_LASTEXT RBL: No description available. [173.13.139.235 listed in bb.barracudacentral.org] 2.7 DNS_FROM_AHBL_RHSBL RBL: Envelope sender listed in dnsbl.ahbl.org [listed in digitalkingdom.org.rhsbl.ahbl.org. IN] [A] -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: [Wikichanges] Wiki page CLL, aka Reference Grammar, Errata changed by iifle X-BeenThere: wikichanges@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: wikichanges-bounces@lojban.org Content-Length: 67413 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBpaWZsZSBhdCAyMzowMiBXCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRo aXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS9DTEwlMkMlMjBha2ElMjBSZWZl cmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8g dGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cu bG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9Q0xMJTJDJTIwYWthJTIw UmVmZXJlbmNlJTIwR3JhbW1hciUyQyUyMEVycmF0YSZjb21wYXJlPTEmb2xkdmVyPTIzMSZuZXd2 ZXI9MjMyCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9s bG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxp bmVzOiAzOTctNDAwIGNoYW5nZWQgdG8gK0xpbmVzOiAzOTctNDAyIEBACistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCioqICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFs CiogU2VjdGlvbiAxMCwgcGFnZSAzMTMuIFRoZXJlIGlzIGEgbWlzc2luZyBzcGFjZSBiZXR3ZWVu ICJjb250aW51ZSBlbW90aW9uIiBhbmQgImVuZCBlbW90aW9uIi4KKyAKKyAqIFNlY3Rpb24gMTMs IGV4YW1wbGUgMTMuNCwge3NwZXJhbnRvfSBoYXMgbHVqdm8gYW5kIG5vdCB6aSdldmxhIGZvcm0K CiogU2VjdGlvbiAxNS4gQSBzYW1wbGUgZGlhbG9ndWUgIDE1LjQpIC8gfm5wfltDb21tZW50XSBQ YW0gc2F5cywgW1BsZWFzZV0gQWxpY2UsIFtlbmQtb2YtY29tbWVudF0gLyBbQ29tbWVudF0gUGFt IHNheXMsIFtlbmQtb2YtY29tbWVudF0gW1BsZWFzZV0gQWxpY2UsL34vbnB+ICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9s bG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKClRoaXMgcGFnZSBpcyBmb3IgZXJyYXRhIGluICgoVGhlIENvbXBsZXRl IExvamJhbiBMYW5ndWFnZSkpLCB0aGF0IGlzIGZvciBtaXN0YWtlcyBzdWNoIGFzIHR5cG9zLCBv ciBzZWxmLWNvbnRyYWRpY3Rpb25zLCBvciBjb250cmFkaWN0aW9ucyB3aXRoIG90aGVyIGJhc2Vs aW5lZCBsYW5ndWFnZSBkZWZpbml0aW9uIG1hdGVyaWFsLiBUaGlzIGlzIF9fbm90X18gYSBwYWdl IHRvIHB1dCBkZXNpZGVyYXRhIChzdWdnZXN0aW9ucyBmb3IgaW1wcm92ZW1lbnQpOyBzdWNoIHN1 Z2dlc3Rpb25zIHNob3VsZCBnbyB0byAoKFN1Z2dlc3Rpb25zIGZvciBDTEwsIHNlY29uZCBlZGl0 aW9uKSkuICBUaGlzIGlzIGFsc28gbm90IGEgcGFnZSB0byBwdXQgZXJyYXRhIHJlc3VsdGluZyBm cm9tIHRoZSA0dGggQmFzZWxpbmUgR3JhbW1hciBwcm9wb3NhbCAoaS5lLiwgdGhlICgoUEVHKSkg Z3JhbW1hcik7IFBFRyBncmFtbWFyIGVycmF0YSBzaG91bGQgZ28gdG8gKChDTEwgUEVHIEVycmF0 YSkpLgoKCgpBbiBvbmxpbmUgdmVyc2lvbiBvZiB0aGUgQ0xMIGluY29ycG9yYXRpbmcgdGhlIGNo YW5nZXMgb24gdGhpcyBwYWdlIFtodHRwOi8vbG9qYmFuLmdpdGh1Yi5jb20vY2xsL3xpcyBhdmFp bGFibGVdLgoKCgpTZWUgYWxzbyBbV2hhdCtpcytMb2piYW4lM0YrZXJyYXRhJmJsPXl8V2hhdCBp cyBMb2piYW4/IGVycmF0YV0gKGZvciB0aGUgcHVibGlzaGVkIHZlcnNpb24pLCBMZXZlbCAwIEJv b2tsZXQgRXJyYXRhIFt0aWtpLWVkaXRwYWdlLnBocD9wYWdlPUxldmVsKzArQm9va2xldCtFcnJh dGEmbGFuZz18P10gKGZvciB0aGUgcHJlLXB1YmxpY2F0aW9uIHJldmlld3M7IG5vdyBmaW5pc2hl ZCksIGFuZCBbTGVzc29ucytFcnJhdGEmYmw9eXxMZXNzb25zIEVycmF0YV0gKGZvciB0aGUgYmVn aW5uZXJzJyBjb3Vyc2UpLgoKCgpUaGUgIicnSU5DTFVERUQgSU4gREFHLUNMTCcnIiB0YWcgbWVh bnMgdGhhdCBodHRwOi8vbG9qYmFuLmdpdGh1Yi5jb20vY2xsLyBpbmNsdWRlcyB0aGlzIGZpeCwg d2hpY2ggYWxzbyBtZWFucyBpdCdsbCBwcm9iYWJseSBiZSBpbiB0aGUgbmV4dCBDTEwgdmVyc2lv bi4KCgoKLS0tCgoKCiFDaGFwdGVyIDEKCgoKKiBUaGVyZSBpcyBhIHBhcmFncmFwaCBhdCB0aGUg dmVyeSBiZWdpbm5pbmcgb2YgQ0xMLCBvbiBwYWdlIDQsIHdpdGggdGhlIHNlbnRlbmNlICcnIklu IGVzc2VuY2UsIENoYXB0ZXIgMiBnaXZlcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBsYW5ndWFn ZSwgQ2hhcHRlciAyMSBnaXZlcyB0aGUgZm9ybWFsIHN0cnVjdHVyZSBvZiB0aGUgbGFuZ3VhZ2Us IGFuZCB0aGUgY2hhcHRlcnMgaW4gYmV0d2VlbiBwdXQgc2VtYW50aWMgYm9uZXMgb24gdGhhdCBm b3JtYWwgZmxlc2guIicnCgoqKiBXb3VsZG4ndCBpdCBtYWtlIG1vcmUgc2Vuc2UgdG8gc2F5ICJw dXQgc2VtYW50aWMgZmxlc2ggb24gdGhvc2UgZm9ybWFsIGJvbmVzIj8gKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biA2LCBpdCBzYXlzICJMYXJyeSBIb3JuJ3Mgd29yayAnJ1RoZSBOYXR1cmFsIEhpc3Rvcnkgb2Yg TmVnYXRpb24nJyIuIEl0IHdvdWxkIGFwcGVhciB0aGF0IGV2ZXJ5b25lIGVsc2UgY2FsbHMgaXQg JydfX0FfXyBOYXR1cmFsIEhpc3Rvcnkgb2YgTmVnYXRpb24nJywgYnkgX19MYXVyZW5jZV9fIChS LikgSG9ybi4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFz dCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCi0tLQoKIUNoYXB0ZXIgMgoKCgoqIFNlY3Rpb24gNSBl eGFtcGxlIDUuNyB1c2VzICJ0aSIgdG8gcG9pbnQgYXQgYSBsYW5ndWFnZSwgYW5kIHNob3VsZCBo YXZlIGl0cyBhY2NvbXBhbnlpbmcgbm90ZSBjaGFuZ2VkIHRvIG1vcmUgYWNjdXJhdGVseSByZWZs ZWN0IHRoYXQgdGhpcyBpcyBub3QgaG93ICJ0aSIgd29ya3MuCgoKCiogU2VjdGlvbiA2IEV4YW1w bGUgNi41IGhhcyAiY3UiIGFzIGVsaWRhYmxlLCB3aGVuIGluIGZhY3QgaXQgaXMgc2ltcGx5IGls bGVnYWwgdGhlcmUuICBSZW1vdmVkLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqIHVhbmFp LCBJIHN0aWxsIHNlZSAiY3UiIGluIERBRy1DTEwuCgoKCiogU2VjdGlvbiA4IHBhZ2UgMTcgY2xh aW1zIHRoYXQgInh1IiBpcyBkaXNjdXNzZWQgaW4gc2VjdGlvbiAxLjcsIHdoaWNoIGhhcHBlbnMg dG8gbGlzdCB0aGUgY2FwdGlvbnMgZm9yIGFsbCB0aGUgY2hhcHRlciBwaWN0dXJlcy4KCioqIEl0 IHNob3VsZCByZWZlciB0byBTZWN0aW9uIDE1LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiogVGhlIGxpbmsgaW4gdGhlIGN1 cnJlbnQgREFHLUNMTCBpcyBwb2ludGluZyB0byAiMi8yLzE1IiBpbnN0ZWFkIG9mIHRvICIyLzE1 Ii4KCgoKKiBTZWN0aW9uIDEwIHNheXMgdGhhdCBleGFtcGxlIDEwLjMgKG1pIHRhdmxhIGRvIGxl IHRhdmxhIGt1KSBtZWFucyB0aGUgc2FtZSBhcyAobWkgdGF2bGEgZG8gbGUgdGF2bGEga3UpLiBF eGFtcGxlIDEwLjMgc2hvdWxkIGJlICJtaSB0YXZsYSBkbyBsZSB0YXZsYSIsIGFzIGl0IGRlc2Ny aWJlcyBob3cgImt1IiBtYXkgYmUgb21pdHRlZC4KCioqIEl0IGFwcGVhcnMgdGhhdCBleGFtcGxl IDEwLjMgaXMgaW5jb3JyZWN0IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1 Ymxpc2hlZCBib29rLgoKCgoqIFNlY3Rpb24gMTcgc2F5cyAiTm90ZSB0aGF0IEV4YW1wbGUgMTcu MyAgaGFzIGFuZCByZXF1aXJlcyBhIOKAnGN14oCdIHRvIHByZXZlbnQg4oCcYmFqcmHigJ0gYW5k IOKAnGtsYW1h4oCdIGZyb20gZm9ybWluZyBhIHRhbnJ1LCBidXQgRXhhbXBsZSAxNy40ICBhbmQg RXhhbXBsZSAxNy41ICBsYWNrIHRoZSB1bm5lY2Vzc2FyeSDigJxjdeKAnS4iLCBidXQgZXhhbXBs ZSAxNy4zIGlzICJsYSBkamFuLiB+bnB+W2N1XX4vbnB+IGtsYW1hIGxlIHphcmNpIi4KCioqIEl0 IGFwcGVhcnMgdGhhdCB0aGUgb2ZmZW5kaW5nIHNlbnRlbmNlIGlzIHByZXNlbnQgb25seSBpbiB0 aGUgb25saW5lIHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoKCiogRXhhbXBsZSAx Ny45IGlzICJsZSB2aSB0YXZsYSBrdSBjdSBiYSBrbGFtYSIgaW4gdGhlIG9ubGluZSB2ZXJzaW9u LCBhbmQgdG90YWxseSBicm9rZW4gaW4gdGhlIHB1Ymxpc2hlZCBib29rLgoKKiogR28gd2l0aCB0 aGUgb25saW5lIHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBFeGFtcGxlIDE3LjkgaW4gZGFnLWNsbCBh cyBvZiAyMDEyLTA1LTA1IGlzICJsZSB2aSB0YXZsYSB+bnB+W2t1XX4vbnB+IGN1IGJhIGtsYW1h Ii4gU2luY2UgdGhlIHNhbWUgc2VjdGlvbiBoYXMgZXhwbGFpbmVkIHRoYXQgdGVuc2UgdGFncyBt YWtlICJjdSIgdW5uZWNlc3NhcnksIEkgdGhpbmsgdGhlIGV4YW1wbGUgc2hvdWxkIGJlICJsZSB2 aSB0YXZsYSB+bnB+W2t1XSBbY3Vdfi9ucH4gYmEga2xhbWEiLgoKCgotLS0KCgoKISBDaGFwdGVy IDMKCgoKQSBsb3Qgb2YgdGhlIElQQSBleGFtcGxlcyB1c2UgYSBzcGFjZSB0byBpbmRpY2F0ZSBh IHN5bGxhYmxlIGJyZWFrLiBUaGlzIGlzIG5vdCBzdGFuZGFyZCBJUEEgdXNhZ2U7IGFjY29yZGlu ZyB0byBJUEEsIHRoZSBwZXJpb2Qg4oCcLuKAnSBzaG91bGQgYmUgdXNlZCB0byBpbmRpY2F0ZSBh IHN5bGxhYmxlIGRpdmlzaW9uLgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMDogaW4gdGhlIHRhYmxl IHRoZSBkZXNjcmlwdGlvbiBvZiAiYXBvc3Ryb3BoZSIgc2hvdWxkIHJlYWQgImFuIHVudm9pY2Vk IGdsb3R0YWwgc3BpcmFudCIsIG5vdCAiYSB1bnZvaWNlZCIuCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0 aW9uIDIsIGRpZ2l0YWwgdmVyc2lvbi4gIFRoZSBJUEEgdGFibGUgZ290IGhvcnJpYmx5IG1hbmds ZWQgc29tZXdoZXJlIGFsb25nIHRoZSB3YXkuICBJdCBzaG91bGQgbG9vayBsaWtlIChTQU1QQSBj b2x1bW4gYWRkZWQpOgoKCgp8fCBMZXR0ZXIgfCBJUEEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFNBTVBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgog JyAgICAgIHwgW2hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZ2xv dHRhbCBzcGlyYW50ICAgICAgICAgICAgICAgICAgICAgIAoKICwgICAgICB8IC0tLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgLS0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IHRoZSBzeWxsYWJsZSBzZXBhcmF0b3IgICAgICAgICAgICAg ICAgICAgICAgICAgICAKCiAuICAgICAgfCBbypRdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbP10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYSBnbG90dGFsIHN0b3Agb3IgYSBwYXVzZSAgICAgICAgICAgICAgICAgICAgICAgIAoKIGEg ICAgICB8IFthXSwgW8mRXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFthXSwgW0Fd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiBvcGVuIHZvd2VsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogYiAgICAgIHwgW2JdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbYl0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgc3RvcCAgICAgICAgICAgICAg ICAgICAgICAgICAgIAoKIGMgICAgICB8IFvKg10sIFvKgl0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbU10sIFtzYF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYW4gdW52b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAg IAoKIGQgICAgICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2Rd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGRl bnRhbC9hbHZlb2xhciBzdG9wICAgICAgICAgICAgICAgICAgICAKCiBlICAgICAgfCBbyZtdLCBb ZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbRV0sIFtlXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9udCBtaWQgdm93ZWwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAoKIGYgICAgICB8IFtmXSwgW8m4XSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFtmXSwgW3BcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhbiB1bnZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAg CgogZyAgICAgIHwgW8mhXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2dd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIHZl bGFyIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBpICAgICAgfCBbaV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtpXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGZyb250IGNsb3NlIHZvd2VsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCgogaiAgICAgIHwgW8qSXSwgW8qQXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFtaXSwgW3pgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhIHZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAg ICAgICAgCgogayAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBba10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52 b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGwgICAgICB8IFts XSwgW2zMqV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbbF0sIFtsPV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgbGF0ZXJhbCBhcHByb3hp bWFudCAobWF5IGJlIHN5bGxhYmljKSAgIAoKIG0gICAgICB8IFttXSwgW23MqV0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbbV0sIFttPV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgbmFzYWwgKG1heSBiZSBzeWxsYWJpYykg ICAgICAgIAoKIG4gICAgICB8IFtuXSwgW27MqV0sIFvFi10sIFvFi8ypXSAgICAgICAgICAgICAg ICAgICAgIHwgW25dLCBbbj1dLCBbTl0sIFtOPV0gICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGEgdm9pY2VkIGRlbnRhbCBvciB2ZWxhciBuYXNhbCAobWF5IGJlIHN5bGxhYmljKSAKCiBvICAg ICAgfCBbb10sIFvJlF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbb10sIFtPXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIG1pZCB2b3dlbCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIHAgICAgICB8IFtwXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAg ICAgICAgICAgICAKCiByICAgICAgfCBbcl0sIFvJuV0sIFvJvl0sIFvKgF0sIFtyzKldLCBbybnM qV0sIFvJvsypXSwgW8qAzKldIHwgW3JdLCBbclxdLCBbNF0sIFtSXF0sIFtyPV0sIFtyXD1dLCBb ND1dLCBbUlw9XSB8IGEgcmhvdGljIHNvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKCiBzICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IFtzXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZv aWNlZCBhbHZlb2xhciBzaWJpbGFudCAgICAgICAgICAgICAgICAgICAgCgogdCAgICAgIHwgW3Rd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZGVudGFsL2FsdmVvbGFy IHN0b3AgICAgICAgICAgICAgICAgIAoKIHUgICAgICB8IFt1XSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgW3VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGEgYmFjayBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKCiB2ICAgICAgfCBbdl0sIFvOsl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBb dl0sIFtCXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQg bGFiaWFsIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgICAKCiB4ICAgICAgfCBbeF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt4XSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBmcmljYXRpdmUgICAg ICAgICAgICAgICAgICAgICAgCgogeSAgICAgIHwgW8mZXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgW0BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGEgY2VudHJhbCBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK CiB6ICAgICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt6XSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBhbHZl b2xhciBzaWJpbGFudCAgICAgICAgICAgICAgICAgICAgICAgfHwKCgoKKiogU29ydC1vZiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSk7IHdoYXQgSSBhY3R1YWxseSBkaWQg aXMgaGFkIEFybnQgcmV2aWV3IHdoYXQgc29tZW9uZSBlbnRlcmVkIGluIERBRy1DTEwsIHdoaWNo IHByZXN1bWFibHkgd2FzIGJhc2VkIG9uIHRoZSBhYm92ZS4gICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBmb3IgdGhlIHNlY29uZCBlbmcgKGltbWVkaWF0 ZWx5IHRvIHRoZSBsZWZ0IG9mICIobWF5IGJlIHN5bGxhYmljKSIpIHRoZSBzeWxsYWJpY2l0eSBt YXJrZXIgaXMgY29uY2VhbGVkIGJ5IHRoZSByaWdodCB0YWlsLgoKKiogSSBjYW4ganVzdCBiYXJl bHkgc2VlIHRoZSBtYXJrZXIgdW5kZXIgYSBnb29kIGxpZ2h0LiAgICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKKioqIEZvciBmdXR1cmUgZWRpdGlvbnMgOi0pICwgbm90ZSB0 aGF0IHRoZSBJUEEgYXBwcm92ZXMgcHV0dGluZyBkaWFjcml0aWNzIGFib3ZlIHJhdGhlciB0aGFu IGJlbG93IHRoZSBsZXR0ZXIgaW4gY2FzZXMgbGlrZSB0aGVzZS4gVW5mb3J0dW5hdGVseSwgdGhl IGZvbnRzIGhpdGhlcnRvIGF2YWlsYWJsZSBoYXZlIG5vdCBtYWRlIHRoaXMgZmFjaWxpdHkgYXZh aWxhYmxlLCBzbyBvdXRzaWRlIHRoZSBqb3VybmFsIG9mIHRoZSBJUEEgaXRzZWxmLCBzdWNoIG92 ZXItZGlhY3JpdGljcyBhcmUgc2VsZG9tIHNlZW4uIOKAlCBuaXRjaW9uCgoKCiogSW4gc2VjdGlv biAzLjIsIHRoZSBjb21tYSBzaG91bGQgKHByb2JhYmx5KSBiZSByZXByZXNlbnRlZCBieSB0aGUg SVBBIG5vdGF0aW9uIFsufC5dLCBhcyB0aGUgcGVyaW9kIGlzIHVzZWQgaW4gSVBBIHRvIGRlbm90 ZSBzeWxsYWJsZSBicmVha3MuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9qYmFuIHBob25lbWUgL3IvLCB0aGUg SVBBIHN5bWJvbCBmb3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9pY2VkIGFwaWNhbCB0YXAgaXMgZ2l2 ZW4gd2l0aCBhIHN5bGxhYmljaXR5IG1hcmtlciBiZWxvdy4gQSB0YXAgY2FuJ3QgYmUgc3lsbGFi aWMsIGJlY2F1c2UgaXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0YW50YW5lb3VzLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVtb3ZlIHRoYXQgY2FzZSBhbHRvZ2V0 aGVyLgoKCgoqIFNlY3Rpb24gMi4gIFRoZSBkZXNjcmlwdGlvbnMgb2YgJydjJycgYW5kICcnaicn IGFyZSBsaXN0ZWQgYXMgImNvcm9uYWwgc2liaWxhbnQicy4gIFRoZSBkZXNjcmlwdGlvbnMgc2hv dWxkIHJlYWQgInZvaWNlbGVzcyBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlIiBhbmQgInZvaWNlZCBw b3N0YWx2ZW9sYXIgZnJpY2F0aXZlIiwgcmVzcGVjdGl2ZWx5LiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAzLCB0aGlyZCBwYXJhZ3JhcGggKHBhZ2Ug MzEpOiAiYSB1bnZvaWNlZCB2b3dlbCBnbGlkZSIgc2hvdWxkIGJlICJhbiB1bnZvaWNlZCB2b3dl bCBnbGlkZSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMzYuIElQQSBmb3IgdGhl IHVuYWNjZXB0YWJsZSBBbWVyaWNhbiBmbGFwIHZhcmlhbnQgb2YgaW50ZXJ2b2NhbGljICcndCcn IHNob3dzIHRoZSBHQSAnJ3InJyBzb3VuZCAodXBzaWRlLWRvd24gcikgaW5zdGVhZCBvZiB0aGUg ZmxhcCAobGlrZSBhbiByIHdpdGggbm8gdmVydGljYWwgYml0IGF0IHRoZSB0b3Ag4oCUIHNlZSB0 aGUgbGlzdCBvZiBhY2NlcHRpYmxlICcncicnIHZhcmlhbnRzIG9uIG9uIHBhZ2UgNDQgd2hlcmUg aXQgYXBwZWFycyBjb3JyZWN0bHkpICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gKFNhbWUgYXMgcHJldmlvdXMg ZXJyYXR1bSkgVGhlIGNvbnNvbmFudCBpcyByZWZlcnJlZCB0byBhcyBhIGZsYXAsIHdoaWxlIGl0 IGlzIGFjdHVhbGx5IGEgdGFwLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiA3LiBJbiBiZXR3ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJhIHBhaXJpbmcg b2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBlcXVpdmFsZW50IHZvd2VscyIgc2hvdWxkIHJlYWQgImEg cGFpcmluZyBvZiB2b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgY29uc29uYW50cyIuCgoK CiogU2VjdGlvbiA4LCBwYWdlIDM4LiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgInhhcGNrZSIg aGFzIGMgd2hlcmUgaXQgc2hvdWxkIGhhdmUgUyAobG9uZyBzKS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MC4gSVBBIGZvciBwcm9u dW5jaWF0aW9uIG9mICJkaWt5anZvIiBoYXMgaiB3aGVyZSBpdCBzaG91bGQgaGF2ZSBaICh0aGF0 IGxpdHRsZSBzY3JpcHQgeiB0aGluZykgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ni4gV2hhdCBzaG91bGQgYmUg dGhlIEN5cmlsbGljIGxldHRlciA7IGlzIHByaW50ZWQgYXMgc29tZXRoaW5nIHRoYXQgbG9va3Mg bGlrZSB0aGUgR3JlZWsgbGV0dGVyIC4gSXMgdGhpcyBvbmx5IGEgdHlwb2dyYXBoaWNhbCB2YXJp YW50IG9mIHRoZSA7LCBvciBpcyBpdCBhIHZhcmlhbnQ/CgoKCioqIFRoaXMgZXJyYXR1bSBpcyBp bmRlY2lwaGVyYWJsZSBhbmQgc2hvdWxkIGJlIGRyb3BwZWQsIHVubGVzcyBzb21lb25lIGNhbiBy ZWNvbnN0cnVjdCBpdC4gIFRoZSBDeXJpbGxpYyBsZXR0ZXJzIGxvb2sgZmluZS4gIC0tamNvd2Fu CgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ni4gUmVwbGFjZSB0aGUgd29yZHMgInRoZSBoYXJkIHNp Z24iIHdpdGggYW4gYWN0dWFsIGhhcmQgc2lnbiwgVSswNDRBIENZUklMTElDIFNNQUxMIExFVFRF UiBIQVJEIFNJR04uCgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ny4gImFyZS8iZXNzZSIgc2hvdWxk IHByb2JhYmx5IGJlICJhcmUiLyJlc3NlIiAodGhlIGFjdXRlIG9uIHRoZSBhIG1heSBvciBtYXkg bm90IGhhdmUgYmVlbiBsZWZ0IG9mZiwgYnV0IHRoZSBjbG9zaW5nIHF1b3RlIGFmdGVyIGFyZSBp cyBkZWZpbmF0ZWx5IG1pc3NpbmcuKQoKKiogTXkgY29weSBzaG93cyB0aGUgYWN1dGUuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDQKCgoKKiBTZWN0aW9uIDQsIHBhZ2UgNTQuIFRoZSBi b29rIHN0YXRlcyB0aGF0IGZ1J2l2bGEgd2l0aCBhIGZvcm0gbGlrZSAnJ3NwYSdpJycgYXJlIHZh bGlkLiBUaGV5IGFyZSBub3QsIHRoZXkgZmFpbCB0aGUgc2xpbmt1J2kgdGVzdC4gKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiA2LCBwIDU4LCAiLWxhYyIgaW4gdGhlIHRoaXJkIHRhYmxlIGluIHRoYXQgc2VjdGlv biBzaG91bGQgYmUgIi1sYWMtIgoKCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTW9zdCBjbWF2byB0 aGF0IGhhdmUgcmFmc2kgYXJlIG9uZXMgdXNlZCBpbiBjb21wb3NpbmcgdGFucnUgKGZvciBhIGNv bXBsZXRlIGxpc3QsIHNlZSBDaGFwdGVyIDEyKSIsIGJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpc3Qg aW4gQ2hhcHRlciAxMiwgb3IgYW55d2hlcmUgaW4gdGhlIGJvb2sgKGp1J29zYWkpLiBQZXJoYXBz IGl0IHdhbnRzIHRvIHBvaW50IHRvIHRoZSBsaXN0IG9mIFBBIHJhZnNpIGluIENoYXB0ZXIgMTgg c2VjdGlvbiAyNT8gT3IgdG8gdGhlIGxpc3RzIG9mIHRhbnJ1IGluIENoYXB0ZXIgNSBzZWN0aW9u cyAxNCBhbmQgMTU/CgoqKiBXaGF0IEkgcHJvYmFibHkgbWVhbnQgd2FzIHRoYXQgQ2hhcHRlciAx MiwgdGFrZW4gYXMgYSB3aG9sZSwgZGlzY3Vzc2VzIHRoZSBjbWF2byB1c2VkIGluIGNvbnN0cnVj dGluZyB0YW5ydS4gIEkgZG9uJ3QgdGhpbmsgYW55IHNwZWNpZmljIGxpc3QgZXZlciBleGlzdGVk LiAgSSdkIGp1c3QgZHJvcCB0aGUgcGFyZW50aGV0aWNhbCBzZW50ZW5jZS4KCgoKKiBTZWN0aW9u IDYsIGp1c3QgYWZ0ZXIgZXhhbXBsZSA2LjkuIEl0IHNheXMgInNvbWUgb2YgdGhlIHVucmVkdWNl ZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZSIsIGJ1dCBpdCBpcyBub3QgcmVmZXJyaW5n IHRvIHRoZSBwcmV2aW91cyBleGFtcGxlOiBpdCBpcyByZWZlcnJpbmcgYWxsIHRoZSB3YXkgYmFj ayB0byBleGFtcGxlcyA2LjEgYW5kIDYuMiwgc28gaXQgc2hvdWxkIGJlICJzb21lIG9mIHRoZSB1 bnJlZHVjZWQgZm9ybXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGVfX3NfXyIuCgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpCgooQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKSAgUmVmZXIgZXhwbGljaXRseSB0byA2LjEgYW5kIDYuMgoKCgoq IFNlY3Rpb24gNywgcGFnZSA2MC4gSW4gZXhhbXBsZSA2LjE2LCB0aGUgd29yZCAieGFybnlrYXJj ZSIgaXMgZ2xvc3NlZCBhcyAid2FyLWNhciIuIEVpdGhlciB0aGUgZ2xvc3Mgc2hvdWxkIGJlIHVw ZGF0ZWQgdG8gcmVmbGVjdCB0aGUgdmVsanZvICgic3R1YmJvcm4tY2FyIiksIG9yIHRoZSBsdWp2 byBzaG91bGQgYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBnbG9zcyAiamFta2FyY2UiCgoqKiBU aGUgbGF0dGVyICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywgbWFraW5nIGEgdHlwZSAzIGZ1J2l2bGEs IHN0ZXAgNSBzaG91bGQgcmVhZCAic3RlcHMgMS00Iiwgbm90ICJzdGVwcyAxLTUiLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA3LCBzdGVwIDUgb2Yg dGhlIFN0YWdlIDMgZnUnaXZsYTogImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFuZCB0aGUg cmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJyAob3IgdmljZSB2ZXJzYSkgdXNl IGFuICcnbCcnLWh5cGhlbiIgc2hvdWxkIHJlYWQgICJpZiB0aGUgcmFmc2kgZW5kcyBpbiAnJ3In JyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJyduJycsICcndGMnJywg Jyd0cycnLCAnJ2R6Jycgb3IgJydkaicnLCBvciB0aGUgcmFmc2kgZW5kcyBpbiAnJ24nJyBhbmQg dGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJydyJycgdXNlIGFuICcnbCcnLWh5 cGhlbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBUaGUgZW5k IG9mIHNlY3Rpb24gNyBzZWVtcyB0byBpbXBseSB0aGF0IGNtZW5lIGFyZSBleGVtcHQgZnJvbSB0 aGUgbm9ybWFsIHJlc3RyaWN0aW9ucyBvbiBjb25zb25hbnQgY2x1c3RlcnMgYXMgbG9uZyBhcyBl YWNoIGNvbnNvbmFudCBwYWlyIGlzIHZhbGlkLgoKCgoqIFNlY3Rpb24gOC4gRXhhbXBsZSA4LjEw ICcnZGphbmRqb256JycgaXMgbm90IHZhbGlkIGxvamJhbiBhcyBpdCBjb250YWlucyB0aGUgZm9y YmlkZGVuIGNvbnNvbmFudCBzZXF1ZW5jZSBgbmRqYC4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpICBSZXBsYWNlIHdpdGggYSBkaWZmZXJlbnQgbmFtZS4KCioqIFJlcGxh Y2luZyB3aXRoICJKb2huIEJyb3duIiBhcyAiZGphbmJyYXVuIi4gLS1ybHBvd2VsbCAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA2Ni4gRXhhbXBsZSA4LjEyLiBT YXlzIHRoYXQgdGhlIGdpc211ICJzb2xyaSIgbWVhbnMgImFjdHVhbGx5LCAncGVydGFpbmluZyB0 byB0aGUgc3VuJyIuIFRoaXMgaXMgZmFsc2UuIEFjY29yZGluZyB0byB0aGUgZ2lzbXUgbGlzdCwg aXQgbWVhbnMgJydpcycnYSBzdW4uCgoqKiBMZWF2ZSB0aGlzIG9uZSBhbG9uZS4gIEFzIGEgc2Vs dGF1LCAic29scmkiIGRvZXMgaW5kZWVkIG1lYW4gInNvbGFyIi4gIC0tamNvd2FuCgoKCiogU2Vj dGlvbiAxMSwgNWEpICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdGhhdCBq b2luIHRoZSBDVkMgcmFmc2ksIGFuZCBhbHNvIHRoZSBwYWlyIGJldHdlZW4gdGhlIGxhc3QgQ1ZD IGFuZCB0aGUgWCBwb3J0aW9uLCBpZ25vcmluZyBhbnkgInkiLWh5cGhlbiBiZWZvcmUgdGhlIFgu Jycgc2hvdWxkIHJlYWQgaW5zdGVhZDogJydFeGFtaW5lIGFsbCB0aGUgQy9DIGNvbnNvbmFudCBw YWlycyB1cCB0byB0aGUgZmlyc3QgInkiLWh5cGhlbiwgb3IgdXAgdG8gdGhlIGVuZCBvZiB0aGUg d29yZCBpbiBjYXNlIHRoZXJlIGFyZSBubyAieSItaHlwaGVucy4nJwoKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiAxMi4gSW4gRXhhbXBsZXMgMTIuMiwgMTIuMyBhbmQgMTIuNCB0aGUgY2FsY3VsYXRp b25zIGFyZSBnaXZlbiBhcyAzMjUwMCBtaW51cyB0aGUgc2NvcmUsIGluc3RlYWQgb2Ygc2ltcGx5 IHRoZSBzY29yZS4gKFByb2JhYmx5IGZyb20gcHJldmlvdXMgdmVyc2lvbnMgb2YgdGhlIGFsZ29y aXRobS4pICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gMTMsIHBhZ2UgNzQsIHRoaXJkIHRhYmxlOiB0aGVyZSBpcyBubyBzcGFjZSBiZXR3ZWVuICJs b2piYXVncmkiIGFuZCAibG9qYmFuZ3lncmkiLCBzbyB0aGF0IHRoZXkgYXJlIHJ1biBpbnRvIG9u ZSB3b3JkIGluIHRoZSBzZWNvbmQgY29sdW1uIG9mIHRoZSB0YWJsZS4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUgc3RhdGVzIHRoYXQgImR6aXBv IiBjb21lcyBmcm9tICJjYWR6dSBjaXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4gIFRoaXMgZmFpbHMg dG8gbWFrZSBzZW5zZSBlaXRoZXIgZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50aWNhbGx5IChJZiB0 aGUgbmFtZSByZWZlcnMgdG8gcGVuZ3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBvdGhlciBmZWF0 dXJlcyBvZiBBbnRhcmN0aWNhIHRoYXQgYXJlIG1vcmUgcHJvbWluZW50IGFuZCBub3Qgc2hhcmVk IGJ5IG90aGVyIHBsYWNlcykuICBJIHN1c3BlY3QgdGhhdCB0aGUgd29yZCBtYXkgYWN0dWFsbHkg Y29tZSBmcm9tICJkaXpsbyBkYXBsdSIgKCJsb3cgaXNsYW5kIiksIHdoaWNoIGlzIGEgc29tZXdo YXQgbW9yZSByZWFzb25hYmxlIG5hbWUuCgoqKiBOb3QgYW4gZXJyYXR1bSwgdGhlIHdvcmQgcmVh bGx5IGRvZXMgY29tZSBmcm9tICJjYURadSBjSVBuaSIuIFRoYXQgaXQgZmFpbHMgdG8gbWFrZSBz ZW5zZSBkb2Vzbid0IGNoYW5nZSB0aGUgZmFjdCB0aGF0IHRoYXQgaXMgaG93IHRoZXkgY29uc3Ry dWN0ZWQgaXQuIFRoZSBldHltb2xvZ2llcyBvZiAiYmVtcm8iIGFuZCAia2V0Y28iIG1ha2UgZXZl biBsZXNzIHNlbnNlLCBieSB0aGUgd2F5LgoKKioqIENvcnJlY3QsIGJ1dCB0aGUgZXR5bW9sb2dp ZXMgYXJlIHdoYXQgdGhleSBhcmUuICAtLWpjb3dhbgoKCgotLS0KCgoKIUNoYXB0ZXIgNQoKCgoq IFNlY3Rpb24gNiwgZXhhbXBsZSA2LjE1OiBJdCBzYXlzIHt4YW1ndSBqbyBjb3J0dSBudW50YXZs YX0sIGFuZCB0aGUgZ2xvc3Mgc2F5cyB7KGdvb2QgaWYtYW5kLW9ubHktaWYgc2hvcnQpIHNwZWVj aH0sIGJ1dCB7Y29ydHV9IG1lYW5zICJodXJ0Iiwgbm90ICJzaG9ydCIuCgoqKiAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJyAgKGNoYW5nZWQgdG8ge3RvcmR1fSkgKGluIHpvcnQncyBmb3JrIGF0IGxl YXN0KSAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBFeGFtcGxlIDYu MTY6IHZham5pIGp1IHNlbHBsdWthIG51bnRhdmxhICwgIChpbXBvcnRhbnQgd2hldGhlci1vci1u b3QgcGxlYXNpbmcpIGV2ZW50LW9mLXRhbGtpbmcKCioqIFNob3VsZCBiZSBwbHVrYSwgbm90IHNl bHBsdWthLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4IHNheXMgImludm9sdmluZyBzZWxtYSdvIFZP aEEgYW5kIEdPaEksIGV4cGxhaW5lZCBpbiBDaGFwdGVyIDciLCBidXQgVk9oQSBkb2Vzbid0IGFw cGVhciBpbiBDaGFwdGVyIDcuIFZPaEEgZG9lc24ndCBldmVuIHNlZW0gdG8gYmUgYSBzZWxtYSdv LCBmb3IgdGhhdCBtYXR0ZXIuIEFsc28sIHByb2JhYmx5IEdPaEkgc2hvdWxkIGJlIEdPaEE/CgoK CiogU2VjdGlvbiA4LCBwYWdlIDk2Lzk3OiBFeGFtcGxlIDguMTMgbmVlZHMgc29tZSBraW5kIG9m IHRlcm1pbmF0b3IgKGxpa2UgImJlJ28iKSBiZWZvcmUgdGhlICJjbyIuICAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogQWxzbywgdGhlIHByZWNlZGluZyBwYXJhZ3Jh cGggc3VnZ2VzdHMgdGhhdCAiYmUiIGlzIHRoZSBvbmx5IHdheSB0byBmaWxsIHNlbGJyaSBwbGFj ZXMgb3RoZXIgdGhhbiB4MS4gVGhpcyBpcyBub3QgdGhlIGNhc2U6ICJtaSBsZSB6YXJjaSBjdSBr bGFtYSBjbyBzdXRyYSIgd291bGQgYWxzCgpvIHdvcmsuCgoqKiBJIGRvbid0IGFncmVlIHRoYXQg dGhlcmUncyBhbnkgc3VjaCBzdWdnZXN0aW9uLCBhbHRob3VnaCBhZGRpbmcgYSBzZWNvbmQgcG9z c2liaWxpdHkgaXMgZmluZSB3aXRoIG1lLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDkgbGlzdHMg ImtlaSIgYXMgdGhlIHRlcm1pbmF0b3IgZm9yIG51LCBidXQgaXQncyBub3Qgb25seSBmb3IgbnUs IGJ1dCBmb3IgYWxsIG9mIE5VLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDQgc2F5cyAiZGFkeWxzaSIgZm9yICJkYWR5c2xpIi4K CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IHVzZXMgInpkYW5pIGxpamdyaSIg aW4gdGhlIGV4YW1wbGUgbGlzdCwgYnV0IHRoZSBwYXJhZ3JhcGggYWZ0ZXIsIGFzIHdlbGwgYXMg dGhlIG5leHQgbGlzdCwgcmVmZXIgdG8gInpkYW5pIGxpbmppIiBhbmQgImxpbmppIHpkYW5pIi4K CgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNSBoYXMgdGhlIGx1anZvICJjcHVtaSdpIiBidXQgZGVm aW5lcyBpdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzZXQgYXMgImNwYW1pJ2kiLgoKKiogY3VhbWkn aSBzIHB1bGwtbWFjaGluZSwgc28gdXNpbmcgdGhhdCAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBw YWdlIDEwNiBzYXlzICJwbGlzZSB0YXBsYSIgZm9yICJhcHBsZSBjYWtlIi4gRG9lcyBUdXJraXNo IHJlYWxseSByZWZlciB0byBhIGNha2UgYXMgYSB0aWxlLCBvciBpcyB0aGlzIGEgbWlzdW5kZXJz dGFuZGluZyBvZiB0aGUgZGVmaW5pdGlvbiBvZiAidGFwbGEiPwoKKiogTm8sIGl0J3MgdGhhdCB7 dGFwbGF9IGNhbiBtZWFuIGJvdGggY2FrZSBhbmQgdGlsZSwgYXMgdGhlIGdpc211IGxpc3Qgc2hv d3M7IGl0J3MgYSBnZW5lcmljIHdvcmQgZm9yIGEgZmxhdCAzLUQgc2hhcGUsIG9yIHNob3J0IGN5 bGluZGVyLiAgU3RldC4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDggc2F5cyAi dHVtbGEgc3Bpc2EiLiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSAidHVtbGEgcGFnYnUiLCBzaW5j ZSBwaWVjZXMgb2YgbGFuZCBhcmUgbm90IGFjdHVhbGx5IGRldGFjaGVkLgoKKiogV2hhdCBtYWtl cyB5b3UgdGhpbmsgdGhhdCBzcGlzYSBoYXZlIHRvIGJlIGRldGFjaGVkPyAgU3RldC4gIC0tamNv d2FuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDkgc2F5cyAicm9zdHUgbW9qeXN1J2EiLiAicm9z dHUiIGlzIG5vdCBhIExvamJhbiBnaXNtdSwgbm9yIGFuIE9sZCBMb2dsYW4gcHJpbWl0aXZlLiBJ dCdzIHN1cHBvc2VkIHRvIGJlICJtcm9zdAoKdSIuCgoqKiAiTXJvc3R1IiBpcyBjb3JyZWN0LCBh bmQgdGhhdCdzIHRoZSByZWFkaW5nIG9mIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlz IGNsZWFybHkgbm90ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJp Z2h0IHJhZnNpIGZvciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBs dWp2bzsgbmVlZHMgemVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoKCgoqIFNl Y3Rpb24gMTQsIHBhZ2UgMTEyIGxpc3RzIG51bWVyb3VzIHRhbnJ1IGV4YW1wbGVzIHdob3NlIG1l YW5pbmdzIGFyZSBoeXBlcm55bXMgb2YgdGhlIHRlcnRhdSBpbnN0ZWFkIG9mIGh5cG9ueW1zLiBU aGlzIGNvbnRyYWRpY3RzIHRoZSBwcmltYXJpbmVzcyBvZiB0aGUgdGVydGF1IGFzIGRlZmluZWQg b24gcGFnZSA4NC4gVGhlIHdvcmQgImphIiBzaG91bGQgcHJvYmFibHkgYmUgaW5zZXJ0ZWQgYmV0 d2VlbiB0aGUgY29uc3RpdHVlbnRzLCBvciB0aGUgZW50aXJlIHNlY3Rpb24gc2hvdWxkIGJlIHJl bW92ZWQuCgoqKiBTdGV0LiAgTGlvbnMgY2FuJ3QgYmUgbWFkZSBvZiBzdG9uZSwgYnV0IHtyb2tj aSBjaW5mb30gaXMgYSBsZWdpdGltYXRlIHRhbnJ1IG5vbmV0aGVsZXNzLiAgLS1qY293YW4KCgoK LS0tCgoKCiFDaGFwdGVyIDYKCgoKKiBFbmQgb2Ygc2VjdGlvbiAyLCBpdCBzYXlzICJjb21wb3Vu ZCBuZWdhdG9yIGBgbmFrdScnIChkaXNjdXNzZWQgaW4gQ2hhcHRlciAxNSkiLCBidXQgIm5ha3Ui IGlzIG5ldmVyIG1lbnRpb25lZCBpbiBjaGFwdGVyIDE1OyBpbmRlZWQsIHRoZSBvbmx5IHVzZXMg b2YgdGhlIHdvcmQge2t1fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3b3JkcyB7amkndX0gb3Ige25h J2l9LiBDaGFwdGVyIDE2IHRhbGtzIGFib3V0IHtuYWt1fS4KCioqICcnSU5DTFVERUQgSU4gREFH LUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogU2Vj dGlvbiAxMiwgcC4gMTM4IGNsYWltcyB0aGF0IHRoZSBzdW10aSBpbiBleGFtcGxlcyAxMi4yIGFu ZCAxMi4zIG9wZXJhdGUgbGlrZSBleGFtcGxlcyAyLjUgYW5kIDMuNiByZXNwZWN0aXZlbHkuICIy LjYgYW5kIDMuNiIgaXMgYWxtb3N0IHN1cmVseSB3aGF0IHdhcyBtZWFudC4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIElu IHNlY3Rpb24gMTEgRXhhbXBsZSAxMS4yIG9jY3VycyB0d2ljZS4KCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gMiBoYXMgZXhhbXBsZXMgMi4zIGFuZCAyLjUgdG8gc2hvdyB0aGUgZGlmZmVyZW5jZSBi ZXR3ZWVuIHtsb30gYW5kIHtsZX0uIEV4YW1wbGUgMi41IGFuZCB0aGUgc3Vic2VxdWVudCB0ZXh0 IHNheSB0aGF0IHtsbyBuYW5tdSBjdSBuaW5tdX0gaXMgbmVjZXNzYXJpbHkgZmFsc2UgaW4gbG9q YmFuIHNpbmNlIHtub2RhIG5hbm11IGdpJ2UgbmlubXV9LiBUaGlzIGNvbnRyaWJ1dGVzIHRvIHRy YW5zLWVyYXN1cmUsIGFuZCBzaG91bGQgYmUgcmV2aXNlZC4KCgoKKiBJbiBzZWN0aW9uIDUgYmV0 d2VlbiBleGFtcGxlcyA1LjIgYW5kIDUuMywgaXQgc2F5cyB0aGF0IHRoZSB0eXBpY2FsIGxpb24g YmVzdCBleGVtcGxpZmllcyB0aGUgc2V0IG9mIGxpb25zLiBUaGlzIGlzIGZhbHNlLCBpdCBleGVt cGxpZmllcyBub3QgdGhlIHNldCwgYnV0IHRoZSBtZW1iZXJzIG9mIHRoYXQgc2V0LgoKCgotLS0K CgoKISBDaGFwdGVyIDcKCiogU2VjdGlvbiA1LiBodHRwOi8vbG9qYmFuLmdpdGh1Yi5pby9jbGwv Ny82L2luZGV4Lmh0bWwuIDYuMTQgaXMgdXNhZ2Ugd2l0aCBvdXRlciByZXBlYXRpbmcuIEl0IHdv dWxkIHNlZW0gdGhhdCB3YXMgYSBtaXN0YWtlLiBMb29raW5nIGF0IHRoYXQsIGl0IHNlZW1zIGxp a2UgdGhlIGF1dGhvciBleHBlY3RzIHtuZWl9IHRvIHJlcGVhdCB0aGUgZW50aXJlIG91dGVybW9z dCBicmlkaSwgYW5kIGV4cGVjdHMge25vJ2F9IHRvIHJlcGVhdCB0aGUgb3V0ZXIgYnJpZGkgYWxv bmUsIHNvbWVob3cgd2l0aG91dCB0aGUgY3VycmVudCBpbm5lcm1vc3QgYnJpZGkuIE9yIHNvbWV0 aGluZy4gRGVmaW5pdGVseSBzZWVtcyBtaXN0YWtlbiB0byBtZS4gc28gd2l0aCB6bydlIGluIHBs YWNlIG9mIHRoZSBhYnN0cmFjdGlvbiBjbGF1c2UuIEluIHRoaXMgY2FzZSwgbWF5YmUgd2l0aCB7 emknb30sIGFjdHVhbGx5LgoKVGhhdCB3b3VsZCBiZSB1c2VmdWwgYnV0IGl0IHdvdWxkIGJlIG5p Y2UgaWYgdGhhdCBoYWQgYmVlbiBleHBsaWNpdC4KCiogU2VjdGlvbiA2LCBwYWdlIDE1NSBoYXMg YSBub3RlIGJlbG93IGV4YW1wbGUgNi4xMyB0aGF0IHNheXMsIGluIHBhcnQ6ICJUaGUgTG9qYmFu IGRvZXMgbm90IGNvbnRhaW4gYW4gZXF1aXZhbGVudCBvZiB0aGUgIm15IiBpbiBjb2xsb3F1aWFs IEVuZ2xpc2g7IiBhbmQgdGhlbiBnb2VzIG9uIHRvIGV4cGxhaW4gaG93IGV4YW1wbGUgNi4xMyBj b3VsZCBiZSBtb2RpZmllZCB0byBpbmNsdWRlICB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhl IHNwZWFrZXIgYW5kIHRoZWlyIHNvbiBhbmQgZGF1Z2h0ZXIuICBJIGJlbGlldmUgeW91IGNvdWxk IHNheSAibGUgbWkgYmVyc2EiIG9yICJsZSBiZXJzYSBwZSBtaSIgdG8gZXhwcmVzcyB0aGUgRW5n bGlzaCAibXksIiB0aGVyZWZvciByZW1vdmluZyB0aGUgKHByZXN1bWFibHkgaW5hY2N1cmF0ZSkg bm90ZSBhbmQgbWFraW5nIHRoZSBMb2piYW4gdHJhbnNsYXRpb24gbW9yZSBhY2N1cmF0ZS4KCioq IFN1cmUgeW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9mIHRoZSBub3RlICh3aGljaCBpcyAnJ25v dCcnIGluYWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBob3cgdG8gdXNlIHJlbGF0aXZlIGNsYXVz ZXMsIGJ1dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRpYyBFbmdsaXNoIHZlcnNpb24gY29u dGFpbnMgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBMb2piYW4gdmVyc2lvbiBkb2VzLiAgU3Rl dC4KCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU2IGhhcyAnJ2thcmNhJycgZm9yICcna2FyY2UnJy4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFmdGVyIGV4YW1wbGUg Ni4xOCBpcyBhIHBhcmFncmFwaCB0aGF0IHF1b3RlcyBub24tZXhpc3RlbnQgdGV4dCBmcm9tIGV4 YW1wbGUgNi4xMC4gICJnbydlIHJhJ28iIHNob3VsZCByZWFkICJnbydpIHJhJ28iIGFuZCAiZG8g Z28nZSIgc2hvdWxkIHJlYWQgIm1pIGdvJ2kiCgoqKiBUaGUgY29ycmVjdCBjb3JyZWN0aW9uIGlz IHRvIHJlcGxhY2UgIkIncyBzdGF0ZW1lbnQiIHdpdGggIkEncyBzZWNvbmQgc3RhdGVtZW50Ii4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKioqIE5vdCByZWFsbHkuICJn bydlIHJhJ28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdvdWxkIG1lYW4gdGhlIHNhbWUgYXMg ImdvJ2UiLCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFsIGNvcnJlY3Rpb24gaXMgdmFsaWQg dGhvdWdoLgoKCgoqU2VjdGlvbiA2LCB0aGUgZXhjZXB0aW9ucyB0byB0aGUgYW5hcGhvcmEgcnVs ZXMgYXJlIGFsbW9zdCBjZXJ0YWlubHkgaW5jb21wbGV0ZS4gSW4gcGFydGljdWxhciAibWEiIGFu ZCAiY2UndSIgZGVmaW5pdGVseSB3YXJyYW50IGV4Y2VwdGlvbnMuCgoKCiogU2VjdGlvbiA3LCBl eGFtcGxlIDcuNyBoYXMgIm1pIHpiYXN1IGxvaSBtdWRyaSB6aSdvIiBmb3IgIm1pIHpiYXN1IGxl IGRpbmp1IHppJ28iCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE1OCBpbXBsaWVzIHRo YXQgJyd2bydhJyctc2VyaWVzIGFuYXBob3JhIHJlZmVyIHRvIHN1bXRpIG9mIHRoZSBicmlkaSB0 aGV5IHRoZW1zZWx2ZXMgYXJlIHN1bXRpIG9mLiBUaGlzIGNvbnRyYWRpY3RzIHRoZSBjbWF2byBs aXN0LCBhbmQgaXMgaW5jb3JyZWN0OiAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhvcmEgKGFjY29yZGlu ZyB0byB0aGUgbWEnb3N0ZSkgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIG91dGVybW9zdCBicmlkaSB3 aXRoaW4gdGhlIGN1cnJlbnQgc2VudGVuY2UuIFRoaXMgbWFrZXMgdGhlbSBsb2dvcGhvcnMvbG9u ZyBkaXN0YW5jZSByZWZsZXhpdmVzLCByYXRoZXIgdGhhbiBzaG9ydC1kaXN0YW5jZSByZWZsZXhp dmVzLCBhcyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2UuIFRodXMsIGluICcnbWkgbmVsY2kg bGVudSBkbyBwcmFtaSB2bydhJycsICcndm8nYScnbWVhbnMgJydtaScnLCBub3QgJydkbycnLgoK KipfXy0tPl9fKChXaHkgdGhlIEJvb2sgaXMgUmlnaHQgYW5kIHRoZSBtYSdvc3RlIGlzIFdyb25n KSkKCioqKldoaWNoIG9mIHRoZSB0d28gY2FzZXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdl PyBJZiB5b3UnZCB3cml0dGVuIGl0IGluIExvamJhbiwgSSdkIGtub3chCgoqKioqIEknZCBndWVz cyB0aGF0IHNob3J0LWRpc3RhbmNlIGlzIG5vcm1hbCwgYi9jIG90aGVyd2lzZSBpdCB3b3VsZCBu b3QgYmUgd29ydGggY29tcGFyaW5nIHRoZSB0d28uIEJ1dCBvZiBjb3Vyc2UgaW4gbG9qYmFuIHdl IHdvdWxkbid0IGhhdmUgdG8gZ2xvcmsgdGhhdC4KCioqKioqIFNob3J0LWRpc3RhbmNlIGlzIGlu ZGVlZCBub3JtYWwsIGJ1dCBMb2piYW5pc3RzIGhhdmUgY29uc2lzdGVudGx5IHVzZWQgbG9uZy1k aXN0YW5jZS4gIE5pY2sgd3JvdGUgYSBwZWVyLXJldmlld2VkIHBhcGVyIG9uIHRoaXMuICAtLWpj b3dhbgoKCgoqIEV4YW1wbGUgNy44LjUgKHAxNTkpOiBiYWpyYSBvbiB0aGlyZCBsaW5lIHNob3Vs ZCBiZSBiYWp5a2xhLCBsaWtlIHRoZSBvdGhlcnMuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgs IGl0IHNheXMgIkV4YW1wbGUgOS4zIGlzIGEgdHJ1bHkgcHJlZ25hbnQgcXVlc3Rpb24uLi4iIHdo ZW4gZXhhbXBsZSA5LjIgaXMgdGhlIHByZWduYW50IHF1ZXN0aW9uLCBhbmQgZXhhbXBsZSA5LjMg aXMgYSBiZXR0ZXIgd2F5IG9mIGV4cHJlc3NpbmcgIldobyBhcmUgeW91PyIKCgoKKiBTZWN0aW9u IDE1LCBpdCBzYXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZpbmcgYGB6aSdvJycgYXJlIGFsc28g cG9zc2libGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGluIENoYXB0ZXIgMTIiLCBidXQgbm93 aGVyZSBkb2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29yZCB7emknb30sIG11Y2ggbGVzcyBs dWp2byBpbnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkgYSBDaGFwdGVyIDEyIGVycmF0dW0u CgotLS0KCgoKIUNoYXB0ZXIgOAoKCgoqIFNlY3Rpb24gMS4gRXhhbXBsZSAxLjggaXMgc2FpZCB0 byBiZSBlcXVpdmFsZW50IHRvIEV4YW1wbGUgMS40LCB3aGVuIGl0IGlzIGluc3RlYWQgZXF1aXZh bGVudCB0byBFeGFtcGxlIDEuNS4KCgoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4YW1wbGUgMy4yMCBz aG91bGQgaGF2ZSB7eGFuY2V9IGluc3RlYWQgb2Yge3hhbmNpfSwgd2hpY2ggaXMgZGVmaW5pdGVs eSBhIHR5cG8uIC0taWRvbnRrbncKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcC4gMTgxOiAg OC4xKSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBuYW1jdScnc2hvdWxkIGJlICcnbGkgcGFpIG5v aSBuYSdlIGZyaW51IGN1IG5hbWN1JycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBTZWN0aW9uIDgsIEV4YW1wbGUgOC42LCB0aGUgdGhpcmQgbGluZSwgIkkgcnVu bmluZ2x5LWdvIHRvLXRoaXMgW3JlY2lwcm9jaXR5XSBbeDMgb2YgdGhpcyBicmlkaV0gZnJvbS10 aGF0IiwgaXMgbm90IHRoZSB1c3VhbCBkZWNlbnQgRW5nbGlzaCBvbmUgd291bGQgZXhwZWN0IGlu IHRoYXQgcG9zaXRpb247IHJlcGxhY2VkIHdpdGggIkkgcnVuIHRvIHRoaXMgZnJvbSB0aGF0IGFu ZCB2aWNlIHZlcnNhLiIgaXMgZGFnLWNsbCAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gOSwgZXhhbXBsZSA5LjIgaXMgJydjbydvIHhpcm1hJycuIFRoZW4sICcnTm90ZSB0aGF0 IEV4YW1wbGUgOS4yIHNheXMgZmFyZXdlbGwgdG8gc29tZXRoaW5nIHdoaWNoIGRvZXNu4oCZdCBy ZWFsbHkgaGF2ZSB0byBiZSBhIGhvcnNlLCBzb21ldGhpbmcgdGhhdCB0aGUgc3BlYWtlciBzaW1w bHkgdGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UsIG9yIGV2ZW4gbWlnaHQgYmUgc29tZXRoaW5n IChhIHBlcnNvbiwgZm9yIGV4YW1wbGUpIHdobyBpcyBuYW1lZCAiSG9yc2UiLiBJbiBhIHNlbnNl LCBFeGFtcGxlIDkuMiBpcyBhbWJpZ3VvdXMgYmV0d2VlbiAiY28nbyBsZSB4aXJtYSIgYW5kICJj bydvIGxhIHhpcm1hIicnLiBJcyB0aGlzIHRydWU/CgoqKiBZZXMsIGluIHRoZSBzZW5zZSB0aGF0 IGFsbCB1c2VzIG9mICJsZSIgJydtaWdodCcnIG1lYW4gImxhIi4gIEJ1dCBpdCdzIHByb2JhYmx5 IG1vcmUgY29uZnVzaW5nIHRoYW4gaXQncyB3b3J0aC4gIFRydW5jYXRlIGFmdGVyICJ0aGlua3Mg b2YgYXMgYmVpbmcgYSBob3JzZSIuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gOSBzYXlzICcnSW4g dm9jYXRpdmUgcGhyYXNlcyB3aGljaCBhcmUgc2ltcGxlIG5hbWVzIChhZnRlciB0aGUgdm9jYXRp dmUgd29yZHMpLCBhbnkgcmVsYXRpdmUgY2xhdXNlcyBtdXN0IGNvbWUganVzdCBhZnRlciB0aGUg bmFtZXMnJy4gVGhpcyBpc24ndCB0cnVlLiBSZWxhdGl2ZSBjbGF1c2VzIGNhbiBnbyBiZXR3ZWVu IHRoZSB2b2NhdGl2ZSBhbmQgdGhlIGNtZXZsYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKSAgRHJvcCBpdDsgaXQgcmVmbGVjdHMgYW4gZWFybGllciBzdGF0ZSBvZiB0aGUg bGFuZ3VhZ2UuCgoKCiogU2VjdGlvbiAxMCwgZXhhbXBsZSAxMC4zIHVzZXMgImtlJ2EgZ29pIGtv J2Ugem8ndSBrbydhIHpiYXN1IGtlJ2EiIGJ1dCBnbG9zc2VzIGl0IGFzICIoSVQgPSBpdDIgOiBp dDEgYnVpbHQgaXQyKSIuIFRoZSBhc3NpZ25lZCAia28nZSIgaXMgbm90IHVzZWQgYXMgZXhwZWN0 ZWQgb3IgZGVzY3JpYmVkLCBhbmQgc2hvdWxkIHByb2JhYmx5IGJlICJrbydhIHpiYXN1IGtvJ2Ui LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBZZXMsICJrbydhIHpiYXN1 IGtvJ2UiIGlzIGNsZWFybHkgd2hhdCdzIG1lYW50LgoKCgotLS0KCiFDaGFwdGVyIDkKCgoKKiBT ZWN0aW9uIDYsIHBsYWNlIHN0cnVjdHVyZSBvZiAnJ3BpbG5vJycgaXMgbWlzc2luZyAiZm9yIHB1 cnBvc2UgeDMiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2Vj dGlvbiA4LCB0aGUgZXhhbXBsZXMgOC41IGFuZCA4LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4gdGhl IHNhbWUgdGhpbmcsIGJ1dCBkbyBub3QuCgoqKiBQbGVhc2UgZWxhYm9yYXRlLiAgLS1qY293YW4K CioqKiA4LjUgbWVhbnMgIkkgZ2F2ZSB0aGUgYm9vayB0byBKb2huLCBiZWNhdXNlIEpvaG4gZ2F2 ZSB0aGUgbW9uZXkgdG8gbWUiIGJ1dCA4LjYgbWVhbnMgIkpvaG4gZ2F2ZSB0aGUgbW9uZXkgdG8g bWUgYmVjYXVzZSBJIGdhdmUgdGhlIGJvb2sgdG8gSm9obi4iCgoqKiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9u IDExLCBkZXNjcmlwdGlvbiBvZiB0aGUgbWVhbmluZyBvZiAiLmlqZSBzZXJpJ2EgdHUnZSIgY29u dHJhZGljdHMgdGhlIGV4cGxhbmF0aW9uIG9mIEV4YW1wbGUgOS45LCB3aGljaCB3b3VsZCBzdWdn ZXN0ICIuaWplIHJpJ2EgdHUnZSIuCgoKCiogc2VjdGlvbiAxNywgInBlcnRhaW5lZCB0byBieSBj b25jZXJuaW5nIiBzaG91bGQgYmUgc2VwYXJhdGVkLCB3aXRoICJjb25jZXJuaW5nIiBzaG91bGQg YmUgaW4gdGhlIGxhc3QgY29sdW1uIG9mIHRoZSB0YWJsZQoKCgoqIHNlY3Rpb24gMTcgImZyb20g c291cmNlIGFzIGFuIG9yaWdpbiBvZiIgc2hvdWxkIGJlIHR3byBlbnRyaWVzOyAiZnJvbSBzb3Vy Y2UiIGFuZCAiYXMgYW4gb3JpZ2luIG9mIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0K CgoKIUNoYXB0ZXIgMTAKCgoKKiBTZWN0aW9uIDQsICJ3aGVuIGJvdGggc3BhdGlhbCBhbmQgdGVt cG9yYWwgdGVuc2UgY21hdm8gYXJlIGdpdmVuIGluIGEgc2luZ2xlIHRlbnNlIGNvbnN0cnVjdCwg dGhlIHRlbXBvcmFsIHRlbnNlIGlzIGV4cHJlc3NlZCBmaXJzdCIgZGlzYWdyZWVzIHdpdGggdGhl IHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpbiB0aGUgQk5GIGdyYW1tYXIuCgoKCiogU2Vj dGlvbiA5LCBleGFtcGxlIDkuOSBvbiBwYWdlIDIyNyBoYXMgImNpcmxpIiBmb3IgImNpcmxhIi4K CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIGV4YW1wbGUgMTIuNiB0cmFuc2xhdGVzIG1vcnNp IGFzICJkaWUiIHJhdGhlciB0aGFuICJhbSBkZWFkIiBpbiB0aGUgdHJhbnNsYXRpb24gKGFzIG9w cG9zZWQgdG8gdGhlIGdsb3NzKS4KCgoKKiBTZWN0aW9uIDE2LCBhdCB0aGUgZW5kLCB0aGUgWCBh bmQgWSBpbiB0aGUgMyBmb3JtcyBkb24ndCBmaXQgcHJvcGVybHkgKHRoZSAzcmQgZG9lc24ndCBt YXRjaCB0aGUgZmlyc3QgdHdvKS4gSSByZWNvbW1lbmQsIGNvcHlpbmcgZnJvbSBTZWN0aW9uIDIz ICh3aGVyZSB0aGV5IGFyZSB3cml0dGVuIGFnYWluIGNvcnJlY3RseSk6CgogICAgICAgWCAuaSBU RU5TRSBibyBZCgogICAgICAgVEVOU0UgZ2kgWCBnaSBZCgogICAgICAgWSBURU5TRSBsZSBudSBY CgoKCiogU2VjdGlvbiAxNywgZXhhbXBsZSAxNy4xMiBzaG91bGQgbm90IGhhdmUgdGhlIHNlY29u ZCAiYmV2cmkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOCwgZXhhbXBsZSAxOC45IGlzIHN1 cHBvc2VkIHRvIHNob3cgc2NhbGFyIG5lZ2F0aW9uIG9mIHRlbnNlcyBub3QgbGltaXRlZCB0byBQ VSBhbmQgRkFoQSwgYnV0IHRoZSBleGFtcGxlIHRlbnNlIGlzIHJpJ3UgKEZBaEEyKS4KCgoKKiBT ZWN0aW9uIDE5LCBleGFtcGxlIDE5LjEwIHNob3VsZCBoYXZlICJiYSIsIG5vdCAicHUiLCBhbmQg IltmdXR1cmVdIiwgbm90ICJbcGFzdF0iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAyNSwgZXhhbXBsZXMgMjUuMSBhbmQgMjUuMiBoYXZlICcnbHUn YScnIGZvciAnJ2xhJ3UnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMjUsIHRoaXMgd2hvbGUg c2VjdGlvbiBpcyBhdCBvZGRzIHdpdGggdGhlIGZvcm1hbCBncmFtbWFyLiBJdCBzYXlzOiAnJ0l0 IGlzIGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgcGxhY2VkIGFmdGVyIGEgdGVuc2Ug b3IgbW9kYWwgdGFnIHJhdGhlciB0aGFuIGEgc3VtdGknJy4gIEJ1dCB0aGF0IGlzIGluIGZhY3Qg aW5jb3JyZWN0LCBpdCBpcyBub3QgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNldCB0byBiZSB0aGUg YXJndW1lbnQgb2YgYSB0YWcuCgoqKiBVbmZvcnR1bmF0ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNr IHJvY2tzLCBhbmQgc29tZSB3b3JrIHdpbGwgaGF2ZSB0byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0 aGluZyBzYWlkIGFib3V0IHRoZW0gY29uc2lzdGVudCAtLSBpZiBpdCBpcyBldmVuIHBvc3NpYmxl LiAgUGVyc29uYWxseSwgSSdkIGxpa2UgdG8ganVzdCBidXJuIHRoZW0uICAtLWpjb3dhbiAgJycn Tk9GSVgnJycKCgoKKiBTZWN0aW9uIDI3OiBNT2hJIHNlZSBTZWN0aW9uIDI4LCBub3QgMjcuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDEx CgoKCiogU2VjdGlvbiA0OiBUaGUgdXNlIG9mIGthIGluIEV4YW1wbGUgNC40IChwYWdlIDI1OSkg aXMgZXJyb25lb3VzOyBpdCBzaG91bGQgYmUgZHUndS4gLS0oKEpvaG4gQ293YW4pKSAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBMYXN0IHBhcmFncmFwaCBvZiBzZWN0 aW9uIDcgcmVmZXJlbmNlcyBjaGFwdGVyIDUgZm9yIGEgZGlzY3Vzc2lvbiBvZiAibHUnZSIuICBs dSdlIGlzbid0IG1lbnRpb25lZCBpbiBjaGFwdGVyIDUuICBQcm9iYWJseSBjaGFwdGVyIDYgaXMg bWVhbnQgaGVyZS4KCioqIFllcywgc2hvdWxkIGJlIFNlY3Rpb24gNS4xMC4gICAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDI2NiBoYXMg InNhbydyZHppZmEnYSIgaW5zdGVhZCBvZiAic2Enb3JkemlmYSdhIi4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFRoZSBzYW1lIGV4YW1wbGUgKDkuNikgYWxzbyBoYXMga3VjdHJhIGluc3RlYWQgb2Yga3VjdGFp CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBUaGUgYm9vayB0aXRsZSBpbiBleGFtcGxlIDkuNiBzZWVtcyB0byBi ZSBpbmNvcnJlY3Q6ICJUaGUgQ3J1Y2lmaXhpb24gb2YgSmVzdXMgQ29uc2lkZXJlZCBBcyBBIERv d25oaWxsIEJpY3ljbGUgUmFjZSIgaXMgYWN0dWFsbHkgIltodHRwOi8vd3d3LmV2ZXJncmVlbnJl dmlldy5jb20vMTAyL2ZpY3Rpb24vZHVvLmh0bWx8VGhlIENydWNpZml4aW9uIENvbnNpZGVyZWQg QXMgQW4gVXBoaWxsIEJpY3ljbGUgUmFjZV0uIgoKKiogVW5hcHByb3ZlZAoKCgoqIFNlY3Rpb24g MTA6IFBhcmFncmFwaCBhYm92ZSBleGFtcGxlIDEwLjcgcmVmZXJlbmNlcyAiQ2hhcHRlciAxMSIu IFRoYXQgc2hvdWxkIHJlYWQgIkNoYXB0ZXIgMTAiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAx MTogRXhhbXBsZSAxMS41IGlzIHtzdSdvZGEgcG9pIHZlcmJhIGN1IGtsYW1hIHJvZGUgcG9pIGNr dWxlIG5ha3V9LiBJdCBzaG91bGQgYmUge3N1J29kYSBwb2kgdmVyYmEgY3Uga2xhbWEgcm9kZSBw b2kgY2t1bGUga3UnbyBuYWt1fSBvciBhbiBlcXVpdmFsZW50OyBhcyBpdCBzdGFuZHMgdGhlIG5h a3UgaXMgdW5kZXNpcmFibHkgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZS4KCgoKKiBTZWN0aW9uIDEy LCBwYWdlIDI2OSBoYXMgZXhhbXBsZXMgMTMuMSBhbmQgMTMuMiwgdGhvc2Ugc2hvdWxkIGJlIGNh bGxlZCAxMi4xIGFuZCAxMi4yLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCi0tLQoKCgohQ2hhcHRlciAxMgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAyNzUuIFRoZSBwYXJh Z3JhcGggdW5kZXIgRXhhbXBsZSAyLjMgcmVmZXJzIHRvIGl0IGFzIEV4YW1wbGUgMi40ICgyLjQg ZG9lc24ndCBldmVuIGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gNSwgcmlnaHQgYWZ0ZXIgZXhhbXBsZSA1LjcuIEl0IHNheXMgImEiIGlu c3RlYWQgb2YgImFuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoq IFNlY3Rpb24gNiwgcGFnZSAyODAuIEV4YW1wbGUgNi42IHNob3VsZCBoYXZlIGEgc3BhY2UgYmV0 d2VlbiAibGEgc3BhdC4iIGFuZCAibm9pIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywgcGFn ZSAyODIuIEV4YW1wbGUgNy41IGhhcyAiYmFuc29pIiBpbnN0ZWFkIG9mICJiYWxzb2kiLgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxMSwgcGFnZSAyODUgaGFzICJ4YXNjYWtjdXJudSIgaW5zdGVh ZCBvZiAieGFzeWNha2N1cm51Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIgcmVmZXJzIHRv ICJudW5rbGFtYSIgYXMgdGhlIHNhbWUgbHVqdm8gYXMgIm51bmtsYSIuICBFdmVuIGlmIHRoZXNl IGFyZSBlcXVpdmFsZW50IGFsdGVybmF0aXZlcyBpdCB3b3VsZCBiZSBsZXNzIGNvbmZ1c2luZyB0 byBiZSBjb25zaXN0ZW50LgoKCgoqIFNlY3Rpb24gMTIgY2xhaW1zIHRoYXQgLWpheC0gaXMgYSBy YWZzaSBmb3Ige2phaX0sIGJ1dCBpdCBpc24ndCBpbiBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3B1 YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0fGh0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJs aWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dF0uIERvZXMge2phaX0gaGF2ZSBhIHJhZnNpIG9y IG5vdD8KCioqIEl0IHNob3VsZCwgYnV0IHNvbWVob3cgaXQgbmV2ZXIgZ290IGludG8gdGhlIGdp c211IGxpc3QsIGFuZCBjb25zZXF1ZW50bHkgbm90IGludG8gdGhlIHJhZnNpIGxpc3QgZWl0aGVy LiAgU3RldCwgYW5kIHdlJ2xsIGFkZCBpdCB0byB0aGUgZ2lzbXUgbGlzdC4gIC0tamNvd2FuCgoK CiogU2VjdGlvbiAxMiwgcmlnaHQgYXQgdGhlIGVuZCwgc2F5cyB0aGF0IHtmYWl9IGlzIGV4cGxh aW5lZCBpbiBDaGFwdGVyIDExLCBidXQgQ2hhcHRlciAxMSBtYWtlcyBubyBtZW50aW9uIG9mIHtm YWl9LiBPbmx5IGNoYXB0ZXJzIDkgYW5kIDEwIGRvLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xM JycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4yLiBNaXNzaW5nIDwgL3ByZSA+IHRh ZywgYW5kIG1pc3NpbmcgPCBwcmU+IHRhZyBmb2xsb3dpbmcgZXhwbGFuYXRvcnkgcGFyYWdyYXBo LgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMjkxLiBUaGUgcGFyYWdyYXBoIHVuZGVyIGV4YW1wbGUg MTQuNyBzYXlzICJzZSB4YW5jZSBtaW5kdSIgaW5zdGVhZCBvZiAic2UgeGFuY2UgbWluZGUiLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgdHdvIHBhcmFncmFwaHMgYmVmb3JlIGV4YW1wbGUg MTUuNy4gSXQgc2F5cyAiVGhlcmUgYXJlIHNvbWUgY29tcGFyYXRpdmUgY29uY2VwdHMgd2hpY2gg YXJlIGluIHdoaWNoIHRoZSAnc2Ugem1hZHUnIGlzIGRpZmZpY3VsdCB0byBzcGVjaWZ5LiIgVGhl ICJ3aGljaCBhcmUgaW4gd2hpY2giIHNlZW1zIGdyYW1tYXRpY2FsbHkgaW5jb3JyZWN0LgoKKiog RHJvcCAid2hpY2ggYXJlIi4gIC0tamNvd2FuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xLCB0aGUgeDQgb2Yge3ptYWR1 fSBhbmQge21sZWNhfSBzaG91bGQgYmUgImJ5IGFtb3VudCIgb3IgImJ5IHF1YW50aXR5Iiwgbm90 ICJpbiBxdWFudGl0eSIuCgoKCiogU2VjdGlvbiAxNSwgcGFnZSAyOTQsIGV4YW1wbGUgMTUuMTQu ICJsYSBhaW5jdGFpbiIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0IGJlY2F1c2UgaXQgc3RhcnRz IHdpdGggYSB2b3dlbC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgMTMKCgoKKiBNYW55 IGluY2lkZW50cyBvZiBub3QgaGF2aW5nIHBlcmlvZHMgaW4gZnJvbnQgb2Ygdm93ZWwtaW5pdGlh bCBjbWF2by4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMiwgcC4gMzAwIHJlZmVyZW5jZXMg dG8gdGhlIGV4YW1wbGVzIGZvciAudWUgYW5kIC51ZWN1J2kgYXJlIGZsaXBwZWQuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBl eGFtcGxlIDMuOS4gImUnZSIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0LgoKKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoK CiogU2VjdGlvbiAzLCBwYWdlIDMwMywgZXhhbXBsZSAzLjEwLiAidGlzbmEiIG5lZWRzIHRvIGJl IHJlcGxhY2VkIHdpdGggInRpc3lnYXUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA0LCBwYWdl IDMwNS4gVGhlIHNjYWxlIHdpdGggdGhlIGdpc211IG1uZW1vbmljcyBpcyBtaXNhbGlnbmVkIHdp dGggdGhlIHNjYWxlIHdpdGggdGhlIG1lbWJlcnMgb2Ygc2VsbWEnbyBDQUkuICJzYWkiIHNob3Vs ZCBiZSB0YWJiZWQgb25lIHBsYWNlIGxlZnQsIHNvIHRoYXQgaXQgYWxpZ25zIHdpdGggdHNhbGks ICZjLgoKCgoqIFNlY3Rpb24gNywgaXQgc2F5cyAiSXQgaXMgbm90IGNsZWFyIGhvdyBtdWNoIHVz ZSBsb2dpY2FsbHkgY29ubmVjdGVkIGFic3RyYWN0b3JzIHdpbGwgYmU6IHNlZSBDaGFwdGVyIDEz LiIgSXQgc2hvdWxkIGJlICJDaGFwdGVyIDE1LiIKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcn ICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoqIFNlY3Rpb24gMTAs IHBhZ2UgMzEzLiBUaGVyZSBpcyBhIG1pc3Npbmcgc3BhY2UgYmV0d2VlbiAiY29udGludWUgZW1v dGlvbiIgYW5kICJlbmQgZW1vdGlvbiIuCgoKCiogU2VjdGlvbiAxMywgZXhhbXBsZSAxMy40LCB7 c3BlcmFudG99IGhhcyBsdWp2byBhbmQgbm90IHppJ2V2bGEgZm9ybQoKCgoqIFNlY3Rpb24gMTUu IEEgc2FtcGxlIGRpYWxvZ3VlICAxNS40KSAvIH5ucH5bQ29tbWVudF0gUGFtIHNheXMsIFtQbGVh c2VdIEFsaWNlLCBbZW5kLW9mLWNvbW1lbnRdIC8gW0NvbW1lbnRdIFBhbSBzYXlzLCBbZW5kLW9m LWNvbW1lbnRdIFtQbGVhc2VdIEFsaWNlLC9+L25wfiAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuNSAveGFt Z3UvZ2xla2kvID8KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTApIC9m aSdpIHJvIHp2YXRpIGtvIHBpbnhlIHBhIGNrYWZpL2ZpJ2kgcm8genZhdGkgLmkga28gcGlueGUg cGEgY2thZmkvCgoqKiBObywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2 YXRpIiBpcyBhIHZvY2F0aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFu aW5nIHRoYXQgaXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuMTMpIC9maSdv IHNlbHBsZWppIG1pL2ZpJ28gcGxlamkgbWkvCgoqKiBBbmQgIndpdGggcGF5ZXIiIHJhdGhlciB0 aGFuICJ3aXRoIHBheW1lbnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYhIC0tIGNhbWd1 c21pcwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMy4gV3JvbmcgdXNl IG9mIHtzZWxmdX0uIHtiZXZyaX0gd291bGQgZml0IGJldHRlci4KCi0tLQoKCgohQ2hhcHRlciAx NAoKCgoqIFNlY3Rpb24gOCwgcmlnaHQgYmVmb3JlIGV4YW1wbGUgOC45IGlzICJwcm9kdWNpbmcg ZXhhbXBsZSA4LjEwIiB3aGljaCBzaG91bGQgaW4gZmFjdCByZWFkICJwcm9kdWNpbmcgZXhhbXBs ZSA4LjkiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biA5OiBiZXR3ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCBy ZWFkICJpZGVudGljYWwiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUg c2VjdGlvbiAxMi4gSXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIg MTIgYW5kIENoYXB0ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFr ZXMgYWJzb2x1dGVseSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBk aXNjdXNzIHRlcm1zZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4xNSBpcyBub3QgZ3JhbW1hdGljYWwgKGFjY29yZGlu ZyB0byBqYm9maSdlIGFuZCBjYW14ZXMpIGJlY2F1c2UgaXQgc2F5cyAicGUnZSAuZSIgd2hlbiBp dCBzaG91bGQgc2F5ICJwZSdlIGplIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTYgbWVudGlvbnMgInNvcm1lIiwgd2hp Y2ggaXMgcHJvYmFibHkgT2xkIExvZ2xhbiwgYW5kIHNob3VsZCBiZSByZXBsYWNlZCBieSAibWVu c2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZU VGFzIOKAnG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFu ZCBicmlkaSBpcyB0cnVlOyBpZiBpdCBpcyBmYWxzZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkg YmUgZWl0aGVyIHRydWUgb3IgZmFsc2UuIiBjaGFuZ2VkIHRvICJ0aGUgc3RhdGVkIGdsb3NzIG9m IFRGVFRhcyDigJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5IHdoZW4gdGhlIHJpZ2h0 LWhhbmQgYnJpZGkgaXMgZmFsc2U7IGlmIGl0IGlzIHRydWUsIHRoZSBsZWZ0LWhhbmQgYnJpZGkg bWF5IGJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUs IHJpZ2h0IGFmdGVyIDE1LjksIGl0IHNheXMgImV4YW1wbGUgMTQuMTciIHdoZXJlIGl0IHNob3Vs ZCBzYXkgImV4YW1wbGUgMTUuOSIgKDE0LjE3IGRvZXMgbm90IGV4aXN0KS4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOCBp cyBtaXNzaW5nIGEgZG90IGFmdGVyICJsYSBsb2piYW4iLgoKCgoqIFNlY3Rpb24gMTUsIGV4YW1w bGUgMTUuOSBpcyBub3QgZ3JhbW1hdGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBs YSBmcmFuay4gY3Vza3UgbnUnaSBiYXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jk ai4iLgoKCgoqIFNlY3Rpb24gMTcsIGV4YW1wbGUgMTcuNCBpcyB3cm9uZy4gIFRoZSBzZWN0aW9u IGV4cGxhaW5zIHRoYXQgbWVrc28gb3BlcmF0b3JzIGNhbiBiZSBsb2dpY2FsbHkgY29ubmVjdGVk IHVzaW5nIHtndSdlIC4uLiBnaSAuLi59LCBidXQgdGhpcyBleGFtcGxlIHRyaWVzIHRvIGNvbm5l Y3QgdGhlbSB3aXRoIHtnZSAuLi4gZ2kgLi4ufS4gIFJlcGxhY2Uge2dlfSB3aXRoIHtndSdlfSBp biB0aGUgZXhhbXBsZSB0byBjb3JyZWN0IGl0LgoKCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTku NCBpcyB0cmFuc2xhdGVkIGFzICJJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmlu Zy10aGluZ3MgaXMtYXQgSnVwaXRlciBvci1lbHNlIEkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1h c3Mtb2YgbGl2aW5nLXRoaW5ncyBpc24ndC1hdCBKdXBpdGVyIiBidXQgcmVhbGx5IGl0J3MgIkkg b3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVy IG9yLWVsc2UgSSBfX2RvLW5vdF9fIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmlu Zy10aGluZ3MgX19pcy1hdF9fIEp1cGl0ZXIiLiBTbyAxOS40IGlzIGFjdHVhbGx5IHRydWUsIG5v dCBmYWxzZSBhcyBpdCBpcyBjbGFpbWVkIHRvIGJlLgoKKiogQ29ycmVjdCwgc28gdGhpcyBleGFt cGxlIHdpbGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKQoKCgoqIEFsc28gdGhlcmUgaXNuJ3QgcmVhbGx5IGEgcmVhc29uIGZvciBpdCB0byBz YXkgYSBtYXNzIG9mIGxpdmluZyB0aGluZ3MgYW5kIG5vdCBzb21lIGluZGl2aWR1YWwgbGl2aW5n IHRoaW5ncy4KCioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3YXksIHRoYW5r eW91dmVyeW11Y2guICAtLWpjb3dhbi4KCgoKCgotLS0KCgoKISBDaGFwdGVyIDE1CgoKCiogU2Vj dGlvbiAyLCBtaXNzaW5nIDwgL3ByZSA+IHRhZyBhZnRlciBleGFtcGxlIDIuOCBhbmQgPCBwcmU+ IHRhZyBiZWZvcmUgZXhhbXBsZSAyLjkuCgoKCiogU2VjdGlvbiA0LCBleGFtcGxlIDQuMTIgL25h a2UvbmEnZWtlLwoKCgoqIFNlY3Rpb24gOSwgdHdvIHBhcmFncmFwaHMgYWJvdmUgZXhhbXBsZSA5 LjQgdGhlIHdvcmQgIm5lZ2F0aXYiIHNob3VsZCBiZSAibmVnYXRpdmUiLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBJcyB0aGVyZSBzdXBwb3Nl ZCB0byBiZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGV4LiA5LjUgYW5kIDkuNj8KCioqIFRoYXQg cHJvYmxlbSBpcyBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbi4KCgoKKiBTZWN0aW9uIDEwLCB0 aHJlZSBwYXJhZ3JhcGhzIGFmdGVyIGV4YW1wbGUgMTAuMTQsIHRoZXJlJ3MgYSBzZW1pY29sb24g d2hpY2ggc2hvdWxkIGJlIGEgY29tbWEgYWZ0ZXIgIihzYXksIGEgc3BlbGxpbmcgZXJyb3IpIi4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAsIGl0 IHNheXMgIidqaSd1bmEnaWt1JyBtZXRhbGluZ3Vpc3RpY2FsbHkgc2F5cyB0aGF0IHNvbWV0aGlu ZyBpcyB3cm9uZyB3aXRoIHRoYXQgYXNzdW1wdGlvbi4gKFNlZSBDaGFwdGVyIDEwLikiLiBTaG91 bGRuJ3QgdGhhdCBiZSBDaGFwdGVyIDksIG1vZGFscz8KCioqICcnSU5DTFVERUQgSU4gREFHLUNM TCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgotLS0KCgoKIUNoYXB0ZXIgMTYKCgoKKiBTZWN0aW9uIDUsIGV4YW1wbGUgNS41OiBF bmdsaXNoIGhhcyAiZXZlcnkgWSIgd2hlbiBpdCBzaG91bGQgcmVhZCAiZXZlcnkgWCIKCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNiwgZXhhbXBsZSA2LjYgaGFzIGEgbWlzc2luZyAiY3UiIGJlZm9y ZSAidmlza2EiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4LCB0aGUgZXhwbGFuYXRpb24gb2Yg ZXhhbXBsZSA4LjMgc2F5cyAiYW55IGVudGl0eSB3aGljaCBpcyBvbmUgaXMgYWxzbyB0aGUgb3Ro ZXIiLiBUaGF0IHdvdWxkIGJlIHRydWUgaWYgdGhlIGV4YW1wbGUgdXNlZCB7Z299LCBidXQgaXQg dXNlcyB7Z2FuYWl9LiA4LjMgZG9lcyBub3QgY2xhaW0gdGhhdCBpZiBzb21ldGhpbmcgd2Fsa3Mg YWNyb3NzIHRoZSBmaWVsZCB0aGVuIGl0IGdvZXMgdG8gdGhlIHN0b3JlLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBDaGFuZ2UgaXQgdG8gdXNlIHtnb30uICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqKiBTYW1lIHBsYWNlOiBuZWVkcyB0byBibyB7ZGEgZ299LCBub3Qg e2dvIGRhfSAgQW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgIkZvci1ldmVyeSBYOiBYIGlzLWEtZ29l ci10byB0aGUgc3RvcmUgaWYtYW5kLW9ubHktaWYgaXQgaXMtYS13YWxrZXItb24gdGhlIGZpZWxk LiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIGV4YW1wbGUgOC4zLiBF aXRoZXIgdGhlIHtkYX0gc2hvdWxkIGNvbWUgYmVmb3JlIHRoZSB7Z2FuYWl9IChvciwgYnkgdGhl IHByZXZpb3VzIF4gZXJyYXR1bSwge2dvfSkgYW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgY2hhbmdl ZCB0byBvbmx5IG1lbnRpb24gIlgiIG9uY2UsIG9yIGEge2RhfSBzaG91bGQgYmUgaW5zZXJ0ZWQg YmVmb3JlIHtjYWR6dX0uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgY2hvc2UgZmlyc3Qg b3B0aW9uIHNpbmNlIGl0J3MgdGVyc2VyICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRz IGFwcHJvdmFsCgoKCiogVGhpczogIkFkamFjZW50IG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhl IHByZW5leCBjYW4gYmUgZHJvcHBlZCwiIHJlYWRzIGJldHRlciBhcyAiQWRqYWNlbnQgcGFpcnMg b2YgbmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIKCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKKioqIFRoZSBvbmxpbmUgdmVyc2lvbiBzYXlzICJBZGphY2VudCBkb3VibGUgbmVn YXRpb24gYm91bmRhcmllcyIsIGJ1dCBJJ20gb2theSB3aXRoIGVpdGhlciAiZG91YmxlIiBvciAi cGFpcnMgb2YiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDEwLCBleC4gMTAuNSBhbmQgMTAuNiBo YXZlIGEgcHJlbmV4LCAibmFrdSB6byd1IiwgYWZ0ZXIgYW4gaWplay4gVGhpcyBpcyBub3QgYWxs b3dlZCBieSB0aGUgZ3JhbW1hci4gSXQgY291bGQgYmUgZml4ZWQgYnkgcmVtb3ZpbmcgdGhlICJ6 byd1IiBhbmQgdXNpbmcgIm5ha3UiIG91dHNpZGUgdGhlIHByZW5leCwgYWx0aG91Z2ggdGhpcyBp cyBvbmx5IGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIFNlY3Rpb24gMTEuCgoqKiBUaGlzIGlz IGEgYmlnIHByb2JsZW0sIGFuZCBJJ20gbm90IHN1cmUgd2hhdCBzaG91bGQgYmUgZml4ZWQuICAt LWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2VjdGlvbiAxMiwgZXguIDEyLjcgYW5kIDEyLjkgaGF2 ZSBtaXNzaW5nICJjdSJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgRXhhbXBsZSAxNC4x IGhhcyAiYmxhY2kiIChnbGFzcykgbm90ICJibGFiaSIgKHdoaXRlKSBhcyBwZXIgdGhlIEVuZ2xp c2guCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDE3CgoKCiogU2VjdGlvbiA1LCBhZnRl ciBleGFtcGxlIDUuMSwgcGFyYWdyYXBoIHN0YXJ0aW5nICJIb3dldmVyLCAiIGhhcyBpbmNvcnJl Y3QgZm9udC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gNSwgaW4gdGhlIHNlY29uZCBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSA1LjEsIHNheXMgJ3Ro ZSBsZXJmdSB3b3JkIOKAnHR54oCdIHdvdWxkIHJlcHJlc2VudCBub3QgTGF0aW4g4oCcdOKAnSBi dXQgR3JlZWsg4oCcdGF14oCdLicgU2hvdWxkbid0IGl0IGJlICJ0eS4iPwoKCgoqIFNlY3Rpb24g OSwgcGFnZSA0MjEuIGxlcmZ1IHN0cmluZ3MgYXJlIHdyaXR0ZW4gd2l0aG91dCBwYXVzZXMgb3Ig c3BhY2VzLCBldmVuIHRob3VnaCBCWSB3b3JkcyBoYXZlIHRvIGVuZCB3aXRoIGEgY29uc29uYW50 LgoKKiogU3RldC4gIEJZIHdvcmRzIGRvIG5vdCBlbmQgd2l0aCBhIGNvbnNvbmFudCwgYW5kIGEg c3RyaW5nIG9mIHRoZW0gY2FuIG5ldmVyIGJlIGFtYmlndW91cywgc28gcGF1c2VzL3NwYWNlcyBh cmUgbm90IHJlcXVpcmVkLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDksIEV4YW1wbGUgOS40OiBz aG91bGRuJ3QgInN5bXlqeSIgYmUgInN5bXlkeSIgKGxvamJhbiBtb3JwaG9sb2d5KT8gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAuIEFmdGVyIEV4 YW1wbGUgMTAuNC41LCB0aGUgcmVmZXJlbmNlIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgaW5z dGVhZCB0byBFeGFtcGxlIDEwLjQuNS4KCioqSW4gdGhlIGN1cnJlbnQgREFHLUNMTCwgdGhlIGV4 YW1wbGVzIG51bWJlcmluZyBpcyBzYW5lLCBidXQgYWZ0ZXIgRXhhbXBsZSAxMC4zLCB0aGUgdHdv IHJlZmVyZW5jZXMgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBiZSB0byBFeGFtcGxlIDEwLjMuCgoK CiogUmlnaHQgYmVmb3JlIHNlY3Rpb24gMTIsIHRoZXJlIGlzIGEgbGluZSBicmVhayBpbiB0aGUg bWlkZGxlIG9mIHRoZSBwYXJhZ3JhcGguICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBJbiBzZWN0aW9uIDEzLCB0aGUgZmlyc3QgcGFyYWdyYXBoIHN0YXRlcyAiSGlz dG9yaWNhbGx5LCB0aGVzZSBjaGFyYWN0ZXIgc2V0cyBoYXZlIG9ubHkgY292ZXJlZCB0aGUgRW5n bGlzaCBhbHBoYWJldCBhbmQgYSBmZXcgc2VsZWN0ZWQgcHVuY3R1YXRpb24gbWFya3MuIiwgd2hp Y2ggaXMgaW5jb3JyZWN0LiBUaGVyZSBoYXZlIGJlZW4gbXVsdGl0dWRlcyBvZiBjaGFyYWN0ZXIg c2V0cyBmb3Igd3JpdGluZyBzeXN0ZW1zIG90aGVyIHRoYW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQu CgoqKiBDaGFuZ2UgdG8gc29tZXRoaW5nIGFsb25nIHRoZSBsaW5lIG9mICJIaXN0b3JpY2FsbHks IGVhY2ggb2YgdGhlc2UgY2hhcmFjdGVyIHNldHMgaGFzIG9ubHkgY292ZXJlZCBhIHBhcnRpY3Vs YXIgd3JpdGluZyBzeXN0ZW0uIgoKCgoqIFNlY3Rpb24gMTcsIHBhZ2UgNDI3LiAiLnR2cml5ZG9z LiBidSIgYmVnaW5zIHdpdGggdGhlIGNvbnNvbmFudCBjbHVzdGVyLCB3aGljaCBpc24ndCBldmVu IHBlcm1pc3NpYmxlIG1lZGlhbGx5LgoKKiogY2hhbmdlIHRvIHR5dnJpeWRvcwoKKioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKioqKiBBY3R1YWxseSwgaXQgc2hvdWxkIGJlICJ0eXZyZG9zLiBidSIgIC0tamNvd2FuCgoK CiogSW4gdGhlIHRhYmxlIGluIHNlY3Rpb24gMTksIHRoZSBsZXJ2bGEgZm9yIG92ZXItZG90ICgi Lmdhcm1vYy4gYnUiKSBhbmQgb3Zlci1yaW5nICgiLmdhcmppbi4gYnUiKSBzaG91bGQgYmUgdXBk YXRlZCB0byB0aGVpciBwb3N0LVJlYWxsb2NhdGlvbiBmb3JtcywgIi5nYXBtb2MuIGJ1IiBhbmQg Ii5nYXB5amluLiBidSIuCgoqKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOSBoYXMgdHdvIGNvbHVt bnMgcnVuIHRvZ2V0aGVyIGluIHRoZSByb3cgdGhhdCBzYXlzICJEYW5pc2gvTGF0aW4gYWV0ZWkg LmFidSAuZWJ1IGZvaSIKCgoKLS0tCgohQ2hhcHRlciAxOAoKKiBbaHR0cHM6Ly9sb2piYW4uZ2l0 aHViLmlvL2NsbC8xOC8xMC8ganUndV0gaXMgaW4gVlVoVS4gSXQgc2hvdWxkIGJlIG9mIHRoZSB0 eXBlIFBBLiBOb3RpY2UgaG93IHtwaX0gYW5kIHtuaSd1fSBhbmQge2thJ299IGFuZCB7Y2knaX0g YW5kIHtmaSd1fSBhcmUgYWxsIG9mIHR5cGUge3BhfSwgc28gdGhleSBjYW4gZ28gaW4gYSBudW1l cmljYWwgbGl0ZXJhbCBiZXR3ZWVuIGRpZ2l0cy4gZXNwZWNpYWxseSB7a2Enb30sIHdoaWNoIGNh biBzZXBhcmF0ZSB0aGUgcmVhbCBwYXJ0IGFuZCBpbWFnaW5hcnkgcGFydCB0byBtYWtlIGEgY29t cGxleCBsaXRlcmFsLCBhbmQgc2ltaWxhcmx5IHtzdSdvfSBhbmQge3N1J2V9IGNhbiBzZXBhcmF0 ZSBudW1iZXJzIHRvIG1ha2UgaW50ZXJ2YWxzLgoKKiBTZWN0aW9uIDMsIGV4LiAzLjEwLCBzaG91 bGQgdHJhbnNsYXRlIGFzICIuMTAxMjAwMSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKCgoKKiBJbiBzZWN0aW9uIDQgZXhhbXBsZSA0LjUgaXMgbGlua2VkIGluc3RlYWQg b2YgNC43IC0gIkV4YW1wbGUgNC41IGlzIG5vdCBgYDEgbWludXMgMicnLCBbLi4ufC4uLl0iIHdo ZXJlIGV4YW1wbGUgNC41IGlzIGp1c3QgInRlJ28iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA1LCBwNDM3IGV4NS45IFtnbG9zc106IG91ciAtPiBm b3VyICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHA0Mzg6IGogdnUndSAtPiB2dSd1ICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU3RhcnQgb2Ygc2VjdGlvbiAxMSBzaG91bGQgcmVhZCB0aGVyZSBhcmUgZml2ZSBtZW1i ZXJzIG9mIE1PSSAobm90IGZvdXIpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogSW4gc2VjdGlvbiAxMSwgZXggMTEuMTAgb24gdmEnZSAic29maSd1cGFubyIgaW4g dGhlIGV4YW1wbGUgaXMgZ2xvc3NlZCBhcyAiOC8xMCIgaW5zdGVhZCBvZiAiOS8xMCIuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogSW4gc2VjdGlvbiAxMSwgImxlaSByYXRjdSBwb2kgenZhdGkgbGUgcGFua2EgY3Ug c28ndW1laSBmbyBsbydpIHJhdGN1IiwgYnV0IHRoZXJlIGlzIG5vIDR0aCBwbGFjZSBvZiBtZWku CgoqKiBSZW1vdmUgdGhlICJmbyI7ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTQuNCBuZWVkcyBhIHN1Yi0y IGFmdGVyIGJvdGggbnVtYmVycy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMTcsIGV4YW1w bGUgMTcuNSwge2dpfSBzaG91bGQgYmUgcmVwbGFjZWQgYnkge2d1J2V9LCBiZWNhdXNlIG1la3Nv IG9wZXJhdG9ycyBhcmUgdG8gYmUgY29ubmVjdGVkIGJ5IGd1aGVrcy4gIFRoaXMgaXMgZXNzZW50 aWFsbHkgdGhlIHNhbWUgbWlzdGFrZSBhcyBpbiBleGFtcGxlIDE0LzE3LjQuCgoKCiogSW4gc2Vj dGlvbiAxNywgdGhlIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGV4YW1wbGUgMTcuNiBoYXMgdGhl IGZvcm11bGEgcmVuZGVyZWQgd3JvbmcgaW4gdGhlIEhUTUwgdmVyc2lvbi4gIFRoZSBmcmFjdGlv biBiYXIgc2hvdWxkIGJlIGFkZGVkIChpdCBpcyBpbnZpc2JsZSBjdXJyZW50bHkpLCBhbmQgdGhl IHdvcmRzICJ0aGVuIHggPSIgc2hvdWxkIGJlIHZlcnRpY2FsbHkgYWxpZ25lZCB0byB0aGUgZnJh Y3Rpb24gYmFyICh0aGV5IGFyZSBjdXJyZW50bHkgYWxpZ25lZCB0byB0aGUgbnVtZXJhdG9yKS4K CgoKKiBJbiBzZWN0aW9uIDE3LCBhdCB0aGUgYm90dG9tIG9mIHBhZ2UgNDU0LCB0aGUgcXVhZHJh dGljIGZvcm11bGEgc2hvdWxkIGJlIGRlc2NyaWJlZCBhcyBhIGNsYXNzaWMgZXhhbXBsZSBvZiBv cGVyYXRvciBsb2dpY2FsIGNvbm5lY3Rpb24sIG5vdCBvcGVyYW5kLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyMCwgcDQ1ODogLWVzdGFibGlzaGVk IC0+IGVzdGFibGlzaGVkICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoK KiBTZWN0aW9uIDIxIHN0YXRlcyB0aGF0IHRoZSByYWZzaSBvZiAiZnJpbnUiIG1heSBiZSB1c2Vk IGFzIHJhZnNpIGZvciAiZmkndSI7IGhvd2V2ZXIsICJmcmludSIgbG9zdCBib3RoIG9mIGl0cyBz aG9ydCByYWZzaSBpbiB0aGUgUmVhbGxvY2F0aW9uLCBzbyB0aGlzIHJlYWxseSBpc24ndCB2ZXJ5 IHVzZWZ1bC4gVGhlIHRhYmxlIGJlbG93IGxpc3RzICJmaSd1IiBhcyBhIHJhZnNpIHVzYWJsZSBm b3IgImZpJ3UiLCB0aGVyZWZvcmUgb2YgImZyaW51IjsgdGhlIGdpbXN0ZSBsaXN0cyAiZmkndSIg YXMgYSByYWZzaSBvZiAiY2ZpcHUiLgoKKiogVGhpcyBpcyBhIHNlcmlvdXMgcHJvYmxlbSB3aGlj aCBuZWVkcyBzb21lIHRob3VnaHQuICBUaGVyZSBuZWVkcyB0byBiZSBhIHJhZnNpIGZvciBmaSd1 IHNvbWVob3cuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCgoKKiBTZWN0aW9uIDIyIGV4YW1wbGUg MjIuMywgIm1vJ2Ugdm9ib2kgcmVub21laSBzdSdpIHplIiwgZG9lcyBub3QgcGFyc2UuCgoqKiBJ dCBuZWVkcyAidmVpIiBpbiBmcm9udCB0byBiZSBhIHF1YW50aWZpZXIgKGFuIG9wZXJhbmQgYnkg aXRzZWxmIGlzIG5vdCBhIHBlcm1pdHRlZCBmcmFnbWVudCkuIEFsc28sIHRoZSBmb2xsb3dpbmcg dGV4dCBtZW50aW9ucyAidGUndSIgYnV0IHRoZSBleGFtcGxlIG9taXRzIGl0LgoKKioqIE5vbmUg b2YgdGhvc2UgZXhhbXBsZXMgcGFyc2Ugd2l0aG91dCB7bGl9LCB3aGljaCBJIGhhdmUgYWRkZWQg dG8gYWxsLiAgUmVwbGFjZWQgdGhlIG9uZSBpbiBxdWVzdGlvbiB3aXRoICJsaSBtbydlIHZvYm9p IHJlbm9tZWkgdGUndSBzdSdpIHplIiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJv dmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDI1LiAgVGhlIHJhZnNp IGZvciAic28nZSIsIC1zb3AtLCBpcyBtaXNzaW5nLCB0aGUgcmFmc2kgZm9yIHRoZSBmb2xsb3dp bmcgZm91ciB3b3JkcyBhcmUgbGlzdGVkIHVuZGVyIHRoZSB3cm9uZyB3b3JkLiAgVGhhdCBpcywg LXNvci0gaXMgYWN0dWFsbHkgdGhlIHJhZnNpIGZvciAic28naSIsIGFuZCAtZGF6LSBpcyB0aGUg cmFmc2kgZm9yICJkYSdhIi4KCgoKLS0tCgohQ2hhcHRlciAxOQoKCgoqIFNlY3Rpb24gNCwgcDQ2 NyBleDQuMzogenUnbyAtPiB6byd1ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSA0NzIuIEV4YW1wbGUgNi42IGVuZHMg d2l0aCAia2xhbWEiLCBidXQgZm9yIHRoZSBhcmd1bWVudCB0byBtYWtlIHNlbnNlLCBpdCBoYXMg dG8gc2F5ICJudW5rbGEiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA3LCBFeGFtcGxlIDcuMSBo YXMgYXMgdGhlIEVuZ2xpc2g6ICJJIGdvLXRvIChmaXJzdGx5KSB0aGUgc3RvcmUgYW5kIChzZWNv bmRseSkgdGhlIG1hcmtldC4iICAidGhlIG1hcmtldCIgc2hvdWxkIGJlICJ0aGUgaG91c2UiLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogRXhhbXBsZSAxMS44LCB0aGVyZSdzIGEgZGVucGFidSBhZnRlciB7emEn ZX0gYW5kIG5vIGRlbnBhYnUgYWZ0ZXIge2FsYmVpbmlhc30uCgoqKiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgoqIFNl Y3Rpb24gMTEsIHRoZSBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSAxMS44IHNheXMgImN0aWlweXJp cyIgYnV0IGl0IHNob3VsZCBiZSAiY2tpaXB5cmlzIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTMsICJhbmQgdGhlIHVuZGVmaW5lZCBmdSdpdmxh IOKAnHNwZXJhbnRv4oCdLiIgUmVwbGFjZSAiZnUnaXZsYSIgd2l0aCAibHVqdm8iLiAKCi0tLQoK CgohQ2hhcHRlciAyMAoKCgoqIFNlY3Rpb24gTEUsIHBhZ2UgNDk4LiBJbiAibGUgZ2Vya3Uga2xh bWEgbGUgemRhbmkiLCAiY3UiIGlzIG1pc3NpbmcuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIFRV aEUsIHBhZ2UgNTA1LiBJbiAieGFnbWF1IHpvJ3UgdHUnZSBnYW5haSBjaWRqYSBnaSBjbmlubyAu aSBnYW5haSB2YW5qdSBnaSB0b2xjaSdvIHR1J3UiLCAiY25pbm8iIHNob3VsZCBiZSByZXBsYWNl ZCBieSAiY2l0bm8iLiAgQWxzbywgYSBwcmVuZXggY2FuJ3QgaGF2ZSBhIHNlbGJyaSwgc28gJyd4 YWdtYXUnJyBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJydsbyB4YWdtYXUnJy4KCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gU0UsIHBhZ2UgNTA0OiBtaXNzaW5nICJjdSIgYWZ0ZXIgInphcmNpIi4KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIEluIHRoZSBwYXNzYWdlcyBvbiBWRUkgYW5kIFZFaE8sIHRoZSAiYm8icyBz aG91bGQgYmUgY2hhbmdlZCB0byAiYmknZSJzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAyMQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwg dGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0 aGUgQ1VoRS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRo ZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBoYXMgYW4gZXh0 cmEgbmV3bGluZSBpbiB0aGUgc3BhY2UvdGltZSBzdWJwaHJhc2UuCgoKCiogSW4gdGhlIEJORiBn cmFtbWFyLCB0aGUgcnVsZSBzZWxicmktMS0xMzEgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhl IE5BLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJO RiBncmFtbWFyLCB0aGUgcnVsZSB0YW5ydS11bml0LTItMTUyIGlzIG1pc3NpbmcgYSAifCIgYmVm b3JlIHRoZSBKQUkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnIDsgYml6YXJlbGx5LCB0aGUgV29yZCBkb2MgdGhlIGJvb2sgd2FzIHByaW50ZWQgZnJv bSBkb2VzIG5vdCBoYXZlIHRoaXMgcHJvYmxlbSBhdCBhbGwuCgoKCiogSW4gdGhlIEJORiBncmFt bWFyLCB0aGUgcnVsZSBvcGVyYXRvci0xLTM3MSBpcyBtaXNzaW5nIHR3byAifCIuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRo ZSBydWxlIG1leC1vcGVyYXRvci0zNzQgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE1BaE8g YW5kIGFub3RoZXIgYmVmb3JlIHRoZSBWVWhVLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYW5kLTMtMzg1 IGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBOSWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCBpbiB0aGUgcnVsZSB0aW1l XzEwMzAsIHRoZSAiWkVoQSBbUFUgW05BSV0gXSIgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVu dGhlc2VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGlu ZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWls bWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==