Received: from localhost ([::1]:34133 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1RZx6P-0000l7-Gs; Sun, 11 Dec 2011 20:02:57 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:51067 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1RZx6G-0000ku-Jb for wikineurotic@lojban.org; Sun, 11 Dec 2011 20:02:53 -0800 Received: from jukni.digitalkingdom.org (localhost [127.0.0.1]) by jukni.digitalkingdom.org (8.14.5/8.14.5) with ESMTP id pBC42lZR020629 for ; Sun, 11 Dec 2011 20:02:47 -0800 Received: (from apache@localhost) by jukni.digitalkingdom.org (8.14.5/8.14.5/Submit) id pBC42lTs020628; Sun, 11 Dec 2011 20:02:47 -0800 Date: Sun, 11 Dec 2011 20:02:47 -0800 X-Authentication-Warning: jukni.digitalkingdom.org: apache set sender to webmaster@lojban.org using -f To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 From: webmaster@lojban.org Message-ID: X-MIME-Autoconverted: from 8bit to quoted-printable by jukni.digitalkingdom.org id pBC42lZR020629 X-Spam-Score: 1.0 (+) X-Spam_score: 1.0 X-Spam_score_int: 10 X-Spam_bar: + X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page CLL, aka Reference Grammar, Errata was changed by Marica Odagaki at 04:02 UTC Comment: Fixed formatting, added errata for chapter 5, section 8 You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 0.6 TO_NO_BRKTS_DYNIP To: misformatted and dynamic rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by Marica Odagaki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBNYXJpY2EgT2RhZ2FraSBhdCAwNDowMiBVVEMKQ29tbWVudDogRml4ZWQgZm9ybWF0dGluZywg YWRkZWQgZXJyYXRhIGZvciBjaGFwdGVyIDUsIHNlY3Rpb24gOAoKWW91IGNhbiB2aWV3IHRoZSBw YWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kv Q0xMJTJDJTIwYWthJTIwUmVmZXJlbmNlJTIwR3JhbW1hciUyQyUyMEVycmF0YQoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPUNMTCUyQyUyMGFrYSUyMFJlZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBFcnJhdGEmY29tcGFy ZT0xJm9sZHZlcj0yMDYmbmV3dmVyPTIwNwoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lv biBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0 ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rCkBAIC1MaW5lczogMTY0LTE3MiBjaGFuZ2VkIHRvICtMaW5lczogMTY0LTE3 MyBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKwoqIEV4YW1wbGUgNi4xNjogdmFqbmkganUgc2VscGx1a2EgbnVudGF2bGEgLCAgKGlt cG9ydGFudCB3aGV0aGVyLW9yLW5vdCBwbGVhc2luZykgZXZlbnQtb2YtdGFsa2luZwoqKiBTaG91 bGQgYmUgcGx1a2EsIG5vdCBzZWxwbHVrYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJworIAorICogU2VjdGlvbiA4IHNheXMg Imludm9sdmluZyBzZWxtYSdvIFZPaEEgYW5kIEdPaEksIGV4cGxhaW5lZCBpbiBDaGFwdGVyIDci LCBidXQgVk9oQSBkb2Vzbid0IGFwcGVhciBpbiBDaGFwdGVyIDcuIFZPaEEgZG9lc24ndCBldmVu IHNlZW0gdG8gYmUgYSBzZWxtYSdvLCBmb3IgdGhhdCBtYXR0ZXIuIEFsc28sIHByb2JhYmx5IEdP aEkgc2hvdWxkIGJlIEdPaEE/CgoqIFNlY3Rpb24gOCwgcGFnZSA5Ni85NzogRXhhbXBsZSA4LjEz IG5lZWRzIHNvbWUga2luZCBvZiB0ZXJtaW5hdG9yIChsaWtlICJiZSdvIikgYmVmb3JlIHRoZSAi Y28iLiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKLSAqIEFsc28sIHRo ZSBwcmVjZWRpbmcgcGFyYWdyYXBoIHN1ZzxiciAvPmdlc3RzIHRoYXQgJnF1b3Q7YmUmcXVvdDsg aXMgdGhlIG9ubHkgd2F5IHRvIGZpbGwgc2VsYnJpIHBsYWNlcyBvdGhlciB0aGFuIHgxLiBUaGlz IGlzIG5vdCB0aGUgY2FzZTogJnF1b3Q7bWkgbGUgemFyY2kgY3Uga2xhbWEgY28gc3V0cmEmcXVv dDsgd291bGQgYWxzCisgKiBBbHNvLCB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCBzdWdnZXN0cyB0 aGF0ICZxdW90O2JlJnF1b3Q7IGlzIHRoZSBvbmx5IHdheSB0byBmaWxsIHNlbGJyaSBwbGFjZXMg b3RoZXIgdGhhbiB4MS4gVGhpcyBpcyBub3QgdGhlIGNhc2U6ICZxdW90O21pIGxlIHphcmNpIGN1 IGtsYW1hIGNvIHN1dHJhJnF1b3Q7IHdvdWxkIGFscwpvIHdvcmsuCioqIEkgZG9uJ3QgYWdyZWUg dGhhdCB0aGVyZSdzIGFueSBzdWNoIHN1Z2dlc3Rpb24sIGFsdGhvdWdoIGFkZGluZyBhIHNlY29u ZCBwb3NzaWJpbGl0eSBpcyBmaW5lIHdpdGggbWUuICAtLWpjb3dhbgoKKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAx ODItMTg3IGNoYW5nZWQgdG8gK0xpbmVzOiAxODMtMTg3IEBACistKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCioqIGN1YW1pJ2kgcyBwdWxs LW1hY2hpbmUsIHNvIHVzaW5nIHRoYXQgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgotICogU2VjdGlvbiAxNCwgcGFnZSAxMDYg c2F5cyAmcXVvdDtwbGlzZSB0YXBsYSZxdW90OyBmb3IgJnF1b3Q7YXBwbGUgY2FrZSZxdW90Oy4g RG9lcyBUdXJraXNoIHJlYWxseSByZWZlciB0byBhIGNha2UgYXMgYSB0aWxlLCBvciBpcyB0aGlz IGEgbWlzdW5kZXJzdGFuPGJyIC8+ZGluZyBvZiB0aGUgZGVmaW5pdGlvbiBvZiAmcXVvdDt0YXBs YSZxdW90Oz8KKyAqIFNlY3Rpb24gMTQsIHBhZ2UgMTA2IHNheXMgJnF1b3Q7cGxpc2UgdGFwbGEm cXVvdDsgZm9yICZxdW90O2FwcGxlIGNha2UmcXVvdDsuIERvZXMgVHVya2lzaCByZWFsbHkgcmVm ZXIgdG8gYSBjYWtlIGFzIGEgdGlsZSwgb3IgaXMgdGhpcyBhIG1pc3VuZGVyc3RhbmRpbmcgb2Yg dGhlIGRlZmluaXRpb24gb2YgJnF1b3Q7dGFwbGEmcXVvdDs/CioqIE5vLCBpdCdzIHRoYXQge3Rh cGxhfSBjYW4gbWVhbiBib3RoIGNha2UgYW5kIHRpbGUsIGFzIHRoZSBnaXNtdSBsaXN0IHNob3dz OyBpdCdzIGEgZ2VuZXJpYyB3b3JkIGZvciBhIGZsYXQgMy1EIHNoYXBlLCBvciBzaG9ydCBjeWxp bmRlci4gIFN0ZXQuICAtLWpjb3dhbgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMTk1LTIwMSBjaGFuZ2VkIHRv ICtMaW5lczogMTk1LTE5OSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKwoqIFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlzIGNsZWFy bHkgbm90ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJpZ2h0IHJh ZnNpIGZvciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBsdWp2bzsg bmVlZHMgemVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoKLSAqIFNlY3Rpb24g MTQsIHBhZ2UgMTEyIGxpc3RzIG51bWVyb3VzIHRhbnJ1IGV4YW1wbGVzIHdob3NlIG1lYW5pbmdz IGFyZSBoeXBlcm55bXMgb2YgdGhlIHRlcnRhdSBpbnN0ZWFkIG9mIGh5cG9ueW1zLiBUaGlzIGNv bnRyYWRpY3Q8YnIgLz5zIHRoZSBwcmltYXJpbmVzcyBvZiB0aGUgdGVydGF1IGFzIGRlZmluZWQg b24gcGFnZSA4NC4gVGhlIHdvcmQgJnF1b3Q7amEmcXVvdDsgc2hvdWxkIHByb2JhYmx5IGJlIGlu c2VydGVkIGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVuPGJyIC8+dGlyZSBzZWN0 aW9uIHNob3VsZCBiZSByZW1vdmVkLgorICogU2VjdGlvbiAxNCwgcGFnZSAxMTIgbGlzdHMgbnVt ZXJvdXMgdGFucnUgZXhhbXBsZXMgd2hvc2UgbWVhbmluZ3MgYXJlIGh5cGVybnltcyBvZiB0aGUg dGVydGF1IGluc3RlYWQgb2YgaHlwb255bXMuIFRoaXMgY29udHJhZGljdHMgdGhlIHByaW1hcmlu ZXNzIG9mIHRoZSB0ZXJ0YXUgYXMgZGVmaW5lZCBvbiBwYWdlIDg0LiBUaGUgd29yZCAmcXVvdDtq YSZxdW90OyBzaG91bGQgcHJvYmFibHkgYmUgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUgY29uc3RpdHVl bnRzLCBvciB0aGUgZW50aXJlIHNlY3Rpb24gc2hvdWxkIGJlIHJlbW92ZWQuCioqIFN0ZXQuICBM aW9ucyBjYW4ndCBiZSBtYWRlIG9mIHN0b25lLCBidXQge3Jva2NpIGNpbmZvfSBpcyBhIGxlZ2l0 aW1hdGUgdGFucnUgbm9uZXRoZWxlc3MuICAtLWpjb3dhbgoKCgoKCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBj b250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCgpUaGlzIHBhZ2UgaXMgZm9yIGVycmF0YSBpbiAoKFRo ZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UpKSwgdGhhdCBpcyBmb3IgbWlzdGFrZXMgc3VjaCBh cyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0aW9ucywgb3IgY29udHJhZGljdGlvbnMgd2l0aCBv dGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVmaW5pdGlvbiBtYXRlcmlhbC4gVGhpcyBpcyBfX25v dF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0YSAoc3VnZ2VzdGlvbnMgZm9yIGltcHJvdmVtZW50 KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQgZ28gdG8gKChTdWdnZXN0aW9ucyBmb3IgQ0xMLCBz ZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBhbHNvIG5vdCBhIHBhZ2UgdG8gcHV0IGVycmF0YSBy ZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2VsaW5lIEdyYW1tYXIgcHJvcG9zYWwgKGkuZS4sIHRo ZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3JhbW1hciBlcnJhdGEgc2hvdWxkIGdvIHRvICgoQ0xM IFBFRyBFcnJhdGEpKS4KCkFuIG9ubGluZSB2ZXJzaW9uIG9mIHRoZSBDTEwgaW5jb3Jwb3JhdGlu ZyB0aGUgY2hhbmdlcyBvbiB0aGlzIHBhZ2UgW2h0dHA6Ly9kYWcuZ2l0aHViLmNvbS9jbGwvfGlz IGF2YWlsYWJsZV0uCgpTZWUgYWxzbyBbV2hhdCtpcytMb2piYW4lM0YrZXJyYXRhJmJsPXl8V2hh dCBpcyBMb2piYW4/IGVycmF0YV0gKGZvciB0aGUgcHVibGlzaGVkIHZlcnNpb24pLCBMZXZlbCAw IEJvb2tsZXQgRXJyYXRhIFt0aWtpLWVkaXRwYWdlLnBocD9wYWdlPUxldmVsKzArQm9va2xldCtF cnJhdGEmbGFuZz18P10gKGZvciB0aGUgcHJlLXB1YmxpY2F0aW9uIHJldmlld3M7IG5vdyBmaW5p c2hlZCksIGFuZCBbTGVzc29ucytFcnJhdGEmYmw9eXxMZXNzb25zIEVycmF0YV0gKGZvciB0aGUg YmVnaW5uZXJzJyBjb3Vyc2UpLgoKVGhlICInJ0lOQ0xVREVEIElOIERBRy1DTEwnJyIgdGFnIG1l YW5zIHRoYXQgaHR0cDovL2RhZy5naXRodWIuY29tL2NsbC8gaW5jbHVkZXMgdGhpcyBmaXgsIHdo aWNoIGFsc28gbWVhbnMgaXQnbGwgcHJvYmFibHkgYmUgaW4gdGhlIG5leHQgQ0xMIHZlcnNpb24u CgotLS0KCiFDaGFwdGVyIDEKCiogVGhlcmUgaXMgYSBwYXJhZ3JhcGggYXQgdGhlIHZlcnkgYmVn aW5uaW5nIG9mIENMTCwgb24gcGFnZSA0LCB3aXRoIHRoZSBzZW50ZW5jZSAnJyJJbiBlc3NlbmNl LCBDaGFwdGVyIDIgZ2l2ZXMgYSBicmllZiBvdmVydmlldyBvZiB0aGUgbGFuZ3VhZ2UsIENoYXB0 ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1hbCBzdHJ1Y3R1cmUgb2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhl IGNoYXB0ZXJzIGluIGJldHdlZW4gcHV0IHNlbWFudGljIGJvbmVzIG9uIHRoYXQgZm9ybWFsIGZs ZXNoLiInJwoqKiBXb3VsZG4ndCBpdCBtYWtlIG1vcmUgc2Vuc2UgdG8gc2F5ICJwdXQgc2VtYW50 aWMgZmxlc2ggb24gdGhvc2UgZm9ybWFsIGJvbmVzIj8gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgaXQgc2F5 cyAiTGFycnkgSG9ybidzIHdvcmsgJydUaGUgTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJyci LiBJdCB3b3VsZCBhcHBlYXIgdGhhdCBldmVyeW9uZSBlbHNlIGNhbGxzIGl0ICcnX19BX18gTmF0 dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJycsIGJ5IF9fTGF1cmVuY2VfXyAoUi4pIEhvcm4uCioq ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRz IGFwcHJvdmFsCgotLS0KIUNoYXB0ZXIgMgoKKiBTZWN0aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAi dGkiIHRvIHBvaW50IGF0IGEgbGFuZ3VhZ2UsIGFuZCBzaG91bGQgaGF2ZSBpdHMgYWNjb21wYW55 aW5nIG5vdGUgY2hhbmdlZCB0byBtb3JlIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMg bm90IGhvdyAidGkiIHdvcmtzLgoKKiBTZWN0aW9uIDYgRXhhbXBsZSA2LjUgaGFzICJjdSIgYXMg ZWxpZGFibGUsIHdoZW4gaW4gZmFjdCBpdCBpcyBzaW1wbHkgaWxsZWdhbCB0aGVyZS4gIFJlbW92 ZWQuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBp biBEQUctQ0xMLgoKKiBTZWN0aW9uIDggcGFnZSAxNyBjbGFpbXMgdGhhdCAieHUiIGlzIGRpc2N1 c3NlZCBpbiBzZWN0aW9uIDEuNywgd2hpY2ggaGFwcGVucyB0byBsaXN0IHRoZSBjYXB0aW9ucyBm b3IgYWxsIHRoZSBjaGFwdGVyIHBpY3R1cmVzLgoqKiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlv biAxNS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoqKiogVGhlIGxpbmsgaW4gdGhlIGN1cnJlbnQgREFHLUNMTCBpcyBwb2ludGlu ZyB0byAiMi8yLzE1IiBpbnN0ZWFkIG9mIHRvICIyLzE1Ii4KCiogU2VjdGlvbiAxMCBzYXlzIHRo YXQgZXhhbXBsZSAxMC4zIChtaSB0YXZsYSBkbyBsZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUg YXMgKG1pIHRhdmxhIGRvIGxlIHRhdmxhIGt1KS4gRXhhbXBsZSAxMC4zIHNob3VsZCBiZSAibWkg dGF2bGEgZG8gbGUgdGF2bGEiLCBhcyBpdCBkZXNjcmliZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0 ZWQuCioqIEl0IGFwcGVhcnMgdGhhdCBleGFtcGxlIDEwLjMgaXMgaW5jb3JyZWN0IG9ubHkgaW4g dGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxpc2hlZCBib29rLgoKKiBTZWN0aW9uIDE3 IHNheXMgIk5vdGUgdGhhdCBFeGFtcGxlIDE3LjMgIGhhcyBhbmQgcmVxdWlyZXMgYSDigJxjdeKA nSB0byBwcmV2ZW50IOKAnGJhanJh4oCdIGFuZCDigJxrbGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0 YW5ydSwgYnV0IEV4YW1wbGUgMTcuNCAgYW5kIEV4YW1wbGUgMTcuNSAgbGFjayB0aGUgdW5uZWNl c3Nhcnkg4oCcY3XigJ0uIiwgYnV0IGV4YW1wbGUgMTcuMyBpcyAibGEgZGphbi4gfm5wfltjdV1+ L25wfiBrbGFtYSBsZSB6YXJjaSIuCioqIEl0IGFwcGVhcnMgdGhhdCB0aGUgb2ZmZW5kaW5nIHNl bnRlbmNlIGlzIHByZXNlbnQgb25seSBpbiB0aGUgb25saW5lIHZlcnNpb24sIG5vdCB0aGUgcHVi bGlzaGVkIGJvb2suCgoqIEV4YW1wbGUgMTcuOSBpcyAibGUgdmkgdGF2bGEga3UgY3UgYmEga2xh bWEiIGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgYW5kIHRvdGFsbHkgYnJva2VuIGluIHRoZSBwdWJs aXNoZWQgYm9vay4KKiogR28gd2l0aCB0aGUgb25saW5lIHZlcnNpb24uICAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoK ISBDaGFwdGVyIDMKCkEgbG90IG9mIHRoZSBJUEEgZXhhbXBsZXMgdXNlIGEgc3BhY2UgdG8gaW5k aWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBpcyBub3Qgc3RhbmRhcmQgSVBBIHVzYWdlOyBh Y2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKAnC7igJ0gc2hvdWxkIGJlIHVzZWQgdG8gaW5k aWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCiogU2VjdGlvbiAyLCBwYWdlIDMwOiBpbiB0aGUg dGFibGUgdGhlIGRlc2NyaXB0aW9uIG9mICJhcG9zdHJvcGhlIiBzaG91bGQgcmVhZCAiYW4gdW52 b2ljZWQgZ2xvdHRhbCBzcGlyYW50Iiwgbm90ICJhIHVudm9pY2VkIi4KKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gMiwgZGlnaXRhbCB2ZXJzaW9uLiAgVGhlIElQQSB0YWJsZSBnb3QgaG9ycmlibHkgbWFu Z2xlZCBzb21ld2hlcmUgYWxvbmcgdGhlIHdheS4gIEl0IHNob3VsZCBsb29rIGxpa2UgKFNBTVBB IGNvbHVtbiBhZGRlZCk6Cgp8fCBMZXR0ZXIgfCBJUEEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFNBTVBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAn ICAgICAgfCBbaF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtoXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBnbG90 dGFsIHNwaXJhbnQgICAgICAgICAgICAgICAgICAgICAgCiAsICAgICAgfCAtLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0tLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCB0aGUgc3lsbGFibGUgc2VwYXJhdG9yICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAuICAgICAgfCBbypRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbP10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YSBnbG90dGFsIHN0b3Agb3IgYSBwYXVzZSAgICAgICAgICAgICAgICAgICAgICAgIAogYSAgICAg IHwgW2FdLCBbyZFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2FdLCBbQV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIG9wZW4gdm93ZWwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGIgICAgICB8IFtiXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgW2JdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAgICAgICAg ICAgICAgICAKIGMgICAgICB8IFvKg10sIFvKgl0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBbU10sIFtzYF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4g dW52b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgIAogZCAg ICAgIHwgW2RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbZF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFsL2Fs dmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgIAogZSAgICAgIHwgW8mbXSwgW2VdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW0VdLCBbZV0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgbWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKIGYgICAgICB8IFtmXSwgW8m4XSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IFtmXSwgW3BcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBh biB1bnZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgCiBnICAgICAg fCBbyaFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbZ10gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgdmVsYXIgc3RvcCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogaSAgICAgIHwgW2ldICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbaV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSBmcm9udCBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogaiAgICAgIHwgW8qSXSwgW8qQXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFtaXSwgW3pgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZv aWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAgICAgCiBrICAg ICAgfCBba10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtrXSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBz dG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgCiBsICAgICAgfCBbbF0sIFtszKldICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2xdLCBbbD1dICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxhdGVyYWwgYXBwcm94aW1hbnQgKG1heSBiZSBz eWxsYWJpYykgICAKIG0gICAgICB8IFttXSwgW23MqV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBbbV0sIFttPV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg YSB2b2ljZWQgYmlsYWJpYWwgbmFzYWwgKG1heSBiZSBzeWxsYWJpYykgICAgICAgIAogbiAgICAg IHwgW25dLCBbbsypXSwgW8WLXSwgW8WLzKldICAgICAgICAgICAgICAgICAgICAgfCBbbl0sIFtu PV0sIFtOXSwgW049XSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgZGVudGFs IG9yIHZlbGFyIG5hc2FsIChtYXkgYmUgc3lsbGFiaWMpIAogbyAgICAgIHwgW29dLCBbyZRdICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW29dLCBbT10gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IGEgYmFjayBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKIHAgICAgICB8IFtwXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGFuIHVudm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAKIHIgICAg ICB8IFtyXSwgW8m5XSwgW8m+XSwgW8qAXSwgW3LMqV0sIFvJucypXSwgW8m+zKldLCBbyoDMqV0g fCBbcl0sIFtyXF0sIFs0XSwgW1JcXSwgW3I9XSwgW3JcPV0sIFs0PV0sIFtSXD1dIHwgYSByaG90 aWMgc291bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogcyAgICAgIHwgW3Nd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbc10gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxh bnQgICAgICAgICAgICAgICAgICAgIAogdCAgICAgIHwgW3RdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBbdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYW4gdW52b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAgICAgICAg IAogdSAgICAgIHwgW3VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdV0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIGNsb3Nl IHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogdiAgICAgIHwgW3ZdLCBbzrJd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAg ICAgICAgICAgICAgICAgCiB4ICAgICAgfCBbeF0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IFt4XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBhbiB1bnZvaWNlZCB2ZWxhciBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCiB5ICAg ICAgfCBbyZldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbQF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBjZW50cmFsIG1pZCB2b3dl bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogeiAgICAgIHwgW3pdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAg ICAgICAgICAgIHx8CgoqKiBTb3J0LW9mICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKTsgd2hhdCBJIGFjdHVhbGx5IGRpZCBpcyBoYWQgQXJudCByZXZpZXcgd2hhdCBzb21l b25lIGVudGVyZWQgaW4gREFHLUNMTCwgd2hpY2ggcHJlc3VtYWJseSB3YXMgYmFzZWQgb24gdGhl IGFib3ZlLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBm b3IgdGhlIHNlY29uZCBlbmcgKGltbWVkaWF0ZWx5IHRvIHRoZSBsZWZ0IG9mICIobWF5IGJlIHN5 bGxhYmljKSIpIHRoZSBzeWxsYWJpY2l0eSBtYXJrZXIgaXMgY29uY2VhbGVkIGJ5IHRoZSByaWdo dCB0YWlsLgoqKiBJIGNhbiBqdXN0IGJhcmVseSBzZWUgdGhlIG1hcmtlciB1bmRlciBhIGdvb2Qg bGlnaHQuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqKiBGb3IgZnV0 dXJlIGVkaXRpb25zIDotKSAsIG5vdGUgdGhhdCB0aGUgSVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlh Y3JpdGljcyBhYm92ZSByYXRoZXIgdGhhbiBiZWxvdyB0aGUgbGV0dGVyIGluIGNhc2VzIGxpa2Ug dGhlc2UuIFVuZm9ydHVuYXRlbHksIHRoZSBmb250cyBoaXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBu b3QgbWFkZSB0aGlzIGZhY2lsaXR5IGF2YWlsYWJsZSwgc28gb3V0c2lkZSB0aGUgam91cm5hbCBv ZiB0aGUgSVBBIGl0c2VsZiwgc3VjaCBvdmVyLWRpYWNyaXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDi gJQgbml0Y2lvbgoKKiBJbiBzZWN0aW9uIDMuMiwgdGhlIGNvbW1hIHNob3VsZCAocHJvYmFibHkp IGJlIHJlcHJlc2VudGVkIGJ5IHRoZSBJUEEgbm90YXRpb24gWy58Ll0sIGFzIHRoZSBwZXJpb2Qg aXMgdXNlZCBpbiBJUEEgdG8gZGVub3RlIHN5bGxhYmxlIGJyZWFrcy4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9q YmFuIHBob25lbWUgL3IvLCB0aGUgSVBBIHN5bWJvbCBmb3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9p Y2VkIGFwaWNhbCB0YXAgaXMgZ2l2ZW4gd2l0aCBhIHN5bGxhYmljaXR5IG1hcmtlciBiZWxvdy4g QSB0YXAgY2FuJ3QgYmUgc3lsbGFiaWMsIGJlY2F1c2UgaXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0 YW50YW5lb3VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVt b3ZlIHRoYXQgY2FzZSBhbHRvZ2V0aGVyLgoKKiBTZWN0aW9uIDIuICBUaGUgZGVzY3JpcHRpb25z IG9mICcnYycnIGFuZCAnJ2onJyBhcmUgbGlzdGVkIGFzICJjb3JvbmFsIHNpYmlsYW50InMuICBU aGUgZGVzY3JpcHRpb25zIHNob3VsZCByZWFkICJ2b2ljZWxlc3MgcG9zdGFsdmVvbGFyIGZyaWNh dGl2ZSIgYW5kICJ2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIsIHJlc3BlY3RpdmVseS4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDMsIHRoaXJk IHBhcmFncmFwaCAocGFnZSAzMSk6ICJhIHVudm9pY2VkIHZvd2VsIGdsaWRlIiBzaG91bGQgYmUg ImFuIHVudm9pY2VkIHZvd2VsIGdsaWRlIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcGFnZSAz Ni4gSVBBIGZvciB0aGUgdW5hY2NlcHRhYmxlIEFtZXJpY2FuIGZsYXAgdmFyaWFudCBvZiBpbnRl cnZvY2FsaWMgJyd0Jycgc2hvd3MgdGhlIEdBICcncicnIHNvdW5kICh1cHNpZGUtZG93biByKSBp bnN0ZWFkIG9mIHRoZSBmbGFwIChsaWtlIGFuIHIgd2l0aCBubyB2ZXJ0aWNhbCBiaXQgYXQgdGhl IHRvcCDigJQgc2VlIHRoZSBsaXN0IG9mIGFjY2VwdGlibGUgJydyJycgdmFyaWFudHMgb24gb24g cGFnZSA0NCB3aGVyZSBpdCBhcHBlYXJzIGNvcnJlY3RseSkgICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA2LCBwYWdlIDM2LiAoU2FtZSBh cyBwcmV2aW91cyBlcnJhdHVtKSBUaGUgY29uc29uYW50IGlzIHJlZmVycmVkIHRvIGFzIGEgZmxh cCwgd2hpbGUgaXQgaXMgYWN0dWFsbHkgYSB0YXAuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCiogU2VjdGlvbiA3LiBJbiBiZXR3ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJh IHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBlcXVpdmFsZW50IHZvd2VscyIgc2hvdWxk IHJlYWQgImEgcGFpcmluZyBvZiB2b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgY29uc29u YW50cyIuCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4gSVBBIGZvciBwcm9udW5jaWF0aW9uIG9mICJ4 YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBoYXZlIFMgKGxvbmcgcykuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA5LCBwYWdlIDQwLiBJUEEgZm9y IHByb251bmNpYXRpb24gb2YgImRpa3lqdm8iIGhhcyBqIHdoZXJlIGl0IHNob3VsZCBoYXZlIFog KHRoYXQgbGl0dGxlIHNjcmlwdCB6IHRoaW5nKSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ2LiBXaGF0IHNob3VsZCBi ZSB0aGUgQ3lyaWxsaWMgbGV0dGVyIDsgaXMgcHJpbnRlZCBhcyBzb21ldGhpbmcgdGhhdCBsb29r cyBsaWtlIHRoZSBHcmVlayBsZXR0ZXIgLiBJcyB0aGlzIG9ubHkgYSB0eXBvZ3JhcGhpY2FsIHZh cmlhbnQgb2YgdGhlIDssIG9yIGlzIGl0IGEgdmFyaWFudD8KCioqIFRoaXMgZXJyYXR1bSBpcyBp bmRlY2lwaGVyYWJsZSBhbmQgc2hvdWxkIGJlIGRyb3BwZWQsIHVubGVzcyBzb21lb25lIGNhbiBy ZWNvbnN0cnVjdCBpdC4gIFRoZSBDeXJpbGxpYyBsZXR0ZXJzIGxvb2sgZmluZS4gIC0tamNvd2Fu CgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFJlcGxhY2UgdGhlIHdvcmRzICJ0aGUgaGFyZCBzaWdu IiB3aXRoIGFuIGFjdHVhbCBoYXJkIHNpZ24sIFUrMDQ0QSBDWVJJTExJQyBTTUFMTCBMRVRURVIg SEFSRCBTSUdOLgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ3LiAiYXJlLyJlc3NlIiBzaG91bGQgcHJv YmFibHkgYmUgImFyZSIvImVzc2UiICh0aGUgYWN1dGUgb24gdGhlIGEgbWF5IG9yIG1heSBub3Qg aGF2ZSBiZWVuIGxlZnQgb2ZmLCBidXQgdGhlIGNsb3NpbmcgcXVvdGUgYWZ0ZXIgYXJlIGlzIGRl ZmluYXRlbHkgbWlzc2luZy4pCioqIE15IGNvcHkgc2hvd3MgdGhlIGFjdXRlLgoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK Ci0tLQoKIUNoYXB0ZXIgNAoKKiBTZWN0aW9uIDQsIHBhZ2UgNTQuIFRoZSBib29rIHN0YXRlcyB0 aGF0IGZ1J2l2bGEgd2l0aCBhIGZvcm0gbGlrZSAnJ3NwYSdpJycgYXJlIHZhbGlkLiBUaGV5IGFy ZSBub3QsIHRoZXkgZmFpbCB0aGUgc2xpbmt1J2kgdGVzdC4gKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcCA1 OCwgIi1sYWMiIGluIHRoZSB0aGlyZCB0YWJsZSBpbiB0aGF0IHNlY3Rpb24gc2hvdWxkIGJlICIt bGFjLSIKCiogU2VjdGlvbiA2LCBpdCBzYXlzICJNb3N0IGNtYXZvIHRoYXQgaGF2ZSByYWZzaSBh cmUgb25lcyB1c2VkIGluIGNvbXBvc2luZyB0YW5ydSAoZm9yIGEgY29tcGxldGUgbGlzdCwgc2Vl IENoYXB0ZXIgMTIpIiwgYnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlzdCBpbiBDaGFwdGVyIDEyLCBv ciBhbnl3aGVyZSBpbiB0aGUgYm9vayAoanUnb3NhaSkuIFBlcmhhcHMgaXQgd2FudHMgdG8gcG9p bnQgdG8gdGhlIGxpc3Qgb2YgUEEgcmFmc2kgaW4gQ2hhcHRlciAxOCBzZWN0aW9uIDI1PyBPciB0 byB0aGUgbGlzdHMgb2YgdGFucnUgaW4gQ2hhcHRlciA1IHNlY3Rpb25zIDE0IGFuZCAxNT8KKiog V2hhdCBJIHByb2JhYmx5IG1lYW50IHdhcyB0aGF0IENoYXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hv bGUsIGRpc2N1c3NlcyB0aGUgY21hdm8gdXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGFucnUuICBJIGRv bid0IHRoaW5rIGFueSBzcGVjaWZpYyBsaXN0IGV2ZXIgZXhpc3RlZC4gIEknZCBqdXN0IGRyb3Ag dGhlIHBhcmVudGhldGljYWwgc2VudGVuY2UuCgoqIFNlY3Rpb24gNiwganVzdCBhZnRlciBleGFt cGxlIDYuOS4gSXQgc2F5cyAic29tZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2 aW91cyBleGFtcGxlIiwgYnV0IGl0IGlzIG5vdCByZWZlcnJpbmcgdG8gdGhlIHByZXZpb3VzIGV4 YW1wbGU6IGl0IGlzIHJlZmVycmluZyBhbGwgdGhlIHdheSBiYWNrIHRvIGV4YW1wbGVzIDYuMSBh bmQgNi4yLCBzbyBpdCBzaG91bGQgYmUgInNvbWUgb2YgdGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0 aGUgcHJldmlvdXMgZXhhbXBsZV9fc19fIi4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpv cnQncyBmb3JrIGF0IGxlYXN0KQooQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAg UmVmZXIgZXhwbGljaXRseSB0byA2LjEgYW5kIDYuMgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIElu IGV4YW1wbGUgNi4xNiwgdGhlIHdvcmQgInhhcm55a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1j YXIiLiBFaXRoZXIgdGhlIGdsb3NzIHNob3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZl bGp2byAoInN0dWJib3JuLWNhciIpLCBvciB0aGUgbHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8g cmVmbGVjdCB0aGUgZ2xvc3MgImphbWthcmNlIgoqKiBUaGUgbGF0dGVyICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0 aW9uIDcsIG1ha2luZyBhIHR5cGUgMyBmdSdpdmxhLCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBz IDEtNCIsIG5vdCAic3RlcHMgMS01Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiBTZWN0aW9uIDcsIHN0ZXAgNSBvZiB0aGUgU3RhZ2UgMyBmdSdpdmxhOiAiaWYgdGhl IHJhZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3 aXRoICcnbicnIChvciB2aWNlIHZlcnNhKSB1c2UgYW4gJydsJyctaHlwaGVuIiBzaG91bGQgcmVh ZCAgImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZs YSBiZWdpbnMgd2l0aCAnJ24nJywgJyd0YycnLCAnJ3RzJycsICcnZHonJyBvciAnJ2RqJycsIG9y IHRoZSByYWZzaSBlbmRzIGluICcnbicnIGFuZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdp bnMgd2l0aCAnJ3InJyB1c2UgYW4gJydsJyctaHlwaGVuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxq Y293YW4gQXBwcm92ZWQpKQoKKiBUaGUgZW5kIG9mIHNlY3Rpb24gNyBzZWVtcyB0byBpbXBseSB0 aGF0IGNtZW5lIGFyZSBleGVtcHQgZnJvbSB0aGUgbm9ybWFsIHJlc3RyaWN0aW9ucyBvbiBjb25z b25hbnQgY2x1c3RlcnMgYXMgbG9uZyBhcyBlYWNoIGNvbnNvbmFudCBwYWlyIGlzIHZhbGlkLgoK KiBTZWN0aW9uIDguIEV4YW1wbGUgOC4xMCAnJ2RqYW5kam9ueicnIGlzIG5vdCB2YWxpZCBsb2pi YW4gYXMgaXQgY29udGFpbnMgdGhlIGZvcmJpZGRlbiBjb25zb25hbnQgc2VxdWVuY2UgYG5kamAu ICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEg ZGlmZmVyZW50IG5hbWUuCioqIFJlcGxhY2luZyB3aXRoICJKb2huIEJyb3duIiBhcyAiZGphbmJy YXVuIi4gLS1ybHBvd2VsbCAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDgsIHBh Z2UgNjYuIEV4YW1wbGUgOC4xMi4gU2F5cyB0aGF0IHRoZSBnaXNtdSAic29scmkiIG1lYW5zICJh Y3R1YWxseSwgJ3BlcnRhaW5pbmcgdG8gdGhlIHN1biciLiBUaGlzIGlzIGZhbHNlLiBBY2NvcmRp bmcgdG8gdGhlIGdpc211IGxpc3QsIGl0IG1lYW5zICcnaXMnJ2Egc3VuLgoqKiBMZWF2ZSB0aGlz IG9uZSBhbG9uZS4gIEFzIGEgc2VsdGF1LCAic29scmkiIGRvZXMgaW5kZWVkIG1lYW4gInNvbGFy Ii4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTEsIDVhKSAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29u c29uYW50IHBhaXJzIHRoYXQgam9pbiB0aGUgQ1ZDIHJhZnNpLCBhbmQgYWxzbyB0aGUgcGFpciBi ZXR3ZWVuIHRoZSBsYXN0IENWQyBhbmQgdGhlIFggcG9ydGlvbiwgaWdub3JpbmcgYW55ICJ5Ii1o eXBoZW4gYmVmb3JlIHRoZSBYLicnIHNob3VsZCByZWFkIGluc3RlYWQ6ICcnRXhhbWluZSBhbGwg dGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdXAgdG8gdGhlIGZpcnN0ICJ5Ii1oeXBoZW4sIG9yIHVw IHRvIHRoZSBlbmQgb2YgdGhlIHdvcmQgaW4gY2FzZSB0aGVyZSBhcmUgbm8gInkiLWh5cGhlbnMu JycKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQg SU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTIuIEluIEV4YW1wbGVzIDEyLjIsIDEyLjMgYW5kIDEy LjQgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZ2l2ZW4gYXMgMzI1MDAgbWludXMgdGhlIHNjb3JlLCBp bnN0ZWFkIG9mIHNpbXBseSB0aGUgc2NvcmUuIChQcm9iYWJseSBmcm9tIHByZXZpb3VzIHZlcnNp b25zIG9mIHRoZSBhbGdvcml0aG0uKSAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCiogU2VjdGlvbiAxMywgcGFnZSA3NCwgdGhpcmQgdGFibGU6IHRoZXJlIGlzIG5vIHNw YWNlIGJldHdlZW4gImxvamJhdWdyaSIgYW5kICJsb2piYW5neWdyaSIsIHNvIHRoYXQgdGhleSBh cmUgcnVuIGludG8gb25lIHdvcmQgaW4gdGhlIHNlY29uZCBjb2x1bW4gb2YgdGhlIHRhYmxlLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTUgc3RhdGVz IHRoYXQgImR6aXBvIiBjb21lcyBmcm9tICJjYWR6dSBjaXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4g IFRoaXMgZmFpbHMgdG8gbWFrZSBzZW5zZSBlaXRoZXIgZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50 aWNhbGx5IChJZiB0aGUgbmFtZSByZWZlcnMgdG8gcGVuZ3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBv ZiBvdGhlciBmZWF0dXJlcyBvZiBBbnRhcmN0aWNhIHRoYXQgYXJlIG1vcmUgcHJvbWluZW50IGFu ZCBub3Qgc2hhcmVkIGJ5IG90aGVyIHBsYWNlcykuICBJIHN1c3BlY3QgdGhhdCB0aGUgd29yZCBt YXkgYWN0dWFsbHkgY29tZSBmcm9tICJkaXpsbyBkYXBsdSIgKCJsb3cgaXNsYW5kIiksIHdoaWNo IGlzIGEgc29tZXdoYXQgbW9yZSByZWFzb25hYmxlIG5hbWUuCioqIE5vdCBhbiBlcnJhdHVtLCB0 aGUgd29yZCByZWFsbHkgZG9lcyBjb21lIGZyb20gImNhRFp1IGNJUG5pIi4gVGhhdCBpdCBmYWls cyB0byBtYWtlIHNlbnNlIGRvZXNuJ3QgY2hhbmdlIHRoZSBmYWN0IHRoYXQgdGhhdCBpcyBob3cg dGhleSBjb25zdHJ1Y3RlZCBpdC4gVGhlIGV0eW1vbG9naWVzIG9mICJiZW1ybyIgYW5kICJrZXRj byIgbWFrZSBldmVuIGxlc3Mgc2Vuc2UsIGJ5IHRoZSB3YXkuCioqKiBDb3JyZWN0LCBidXQgdGhl IGV0eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJlLiAgLS1qY293YW4KCi0tLQoKIUNoYXB0ZXIg NQoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4xNTogSXQgc2F5cyB7eGFtZ3Ugam8gY29ydHUgbnVu dGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMgeyhnb29kIGlmLWFuZC1vbmx5LWlmIHNob3J0KSBz cGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAiaHVydCIsIG5vdCAic2hvcnQiLgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJyAgKGNoYW5nZWQgdG8ge3RvcmR1fSkgKGluIHpvcnQncyBmb3JrIGF0 IGxlYXN0KSAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogRXhhbXBsZSA2 LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBudW50YXZsYSAsICAoaW1wb3J0YW50IHdoZXRoZXItb3It bm90IHBsZWFzaW5nKSBldmVudC1vZi10YWxraW5nCioqIFNob3VsZCBiZSBwbHVrYSwgbm90IHNl bHBsdWthLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCBzYXlzICJpbnZvbHZpbmcgc2VsbWEnbyBWT2hB IGFuZCBHT2hJLCBleHBsYWluZWQgaW4gQ2hhcHRlciA3IiwgYnV0IFZPaEEgZG9lc24ndCBhcHBl YXIgaW4gQ2hhcHRlciA3LiBWT2hBIGRvZXNuJ3QgZXZlbiBzZWVtIHRvIGJlIGEgc2VsbWEnbywg Zm9yIHRoYXQgbWF0dGVyLiBBbHNvLCBwcm9iYWJseSBHT2hJIHNob3VsZCBiZSBHT2hBPwoKKiBT ZWN0aW9uIDgsIHBhZ2UgOTYvOTc6IEV4YW1wbGUgOC4xMyBuZWVkcyBzb21lIGtpbmQgb2YgdGVy bWluYXRvciAobGlrZSAiYmUnbyIpIGJlZm9yZSB0aGUgImNvIi4gICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCiogQWxzbywgdGhlIHByZWNlZGluZyBwYXJhZ3JhcGggc3Vn Z2VzdHMgdGhhdCAiYmUiIGlzIHRoZSBvbmx5IHdheSB0byBmaWxsIHNlbGJyaSBwbGFjZXMgb3Ro ZXIgdGhhbiB4MS4gVGhpcyBpcyBub3QgdGhlIGNhc2U6ICJtaSBsZSB6YXJjaSBjdSBrbGFtYSBj byBzdXRyYSIgd291bGQgYWxzCm8gd29yay4KKiogSSBkb24ndCBhZ3JlZSB0aGF0IHRoZXJlJ3Mg YW55IHN1Y2ggc3VnZ2VzdGlvbiwgYWx0aG91Z2ggYWRkaW5nIGEgc2Vjb25kIHBvc3NpYmlsaXR5 IGlzIGZpbmUgd2l0aCBtZS4gIC0tamNvd2FuCgoqIFNlY3Rpb24gOSBsaXN0cyAia2VpIiBhcyB0 aGUgdGVybWluYXRvciBmb3IgbnUsIGJ1dCBpdCdzIG5vdCBvbmx5IGZvciBudSwgYnV0IGZvciBh bGwgb2YgTlUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlv biAxNCwgcGFnZSAxMDQgc2F5cyAiZGFkeWxzaSIgZm9yICJkYWR5c2xpIi4KKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoq IFNlY3Rpb24gMTQsIHBhZ2UgMTA1IHVzZXMgInpkYW5pIGxpamdyaSIgaW4gdGhlIGV4YW1wbGUg bGlzdCwgYnV0IHRoZSBwYXJhZ3JhcGggYWZ0ZXIsIGFzIHdlbGwgYXMgdGhlIG5leHQgbGlzdCwg cmVmZXIgdG8gInpkYW5pIGxpbmppIiBhbmQgImxpbmppIHpkYW5pIi4KCiogU2VjdGlvbiAxNCwg cGFnZSAxMDUgaGFzIHRoZSBsdWp2byAiY3B1bWknaSIgYnV0IGRlZmluZXMgaXQgYXQgdGhlIGJv dHRvbSBvZiB0aGUgc2V0IGFzICJjcGFtaSdpIi4KKiogY3VhbWknaSBzIHB1bGwtbWFjaGluZSwg c28gdXNpbmcgdGhhdCAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2Ug dGFwbGEiIGZvciAiYXBwbGUgY2FrZSIuIERvZXMgVHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBj YWtlIGFzIGEgdGlsZSwgb3IgaXMgdGhpcyBhIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmlu aXRpb24gb2YgInRhcGxhIj8KKiogTm8sIGl0J3MgdGhhdCB7dGFwbGF9IGNhbiBtZWFuIGJvdGgg Y2FrZSBhbmQgdGlsZSwgYXMgdGhlIGdpc211IGxpc3Qgc2hvd3M7IGl0J3MgYSBnZW5lcmljIHdv cmQgZm9yIGEgZmxhdCAzLUQgc2hhcGUsIG9yIHNob3J0IGN5bGluZGVyLiAgU3RldC4gIC0tamNv d2FuCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA4IHNheXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91 bGQgcHJvYmFibHkgYmUgInR1bWxhIHBhZ2J1Iiwgc2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5v dCBhY3R1YWxseSBkZXRhY2hlZC4KKiogV2hhdCBtYWtlcyB5b3UgdGhpbmsgdGhhdCBzcGlzYSBo YXZlIHRvIGJlIGRldGFjaGVkPyAgU3RldC4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTQsIHBhZ2Ug MTA5IHNheXMgInJvc3R1IG1vanlzdSdhIi4gInJvc3R1IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUs IG5vciBhbiBPbGQgTG9nbGFuIHByaW1pdGl2ZS4gSXQncyBzdXBwb3NlZCB0byBiZSAibXJvc3QK dSIuCioqICJNcm9zdHUiIGlzIGNvcnJlY3QsIGFuZCB0aGF0J3MgdGhlIHJlYWRpbmcgb2YgdGhl IG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoq IFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlzIGNsZWFybHkgbm90ICJzaGFycGVuZXIiLCBhbmQg ZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJpZ2h0IHJhZnNpIGZvciBjYWJyYSwgdGhhdCBzdHJp a2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBsdWp2bzsgbmVlZHMgemVuYmEgb3Igem1hZHUgb3Ig YmlueG8gb3Igc29tZXRoaW5nLgoKKiBTZWN0aW9uIDE0LCBwYWdlIDExMiBsaXN0cyBudW1lcm91 cyB0YW5ydSBleGFtcGxlcyB3aG9zZSBtZWFuaW5ncyBhcmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0 YXUgaW5zdGVhZCBvZiBoeXBvbnltcy4gVGhpcyBjb250cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mg b2YgdGhlIHRlcnRhdSBhcyBkZWZpbmVkIG9uIHBhZ2UgODQuIFRoZSB3b3JkICJqYSIgc2hvdWxk IHByb2JhYmx5IGJlIGluc2VydGVkIGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVu dGlyZSBzZWN0aW9uIHNob3VsZCBiZSByZW1vdmVkLgoqKiBTdGV0LiAgTGlvbnMgY2FuJ3QgYmUg bWFkZSBvZiBzdG9uZSwgYnV0IHtyb2tjaSBjaW5mb30gaXMgYSBsZWdpdGltYXRlIHRhbnJ1IG5v bmV0aGVsZXNzLiAgLS1qY293YW4KCi0tLQoKIUNoYXB0ZXIgNgoKKiBFbmQgb2Ygc2VjdGlvbiAy LCBpdCBzYXlzICJjb21wb3VuZCBuZWdhdG9yIGBgbmFrdScnIChkaXNjdXNzZWQgaW4gQ2hhcHRl ciAxNSkiLCBidXQgIm5ha3UiIGlzIG5ldmVyIG1lbnRpb25lZCBpbiBjaGFwdGVyIDE1OyBpbmRl ZWQsIHRoZSBvbmx5IHVzZXMgb2YgdGhlIHdvcmQge2t1fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3 b3JkcyB7amkndX0gb3Ige25hJ2l9LiBDaGFwdGVyIDE2IHRhbGtzIGFib3V0IHtuYWt1fS4KKiog JydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMg YXBwcm92YWwKCiogU2VjdGlvbiAxMiwgcC4gMTM4IGNsYWltcyB0aGF0IHRoZSBzdW10aSBpbiBl eGFtcGxlcyAxMi4yIGFuZCAxMi4zIG9wZXJhdGUgbGlrZSBleGFtcGxlcyAyLjUgYW5kIDMuNiBy ZXNwZWN0aXZlbHkuICIyLjYgYW5kIDMuNiIgaXMgYWxtb3N0IHN1cmVseSB3aGF0IHdhcyBtZWFu dC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKKiBJbiBzZWN0aW9uIDExIEV4YW1wbGUgMTEuMiBvY2N1cnMgdHdpY2UuCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVzIDIuMyBhbmQgMi41IHRvIHNob3cgdGhlIGRp ZmZlcmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9LiBFeGFtcGxlIDIuNSBhbmQgdGhlIHN1YnNl cXVlbnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUgY3UgbmlubXV9IGlzIG5lY2Vzc2FyaWx5IGZh bHNlIGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5tdSBnaSdlIG5pbm11fS4gVGhpcyBjb250cmli dXRlcyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hvdWxkIGJlIHJldmlzZWQuCgoqIEluIHNlY3Rp b24gNSBiZXR3ZWVuIGV4YW1wbGVzIDUuMiBhbmQgNS4zLCBpdCBzYXlzIHRoYXQgdGhlIHR5cGlj YWwgbGlvbiBiZXN0IGV4ZW1wbGlmaWVzIHRoZSBzZXQgb2YgbGlvbnMuIFRoaXMgaXMgZmFsc2Us IGl0IGV4ZW1wbGlmaWVzIG5vdCB0aGUgc2V0LCBidXQgdGhlIG1lbWJlcnMgb2YgdGhhdCBzZXQu CgotLS0KCiEgQ2hhcHRlciA3CgoqIFNlY3Rpb24gNiwgcGFnZSAxNTUgaGFzIGEgbm90ZSBiZWxv dyBleGFtcGxlIDYuMTMgdGhhdCBzYXlzLCBpbiBwYXJ0OiAiVGhlIExvamJhbiBkb2VzIG5vdCBj b250YWluIGFuIGVxdWl2YWxlbnQgb2YgdGhlICJteSIgaW4gY29sbG9xdWlhbCBFbmdsaXNoOyIg YW5kIHRoZW4gZ29lcyBvbiB0byBleHBsYWluIGhvdyBleGFtcGxlIDYuMTMgY291bGQgYmUgbW9k aWZpZWQgdG8gaW5jbHVkZSAgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBzcGVha2VyIGFu ZCB0aGVpciBzb24gYW5kIGRhdWdodGVyLiAgSSBiZWxpZXZlIHlvdSBjb3VsZCBzYXkgImxlIG1p IGJlcnNhIiBvciAibGUgYmVyc2EgcGUgbWkiIHRvIGV4cHJlc3MgdGhlIEVuZ2xpc2ggIm15LCIg dGhlcmVmb3IgcmVtb3ZpbmcgdGhlIChwcmVzdW1hYmx5IGluYWNjdXJhdGUpIG5vdGUgYW5kIG1h a2luZyB0aGUgTG9qYmFuIHRyYW5zbGF0aW9uIG1vcmUgYWNjdXJhdGUuCioqIFN1cmUgeW91IGNv dWxkLCBidXQgdGhlIHBvaW50IG9mIHRoZSBub3RlICh3aGljaCBpcyAnJ25vdCcnIGluYWNjdXJh dGUpIGlzIG5vdCB0ZWFjaGluZyBob3cgdG8gdXNlIHJlbGF0aXZlIGNsYXVzZXMsIGJ1dCB0byBj bGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRpYyBFbmdsaXNoIHZlcnNpb24gY29udGFpbnMgbW9yZSBp bmZvcm1hdGlvbiB0aGFuIHRoZSBMb2piYW4gdmVyc2lvbiBkb2VzLiAgU3RldC4KCiogU2VjdGlv biA2LCBwYWdlIDE1NiBoYXMgJydrYXJjYScnIGZvciAnJ2thcmNlJycuICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogQWZ0ZXIgZXhhbXBsZSA2LjE4IGlzIGEgcGFyYWdy YXBoIHRoYXQgcXVvdGVzIG5vbi1leGlzdGVudCB0ZXh0IGZyb20gZXhhbXBsZSA2LjEwLiAgImdv J2UgcmEnbyIgc2hvdWxkIHJlYWQgImdvJ2kgcmEnbyIgYW5kICJkbyBnbydlIiBzaG91bGQgcmVh ZCAibWkgZ28naSIKKiogVGhlIGNvcnJlY3QgY29ycmVjdGlvbiBpcyB0byByZXBsYWNlICJCJ3Mg c3RhdGVtZW50IiB3aXRoICJBJ3Mgc2Vjb25kIHN0YXRlbWVudCIuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKKioqIE5vdCByZWFsbHkuICJnbydlIHJhJ28iIGluIEEncyBz ZWNvbmQgc3RhdGVtZW50IHdvdWxkIG1lYW4gdGhlIHNhbWUgYXMgImdvJ2UiLCB3aGljaCBpcyB3 cm9uZy4gVGhlIG9yaWdpbmFsIGNvcnJlY3Rpb24gaXMgdmFsaWQgdGhvdWdoLgoKKiBTZWN0aW9u IDcsIGV4YW1wbGUgNy43IGhhcyAibWkgemJhc3UgbG9pIG11ZHJpIHppJ28iIGZvciAibWkgemJh c3UgbGUgZGluanUgemknbyIKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCwgcC4gMTU4IGltcGxpZXMg dGhhdCAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhvcmEgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRp IHRoZXkgdGhlbXNlbHZlcyBhcmUgc3VtdGkgb2YuIFRoaXMgY29udHJhZGljdHMgdGhlIGNtYXZv IGxpc3QsIGFuZCBpcyBpbmNvcnJlY3Q6ICcndm8nYScnLXNlcmllcyBhbmFwaG9yYSAoYWNjb3Jk aW5nIHRvIHRoZSBtYSdvc3RlKSByZWZlciB0byBzdW10aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRp IHdpdGhpbiB0aGUgY3VycmVudCBzZW50ZW5jZS4gVGhpcyBtYWtlcyB0aGVtIGxvZ29waG9ycy9s b25nIGRpc3RhbmNlIHJlZmxleGl2ZXMsIHJhdGhlciB0aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxl eGl2ZXMsIGFzIGlzIG5vcm1hbCBpbiBodW1hbiBsYW5ndWFnZS4gVGh1cywgaW4gJydtaSBuZWxj aSBsZW51IGRvIHByYW1pIHZvJ2EnJywgJyd2bydhJydtZWFucyAnJ21pJycsIG5vdCAnJ2RvJycu CioqX18tLT5fXygoV2h5IHRoZSBCb29rIGlzIFJpZ2h0IGFuZCB0aGUgbWEnb3N0ZSBpcyBXcm9u ZykpCioqKldoaWNoIG9mIHRoZSB0d28gY2FzZXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdl PyBJZiB5b3UnZCB3cml0dGVuIGl0IGluIExvamJhbiwgSSdkIGtub3chCioqKiogSSdkIGd1ZXNz IHRoYXQgc2hvcnQtZGlzdGFuY2UgaXMgbm9ybWFsLCBiL2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5v dCBiZSB3b3J0aCBjb21wYXJpbmcgdGhlIHR3by4gQnV0IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ug d291bGRuJ3QgaGF2ZSB0byBnbG9yayB0aGF0LgoqKioqKiBTaG9ydC1kaXN0YW5jZSBpcyBpbmRl ZWQgbm9ybWFsLCBidXQgTG9qYmFuaXN0cyBoYXZlIGNvbnNpc3RlbnRseSB1c2VkIGxvbmctZGlz dGFuY2UuICBOaWNrIHdyb3RlIGEgcGVlci1yZXZpZXdlZCBwYXBlciBvbiB0aGlzLiAgLS1qY293 YW4KCiogRXhhbXBsZSA3LjguNSAocDE1OSk6IGJhanJhIG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJl IGJhanlrbGEsIGxpa2UgdGhlIG90aGVycy4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCwgaXQgc2F5 cyAiRXhhbXBsZSA5LjMgaXMgYSB0cnVseSBwcmVnbmFudCBxdWVzdGlvbi4uLiIgd2hlbiBleGFt cGxlIDkuMiBpcyB0aGUgcHJlZ25hbnQgcXVlc3Rpb24sIGFuZCBleGFtcGxlIDkuMyBpcyBhIGJl dHRlciB3YXkgb2YgZXhwcmVzc2luZyAiV2hvIGFyZSB5b3U/IgoKKiBTZWN0aW9uIDE1LCBpdCBz YXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZpbmcgYGB6aSdvJycgYXJlIGFsc28gcG9zc2libGUs IGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGluIENoYXB0ZXIgMTIiLCBidXQgbm93aGVyZSBkb2Vz IENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29yZCB7emknb30sIG11Y2ggbGVzcyBsdWp2byBpbnZv bHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkgYSBDaGFwdGVyIDEyIGVycmF0dW0uCi0tLQoKIUNo YXB0ZXIgOAoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4YW1wbGUgMy4yMCBzaG91bGQgaGF2ZSB7eGFu Y2V9IGluc3RlYWQgb2Yge3hhbmNpfSwgd2hpY2ggaXMgZGVmaW5pdGVseSBhIHR5cG8uIC0taWRv bnRrbncKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCwgcC4gMTgxOiAgOC4xKSAnJ2xpIHBhaSBub2kg bmEnZSBmcmludSBuYW1jdScnc2hvdWxkIGJlICcnbGkgcGFpIG5vaSBuYSdlIGZyaW51IGN1IG5h bWN1JycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA4 LCBFeGFtcGxlIDguNiwgdGhlIHRoaXJkIGxpbmUsICJJIHJ1bm5pbmdseS1nbyB0by10aGlzIFty ZWNpcHJvY2l0eV0gW3gzIG9mIHRoaXMgYnJpZGldIGZyb20tdGhhdCIsIGlzIG5vdCB0aGUgdXN1 YWwgZGVjZW50IEVuZ2xpc2ggb25lIHdvdWxkIGV4cGVjdCBpbiB0aGF0IHBvc2l0aW9uOyByZXBs YWNlZCB3aXRoICJJIHJ1biB0byB0aGlzIGZyb20gdGhhdCBhbmQgdmljZSB2ZXJzYS4iIGlzIGRh Zy1jbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA5LCBleGFtcGxlIDkuMiBp cyAnJ2NvJ28geGlybWEnJy4gVGhlbiwgJydOb3RlIHRoYXQgRXhhbXBsZSA5LjIgc2F5cyBmYXJl d2VsbCB0byBzb21ldGhpbmcgd2hpY2ggZG9lc27igJl0IHJlYWxseSBoYXZlIHRvIGJlIGEgaG9y c2UsIHNvbWV0aGluZyB0aGF0IHRoZSBzcGVha2VyIHNpbXBseSB0aGlua3Mgb2YgYXMgYmVpbmcg YSBob3JzZSwgb3IgZXZlbiBtaWdodCBiZSBzb21ldGhpbmcgKGEgcGVyc29uLCBmb3IgZXhhbXBs ZSkgd2hvIGlzIG5hbWVkICJIb3JzZSIuIEluIGEgc2Vuc2UsIEV4YW1wbGUgOS4yIGlzIGFtYmln dW91cyBiZXR3ZWVuICJjbydvIGxlIHhpcm1hIiBhbmQgImNvJ28gbGEgeGlybWEiJycuIElzIHRo aXMgdHJ1ZT8KKiogWWVzLCBpbiB0aGUgc2Vuc2UgdGhhdCBhbGwgdXNlcyBvZiAibGUiICcnbWln aHQnJyBtZWFuICJsYSIuICBCdXQgaXQncyBwcm9iYWJseSBtb3JlIGNvbmZ1c2luZyB0aGFuIGl0 J3Mgd29ydGguICBUcnVuY2F0ZSBhZnRlciAidGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UiLiAg LS1qY293YW4KCiogU2VjdGlvbiA5IHNheXMgJydJbiB2b2NhdGl2ZSBwaHJhc2VzIHdoaWNoIGFy ZSBzaW1wbGUgbmFtZXMgKGFmdGVyIHRoZSB2b2NhdGl2ZSB3b3JkcyksIGFueSByZWxhdGl2ZSBj bGF1c2VzIG11c3QgY29tZSBqdXN0IGFmdGVyIHRoZSBuYW1lcycnLiBUaGlzIGlzbid0IHRydWUu IFJlbGF0aXZlIGNsYXVzZXMgY2FuIGdvIGJldHdlZW4gdGhlIHZvY2F0aXZlIGFuZCB0aGUgY21l dmxhLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBEcm9wIGl0OyBpdCBy ZWZsZWN0cyBhbiBlYXJsaWVyIHN0YXRlIG9mIHRoZSBsYW5ndWFnZS4KCi0tLQohQ2hhcHRlciA5 CgoqIFNlY3Rpb24gNiwgcGxhY2Ugc3RydWN0dXJlIG9mICcncGlsbm8nJyBpcyBtaXNzaW5nICJm b3IgcHVycG9zZSB4MyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiog U2VjdGlvbiA4LCB0aGUgZXhhbXBsZXMgOC41IGFuZCA4LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4g dGhlIHNhbWUgdGhpbmcsIGJ1dCBkbyBub3QuCioqIFBsZWFzZSBlbGFib3JhdGUuICAtLWpjb3dh bgoqKiogOC41IG1lYW5zICJJIGdhdmUgdGhlIGJvb2sgdG8gSm9obiwgYmVjYXVzZSBKb2huIGdh dmUgdGhlIG1vbmV5IHRvIG1lIiBidXQgOC42IG1lYW5zICJKb2huIGdhdmUgdGhlIG1vbmV5IHRv IG1lIGJlY2F1c2UgSSBnYXZlIHRoZSBib29rIHRvIEpvaG4uIgoqKiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogc2VjdGlvbiAx NywgImZyb20gc291cmNlIGFzIGFuIG9yaWdpbiBvZiIgc2hvdWxkIGJlIHR3byBlbnRyaWVzOyAi ZnJvbSBzb3VyY2UiIGFuZCAiYXMgYW4gb3JpZ2luIG9mIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKLS0tCgohQ2hhcHRlciAxMAoKKiBTZWN0aW9uIDksIGV4YW1wbGUgOS45IG9uIHBhZ2UgMjI3 IGhhcyAiY2lybGkiIGZvciAiY2lybGEiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxMiwgZXhhbXBs ZSAxMi42IHRyYW5zbGF0ZXMgbW9yc2kgYXMgImRpZSIgcmF0aGVyIHRoYW4gImFtIGRlYWQiIGlu IHRoZSB0cmFuc2xhdGlvbiAoYXMgb3Bwb3NlZCB0byB0aGUgZ2xvc3MpLgoKKiBTZWN0aW9uIDE2 LCBhdCB0aGUgZW5kLCB0aGUgWCBhbmQgWSBpbiB0aGUgMyBmb3JtcyBkb24ndCBmaXQgcHJvcGVy bHkgKHRoZSAzcmQgZG9lc24ndCBtYXRjaCB0aGUgZmlyc3QgdHdvKS4gSSByZWNvbW1lbmQsIGNv cHlpbmcgZnJvbSBTZWN0aW9uIDIzICh3aGVyZSB0aGV5IGFyZSB3cml0dGVuIGFnYWluIGNvcnJl Y3RseSk6CiAgICAgICBYIC5pIFRFTlNFIGJvIFkKICAgICAgIFRFTlNFIGdpIFggZ2kgWQogICAg ICAgWSBURU5TRSBsZSBudSBYCgoqIFNlY3Rpb24gMTcsIGV4YW1wbGUgMTcuMTIgc2hvdWxkIG5v dCBoYXZlIHRoZSBzZWNvbmQgImJldnJpIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTgsIGV4YW1w bGUgMTguOSBpcyBzdXBwb3NlZCB0byBzaG93IHNjYWxhciBuZWdhdGlvbiBvZiB0ZW5zZXMgbm90 IGxpbWl0ZWQgdG8gUFUgYW5kIEZBaEEsIGJ1dCB0aGUgZXhhbXBsZSB0ZW5zZSBpcyByaSd1IChG QWhBMikuCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTkuMTAgc2hvdWxkIGhhdmUgImJhIiwgbm90 ICJwdSIsIGFuZCAiW2Z1dHVyZV0iLCBub3QgIltwYXN0XSIuICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAyNSwgZXhhbXBsZXMgMjUuMSBhbmQgMjUuMiBo YXZlICcnbHUnYScnIGZvciAnJ2xhJ3UnJy4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMjUsIHRoaXMg d2hvbGUgc2VjdGlvbiBpcyBhdCBvZGRzIHdpdGggdGhlIGZvcm1hbCBncmFtbWFyLiBJdCBzYXlz OiAnJ0l0IGlzIGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgcGxhY2VkIGFmdGVyIGEg dGVuc2Ugb3IgbW9kYWwgdGFnIHJhdGhlciB0aGFuIGEgc3VtdGknJy4gIEJ1dCB0aGF0IGlzIGlu IGZhY3QgaW5jb3JyZWN0LCBpdCBpcyBub3QgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNldCB0byBi ZSB0aGUgYXJndW1lbnQgb2YgYSB0YWcuCioqIFVuZm9ydHVuYXRlbHkgdHJ1ZS4gIFRlcm1zZXRz IHN1Y2sgcm9ja3MsIGFuZCBzb21lIHdvcmsgd2lsbCBoYXZlIHRvIGJlIGRvbmUgdG8gbWFrZSBl dmVyeXRoaW5nIHNhaWQgYWJvdXQgdGhlbSBjb25zaXN0ZW50IC0tIGlmIGl0IGlzIGV2ZW4gcG9z c2libGUuICBQZXJzb25hbGx5LCBJJ2QgbGlrZSB0byBqdXN0IGJ1cm4gdGhlbS4gIC0tamNvd2Fu ICAnJydOT0ZJWCcnJwoKKiBTZWN0aW9uIDI3OiBNT2hJIHNlZSBTZWN0aW9uIDI4LCBub3QgMjcu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKIUNoYXB0ZXIgMTEK CiogU2VjdGlvbiA0OiBUaGUgdXNlIG9mIGthIGluIEV4YW1wbGUgNC40IChwYWdlIDI1OSkgaXMg ZXJyb25lb3VzOyBpdCBzaG91bGQgYmUgZHUndS4gLS0oKEpvaG4gQ293YW4pKSAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogTGFzdCBwYXJhZ3JhcGggb2Ygc2VjdGlvbiA3 IHJlZmVyZW5jZXMgY2hhcHRlciA1IGZvciBhIGRpc2N1c3Npb24gb2YgImx1J2UiLiAgbHUnZSBp c24ndCBtZW50aW9uZWQgaW4gY2hhcHRlciA1LiAgUHJvYmFibHkgY2hhcHRlciA2IGlzIG1lYW50 IGhlcmUuCioqIFllcywgc2hvdWxkIGJlIFNlY3Rpb24gNS4xMC4gICAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gOSwgcGFnZSAyNjYgaGFzICJzYW8ncmR6 aWZhJ2EiIGluc3RlYWQgb2YgInNhJ29yZHppZmEnYSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBUaGUgc2FtZSBl eGFtcGxlICg5LjYpIGFsc28gaGFzIGt1Y3RyYSBpbnN0ZWFkIG9mIGt1Y3RhaQoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CiogVGhlIGJvb2sgdGl0bGUgaW4gZXhhbXBsZSA5LjYgc2VlbXMgdG8gYmUgaW5jb3JyZWN0OiAi VGhlIENydWNpZml4aW9uIG9mIEplc3VzIENvbnNpZGVyZWQgQXMgQSBEb3duaGlsbCBCaWN5Y2xl IFJhY2UiIGlzIGFjdHVhbGx5ICJbaHR0cDovL3d3dy5ldmVyZ3JlZW5yZXZpZXcuY29tLzEwMi9m aWN0aW9uL2R1by5odG1sfFRoZSBDcnVjaWZpeGlvbiBDb25zaWRlcmVkIEFzIEFuIFVwaGlsbCBC aWN5Y2xlIFJhY2VdLiIKKiogVW5hcHByb3ZlZAoKKiBTZWN0aW9uIDEwOiBQYXJhZ3JhcGggYWJv dmUgZXhhbXBsZSAxMC43IHJlZmVyZW5jZXMgIkNoYXB0ZXIgMTEiLiBUaGF0IHNob3VsZCByZWFk ICJDaGFwdGVyIDEwIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTIsIHBhZ2UgMjY5IGhhcyBleGFt cGxlcyAxMy4xIGFuZCAxMy4yLCB0aG9zZSBzaG91bGQgYmUgY2FsbGVkIDEyLjEgYW5kIDEyLjIu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKIUNoYXB0ZXIgMTIK CiogU2VjdGlvbiAyLCBwYWdlIDI3NS4gVGhlIHBhcmFncmFwaCB1bmRlciBFeGFtcGxlIDIuMyBy ZWZlcnMgdG8gaXQgYXMgRXhhbXBsZSAyLjQgKDIuNCBkb2Vzbid0IGV2ZW4gZXhpc3QpLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gNSwgcmlnaHQgYWZ0 ZXIgZXhhbXBsZSA1LjcuIEl0IHNheXMgImEiIGluc3RlYWQgb2YgImFuIi4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDYsIHBhZ2UgMjgwLiBFeGFtcGxl IDYuNiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJldHdlZW4gImxhIHNwYXQuIiBhbmQgIm5vaSIuCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKKiBTZWN0aW9uIDcsIHBhZ2UgMjgyLiBFeGFtcGxlIDcuNSBoYXMgImJhbnNvaSIg aW5zdGVhZCBvZiAiYmFsc29pIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTEsIHBhZ2UgMjg1IGhh cyAieGFzY2FrY3VybnUiIGluc3RlYWQgb2YgInhhc3ljYWtjdXJudSIuCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBT ZWN0aW9uIDEyIGNsYWltcyB0aGF0IC1qYXgtIGlzIGEgcmFmc2kgZm9yIHtqYWl9LCBidXQgaXQg aXNuJ3QgaW4gW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3RzL3Jh ZnNpLnR4dHxodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZz aS50eHRdLiBEb2VzIHtqYWl9IGhhdmUgYSByYWZzaSBvciBub3Q/CioqIEl0IHNob3VsZCwgYnV0 IHNvbWVob3cgaXQgbmV2ZXIgZ290IGludG8gdGhlIGdpc211IGxpc3QsIGFuZCBjb25zZXF1ZW50 bHkgbm90IGludG8gdGhlIHJhZnNpIGxpc3QgZWl0aGVyLiAgU3RldCwgYW5kIHdlJ2xsIGFkZCBp dCB0byB0aGUgZ2lzbXUgbGlzdC4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTIsIHJpZ2h0IGF0IHRo ZSBlbmQsIHNheXMgdGhhdCB7ZmFpfSBpcyBleHBsYWluZWQgaW4gQ2hhcHRlciAxMSwgYnV0IENo YXB0ZXIgMTEgbWFrZXMgbm8gbWVudGlvbiBvZiB7ZmFpfS4gT25seSBjaGFwdGVycyA5IGFuZCAx MCBkby4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQsIGV4YW1w bGUgMTQuMi4gTWlzc2luZyA8IC9wcmUgPiB0YWcsIGFuZCBtaXNzaW5nIDwgcHJlPiB0YWcgZm9s bG93aW5nIGV4cGxhbmF0b3J5IHBhcmFncmFwaC4KCiogU2VjdGlvbiAxNCwgcGFnZSAyOTEuIFRo ZSBwYXJhZ3JhcGggdW5kZXIgZXhhbXBsZSAxNC43IHNheXMgInNlIHhhbmNlIG1pbmR1IiBpbnN0 ZWFkIG9mICJzZSB4YW5jZSBtaW5kZSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE1LCB0d28gcGFy YWdyYXBocyBiZWZvcmUgZXhhbXBsZSAxNS43LiBJdCBzYXlzICJUaGVyZSBhcmUgc29tZSBjb21w YXJhdGl2ZSBjb25jZXB0cyB3aGljaCBhcmUgaW4gd2hpY2ggdGhlICdzZSB6bWFkdScgaXMgZGlm ZmljdWx0IHRvIHNwZWNpZnkuIiBUaGUgIndoaWNoIGFyZSBpbiB3aGljaCIgc2VlbXMgZ3JhbW1h dGljYWxseSBpbmNvcnJlY3QuCioqIERyb3AgIndoaWNoIGFyZSIuICAtLWpjb3dhbiAgICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE1LCBwYWdlIDI5NCwg ZXhhbXBsZSAxNS4xNC4gImxhIGFpbmN0YWluIiBuZWVkcyBhIHBlcmlvZCBiZWZvcmUgaXQgYmVj YXVzZSBpdCBzdGFydHMgd2l0aCBhIHZvd2VsLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKIUNoYXB0ZXIgMTMK CiogTWFueSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBwZXJpb2RzIGluIGZyb250IG9mIHZvd2Vs LWluaXRpYWwgY21hdm8uCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBJbiBzZWN0aW9uIDIsIHAuIDMwMCByZWZlcmVu Y2VzIHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAudWVjdSdpIGFyZSBmbGlwcGVkLiAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMs IGV4YW1wbGUgMy45LiAiZSdlIiBuZWVkcyBhIHBlcmlvZCBiZWZvcmUgaXQuCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK KiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBleGFtcGxlIDMuMTAuICJ0aXNuYSIgbmVlZHMgdG8gYmUg cmVwbGFjZWQgd2l0aCAidGlzeWdhdSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDQsIHBhZ2UgMzA1 LiBUaGUgc2NhbGUgd2l0aCB0aGUgZ2lzbXUgbW5lbW9uaWNzIGlzIG1pc2FsaWduZWQgd2l0aCB0 aGUgc2NhbGUgd2l0aCB0aGUgbWVtYmVycyBvZiBzZWxtYSdvIENBSS4gInNhaSIgc2hvdWxkIGJl IHRhYmJlZCBvbmUgcGxhY2UgbGVmdCwgc28gdGhhdCBpdCBhbGlnbnMgd2l0aCB0c2FsaSwgJmMu CgoqIFNlY3Rpb24gNywgaXQgc2F5cyAiSXQgaXMgbm90IGNsZWFyIGhvdyBtdWNoIHVzZSBsb2dp Y2FsbHkgY29ubmVjdGVkIGFic3RyYWN0b3JzIHdpbGwgYmU6IHNlZSBDaGFwdGVyIDEzLiIgSXQg c2hvdWxkIGJlICJDaGFwdGVyIDE1LiIKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQn cyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKKiBTZWN0aW9uIDEwLCBwYWdlIDMx My4gVGhlcmUgaXMgYSBtaXNzaW5nIHNwYWNlIGJldHdlZW4gImNvbnRpbnVlIGVtb3Rpb24iIGFu ZCAiZW5kIGVtb3Rpb24iLgoKKiBTZWN0aW9uIDE1LiBBIHNhbXBsZSBkaWFsb2d1ZSAgMTUuNCkg LyB+bnB+W0NvbW1lbnRdIFBhbSBzYXlzLCBbUGxlYXNlXSBBbGljZSwgW2VuZC1vZi1jb21tZW50 XSAvIFtDb21tZW50XSBQYW0gc2F5cywgW2VuZC1vZi1jb21tZW50XSBbUGxlYXNlXSBBbGljZSwv fi9ucH4gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBT ZWN0aW9uIDE1LCBleGFtcGxlIDE1LjUgL3hhbWd1L2dsZWtpLyA/CioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0 aW9uIDE1LCBleGFtcGxlIDE1LjEwKSAvZmknaSBybyB6dmF0aSBrbyBwaW54ZSBwYSBja2FmaS9m aSdpIHJvIHp2YXRpIC5pIGtvIHBpbnhlIHBhIGNrYWZpLwoqKiBObywgdGhpcyBvbmUgaXMgcGVy ZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2YXRpIiBpcyBhIHZvY2F0aXZlIHBocmFzZSwgd2hpY2gg aXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFuaW5nIHRoYXQgaXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3 aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE1 LCBleGFtcGxlIDE1LjEzKSAvZmknbyBzZWxwbGVqaSBtaS9maSdvIHBsZWppIG1pLwoqKiBBbmQg IndpdGggcGF5ZXIiIHJhdGhlciB0aGFuICJ3aXRoIHBheW1lbnQiOyBleSdzIG5vdCBwYXlpbmcg d2l0aCBlbXNlbGYhIC0tIGNhbWd1c21pcwoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKIUNoYXB0ZXIgMTQKCiog U2VjdGlvbiA4LCByaWdodCBiZWZvcmUgZXhhbXBsZSA4LjkgaXMgInByb2R1Y2luZyBleGFtcGxl IDguMTAiIHdoaWNoIHNob3VsZCBpbiBmYWN0IHJlYWQgInByb2R1Y2luZyBleGFtcGxlIDguOSIu ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA5OiBiZXR3 ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50aWZpZWQiIHNob3VsZCByZWFkICJpZGVu dGljYWwiCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDExLCByaWdodCBiZWZvcmUgc2VjdGlvbiAxMi4g SXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVkIGluIENoYXB0ZXIgMTIgYW5kIENoYXB0 ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBvbiBsdWp2bykgbWFrZXMgYWJzb2x1dGVs eSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVycyA5IGFuZCAxMCBkaXNjdXNzIHRlcm1z ZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQs IGV4YW1wbGUgMTQuMTUgaXMgbm90IGdyYW1tYXRpY2FsIChhY2NvcmRpbmcgdG8gamJvZmknZSBh bmQgY2FteGVzKSBiZWNhdXNlIGl0IHNheXMgInBlJ2UgLmUiIHdoZW4gaXQgc2hvdWxkIHNheSAi cGUnZSBqZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlv biAxNCwgZXhhbXBsZSAxNC4xNiBtZW50aW9ucyAic29ybWUiLCB3aGljaCBpcyBwcm9iYWJseSBP bGQgTG9nbGFuLCBhbmQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJtZW5zaSIuCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK KiBTZWN0aW9uIDE0LCAidGhlIHN0YXRlZCBnbG9zcyBvZiBURlRUYXMg4oCcb25seSBpZuKAnSB3 b3JrcyBuYXR1cmFsbHkgb25seSB3aGVuIHRoZSByaWdodC1oYW5kIGJyaWRpIGlzIHRydWU7IGlm IGl0IGlzIGZhbHNlLCB0aGUgbGVmdC1oYW5kIGJyaWRpIG1heSBiZSBlaXRoZXIgdHJ1ZSBvciBm YWxzZS4iIGNoYW5nZWQgdG8gInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbi gJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyBmYWxz ZTsgaWYgaXQgaXMgdHJ1ZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRydWUg b3IgZmFsc2UuIgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAxNSwgcmlnaHQgYWZ0ZXIgMTUuOSwgaXQg c2F5cyAiZXhhbXBsZSAxNC4xNyIgd2hlcmUgaXQgc2hvdWxkIHNheSAiZXhhbXBsZSAxNS45IiAo MTQuMTcgZG9lcyBub3QgZXhpc3QpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOSBpcyBub3QgZ3JhbW1hdGljYWw7IGl0IHNo b3VsZCBiZSAibGEgZGphbi4gZmEndSBsYSBmcmFuay4gY3Vza3UgbnUnaSBiYXUgbGEgbG9qYmFu LiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jkai4iLgoKKiBTZWN0aW9uIDE5LCBleGFtcGxlIDE5LjQg aXMgdHJhbnNsYXRlZCBhcyAiSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmct dGhpbmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNz LW9mIGxpdmluZy10aGluZ3MgaXNuJ3QtYXQgSnVwaXRlciIgYnV0IHJlYWxseSBpdCdzICJJIG9w aW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVwaXRlciBv ci1lbHNlIEkgX19kby1ub3RfXyBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmct dGhpbmdzIF9faXMtYXRfXyBKdXBpdGVyIi4gU28gMTkuNCBpcyBhY3R1YWxseSB0cnVlLCBub3Qg ZmFsc2UgYXMgaXQgaXMgY2xhaW1lZCB0byBiZS4KKiogQ29ycmVjdCwgc28gdGhpcyBleGFtcGxl IHdpbGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiBBbHNvIHRoZXJlIGlzbid0IHJlYWxseSBhIHJlYXNvbiBmb3IgaXQgdG8gc2F5IGEg bWFzcyBvZiBsaXZpbmcgdGhpbmdzIGFuZCBub3Qgc29tZSBpbmRpdmlkdWFsIGxpdmluZyB0aGlu Z3MuCioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3YXksIHRoYW5reW91dmVy eW11Y2guICAtLWpjb3dhbi4KCgotLS0KCiEgQ2hhcHRlciAxNQoKKiBTZWN0aW9uIDIsIG1pc3Np bmcgPCAvcHJlID4gdGFnIGFmdGVyIGV4YW1wbGUgMi44IGFuZCA8IHByZT4gdGFnIGJlZm9yZSBl eGFtcGxlIDIuOS4KCiogU2VjdGlvbiA5LCB0d28gcGFyYWdyYXBocyBhYm92ZSBleGFtcGxlIDku NCB0aGUgd29yZCAibmVnYXRpdiIgc2hvdWxkIGJlICJuZWdhdGl2ZSIuICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA5OiBJcyB0aGVyZSBzdXBwb3NlZCB0 byBiZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGV4LiA5LjUgYW5kIDkuNj8KKiogVGhhdCBwcm9i bGVtIGlzIG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLgoKKiBTZWN0aW9uIDEwLCB0aHJlZSBw YXJhZ3JhcGhzIGFmdGVyIGV4YW1wbGUgMTAuMTQsIHRoZXJlJ3MgYSBzZW1pY29sb24gd2hpY2gg c2hvdWxkIGJlIGEgY29tbWEgYWZ0ZXIgIihzYXksIGEgc3BlbGxpbmcgZXJyb3IpIi4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDEwLCBpdCBzYXlzICIn amkndW5hJ2lrdScgbWV0YWxpbmd1aXN0aWNhbGx5IHNheXMgdGhhdCBzb21ldGhpbmcgaXMgd3Jv bmcgd2l0aCB0aGF0IGFzc3VtcHRpb24uIChTZWUgQ2hhcHRlciAxMC4pIi4gU2hvdWxkbid0IHRo YXQgYmUgQ2hhcHRlciA5LCBtb2RhbHM/CioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0 J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCi0t LQoKIUNoYXB0ZXIgMTYKCiogU2VjdGlvbiA1LCBleGFtcGxlIDUuNTogRW5nbGlzaCBoYXMgImV2 ZXJ5IFkiIHdoZW4gaXQgc2hvdWxkIHJlYWQgImV2ZXJ5IFgiCioqICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9u IDYsIGV4YW1wbGUgNi42IGhhcyBhIG1pc3NpbmcgImN1IiBiZWZvcmUgInZpc2thIi4KKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoqIFNlY3Rpb24gOCwgdGhlIGV4cGxhbmF0aW9uIG9mIGV4YW1wbGUgOC4zIHNheXMgImFu eSBlbnRpdHkgd2hpY2ggaXMgb25lIGlzIGFsc28gdGhlIG90aGVyIi4gVGhhdCB3b3VsZCBiZSB0 cnVlIGlmIHRoZSBleGFtcGxlIHVzZWQge2dvfSwgYnV0IGl0IHVzZXMge2dhbmFpfS4gOC4zIGRv ZXMgbm90IGNsYWltIHRoYXQgaWYgc29tZXRoaW5nIHdhbGtzIGFjcm9zcyB0aGUgZmllbGQgdGhl biBpdCBnb2VzIHRvIHRoZSBzdG9yZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKSAgQ2hhbmdlIGl0IHRvIHVzZSB7Z299LiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKiBT YW1lIHBsYWNlOiBuZWVkcyB0byBibyB7ZGEgZ299LCBub3Qge2dvIGRhfSAgQW5kIHRoZSBnbG9z cyBzaG91bGQgYmUgIkZvci1ldmVyeSBYOiBYIGlzLWEtZ29lci10byB0aGUgc3RvcmUgaWYtYW5k LW9ubHktaWYgaXQgaXMtYS13YWxrZXItb24gdGhlIGZpZWxkLiIgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCiogU2VjdGlvbiA4LCBleGFtcGxlIDguMy4gRWl0aGVyIHRoZSB7ZGF9IHNob3VsZCBj b21lIGJlZm9yZSB0aGUge2dhbmFpfSAob3IsIGJ5IHRoZSBwcmV2aW91cyBeIGVycmF0dW0sIHtn b30pIGFuZCB0aGUgZ2xvc3Mgc2hvdWxkIGJlIGNoYW5nZWQgdG8gb25seSBtZW50aW9uICJYIiBv bmNlLCBvciBhIHtkYX0gc2hvdWxkIGJlIGluc2VydGVkIGJlZm9yZSB7Y2FkenV9LgoqKiAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJyAgY2hvc2UgZmlyc3Qgb3B0aW9uIHNpbmNlIGl0J3MgdGVyc2Vy ICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoqIFRoaXM6ICJBZGph Y2VudCBuZWdhdGlvbiBib3VuZGFyaWVzIGluIHRoZSBwcmVuZXggY2FuIGJlIGRyb3BwZWQsIiBy ZWFkcyBiZXR0ZXIgYXMgIkFkamFjZW50IHBhaXJzIG9mIG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4g dGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwiCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKiogVGhlIG9ubGluZSB2ZXJz aW9uIHNheXMgIkFkamFjZW50IGRvdWJsZSBuZWdhdGlvbiBib3VuZGFyaWVzIiwgYnV0IEknbSBv a2F5IHdpdGggZWl0aGVyICJkb3VibGUiIG9yICJwYWlycyBvZiIuICAtLWpjb3dhbgoKKiBTZWN0 aW9uIDEwLCBleC4gMTAuNSBhbmQgMTAuNiBoYXZlIGEgcHJlbmV4LCAibmFrdSB6byd1IiwgYWZ0 ZXIgYW4gaWplay4gVGhpcyBpcyBub3QgYWxsb3dlZCBieSB0aGUgZ3JhbW1hci4gSXQgY291bGQg YmUgZml4ZWQgYnkgcmVtb3ZpbmcgdGhlICJ6byd1IiBhbmQgdXNpbmcgIm5ha3UiIG91dHNpZGUg dGhlIHByZW5leCwgYWx0aG91Z2ggdGhpcyBpcyBvbmx5IGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93 aW5nIFNlY3Rpb24gMTEuCioqIFRoaXMgaXMgYSBiaWcgcHJvYmxlbSwgYW5kIEknbSBub3Qgc3Vy ZSB3aGF0IHNob3VsZCBiZSBmaXhlZC4gIC0tamNvd2FuICAnJydOT0ZJWCcnJwoqIFNlY3Rpb24g MTIsIGV4LiAxMi43IGFuZCAxMi45IGhhdmUgbWlzc2luZyAiY3Uicy4KKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gMTQsIEV4YW1wbGUgMTQuMSBoYXMgImJsYWNpIiAoZ2xhc3MpIG5vdCAiYmxhYmkiICh3 aGl0ZSkgYXMgcGVyIHRoZSBFbmdsaXNoLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlz IEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKIUNoYXB0ZXIgMTcKCiog U2VjdGlvbiA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFyYWdyYXBoIHN0YXJ0aW5nICJIb3dldmVy LCAiIGhhcyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiBTZWN0aW9uIDksIHBhZ2UgNDIxLiBsZXJmdSBzdHJpbmdzIGFyZSB3cml0dGVuIHdp dGhvdXQgcGF1c2VzIG9yIHNwYWNlcywgZXZlbiB0aG91Z2ggQlkgd29yZHMgaGF2ZSB0byBlbmQg d2l0aCBhIGNvbnNvbmFudC4KKiogU3RldC4gIEJZIHdvcmRzIGRvIG5vdCBlbmQgd2l0aCBhIGNv bnNvbmFudCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2FuIG5ldmVyIGJlIGFtYmlndW91cywgc28g cGF1c2VzL3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAgLS1qY293YW4KCiogU2VjdGlvbiA5LCBF eGFtcGxlIDkuNDogc2hvdWxkbid0ICJzeW15ankiIGJlICJzeW15ZHkiIChsb2piYW4gbW9ycGhv bG9neSk/ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAx MC4gQWZ0ZXIgRXhhbXBsZSAxMC40LjUsIHRoZSByZWZlcmVuY2UgdG8gRXhhbXBsZSAxMC40IHNo b3VsZCBiZSBpbnN0ZWFkIHRvIEV4YW1wbGUgMTAuNC41LgoqKkluIHRoZSBjdXJyZW50IERBRy1D TEwsIHRoZSBleGFtcGxlcyBudW1iZXJpbmcgaXMgc2FuZSwgYnV0IGFmdGVyIEV4YW1wbGUgMTAu MywgdGhlIHR3byByZWZlcmVuY2VzIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgdG8gRXhhbXBs ZSAxMC4zLgoKKiBSaWdodCBiZWZvcmUgc2VjdGlvbiAxMiwgdGhlcmUgaXMgYSBsaW5lIGJyZWFr IGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhcmFncmFwaC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE3LCBwYWdlIDQyNy4gIi50dnJpeWRvcy4gYnUiIGJl Z2lucyB3aXRoIHRoZSBjb25zb25hbnQgY2x1c3Rlciwgd2hpY2ggaXNuJ3QgZXZlbiBwZXJtaXNz aWJsZSBtZWRpYWxseS4KKiogY2hhbmdlIHRvIHR5dnJpeWRvcwoqKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCioqKiogQWN0 dWFsbHksIGl0IHNob3VsZCBiZSAidHl2cmRvcy4gYnUiICAtLWpjb3dhbgoKKiBJbiB0aGUgdGFi bGUgaW4gc2VjdGlvbiAxOSwgdGhlIGxlcnZsYSBmb3Igb3Zlci1kb3QgKCIuZ2FybW9jLiBidSIp IGFuZCBvdmVyLXJpbmcgKCIuZ2FyamluLiBidSIpIHNob3VsZCBiZSB1cGRhdGVkIHRvIHRoZWly IHBvc3QtUmVhbGxvY2F0aW9uIGZvcm1zLCAiLmdhcG1vYy4gYnUiIGFuZCAiLmdhcHlqaW4uIGJ1 Ii4KKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE5IGhhcyB0d28gY29sdW1ucyBydW4gdG9nZXRoZXIg aW4gdGhlIHJvdyB0aGF0IHNheXMgIkRhbmlzaC9MYXRpbiBhZXRlaSAuYWJ1IC5lYnUgZm9pIgoK LS0tCgohQ2hhcHRlciAxOAoKKiBTZWN0aW9uIDMsIGV4LiAzLjEwLCBzaG91bGQgdHJhbnNsYXRl IGFzICIuMTAxMjAwMSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiog SW4gc2VjdGlvbiA0IGV4YW1wbGUgNC41IGlzIGxpbmtlZCBpbnN0ZWFkIG9mIDQuNyAtICJFeGFt cGxlIDQuNSBpcyBub3QgYGAxIG1pbnVzIDInJywgWy4uLnwuLi5dIiB3aGVyZSBleGFtcGxlIDQu NSBpcyBqdXN0ICJ0ZSdvIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK KiBTZWN0aW9uIDUsIHA0MzcgZXg1LjkgW2dsb3NzXTogb3VyIC0+IGZvdXIgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gNiwgcDQzODogaiB2dSd1IC0+IHZ1J3UgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTdGFydCBvZiBzZWN0aW9u IDExIHNob3VsZCByZWFkIHRoZXJlIGFyZSBmaXZlIG1lbWJlcnMgb2YgTU9JIChub3QgZm91ciku ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gc2VjdGlvbiAxMSwg ZXggMTEuMTAgb24gdmEnZSAic29maSd1cGFubyIgaW4gdGhlIGV4YW1wbGUgaXMgZ2xvc3NlZCBh cyAiOC8xMCIgaW5zdGVhZCBvZiAiOS8xMCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFw cHJvdmVkKSkKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogSW4gc2VjdGlvbiAxMSwgImxl aSByYXRjdSBwb2kgenZhdGkgbGUgcGFua2EgY3Ugc28ndW1laSBmbyBsbydpIHJhdGN1IiwgYnV0 IHRoZXJlIGlzIG5vIDR0aCBwbGFjZSBvZiBtZWkuCioqIFJlbW92ZSB0aGUgImZvIjsgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoq IEV4YW1wbGUgMTQuNCBuZWVkcyBhIHN1Yi0yIGFmdGVyIGJvdGggbnVtYmVycy4KKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoqIEluIHNlY3Rpb24gMTcsIGF0IHRoZSBib3R0b20gb2YgcGFnZSA0NTQsIHRoZSBxdWFkcmF0 aWMgZm9ybXVsYSBzaG91bGQgYmUgZGVzY3JpYmVkIGFzIGEgY2xhc3NpYyBleGFtcGxlIG9mIG9w ZXJhdG9yIGxvZ2ljYWwgY29ubmVjdGlvbiwgbm90IG9wZXJhbmQuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAyMCwgcDQ1ODogLWVzdGFibGlzaGVkIC0+ IGVzdGFibGlzaGVkICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2Vj dGlvbiAyMSBzdGF0ZXMgdGhhdCB0aGUgcmFmc2kgb2YgImZyaW51IiBtYXkgYmUgdXNlZCBhcyBy YWZzaSBmb3IgImZpJ3UiOyBob3dldmVyLCAiZnJpbnUiIGxvc3QgYm90aCBvZiBpdHMgc2hvcnQg cmFmc2kgaW4gdGhlIFJlYWxsb2NhdGlvbiwgc28gdGhpcyByZWFsbHkgaXNuJ3QgdmVyeSB1c2Vm dWwuIFRoZSB0YWJsZSBiZWxvdyBsaXN0cyAiZmkndSIgYXMgYSByYWZzaSB1c2FibGUgZm9yICJm aSd1IiwgdGhlcmVmb3JlIG9mICJmcmludSI7IHRoZSBnaW1zdGUgbGlzdHMgImZpJ3UiIGFzIGEg cmFmc2kgb2YgImNmaXB1Ii4KKiogVGhpcyBpcyBhIHNlcmlvdXMgcHJvYmxlbSB3aGljaCBuZWVk cyBzb21lIHRob3VnaHQuICBUaGVyZSBuZWVkcyB0byBiZSBhIHJhZnNpIGZvciBmaSd1IHNvbWVo b3cuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2VjdGlvbiAyMiBleGFtcGxlIDIyLjMsICJt bydlIHZvYm9pIHJlbm9tZWkgc3UnaSB6ZSIsIGRvZXMgbm90IHBhcnNlLgoqKiBJdCBuZWVkcyAi dmVpIiBpbiBmcm9udCB0byBiZSBhIHF1YW50aWZpZXIgKGFuIG9wZXJhbmQgYnkgaXRzZWxmIGlz IG5vdCBhIHBlcm1pdHRlZCBmcmFnbWVudCkuIEFsc28sIHRoZSBmb2xsb3dpbmcgdGV4dCBtZW50 aW9ucyAidGUndSIgYnV0IHRoZSBleGFtcGxlIG9taXRzIGl0LgoqKiogTm9uZSBvZiB0aG9zZSBl eGFtcGxlcyBwYXJzZSB3aXRob3V0IHtsaX0sIHdoaWNoIEkgaGF2ZSBhZGRlZCB0byBhbGwuICBS ZXBsYWNlZCB0aGUgb25lIGluIHF1ZXN0aW9uIHdpdGggImxpIG1vJ2Ugdm9ib2kgcmVub21laSB0 ZSd1IHN1J2kgemUiICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKLS0tCiFDaGFwdGVyIDE5CgoqIFNlY3Rpb24gNCwgcDQ2NyBl eDQuMzogenUnbyAtPiB6byd1ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcGFnZSA0NzIuIEV4YW1wbGUgNi42IGVuZHMgd2l0aCAi a2xhbWEiLCBidXQgZm9yIHRoZSBhcmd1bWVudCB0byBtYWtlIHNlbnNlLCBpdCBoYXMgdG8gc2F5 ICJudW5rbGEiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA3LCBFeGFtcGxlIDcuMSBoYXMgYXMgdGhl IEVuZ2xpc2g6ICJJIGdvLXRvIChmaXJzdGx5KSB0aGUgc3RvcmUgYW5kIChzZWNvbmRseSkgdGhl IG1hcmtldC4iICAidGhlIG1hcmtldCIgc2hvdWxkIGJlICJ0aGUgaG91c2UiLgoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CiogRXhhbXBsZSAxMS44LCB0aGVyZSdzIGEgZGVucGFidSBhZnRlciB7emEnZX0gYW5kIG5vIGRl bnBhYnUgYWZ0ZXIge2FsYmVpbmlhc30uCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0 J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoqIFNlY3Rpb24gMTEsIHRoZSBw YXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSAxMS44IHNheXMgImN0aWlweXJpcyIgYnV0IGl0IHNob3Vs ZCBiZSAiY2tpaXB5cmlzIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQot LS0KCiFDaGFwdGVyIDIwCgoqIFNlY3Rpb24gTEUsIHBhZ2UgNDk4LiBJbiAibGUgZ2Vya3Uga2xh bWEgbGUgemRhbmkiLCAiY3UiIGlzIG1pc3NpbmcuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIFRVaEUs IHBhZ2UgNTA1LiBJbiAieGFnbWF1IHpvJ3UgdHUnZSBnYW5haSBjaWRqYSBnaSBjbmlubyAuaSBn YW5haSB2YW5qdSBnaSB0b2xjaSdvIHR1J3UiLCAiY25pbm8iIHNob3VsZCBiZSByZXBsYWNlZCBi eSAiY2l0bm8iLiAgQWxzbywgYSBwcmVuZXggY2FuJ3QgaGF2ZSBhIHNlbGJyaSwgc28gJyd4YWdt YXUnJyBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJydsbyB4YWdtYXUnJy4KKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gU0UsIHBhZ2UgNTA0OiBtaXNzaW5nICJjdSIgYWZ0ZXIgInphcmNpIi4KKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoqIEluIHRoZSBwYXNzYWdlcyBvbiBWRUkgYW5kIFZFaE8sIHRoZSAiYm8icyBzaG91bGQgYmUg Y2hhbmdlZCB0byAiYmknZSJzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgotLS0KCiFDaGFwdGVyIDIxCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxl LXRlbnNlLW1vZGFsLTk3MiBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgQ1VoRS4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRo ZSBydWxlIHNlbGJyaS0xLTEzMSBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTkEuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0 aGUgcnVsZSB0YW5ydS11bml0LTItMTUyIGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBKQUku ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnIDsgYml6YXJl bGx5LCB0aGUgV29yZCBkb2MgdGhlIGJvb2sgd2FzIHByaW50ZWQgZnJvbSBkb2VzIG5vdCBoYXZl IHRoaXMgcHJvYmxlbSBhdCBhbGwuCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgb3Bl cmF0b3ItMS0zNzEgaXMgbWlzc2luZyB0d28gInwiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgbWV4LW9wZXJhdG9y LTM3NCBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTUFoTyBhbmQgYW5vdGhlciBiZWZvcmUg dGhlIFZVaFUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gdGhl IEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYW5kLTMtMzg1IGlzIG1pc3NpbmcgYSAifCIgYmVm b3JlIHRoZSBOSWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIElu IHRoZSBCTkYgZ3JhbW1hciwgaW4gdGhlIHJ1bGUgdGltZV8xMDMwLCB0aGUgIlpFaEEgW1BVIFtO QUldIF0iIHNob3VsZCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcy4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bs b2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1 cm90aWMK