Received: from localhost ([::1]:42863 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1URLv5-00015a-FP; Sun, 14 Apr 2013 05:20:31 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:35159 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1URLuw-00015T-8h for wikichanges@lojban.org; Sun, 14 Apr 2013 05:20:30 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sun, 14 Apr 2013 05:20:21 -0700 From: "Apache" Date: Sun, 14 Apr 2013 05:20:21 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp0 was changed by gleki at 12:20 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp0 [...] Content analysis details: (2.0 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: pi.er] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinuedp0 changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 49277 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMCB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAx MjoyMCBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDAKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAwJmNvbXBhcmU9MSZvbGR2ZXI9MSZuZXd2ZXI9 MgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2Vk IGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczog MS0zIGNoYW5nZWQgdG8gK0xpbmVzOiAxLTMgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKLSAhQ2hhcHRlciAxLiBTb3VuZHMsIG5h bWVzIGFuZCBhIGZldyBhdHRpdHVkZXMKKyAhUHJlZmFjZS4gU291bmRzClRoZSBmaXJzdCB0aGlu ZyB5b3UgbmVlZCB0byBkbyB3aGVuIHlvdSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMgdG8g YmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0 aGV5IGFyZSB3cml0dGVuLCBhbmQgdGhlIHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5hdGVs eSwgTG9qYmFuIHNvdW5kcyAoX19waG9uZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9yd2Fy ZC4gCiEhVm93ZWxzCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDctMTMgY2hhbmdlZCB0byArTGluZXM6IDctMTMg QEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKZSB8YXMgaW4gJydnX19lX190JycgCmkgfGFzIGluICcnbWFjaF9faV9fbmUnJyBvciAo SXRhbGlhbikgJyd2X19pX19ubycnIChub3QgYXMgaW4gJydoX19pX190JycpIAotIG8gfGFzIGlu ICcnYl9fb19fbGQgJydvciAnJ21fX29fX3JlJydub3QgYXMgaW4gJydzX19vJydfXyAodGhpcyBz aG91bGQgYmUgYSBwdXJlIHNvdW5kLikgCisgbyB8YXMgaW4gJydiX19vX19sZCAnJ29yICcnbV9f b19fcmUnJ25vdCBhcyBpbiAnJ3NfX28nJ19fICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3Vu ZC4pIAp1IHxhcyBpbiAnJ2NfX29vX19sJycgKG5vdCBhcyBpbiAnJ2JfX3VfX3QnJykgfHwKLSBU aGVzZSBhcmUgcHJldHR5IG11Y2ggdGhlIHNhbWUgYXMgdm93ZWxzIGluIEl0YWxpYW4gb3IgU3Bh bmlzaC4gVGhlIHNpeHRoIHZvd2VsLCB5LCBpcyBjYWxsZWQgYSBfX3NjaHdhX18gaW4gdGhlIGxh bmd1YWdlIHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBmaXJzdCBhbmQgbGFzdCAn J0EnJ3MgaW4gJydBbWVyaWNhJycgKHRoYXRzIEVuZ2xpc2ggJydBbWVyaWNhJycsIG5vdCBTcGFu aXNoLikgSXRzIHRoZSBzb3VuZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBtb3V0aCBpcyBjb21w bGV0ZWx5IHJlbGF4ZWQuIAorIFRoZXNlIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyB2b3dl bHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGggdm93ZWwsIHksIGlzIGNhbGxlZCBh IF9fc2Nod2FfXyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2VkIGxpa2Ug dGhlIGZpcnN0IGFuZCBsYXN0ICcnQScnJ3MgaW4gJydBbWVyaWNhJycgKHRoYXQncyBFbmdsaXNo ICcnQW1lcmljYScnLCBub3QgU3BhbmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29tZXMgb3V0 IHdoZW4gdGhlIG1vdXRoIGlzIGNvbXBsZXRlbHkgcmVsYXhlZC4gClR3byB2b3dlbHMgdG9nZXRo ZXIgYXJlIHByb25vdW5jZWQgYXMgb25lIHNvdW5kIChfX2RpcGh0aG9uZ19fKS4gU29tZSBleGFt cGxlcyBhcmU6IAoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMzItMTE5IGNoYW5nZWQgdG8gK0xpbmVzOiAzMi0x MTQgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSsKeCB8YXMgaW4gR2VybWFuICcnQmFfX2NoJydfXywgU3BhbmlzaCAnJ19fSl9fb3Nl Jycgb3IgQXJhYmljICcnX19LaF9fYWxlZCcnIHx8ClRoZSBFbmdsaXNoIHNvdW5kcyAnJ2NoJycg YW5kICcnaicnIGFyZSB3cml0dGVuIGFzIHRjIGFuZCBkai4gCi0gTG9qYmFuIGRvZXNudCB1c2Ug dGhlIGxldHRlcnMgJydIJycsICcnUScnIG9yICcnVycnLiAKKyBMb2piYW4gZG9lc24ndCB1c2Ug dGhlIGxldHRlcnMgJydIJycsICcnUScnIG9yICcnVycnLiAKISFTcGVjaWFsIENoYXJhY3RlcnMK TG9qYmFuIGRvZXMgbm90IHJlcXVpcmUgYW55IHB1bmN0dWF0aW9uLCBidXQgc29tZSBzcGVjaWFs IGNoYXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQgaW4gcHVuY3R1YXRpb24gaW4gb3RoZXIgbGFuZ3Vh Z2VzKSBhZmZlY3QgdGhlIHdheSBMb2piYW4gaXMgcHJvbm91bmNlZC4gCi0gVGhlIG9ubHkgb25l IG9mIHRoZXNlIGNoYXJhY3RlcnMgd2hpY2ggaXMgb2JsaWdhdG9yeSBpbiBMb2piYW4gaXMgdGhl IGFwb3N0cm9waGU7IGluIGZhY3QgdGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9w ZXIgbGV0dGVyIG9mIExvamJhbi4gQW4gYXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZvd2Vscywg cHJldmVudGluZyB0aGVtIGZyb20gYmVpbmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMgYSBfX2Rp cGh0aG9uZ19fKTsgaXQgaXMgaXRzZWxmIHByb25vdW5jZWQgbGlrZSBhbiAnJ2gnJy4gRm9yIGV4 YW1wbGUsIHVpIGlzIG5vcm1hbGx5IHByb25vdW5jZWQgJyd3ZScnLCBidXQgdWkgaXMgJydvb2hl ZScnLiAKKyBUaGUgb25seSBvbmUgb2YgdGhlc2UgY2hhcmFjdGVycyB3aGljaCBpcyBvYmxpZ2F0 b3J5IGluIExvamJhbiBpcyB0aGUgYXBvc3Ryb3BoZTsgaW4gZmFjdCB0aGUgYXBvc3Ryb3BoZSBp cyByZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgb2YgTG9qYmFuLiBBbiBhcG9zdHJvcGhlIHNl cGFyYXRlcyB0d28gdm93ZWxzLCBwcmV2ZW50aW5nIHRoZW0gZnJvbSBiZWluZyBwcm9ub3VuY2Vk IHRvZ2V0aGVyIChhcyBhIF9fZGlwaHRob25nX18pOyBpdCBpcyBpdHNlbGYgcHJvbm91bmNlZCBs aWtlIGFuICcnaCcnLiBGb3IgZXhhbXBsZSwgdWkgaXMgbm9ybWFsbHkgcHJvbm91bmNlZCAnJ3dl JycsIGJ1dCB1J2kgaXMgJydvb2hlZScnLiAKQSBmdWxsIHN0b3AgKHBlcmlvZCkgaXMgYSBzaG9y dCBwYXVzZSB0byBzdG9wIHdvcmRzIHJ1bm5pbmcgaW50byBlYWNoIG90aGVyLiBUaGUgcnVsZXMg b2YgTG9qYmFuIG1ha2UgaXQgZWFzaWVyIGZvciBvbmUgd29yZCB0byBydW4gaW50byBhbm90aGVy IHdoZW4gdGhlIHNlY29uZCB3b3JkIGJlZ2lucyB3aXRoIGEgdm93ZWw7IHNvIGFueSB3b3JkIHN0 YXJ0aW5nIHdpdGggYSB2b3dlbCBjb252ZW50aW9uYWxseSBoYXMgYSBmdWxsIHN0b3AgcGxhY2Vk IGluIGZyb250IG9mIGl0LiAKLSBDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBidXQgY2FuIGJl IHVzZWQgdG8gc3RvcCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4geW91IGRvbnQg d2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hpY2ggd291bGQgcHV0IGEgJydoJycgYmV0d2Vl biB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhhdmUgY29tbWFzLCBidXQgdGhleXJlIHNvbWV0aW1l cyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJhbiBuYW1lcywgZm9yIGV4YW1wbGUgcGksRVIuICgn J1BpZXJyZScnKSwgYXMgb3Bwb3NlZCB0byBwaWVyLiAoJydQLXllcnInJyksIHBpLkVSLiAoJydQ ZWU7IEVocicnKSwgb3IgcGlFUi4gKCcnUGloZXJyJycpLiA8YnIgLz5DYXBpdGFsIGxldHRlcnMg YXJlIG5vdCBub3JtYWxseSB1c2VkIGluIExvamJhbi4gV2UgdXNlIHRoZW0gaW4gbm9uLUxvamJh biB3b3JkcyAobGlrZSAnJ1BpZXJyZScnKSB3aGVuIHRoZSBzdHJlc3Mgb2YgYSB3b3JkIGlzIGRp ZmZlcmVudCBmcm9tIHRoZSBMb2piYW4gbm9ybS4gVGhlIG5vcm0gaXMgdG8gcHV0IHRoZSBzdHJl c3Mgb24gdGhlIGxhc3QtYnV0LW9uZSBzeWxsYWJsZTsgc28sIGZvciBleGFtcGxlLCBrdXJtaWtj ZSBudXJzZSBpcyBrdXJfX01JS19fY2UsIG5vdCBfX0tVUl9fbWlrY2UuIFRoZSBuYW1lICcnSnVs aWV0dGUnJyB3b3VsZCBiZSB3cml0dGVuIERKVWxpLGV0LiBpZiBwcm9ub3VuY2VkIGluIGFuIEVu Z2xpc2ggd2F5LCBidXQganVMSUVULiBpZiBwcm9ub3VuY2VkIGFzIGluIEZyZW5jaC4gCisgQ29t bWFzIGFyZSByYXJlIGluIExvamJhbiwgYnV0IGNhbiBiZSB1c2VkIHRvIHN0b3AgdHdvIHZvd2Vs cyBibHVycmluZyB0b2dldGhlciB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHVzZSBhbiBhcG9zdHJv cGhlICh3aGljaCB3b3VsZCBwdXQgYSAnJ2gnJyBiZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4gd29y ZHMgaGF2ZSBjb21tYXMsIGJ1dCB0aGV5J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdyaXRpbmcgbm9u LUxvamJhbiBuYW1lcywgZm9yIGV4YW1wbGUgcGksRVIuICgnJ1BpZXJyZScnKSwgYXMgb3Bwb3Nl ZCB0byBwaWVyLiAoJydQLXllcnInJyksIHBpLkVSLiAoJydQZWU7IEVocicnKSwgb3IgcGknRVIu ICgnJ1BpaGVycicnKS4gPGJyIC8+Q2FwaXRhbCBsZXR0ZXJzIGFyZSBub3Qgbm9ybWFsbHkgdXNl ZCBpbiBMb2piYW4uIFdlIHVzZSB0aGVtIGluIG5vbi1Mb2piYW4gd29yZHMgKGxpa2UgJydQaWVy cmUnJykgd2hlbiB0aGUgc3RyZXNzIG9mIGEgd29yZCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgTG9q YmFuIG5vcm0uIFRoZSBub3JtIGlzIHRvIHB1dCB0aGUgc3RyZXNzIG9uIHRoZSBsYXN0LWJ1dC1v bmUgc3lsbGFibGU7IHNvLCBmb3IgZXhhbXBsZSwga3VybWlrY2UgJ251cnNlJyBpcyBrdXJfX01J S19fY2UsIG5vdCBfX0tVUl9fbWlrY2UuIFRoZSBuYW1lICcnSnVsaWV0dGUnJyB3b3VsZCBiZSB3 cml0dGVuIERKVWxpLGV0LiBpZiBwcm9ub3VuY2VkIGluIGFuIEVuZ2xpc2ggd2F5LCBidXQganVM SUVULiBpZiBwcm9ub3VuY2VkIGFzIGluIEZyZW5jaC4gCiEhQWxwaGFiZXQKSW4gbW9zdCBsYW5n dWFnZSB0ZXh0Ym9va3MsIHlvdSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5ndWFnZSB0b2dl dGhlciB3aXRoIGl0cyBzb3VuZHMuIExldHRlcnMgKGxlcmZ1KSB0dXJuIG91dCB0byBiZSBldmVu IG1vcmUgaW1wb3J0YW50IHRoYW4gdXN1YWwgaW4gTG9qYmFuLCBzbyB3ZSBtaWdodCBhcyB3ZWxs IGdvIHRocm91Z2ggdGhlaXIgbmFtZXMgcXVpY2tseS4gCi0gQ29uc29uYW50cyBhcmUgc3RyYWln aHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIs IHBsdXMgeS4gU28gdGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgJydiLCBjLCBkLCBm LCBnIC4uLicnLCBhcmUgY2FsbGVkIGJ5LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuLi4uIGluIExvamJh biAodXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZXZlIGp1c3QgZGVzY3JpYmVkLikgPGJyIC8+Vm93 ZWxzICcnd291bGQnJyBiZSBjYWxsZWQgLmF5LCAuZXksIC5peSwgYnV0IHRoYXQgd291bGQgYmUg cmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRoZXkgYXJlIGhhbmRsZWQg YnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3JkIGJ1LCB3aGljaCBiYXNp Y2FsbHkgbWVhbnMgbGV0dGVyLiBTbyB0aGUgdm93ZWxzIG9mIExvamJhbiBhcmU6IC5hYnUsIC5l YnUsIC5pYnUsIC5vYnUsIC51YnUsIHlidS4gPGJyIC8+VGhlIGFwb3N0cm9waGUgaXMgcmVnYXJk ZWQgYXMgYSBwcm9wZXIgbGV0dGVyIGluIExvamJhbiwgYW5kIGlzIGNhbGxlZCAueXkuLiBUbyBz b21lIHBlb3BsZSwgdGhpcyBzb3VuZHMgbGlrZSBhIGNvdWdoOyB0byBvdGhlciwgbGlrZSAnJ3Vo LWh1aCcnICh3aGVuIGl0IG1lYW5zIFllcyByYXRoZXIgdGhhbiBOby4pIDxiciAvPkxvamJhbiBo YXMgd2F5cyBvZiByZWZlcmluZyB0byBtb3N0IGxldHRlcnMgeW91IGNhbiB0aGluayBvZjsgc2Vl ICcnVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFnZScnLCBDaGFwdGVyIDE3IGZvciBkZXRhaWxz LiBJZiB5b3UgaGF2ZSB0aGUgdXJnZSB0byBzcGVsbCBvdXQgeW91ciBuYW1lIGluIExvamJhbiBh bmQgaGF2ZSBhbiAnJ0gnJywgJydRJycsIG9yICcnVycnIHRvIGRlYWwgd2l0aCwgeW91IGNhbiB1 c2UgLnl5LmJ1LCBreS5idSBhbmQgdnkuYnUuIFNvICcnU2Nod2FyemVuZWdnZXInJyBpcyBzcGVs dCBpbiBMb2piYW4gYXM6IDxiciAvPnN5LiBjeS4gLnl5YnUgdnlidS4gLmFidSByeS4genkuIC5l YnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LiAKKyBDb25zb25hbnRzIGFyZSBzdHJhaWdodGZv cndhcmQ6IHRoZSBuYW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGF0IGxldHRlciwgcGx1 cyB5LiBTbyB0aGUgY29uc29uYW50IGxldHRlcnMgb2YgTG9qYmFuLCAnJ2IsIGMsIGQsIGYsIGcg Li4uJycsIGFyZSBjYWxsZWQgYnkuLCBjeS4sIGR5LiwgZnkuLCBneS4uLi4gaW4gTG9qYmFuICh1 c2luZyB0aGUgZnVsbCBzdG9wIGFzIHdlJ3ZlIGp1c3QgZGVzY3JpYmVkLikgPGJyIC8+Vm93ZWxz ICcnd291bGQnJyBiZSBjYWxsZWQgLmF5LCAuZXksIC5peSwgYnV0IHRoYXQgd291bGQgYmUgcmF0 aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRoZXkgYXJlIGhhbmRsZWQgYnkg Zm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3JkIGJ1LCB3aGljaCBiYXNpY2Fs bHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFyZTogLmFidSwgLmVi dSwgLmlidSwgLm9idSwgLnVidSwgeWJ1LiA8YnIgLz5UaGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRl ZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4gTG9qYmFuLCBhbmQgaXMgY2FsbGVkIC55J3kuLiBUbyBz b21lIHBlb3BsZSwgdGhpcyBzb3VuZHMgbGlrZSBhIGNvdWdoOyB0byBvdGhlciwgbGlrZSAnJ3Vo LWh1aCcnICh3aGVuIGl0IG1lYW5zICdZZXMnIHJhdGhlciB0aGFuICdObycuKSA8YnIgLz5Mb2pi YW4gaGFzIHdheXMgb2YgcmVmZXJpbmcgdG8gbW9zdCBsZXR0ZXJzIHlvdSBjYW4gdGhpbmsgb2Y7 IHNlZSAnJ1RoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UnJywgQ2hhcHRlciAxNyBmb3IgZGV0 YWlscy4gSWYgeW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwgb3V0IHlvdXIgbmFtZSBpbiBMb2pi YW4gYW5kIGhhdmUgYW4gJydIJycsICcnUScnLCBvciAnJ1cnJyB0byBkZWFsIHdpdGgsIHlvdSBj YW4gdXNlIC55J3kuYnUsIGt5LmJ1IGFuZCB2eS5idS4gU28gJydTY2h3YXJ6ZW5lZ2dlcicnIGlz IHNwZWx0IGluIExvamJhbiBhczogPGJyIC8+c3kuIGN5LiAueSd5YnUgdnlidS4gLmFidSByeS4g enkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LiAKQW5kIHNwZWxsaW5nICcndGhhdCcn IGlzIGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhlIFRlcm1pbmF0b3IgZXZlciBkaWQh IApFeGVyY2lzZSAxCi0gU3BlbGwgeW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVhc3Qgc29t ZXRoaW5nIGNsb3NlIGVub3VnaCB0byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0dGVycyBv ZiBFbmdsaXNoIHdlIGhhdmUgbGVhcm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlLikgTm8gcGVla2lu ZyBhdCB0aGUgYmFja3dlIGRvbnQgaGF2ZSB0aGUgYW5zd2VyIHRvIHRoaXMgZXhlcmNpc2UgdGhl cmUhIDxiciAvPiEhIENvcnJlY3QgcHJvbnVuY2lhdGlvbjxiciAvPllvdSBkb250IGhhdmUgdG8g YmUgdmVyeSBwcmVjaXNlIGFib3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBw aG9uZW1lcyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25l IHNvdW5kIGZvciBhbm90aGVyLiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lIGNvcnJl Y3QgcHJvbnVuY2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251bmNp YXRpb250aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBsb25n IGFzIGl0IGRvZXNudCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhh bXBsZSwgTG9qYmFuIHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlz aCwgU2NvdHRpc2ggb3IgRnJlbmNoLiA8YnIgLz5Ud28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2Ys IHRob3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJhbiBpIGFuZCB1IGxpa2UgU3RhbmRhcmQgQnJp dGlzaCBFbmdsaXNoICcnaGl0JycgYW5kICcnYnV0JycgKE5vcnRoZXJuIEVuZ2xpc2ggJydidXQn JyBpcyBmaW5lISkuIFRoaXMgaXMgYmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxh cmx5IHRoZXNlIHR3bywgYXJlIHVzZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUg d2hvIGZpbmQgdGhlbSBoYXJkIHRvIHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2Js ZW1zIHNwaXR0aW5nIG91dCB0aGUgemQgaW4gemRhbmkgKGhvdXNlKSwgeW91IGNhbiBzYXkgemRh bml3aGVyZSB0aGUgIGlzIHZlcnkgc2hvcnQsIGJ1dCB0aGUgZmluYWwgaSBoYXMgdG8gYmUgbG9u Zy4gCisgU3BlbGwgeW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVhc3Qgc29tZXRoaW5nIGNs b3NlIGVub3VnaCB0byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0dGVycyBvZiBFbmdsaXNo IHdlIGhhdmUgbGVhcm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlLikgTm8gcGVla2luZyBhdCB0aGUg YmFja3dlIGRvbid0IGhhdmUgdGhlIGFuc3dlciB0byB0aGlzIGV4ZXJjaXNlIHRoZXJlISA8YnIg Lz4hISAnQ29ycmVjdCcgcHJvbnVuY2lhdGlvbjxiciAvPllvdSBkb24ndCBoYXZlIHRvIGJlIHZl cnkgcHJlY2lzZSBhYm91dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUgcGhvbmVt ZXMgYXJlIGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9uZSBzb3Vu ZCBmb3IgYW5vdGhlci4gVGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29ycmVjdCcg cHJvbnVuY2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251bmNpYXRp b250aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBsb25nIGFz IGl0IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4gRm9yIGV4YW1w bGUsIExvamJhbiByIGNhbiBiZSBwcm9ub3VuY2VkIGxpa2UgdGhlICcncicnIGluIEVuZ2xpc2gs IFNjb3R0aXNoIG9yIEZyZW5jaC4gPGJyIC8+VHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0 aG91Z2gsIGFyZSBwcm9ub3VuY2luZyBMb2piYW4gaSBhbmQgdSBsaWtlIFN0YW5kYXJkIEJyaXRp c2ggRW5nbGlzaCAnJ2hpdCcnIGFuZCAnJ2J1dCcnIChOb3J0aGVybiBFbmdsaXNoICcnYnV0Jycg aXMgZmluZSEpLiBUaGlzIGlzIGJlY2F1c2Ugbm9uLUxvamJhbiB2b3dlbHMsIHBhcnRpY3VsYXJs eSB0aGVzZSB0d28sIGFyZSB1c2VkIHRvIHNlcGFyYXRlIGNvbnNvbmFudHMgYnkgcGVvcGxlIHdo byBmaW5kIHRoZW0gaGFyZCB0byBzYXkuIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVt cyBzcGl0dGluZyBvdXQgdGhlIHpkIGluIHpkYW5pIChob3VzZSksIHlvdSBjYW4gc2F5IHpkYW5p d2hlcmUgdGhlICcnJycgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAnJ2knJyBoYXMgdG8g YmUgbG9uZy4gCiEhTG9qYmFuIE5hbWVzIChjbWVuZSkKLSBXYXRjaCBhbnkgZmlsbSB3aGVyZSBw ZW9wbGUgZG9udCBrbm93IGVhY2ggb3RoZXJzIGxhbmd1YWdlLiBUaGV5IHN0YXJ0IG9mZiBzYXlp bmcgdGhpbmdzIGxpa2UgTWUgVGFyemFuLCB3aGljaCBpcyBhcyBnb29kIGEgcGxhY2UgdG8gc3Rh cnQgbGVhcm5pbmcgTG9qYmFuIGFzIGFueS4gU28gaGVyZSB3ZSBnby4gPGJyIC8+bWllIHJvYmlu LiAKKyBXYXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3Mg bGFuZ3VhZ2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSBNZSBUYXJ6YW4sIHdo aWNoIGlzIGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBT byBoZXJlIHdlIGdvLiA8YnIgLz5taSdlIC5yb2Jpbi4gCkktYW0tbmFtZWQgUm9iaW4gCi0gSW0g Um9iaW4gPGJyIC8+bWllIGlzIHJlbGF0ZWQgdG8gbWksIHdoaWNoIGlzIEksIG1lIGFuZCBzbyBv bi4gSXRzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZv d2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICcnbWUgaGVoJycuIDxiciAvPkkgYW0gbHVja3kg YmVjYXVzZSBteSBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91dCBhbnkgY2hh bmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBuYW1lcyB3aGlj aCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlIExvamJhbmlzZWQuIFRoaXMgbWF5IHNv dW5kIHN0cmFuZ2VhZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5hbWVidXQgaW4gZmFjdCBhbGwgbGFu Z3VhZ2VzIGRvIHRoaXMgdG8gc29tZSBleHRlbnQuIEZvciBleGFtcGxlLCBFbmdsaXNoIHNwZWFr ZXJzIHRlbmQgdG8gcHJvbm91bmNlICcnSm9zZScnIHNvbWV0aGluZyBsaWtlICcnSG96YXknJywg YW5kICcnTWFyZ2FyZXQnJyBpbiBDaGluZXNlIGlzICcnTWFnZWxpdGEnJy4gU29tZSBzb3VuZHMg anVzdCBkb250IGV4aXN0IGluIHNvbWUgbGFuZ3VhZ2VzLCBzbyB0aGUgZmlyc3QgdGhpbmcgeW91 IG5lZWQgdG8gZG8gaXMgcmV3cml0ZSB0aGUgbmFtZSBzbyB0aGF0IGl0IG9ubHkgY29udGFpbnMg TG9qYmFuIHNvdW5kcywgYW5kIGlzIHNwZWx0IGluIGEgTG9qYmFuIHdheS4gPGJyIC8+X19Ob3Rl OiBfX1RoZSBjYXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNpb24gb2YgdGhlIHNvdW5kcyB3aWxsIHlv dSBiZSB1c2luZz8gRm9yIEVuZ2xpc2ggaW4gcGFydGljdWxhciwgQnJpdGlzaCBhbmQgQW1lcmlj YW4gdm93ZWxzIGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQuIFRoZSBCcml0aXNoIHZlcnNpb24gb2Yg JydSb2JpbicnIGlzIHJlYXNvbmFibHkgYXBwcm94aW1hdGVkIGJ5IHJvYmluLjsgYnV0IHRoZSBB bWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byByYWJ5bi4gb3IgcmFiLG4uLiBBbmQgd2l0aGlu IEFtZXJpY2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0 aW9uLiBTbyB5b3Ugc2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cg d2l0aCBhIGdyYWluIG9mIHNhbHQuIDxiciAvPkxldHMgdGFrZSB0aGUgRW5nbGlzaCBuYW1lICcn U3VzYW4nJy4gVGhlIHR3byAnJ3MnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHl0aGUgc2Vj b25kIG9uZSBpcyBhY3R1YWxseSBhICcneicnYW5kIHRoZSAnJ2EnJyBpcyBub3QgcmVhbGx5IGFu ICcnYScnIHNvdW5kLCBpdHMgdGhlIHNjaHdhIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAnJ1N1c2Fu JycgY29tZXMgb3V0IGluIExvamJhbiBhcyBzdXp5bi4uIDxiciAvPllvdSBtYXkgaGF2ZSBub3Rp Y2VkIHRoZSBleHRyYSBmdWxsIHN0b3AgKHBlcmlvZCkgdGhlcmUuIFRoaXMgaXMgbmVjZXNzYXJ5 IGJlY2F1c2UgaWYgeW91IGRpZG50IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtub3cgd2hlcmUgdGhl IG5hbWUgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4uIEluIGFkZGl0aW9uLCBpZiBhIG5h bWUgJydiZWdpbnMnJyB3aXRoIGEgdm93ZWwsIHlvdSBuZWVkIGEgZnVsbCBzdG9wIHRoZXJlIGFz IHdlbGwuIEZvciBleGFtcGxlOiAKKyBJJ20gUm9iaW4gPGJyIC8+bWknZSBpcyByZWxhdGVkIHRv IG1pLCB3aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9uLiBJdCdzIGEgZ29vZCBleGFtcGxlIG9m IHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZvd2VscywgYW5kIHNvdW5kcyBhIGJpdCBs aWtlICcnbWUgaGVoJycuIDxiciAvPlRoaXMgZ3V5IFJvYmluIGlzIGx1Y2t5IGJlY2F1c2UgaGlz IG5hbWUgZ29lcyBkaXJlY3RseSBpbnRvIExvamJhbiB3aXRob3V0IGFueSBjaGFuZ2VzLiBIb3dl dmVyLCB0aGVyZSBhcmUgc29tZSBydWxlcyBmb3IgTG9qYmFuIG5hbWVzIHdoaWNoIG1lYW4gdGhh dCBzb21lIG5hbWVzIGhhdmUgdG8gYmUgJ0xvamJhbmlzZWQnLiBUaGlzIG1heSBzb3VuZCBzdHJh bmdlYWZ0ZXIgYWxsLCBhIG5hbWUgaXMgYSBuYW1lYnV0IGluIGZhY3QgYWxsIGxhbmd1YWdlcyBk byB0aGlzIHRvIHNvbWUgZXh0ZW50LiBGb3IgZXhhbXBsZSwgRW5nbGlzaCBzcGVha2VycyB0ZW5k IHRvIHByb25vdW5jZSAnJ0pvc2UnJyBzb21ldGhpbmcgbGlrZSAnJ0hvemF5JycsIGFuZCAnJ01h cmdhcmV0JycgaW4gQ2hpbmVzZSBpcyAnJ01hZ2VsaXRhJycuIFNvbWUgc291bmRzIGp1c3QgZG9u J3QgZXhpc3QgaW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0 byBkbyBpcyByZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQgb25seSBjb250YWlucyBMb2piYW4g c291bmRzLCBhbmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5LiA8YnIgLz5fX05vdGU6IF9fVGhl IGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVz aW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dl bHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAnJ1JvYmlu JycgaXMgcmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgLnJvYmluLjsgYnV0IHRoZSBBbWVyaWNh biB2ZXJzaW9uIGlzIGNsb3NlciB0byByYWJ5bi4gb3IgcmFiLG4uLiBBbmQgd2l0aGluIEFtZXJp Y2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9uLiBT byB5b3Ugc2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0aCBh IGdyYWluIG9mIHNhbHQuIDxiciAvPkxldCdzIHRha2UgdGhlIEVuZ2xpc2ggbmFtZSAnJ1N1c2Fu JycuIFRoZSB0d28gJydzJycncyBhcmUgcHJvbm91bmNlZCBkaWZmZXJlbnRseXRoZSBzZWNvbmQg b25lIGlzIGFjdHVhbGx5IGEgJyd6JydhbmQgdGhlICcnYScnIGlzIG5vdCByZWFsbHkgYW4gJydh Jycgc291bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBtZW50aW9uZWQuIFNvICcnU3VzYW4n JyBjb21lcyBvdXQgaW4gTG9qYmFuIGFzIC5zdXp5bi4uIDxiciAvPllvdSBtYXkgaGF2ZSBub3Rp Y2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhpcyBpcyBuZWNlc3Nh cnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtub3cgd2hlcmUg dGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4uIEZvciBleGFt cGxlOiAKCi0gfHwuYW4uIHxBbm5lIDxiciAvPi5heG1ldC4gfEFobWV0IDxiciAvPi5lZHVhcmQu IHxFZHdhcmQgPGJyIC8+LklCcmF4aW0uIG9yIC5JQnJhaW0uIHxJYnJhaGltIDxiciAvPi5vZGlu LiB8T2RpbiB8fDxiciAvPllvdSBjYW4gYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBh IHBlcnNvbnMgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdHMgbm90IGNvbXB1bHNvcnkp LCBzbyAnJ0ppbSBKb25lcycnIGJlY29tZXMgZGppbS5kam9uei4uIDxiciAvPkFuIGltcG9ydGFu dCBydWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBh IGNtZW5lIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMg dG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlz IGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2Vs KS4gV2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExvamJhbiwgJydNYXJ5Jycg YmVjb21lcyBtZXJpcy4gLCAnJ0pvZScnIGJlY29tZXMgZGpvcy4gYW5kIHNvIG9uLiBBbiBhbHRl cm5hdGl2ZSBpcyB0byBsZWF2ZSBvdXQgdGhlIGxhc3Qgdm93ZWwsIHNvICcnTWFyeScnIHdvdWxk IGJlY29tZSBtZXIuIG9yIG1laXIuLiA8YnIgLz5BIGZldyBjb21iaW5hdGlvbnMgb2YgbGV0dGVy cyBhcmUgaWxsZWdhbCBpbiBMb2piYW5pc2VkIG5hbWVzLCBiZWNhdXNlIHRoZXkgY2FuIGJlIGNv bmZ1c2VkIHdpdGggTG9qYmFuIHdvcmRzOiBsYSwgbGFpIGFuZCBkb2kuIFNvICcnQWxhYmFtYScn IGNhbnQgYmUgLmFsYWJhbWFzLiBidXQgbmVlZHMgdG8gYmUgLmFseWJhbWFzLiAsIGZvciBleGFt cGxlLiA8YnIgLz5UaGUgZmluYWwgcG9pbnQgaXMgc3RyZXNzLiBBcyB3ZXZlIHNlZW4sIExvamJh biB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBhbmQgaWYg YSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJzLiBUaGlz IG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZyZW5jaCBuYW1lcyAnJ1JvYmVydCcnIGNvbWUg b3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyByb2J5dC4gaW4g VUsgRW5nbGlzaCwgb3IgcmFiLHJ0LiBpbiBzb21lIEFtZXJpY2FuIGRpYWxlY3RzLCBidXQgdGhl IEZyZW5jaCBpcyByb0JFUi4gLiAKKyBZb3Ugc2hvdWxkIGFsc28gcHV0IGEgZnVsbCBzdG9wIGlu IGJldHdlZW4gYSBwZXJzb24ncyBmaXJzdCBhbmQgbGFzdCBuYW1lcyAodGhvdWdoIGl0J3Mgbm90 IGNvbXB1bHNvcnkpLCBzbyAnJ0ppbSBKb25lcycnIGJlY29tZXMgZGppbS5kam9uei4uIDxiciAv PkFuIGltcG9ydGFudCBydWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0 IGxldHRlciBvZiBhIGNtZW5lIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdh aW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMs IGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVu ZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExvamJh biwgJydNYXJ5JycgYmVjb21lcyAubWVyaXMuICwgJydKb2UnJyBiZWNvbWVzIC5kam9zLiBhbmQg c28gb24uIEFuIGFsdGVybmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28g JydNYXJ5Jycgd291bGQgYmVjb21lIC5tZXIuIG9yIC5tZWlyLi4gPGJyIC8+PGJyIC8+VGhlIGZp bmFsIHBvaW50IGlzIHN0cmVzcy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJl c3NlZCBvbiB0aGUgcGVudWx0aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZl cmVudCBzdHJlc3MsIHdlIHVzZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUg RW5nbGlzaCBhbmQgRnJlbmNoIG5hbWVzICcnUm9iZXJ0JycgY29tZSBvdXQgZGlmZmVyZW50bHkg aW4gTG9qYmFuOiB0aGUgRW5nbGlzaCBuYW1lIGlzIC5yb2J5dC4gaW4gVUsgRW5nbGlzaCwgb3Ig LnJhYixydC4gaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgLnJv QkVSLiAuIApUbyBnaXZlIGFuIGlkZWEgb2YgaG93IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBz b21lIG5hbWVzIG9mIGZhbW91cyBwZW9wbGUgaW4gdGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBM b2piYW4uIAoKfHxfX0VuZ2xpc2hfXyAKLSBNYXJnYXJldCBUaGF0Y2hlciB8bWFncnl0LnRhdGN5 cy4gKG5vICcndGgnJyBpbiBMb2piYW4gYmVjYXVzZSBtb3N0IHBlb3BsZSBhcm91bmQgdGhlIHdv cmxkIGNhbnQgc2F5IGl0ISkgPGJyIC8+TWljayBKYWdnZXIgfG1pay5kamFneXMuIHx8CisgTWFy Z2FyZXQgVGhhdGNoZXIgfC5tYWdyeXQudGF0Y3lzLiAobm8gJyd0aCcnIGluIExvamJhbiBiZWNh dXNlIG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29ybGQgY2FuJ3Qgc2F5IGl0ISkgPGJyIC8+TWlj ayBKYWdnZXIgfC5taWsuZGphZ3lzLiB8fAoKfHxfX0ZyZW5jaF9fIAotIE5hcG9sZW9uIEJvbmFw YXJ0ZSB8bmFwb2xlLE9OLmJvbmFQQVJULiA8YnIgLz5KdWxpZXR0ZSBCaW5vY2hlIHxqdUxJRVQu YmluT0MuIHx8CisgTmFwb2xlb24gQm9uYXBhcnRlIHwubmFwb2xlLE9OLmJvbmFQQVJULiA8YnIg Lz5KdWxpZXR0ZSBCaW5vY2hlIHwuanVMSUVULmJpbk9DLiB8fAoKfHxfX0NoaW5lc2VfXyAKLSBM YW96aSB8bGF1ZHouIDxiciAvPk1hbyBaZWRvbmcgfG1hdWR6eURZTi4gKEZpbmFsICcnbmcnJyBp cyBpbiBMb2piYW4gY29udmVudGlvbmFsbHkgdHVybmVkIGludG8gbi4pIHx8CisgTGFvemkgfC5s YXVkei4gPGJyIC8+TWFvIFplZG9uZyB8Lm1hdWR6eURZTi4gKEZpbmFsICcnbmcnJyBpcyBpbiBM b2piYW4gY29udmVudGlvbmFsbHkgdHVybmVkIGludG8gbi4pIHx8Cgp8fF9fVHVya2lzaF9fIAot IE11c3RhZmEgS2VtYWwgfE1VU3RhZmFzLmtlTUFMLiAKKyBNdXN0YWZhIEtlbWFsIHwuTVVTdGFm YXMua2VNQUwuIApFcmtpbiBLb3JheSB8LmVya2luLmtvcmFpcy4gfHwKCnx8X19HZXJtYW5fXyAK LSBGcmllZHJpY2ggTmlldHpzY2hlIHxmcmlkcml4Lm5pdGN5cy4gPGJyIC8+Q2xhcmEgU2NodW1h bm4gfGtsYXJhcy5jdW1hbi4gfHwKKyBGcmllZHJpY2ggTmlldHpzY2hlIHwuZnJpZHJpeC5uaXRj eXMuIDxiciAvPkNsYXJhIFNjaHVtYW5uIHwua2xhcmFzLmN1bWFuLiB8fAoKfHxfX1NwYW5pc2hf XyAKSXNhYmVsIEFsbGVuZGUgfC5pemFCRUwuYWllbmRlcy4gCi0gQ2hlIEd1ZXZhcmEgfHRjZWdl dmFyYXMuIHx8PGJyIC8+RXhlcmNpc2UgMgorIENoZSBHdWV2YXJhIHwudGNlZ2V2YXJhcy4gfHw8 YnIgLz4hISFFeGVyY2lzZSAyCldoZXJlIGFyZSB0aGVzZSBwbGFjZXM/IAotICNudSxJT1JLLiA8 YnIgLz4jcm9tYXMuIDxiciAvPiN4YXZhbmFzLiA8YnIgLz4ja2FyZGlmLiA8YnIgLz4jYmVpZGpp bi4gCisgIy5udSxJT1JLLiA8YnIgLz4jLnJvbWFzLiA8YnIgLz4jLnhhdmFuYXMuIDxiciAvPiMu a2FyZGlmLiA8YnIgLz4jLmJlaWRqaW4uIAojLkFOa2FyYXMuIAojLkFMYmVrZXJraXMuIAotICN2 YW5rdXZlci4gPGJyIC8+I2tlaXB0YXVuLiA8YnIgLz4jdGFpYmVpcy4gPGJyIC8+I2Jvbi4gPGJy IC8+I2RlbGlzLiA8YnIgLz4jbmlzLiAKKyAjLnZhbmt1dmVyLiA8YnIgLz4jLmtlaXB0YXVuLiA8 YnIgLz4jLnRhaWJlaXMuIDxiciAvPiMuYm9uLiA8YnIgLz4jLmRlbGlzLiA8YnIgLz4jLm5pcy4g CiMuYXRpbmFzLiAKLSAjbGlkei4gPGJyIC8+I3hlbHNpbmtpcy4gPGJyIC8+RXhlcmNpc2UgMwor ICMubGlkei4gPGJyIC8+Iy54ZWxzaW5raXMuIDxiciAvPiEhIUV4ZXJjaXNlIDMKTG9qYmFuaXNl IHRoZSBmb2xsb3dpbmcgbmFtZXMgCiNKb2huIAoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAxMzItMTQ1IGNoYW5n ZWQgdG8gK0xpbmVzOiAxMjctMTQwIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiNTYW4gU2FsdmFkb3IgCiEhTG9qYmFuIHdvcmRz IGFzIG5hbWVzCi0gQnkgbm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBv d24gbmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBu YW1lIGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9y IGFkb3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5z IGdlbmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBh cnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1 c2UgdGhleSBkb250IGV4cGVjdCB0aGUgJyd3YXNpY2h1JycgdG8gYmUgYWJsZSB0byBwcm9ub3Vu Y2Ugd29yZHMgaW4gTGFrb3RhLCBDaGVyb2tlZSBvciB3aGF0ZXZlciEgPGJyIC8+QWxsIExvamJh biB3b3JkcyAoYXMgb3Bwb3NlZCB0byBjbWVuZSkgZW5kIGluIGEgdm93ZWwsIGFuZCBhbHRob3Vn aCB5b3UgJydjYW4nJyB1c2UgdGhlbSBhcyBuYW1lcyBhcyB0aGV5IHN0YW5kLCBpdHMgY29tbW9u IHRvIGxlYXZlIG91dCB0aGUgZmluYWwgdm93ZWwgdG8gbWFrZSBpdCBhYnNvbHV0ZWx5IGNsZWFy IHRoYXQgdGhpcyBpcyBhIG5hbWUgYW5kIG5vdCBzb21ldGhpbmcgZWxzZSAoTG9qYmFuIGdvZXMg Zm9yIG92ZXJraWxsIHdoZW4gaXQgY29tZXMgdG8gcG9zc2libGUgbWlzdW5kZXJzdGFuZGluZyku IFNvIGlmIHlvdXIgbmFtZSBvciBuaWNrbmFtZSBpcyAnJ0NhdCcnIChMb2piYW4gbWxhdHUpLCB5 b3UgY2FuIGVpdGhlciBhZGQgcyBsaWtlIGEgbm9ybWFsIGNtZW5lIHRvIG1ha2UgbWxhdHVzLiwg b3IganVzdCBjaG9wIHRoZSBlbmQgb2ZmIGFuZCBjYWxsIHlvdXJzZWxmIG1sYXQuIC4gCisgQnkg bm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91ciBvd24gbmFtZS4gSG93ZXZl ciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91ciBuYW1lIGludG8gTG9qYmFu IChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxl dGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmljYW5zIGdlbmVyYWxseSB0cmFu c2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gsIHBhcnRseSBiZWNhdXNlIHRo ZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJlY2F1c2UgdGhleSBkb24ndCBl eHBlY3QgdGhlICcnd2FzaWNodScnIHRvIGJlIGFibGUgdG8gcHJvbm91bmNlIHdvcmRzIGluIExh a290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhIDxiciAvPkFsbCBMb2piYW4gd29yZHMgKGFzIG9w cG9zZWQgdG8gY21lbmUpIGVuZCBpbiBhIHZvd2VsLCBhbmQgYWx0aG91Z2ggeW91ICcnY2FuJycg dXNlIHRoZW0gYXMgbmFtZXMgYXMgdGhleSBzdGFuZCwgaXQncyBjb21tb24gdG8gbGVhdmUgb3V0 IHRoZSBmaW5hbCB2b3dlbCB0byBtYWtlIGl0IGFic29sdXRlbHkgY2xlYXIgdGhhdCB0aGlzIGlz IGEgbmFtZSBhbmQgbm90IHNvbWV0aGluZyBlbHNlIChMb2piYW4gZ29lcyBmb3Igb3ZlcmtpbGwg d2hlbiBpdCBjb21lcyB0byBwb3NzaWJsZSBtaXN1bmRlcnN0YW5kaW5nKS4gU28gaWYgeW91ciBu YW1lIG9yIG5pY2tuYW1lIGlzICcnQ2F0JycgKExvamJhbiBtbGF0dSksIHlvdSBjYW4gZWl0aGVy IGFkZCBzIGxpa2UgYSBub3JtYWwgY21lbmUgdG8gbWFrZSAubWxhdHVzLiwgb3IganVzdCBjaG9w IHRoZSBlbmQgb2ZmIGFuZCBjYWxsIHlvdXJzZWxmIC5tbGF0LiAuIApIZXJlIGFyZSBhIGZldyBl eGFtcGxlczogCi0gICAgRmlzaCAgZmlucGUgIGZpbnAuIDxiciAvPiAgIEJqcm4gKFNjYW5kaW5h dmlhbiA9IGJlYXIpICBjcmliZSAgY3JpYi4gPGJyIC8+ICAgR3JlZW4gIGNyaW5vICBjcmluLiA8 YnIgLz4gICBNZWkgTGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpICBtZWxiaSAgbWVsYi4gPGJyIC8+ ICAgQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpICBsdW5yYSBub2JsaSAoPSBsdXJub2JsaSkg IGx1cm5vYmxpcy4gCisgICAgRmlzaCAgZmlucGUgIC5maW5wLiA8YnIgLz4gICBCanJuIChTY2Fu ZGluYXZpYW4gPSBiZWFyKSAgY3JpYmUgIC5jcmliLiA8YnIgLz4gICBHcmVlbiAgY3Jpbm8gIC5j cmluLiA8YnIgLz4gICBNZWkgTGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpICBtZWxiaSAgLm1lbGIu IDxiciAvPiAgIEF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSAgbHVucmEgbm9ibGkgKD0gbHVy bm9ibGkpICAubHVybm9ibGlzLiAKISFBbnN3ZXJzIHRvIEV4ZXJjaXNlcwotIEV4ZXJjaXNlIDIK KyAnJydFeGVyY2lzZSAyJycnCiNOZXcgWW9yazogVVNBIAojUm9tZTogSXRhbHkgCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDE1MS0xNzYgY2hhbmdlZCB0byArTGluZXM6IDE0Ni0xNzEgQEAKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKI1ZhbmNvdXZl cjogQ2FuYWRhIAojQ2FwZSBUb3duOiBTb3V0aCBBZnJpY2EgCi0gI1RhaXBlaTogVGFpd2FuIChu b3RlIGIsIG5vdCBwLiBBbHRob3VnaCBhY3R1YWxseSwgdGhlIGIgaW4gUGlueWluIGlzIHByb25v dW5jZWQgYXMgYSBwLi4uIEJ1dCB0aGlzIGlzbnQgbWVhbnQgdG8gYmUgYSBjb3Vyc2Ugb24gTWFu ZGFyaW4hKSAKKyAjVGFpcGVpOiBUYWl3YW4gKG5vdGUgYiwgbm90IHAuIEFsdGhvdWdoIGFjdHVh bGx5LCB0aGUgYiBpbiBQaW55aW4gaXMgcHJvbm91bmNlZCBhcyBhIHAuLi4gQnV0IHRoaXMgaXNu J3QgbWVhbnQgdG8gYmUgYSBjb3Vyc2Ugb24gTWFuZGFyaW4hKSAKI0Jvbm46IEdlcm1hbnkgCi0g I0RlbGhpOiBJbmRpYSAoVGhlIEhpbmRpIGZvciAnJ0RlbGhpJycgaXMgJydEaWxsJycsIHdoaWNo IHdvdWxkIGdpdmUgZGlsaXlzLiBvciBkaWxpaXMuLikgCisgI0RlbGhpOiBJbmRpYSAoVGhlIEhp bmRpIGZvciAnJ0RlbGhpJycgaXMgJydEaWxsJycsIHdoaWNoIHdvdWxkIGdpdmUgZGlsaXlzLiBv ciBkaWxpJ2lzLi4pIAojTmljZTogRnJhbmNlIAojQXRoZW5zOiBHcmVlY2UgKCcnQXRoaW5hJycg aW4gR3JlZWspIAojTGVlZHM6IEVuZ2xhbmQgCiNIZWxzaW5raTogRmlubGFuZCAKLSBFeGVyY2lz ZSAzPGJyIC8+VGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJuYXRpdmUgc3BlbGxpbmdzIGZvciBuYW1l cywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5jZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVu dGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBkb2VzbnQgZXhpc3QgaW4gTG9qYmFuLCBz byB5b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9l c250IG1hdHRlciwgc28gbG9uZyBhcyBldmVyeW9uZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91cmUg dGFsa2luZyBhYm91dC4gPGJyIC8+I2Rqb24uIChvciBkamFuLiB3aXRoIHNvbWUgYWNjZW50cykg PGJyIC8+I21lbGlzeXMuIAorICcnJ0V4ZXJjaXNlIDMnJyc8YnIgLz5UaGVyZSBhcmUgdXN1YWxs eSBhbHRlcm5hdGl2ZSBzcGVsbGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9wbGUg cHJvbm91bmNlIHRoZSBvcmlnaW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4YWN0 IHNvdW5kIGRvZXNuJ3QgZXhpc3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2UgYmV0 d2VlbiB0d28gTG9qYmFuIGxldHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcgYXMg ZXZlcnlvbmUga25vd3Mgd2hvIG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0LiA8YnIgLz4j LmRqb24uIChvciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMpIDxiciAvPiMubWVsaXN5cy4gCiMu YW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcgb24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1h eSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBiZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBiZSBl LikgCi0gI21hdGl1cy4gPGJyIC8+I21haWt5bC4gb3IgbWFpayxsLiAsIGRlcGVuZGluZyBvbiBo b3cgeW91IHNheSBpdC4gPGJyIC8+I2RlaXZ5ZC5iYXUsaXMuIG9yIGJvLGlzLiAoYnV0IG5vdCBi dSxpcy50aGF0cyB0aGUga25pZmUpIDxiciAvPiNkamVpbi5vc3Rpbi4gCisgIy5tYXRpdXMuIDxi ciAvPiMubWFpa3lsLiBvciAubWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cgeW91IHNheSBpdC4g PGJyIC8+Iy5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90IC5idSxpcy4gIHRoYXQn cyB0aGUga25pZmUpIDxiciAvPiMuZGplaW4ub3N0aW4uIAojLnVpbGlhbS5jZWtzcGlyLiAKLSAj c2lnb3JuaXMudWl2eXIuIG9yIHN5Z29ybmlzLnVpdnlyLiA8YnIgLz4jcml0Y3lyZC5uaWtzeW4u IDxiciAvPiMuaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bCB3aXRoIEFt ZXJpY2FuLCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4gTG9qYmFuaXN0cyBnZW5lcmFsbHkgcHJl ZmVyIHRvIGJhc2UgY21lbmUgb24gbG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRoaXMgaXMgbm90 IGFuIGFic29sdXRlIHJ1bGUuIDxiciAvPiNtYURSSUQuIDxiciAvPiN0b2tpb3MuIDxiciAvPiNz YW4uc2FsdmFET1IuICh3aXRoIFNwYW5pc2ggc3RyZXNzKSAKKyAjLnNpZ29ybmlzLnVpdnlyLiBv ciAuc3lnb3JuaXMudWl2eXIuIDxiciAvPiMucml0Y3lyZC5uaWtzeW4uIDxiciAvPiMuaXN0YW5C VUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlzdGFu YnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5IHByZWZlciB0byBiYXNlIGNt ZW5lIG9uIGxvY2FsIHByb251bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBy dWxlLiA8YnIgLz4jLm1hRFJJRC4gPGJyIC8+Iy50b2tpb3MuIDxiciAvPiMuc2FuLnNhbHZhRE9S LiAod2l0aCBTcGFuaXNoIHN0cmVzcykgCgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9s bG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKCiFQcmVmYWNlLiBTb3VuZHMKClRoZSBmaXJzdCB0aGluZyB5b3UgbmVl ZCB0byBkbyB3aGVuIHlvdSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UgaXMgdG8gYmVjb21lIGZh bWlsaWFyIHdpdGggdGhlIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0aGV5IGFyZSB3 cml0dGVuLCBhbmQgdGhlIHNhbWUgZ29lcyBmb3IgTG9qYmFuLiBGb3J0dW5hdGVseSwgTG9qYmFu IHNvdW5kcyAoX19waG9uZW1lc19fKSBhcmUgZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZC4gCgohIVZv d2VscwoKVGhlcmUgYXJlIHNpeCB2b3dlbHMgaW4gTG9qYmFuLiAKCgoKfHxhIHxhcyBpbiAnJ2Zf X2FfX3RoZXInJyAobm90IGFzIGluICcnaF9fYV9fdCcnKSAKCmUgfGFzIGluICcnZ19fZV9fdCcn IAoKaSB8YXMgaW4gJydtYWNoX19pX19uZScnIG9yIChJdGFsaWFuKSAnJ3ZfX2lfX25vJycgKG5v dCBhcyBpbiAnJ2hfX2lfX3QnJykgCgpvIHxhcyBpbiAnJ2JfX29fX2xkICcnb3IgJydtX19vX19y ZScn4oCUbm90IGFzIGluICcnc19fbycnX18gKHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUnIHNvdW5k LikgCgp1IHxhcyBpbiAnJ2NfX29vX19sJycgKG5vdCBhcyBpbiAnJ2JfX3VfX3QnJykgfHwKClRo ZXNlIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFu aXNoLiBUaGUgc2l4dGggdm93ZWwsIHksIGlzIGNhbGxlZCBhIF9fc2Nod2FfXyBpbiB0aGUgbGFu Z3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0IGFuZCBsYXN0ICcn QScnJ3MgaW4gJydBbWVyaWNhJycgKHRoYXQncyBFbmdsaXNoICcnQW1lcmljYScnLCBub3QgU3Bh bmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRoIGlzIGNv bXBsZXRlbHkgcmVsYXhlZC4gCgpUd28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBwcm9ub3VuY2VkIGFz IG9uZSBzb3VuZCAoX19kaXBodGhvbmdfXykuIFNvbWUgZXhhbXBsZXMgYXJlOiAKCgoKfHxhaSB8 YXMgaW4gJydoX19pZ2gnJ19fIAoKYXUgfGFzIGluICcnaF9fb3cnJ19fIAoKZWkgfGFzIGluICcn aF9fZXknJ19fIAoKb2kgfGFzIGluICcnYl9fb3knJ19fIAoKaWEgfGxpa2UgR2VybWFuICcnX19K YScnX18gCgppZSB8bGlrZSAnJ19feWVhaCcnX18gCgppdSB8bGlrZSAnJ19feW91JydfXyAKCnVh IHxhcyBpbiAnJ19fd2FhaCEnJ19fLCBvciBGcmVuY2ggJydxX191b2knJ19fIAoKdWUgfGFzIGlu ICcncV9fdWVfX3N0aW9uJycgCgp1byB8YXMgaW4gJydxX191b19fdGUnJyAKCnVpIHxsaWtlICcn X193ZScnX18sIG9yIEZyZW5jaCAnJ19fb3VpJydfXyB8fAoKRG91YmxlIHZvd2VscyBhcmUgcmFy ZS4gVGhlIG9ubHkgZXhhbXBsZXMgYXJlIGlpLCB3aGljaCBpcyBwcm9ub3VuY2VkIGxpa2UgRW5n bGlzaCAnJ3llJycgKGFzIGluIOKAnE9oIGNvbWUgYWxsIHllIGZhaXRoZnVs4oCdKSBvciBDaGlu ZXNlICcneWknJywgYW5kIHV1LCBwcm9ub3VuY2VkIGxpa2UgJyd3b28nJy4gCgohIUNvbnNvbmFu dHMKCk1vc3QgTG9qYmFuIGNvbnNvbmFudHMgYXJlIHRoZSBzYW1lIGFzIEVuZ2xpc2gsIGJ1dCB0 aGVyZSBhcmUgc29tZSBleGNlcHRpb25zOiAKCgoKfHxnIHxhbHdheXMgJydnJycgYXMgaW4gJydf X2dfX3VtJycsIG5ldmVyICcnZycnIGFzIGluICcnX19nX19lbScnIAoKYyB8JydzaCcnLCBhcyBp biAnJ19fc2hfX2lwJycgCgpqIHxhcyBpbiAnJ21lYV9fc19fdXJlJycgb3IgRnJlbmNoICcnYm9u X19qX19vdXInJyAKCnggfGFzIGluIEdlcm1hbiAnJ0JhX19jaCcnX18sIFNwYW5pc2ggJydfX0pf X29zZScnIG9yIEFyYWJpYyAnJ19fS2hfX2FsZWQnJyB8fAoKVGhlIEVuZ2xpc2ggc291bmRzICcn Y2gnJyBhbmQgJydqJycgYXJlIHdyaXR0ZW4gYXMgdGMgYW5kIGRqLiAKCkxvamJhbiBkb2Vzbid0 IHVzZSB0aGUgbGV0dGVycyAnJ0gnJywgJydRJycgb3IgJydXJycuIAoKISFTcGVjaWFsIENoYXJh Y3RlcnMKCkxvamJhbiBkb2VzIG5vdCByZXF1aXJlIGFueSBwdW5jdHVhdGlvbiwgYnV0IHNvbWUg c3BlY2lhbCBjaGFyYWN0ZXJzIChub3JtYWxseSB1c2VkIGluIHB1bmN0dWF0aW9uIGluIG90aGVy IGxhbmd1YWdlcykgYWZmZWN0IHRoZSB3YXkgTG9qYmFuIGlzIHByb25vdW5jZWQuIAoKVGhlIG9u bHkgb25lIG9mIHRoZXNlIGNoYXJhY3RlcnMgd2hpY2ggaXMgb2JsaWdhdG9yeSBpbiBMb2piYW4g aXMgdGhlIGFwb3N0cm9waGU7IGluIGZhY3QgdGhlIGFwb3N0cm9waGUgaXMgcmVnYXJkZWQgYXMg YSBwcm9wZXIgbGV0dGVyIG9mIExvamJhbi4gQW4gYXBvc3Ryb3BoZSBzZXBhcmF0ZXMgdHdvIHZv d2VscywgcHJldmVudGluZyB0aGVtIGZyb20gYmVpbmcgcHJvbm91bmNlZCB0b2dldGhlciAoYXMg YSBfX2RpcGh0aG9uZ19fKTsgaXQgaXMgaXRzZWxmIHByb25vdW5jZWQgbGlrZSBhbiAnJ2gnJy4g Rm9yIGV4YW1wbGUsIHVpIGlzIG5vcm1hbGx5IHByb25vdW5jZWQgJyd3ZScnLCBidXQgdSdpIGlz ICcnb29oZWUnJy4gCgpBIGZ1bGwgc3RvcCAocGVyaW9kKSBpcyBhIHNob3J0IHBhdXNlIHRvIHN0 b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2ggb3RoZXIuIFRoZSBydWxlcyBvZiBMb2piYW4gbWFr ZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRvIHJ1biBpbnRvIGFub3RoZXIgd2hlbiB0aGUgc2Vj b25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dlbDsgc28gYW55IHdvcmQgc3RhcnRpbmcgd2l0aCBh IHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBhIGZ1bGwgc3RvcCBwbGFjZWQgaW4gZnJvbnQgb2Yg aXQuIAoKQ29tbWFzIGFyZSByYXJlIGluIExvamJhbiwgYnV0IGNhbiBiZSB1c2VkIHRvIHN0b3Ag dHdvIHZvd2VscyBibHVycmluZyB0b2dldGhlciB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHVzZSBh biBhcG9zdHJvcGhlICh3aGljaCB3b3VsZCBwdXQgYSAnJ2gnJyBiZXR3ZWVuIHRoZW0pLiBObyBM b2piYW4gd29yZHMgaGF2ZSBjb21tYXMsIGJ1dCB0aGV5J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdy aXRpbmcgbm9uLUxvamJhbiBuYW1lcywgZm9yIGV4YW1wbGUgcGksRVIuICgnJ1BpZXJyZScnKSwg YXMgb3Bwb3NlZCB0byBwaWVyLiAoJydQLXllcnInJyksIHBpLkVSLiAoJydQZWU7IEVocicnKSwg b3IgcGknRVIuICgnJ1BpaGVycicnKS4gCgpDYXBpdGFsIGxldHRlcnMgYXJlIG5vdCBub3JtYWxs eSB1c2VkIGluIExvamJhbi4gV2UgdXNlIHRoZW0gaW4gbm9uLUxvamJhbiB3b3JkcyAobGlrZSAn J1BpZXJyZScnKSB3aGVuIHRoZSBzdHJlc3Mgb2YgYSB3b3JkIGlzIGRpZmZlcmVudCBmcm9tIHRo ZSBMb2piYW4gbm9ybS4gVGhlIG5vcm0gaXMgdG8gcHV0IHRoZSBzdHJlc3Mgb24gdGhlIGxhc3Qt YnV0LW9uZSBzeWxsYWJsZTsgc28sIGZvciBleGFtcGxlLCBrdXJtaWtjZSAnbnVyc2UnIGlzIGt1 cl9fTUlLX19jZSwgbm90IF9fS1VSX19taWtjZS4gVGhlIG5hbWUgJydKdWxpZXR0ZScnIHdvdWxk IGJlIHdyaXR0ZW4gREpVbGksZXQuIGlmIHByb25vdW5jZWQgaW4gYW4gRW5nbGlzaCB3YXksIGJ1 dCBqdUxJRVQuIGlmIHByb25vdW5jZWQgYXMgaW4gRnJlbmNoLiAKCiEhQWxwaGFiZXQKCkluIG1v c3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBoYWJldCBvZiB0aGUgbGFuZ3Vh Z2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0ZXJzIChsZXJmdSkgdHVybiBvdXQgdG8g YmUgZXZlbiBtb3JlIGltcG9ydGFudCB0aGFuIHVzdWFsIGluIExvamJhbiwgc28gd2UgbWlnaHQg YXMgd2VsbCBnbyB0aHJvdWdoIHRoZWlyIG5hbWVzIHF1aWNrbHkuIAoKQ29uc29uYW50cyBhcmUg c3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBs ZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgJydiLCBj LCBkLCBmLCBnIC4uLicnLCBhcmUgY2FsbGVkIGJ5LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuLi4uIGlu IExvamJhbiAodXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pIAoK Vm93ZWxzICcnd291bGQnJyBiZSBjYWxsZWQgLmF5LCAuZXksIC5peSwgYnV0IHRoYXQgd291bGQg YmUgcmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRoZXkgYXJlIGhhbmRs ZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3JkIGJ1LCB3aGljaCBi YXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFyZTogLmFi dSwgLmVidSwgLmlidSwgLm9idSwgLnVidSwgeWJ1LiAKClRoZSBhcG9zdHJvcGhlIGlzIHJlZ2Fy ZGVkIGFzIGEgcHJvcGVyIGxldHRlciBpbiBMb2piYW4sIGFuZCBpcyBjYWxsZWQgLnkneS4uIFRv IHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291Z2g7IHRvIG90aGVyLCBsaWtlICcn dWgtaHVoJycgKHdoZW4gaXQgbWVhbnMgJ1llcycgcmF0aGVyIHRoYW4gJ05vJy4pIAoKTG9qYmFu IGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRvIG1vc3QgbGV0dGVycyB5b3UgY2FuIHRoaW5rIG9mOyBz ZWUgJydUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlJycsIENoYXB0ZXIgMTcgZm9yIGRldGFp bHMuIElmIHlvdSBoYXZlIHRoZSB1cmdlIHRvIHNwZWxsIG91dCB5b3VyIG5hbWUgaW4gTG9qYmFu IGFuZCBoYXZlIGFuICcnSCcnLCAnJ1EnJywgb3IgJydXJycgdG8gZGVhbCB3aXRoLCB5b3UgY2Fu IHVzZSAueSd5LmJ1LCBreS5idSBhbmQgdnkuYnUuIFNvICcnU2Nod2FyemVuZWdnZXInJyBpcyBz cGVsdCBpbiBMb2piYW4gYXM6IAoKc3kuIGN5LiAueSd5YnUgdnlidS4gLmFidSByeS4genkuIC5l YnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LiAKCkFuZCBzcGVsbGluZyAnJ3RoYXQnJyBpcyBh IHRhc2sgdGhlIGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5hdG9yIGV2ZXIgZGlkISAKCkV4 ZXJjaXNlIDEKClNwZWxsIHlvdXIgbmFtZSBpbiBMb2piYW4gKG9yIGF0IGxlYXN0IHNvbWV0aGlu ZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNlIHRoZSB0d2VudHktc2l4IGxldHRlcnMgb2YgRW5n bGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0aGUgYXBvc3Ryb3BoZS4pIE5vIHBlZWtpbmcgYXQg dGhlIGJhY2vigJR3ZSBkb24ndCBoYXZlIHRoZSBhbnN3ZXIgdG8gdGhpcyBleGVyY2lzZSB0aGVy ZSEgCgohISAnQ29ycmVjdCcgcHJvbnVuY2lhdGlvbgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVy eSBwcmVjaXNlIGFib3V0IExvamJhbiBwcm9udW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1l cyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBpdCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5k IGZvciBhbm90aGVyLiBUaGlzIG1lYW5zIHRoYXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBw cm9udW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJhbmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlv buKAlHRoZSBnZW5lcmFsIHByaW5jaXBsZSBpcyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcg YXMgaXQgZG9lc24ndCBzb3VuZCB0b28gbXVjaCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhh bXBsZSwgTG9qYmFuIHIgY2FuIGJlIHByb25vdW5jZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlz aCwgU2NvdHRpc2ggb3IgRnJlbmNoLiAKClR3byB0aGluZ3MgdG8gYmUgY2FyZWZ1bCBvZiwgdGhv dWdoLCBhcmUgcHJvbm91bmNpbmcgTG9qYmFuIGkgYW5kIHUgbGlrZSBTdGFuZGFyZCBCcml0aXNo IEVuZ2xpc2ggJydoaXQnJyBhbmQgJydidXQnJyAoTm9ydGhlcm4gRW5nbGlzaCAnJ2J1dCcnIGlz IGZpbmUhKS4gVGhpcyBpcyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkg dGhlc2UgdHdvLCBhcmUgdXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8g ZmluZCB0aGVtIGhhcmQgdG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMg c3BpdHRpbmcgb3V0IHRoZSB6ZCBpbiB6ZGFuaSAoaG91c2UpLCB5b3UgY2FuIHNheSB6yapkYW5p 4oCUd2hlcmUgdGhlICcnyaonJyBpcyB2ZXJ5IHNob3J0LCBidXQgdGhlIGZpbmFsICcnaScnIGhh cyB0byBiZSBsb25nLiAKCiEhTG9qYmFuIE5hbWVzIChjbWVuZSkKCldhdGNoIGFueSBmaWxtIHdo ZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBv ZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBh IHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uIAoK bWknZSAucm9iaW4uIAoKSS1hbS1uYW1lZCBSb2JpbiAKCkknbSBSb2JpbiAKCm1pJ2UgaXMgcmVs YXRlZCB0byBtaSwgd2hpY2ggaXMgJ0knLCAnbWUnIGFuZCBzbyBvbi4gSXQncyBhIGdvb2QgZXhh bXBsZSBvZiB0aGUgYXBvc3Ryb3BoZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMsIGFuZCBzb3VuZHMg YSBiaXQgbGlrZSAnJ21lIGhlaCcnLiAKClRoaXMgZ3V5IFJvYmluIGlzIGx1Y2t5IGJlY2F1c2Ug aGlzIG5hbWUgZ29lcyBkaXJlY3RseSBpbnRvIExvamJhbiB3aXRob3V0IGFueSBjaGFuZ2VzLiBI b3dldmVyLCB0aGVyZSBhcmUgc29tZSBydWxlcyBmb3IgTG9qYmFuIG5hbWVzIHdoaWNoIG1lYW4g dGhhdCBzb21lIG5hbWVzIGhhdmUgdG8gYmUgJ0xvamJhbmlzZWQnLiBUaGlzIG1heSBzb3VuZCBz dHJhbmdl4oCUYWZ0ZXIgYWxsLCBhIG5hbWUgaXMgYSBuYW1l4oCUYnV0IGluIGZhY3QgYWxsIGxh bmd1YWdlcyBkbyB0aGlzIHRvIHNvbWUgZXh0ZW50LiBGb3IgZXhhbXBsZSwgRW5nbGlzaCBzcGVh a2VycyB0ZW5kIHRvIHByb25vdW5jZSAnJ0pvc2UnJyBzb21ldGhpbmcgbGlrZSAnJ0hvemF5Jycs IGFuZCAnJ01hcmdhcmV0JycgaW4gQ2hpbmVzZSBpcyAnJ01hZ2VsaXRhJycuIFNvbWUgc291bmRz IGp1c3QgZG9uJ3QgZXhpc3QgaW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBmaXJzdCB0aGluZyB5 b3UgbmVlZCB0byBkbyBpcyByZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQgb25seSBjb250YWlu cyBMb2piYW4gc291bmRzLCBhbmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5LiAKCl9fTm90ZTog X19UaGUgY2F0Y2ggaGVyZSBpcywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBzb3VuZHMgd2lsbCB5b3Ug YmUgdXNpbmc/IEZvciBFbmdsaXNoIGluIHBhcnRpY3VsYXIsIEJyaXRpc2ggYW5kIEFtZXJpY2Fu IHZvd2VscyBjYW4gYmUgcXVpdGUgZGlmZmVyZW50LiBUaGUgQnJpdGlzaCB2ZXJzaW9uIG9mICcn Um9iaW4nJyBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAucm9iaW4uOyBidXQgdGhlIEFt ZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvIHJhYnluLiBvciByYWIsbi4uIEFuZCB3aXRoaW4g QW1lcmljYSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxzbyBhIGdvb2QgZGVhbCBvZiB2YXJpYXRp b24uIFNvIHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNsaXRlcmF0aW9ucyBnaXZlbiBiZWxvdyB3 aXRoIGEgZ3JhaW4gb2Ygc2FsdC4gCgpMZXQncyB0YWtlIHRoZSBFbmdsaXNoIG5hbWUgJydTdXNh bicnLiBUaGUgdHdvICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlmZmVyZW50bHnigJR0aGUgc2Vj b25kIG9uZSBpcyBhY3R1YWxseSBhICcneicn4oCUYW5kIHRoZSAnJ2EnJyBpcyBub3QgcmVhbGx5 IGFuICcnYScnIHNvdW5kLCBpdCdzIHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAn J1N1c2FuJycgY29tZXMgb3V0IGluIExvamJhbiBhcyAuc3V6eW4uLiAKCllvdSBtYXkgaGF2ZSBu b3RpY2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhpcyBpcyBuZWNl c3NhcnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtub3cgd2hl cmUgdGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4uIEZvciBl eGFtcGxlOiAKCgoKWW91IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwgc3RvcCBpbiBiZXR3ZWVuIGEg cGVyc29uJ3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdCdzIG5vdCBjb21wdWxzb3J5 KSwgc28gJydKaW0gSm9uZXMnJyBiZWNvbWVzIGRqaW0uZGpvbnouLiAKCkFuIGltcG9ydGFudCBy dWxlIGZvciBMb2piYW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBhIGNt ZW5lIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMgdG8g cHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlzIGFu ZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2VsKS4g V2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExvamJhbiwgJydNYXJ5JycgYmVj b21lcyAubWVyaXMuICwgJydKb2UnJyBiZWNvbWVzIC5kam9zLiBhbmQgc28gb24uIEFuIGFsdGVy bmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gJydNYXJ5Jycgd291bGQg YmVjb21lIC5tZXIuIG9yIC5tZWlyLi4gCgoKClRoZSBmaW5hbCBwb2ludCBpcyBzdHJlc3MuIEFz IHdlJ3ZlIHNlZW4sIExvamJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBlbnVsdGltYXRl IHN5bGxhYmxlLCBhbmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3ZSB1c2UgY2Fw aXRhbCBsZXR0ZXJzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZyZW5jaCBuYW1l cyAnJ1JvYmVydCcnIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2gg bmFtZSBpcyAucm9ieXQuIGluIFVLIEVuZ2xpc2gsIG9yIC5yYWIscnQuIGluIHNvbWUgQW1lcmlj YW4gZGlhbGVjdHMsIGJ1dCB0aGUgRnJlbmNoIGlzIC5yb0JFUi4gLiAKClRvIGdpdmUgYW4gaWRl YSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJlIHNvbWUgbmFtZXMgb2YgZmFtb3VzIHBl b3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGluIExvamJhbi4gCgoKCnx8X19FbmdsaXNo X18gCgpNYXJnYXJldCBUaGF0Y2hlciB8Lm1hZ3J5dC50YXRjeXMuIChubyAnJ3RoJycgaW4gTG9q YmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRoZSB3b3JsZCBjYW4ndCBzYXkgaXQhKSAK Ck1pY2sgSmFnZ2VyIHwubWlrLmRqYWd5cy4gfHwKCgoKfHxfX0ZyZW5jaF9fIAoKTmFwb2xlb24g Qm9uYXBhcnRlIHwubmFwb2xlLE9OLmJvbmFQQVJULiAKCkp1bGlldHRlIEJpbm9jaGUgfC5qdUxJ RVQuYmluT0MuIHx8CgoKCnx8X19DaGluZXNlX18gCgpMYW96aSB8LmxhdWR6LiAKCk1hbyBaZWRv bmcgfC5tYXVkenlEWU4uIChGaW5hbCAnJ25nJycgaXMgaW4gTG9qYmFuIGNvbnZlbnRpb25hbGx5 IHR1cm5lZCBpbnRvIG4uKSB8fAoKCgp8fF9fVHVya2lzaF9fIAoKTXVzdGFmYSBLZW1hbCB8Lk1V U3RhZmFzLmtlTUFMLiAKCkVya2luIEtvcmF5IHwuZXJraW4ua29yYWlzLiB8fAoKCgp8fF9fR2Vy bWFuX18gCgpGcmllZHJpY2ggTmlldHpzY2hlIHwuZnJpZHJpeC5uaXRjeXMuIAoKQ2xhcmEgU2No dW1hbm4gfC5rbGFyYXMuY3VtYW4uIHx8CgoKCnx8X19TcGFuaXNoX18gCgpJc2FiZWwgQWxsZW5k ZSB8Lml6YUJFTC5haWVuZGVzLiAKCkNoZSBHdWV2YXJhIHwudGNlZ2V2YXJhcy4gfHwKCiEhIUV4 ZXJjaXNlIDIKCldoZXJlIGFyZSB0aGVzZSBwbGFjZXM/IAoKIy5udSxJT1JLLiAKCiMucm9tYXMu IAoKIy54YXZhbmFzLiAKCiMua2FyZGlmLiAKCiMuYmVpZGppbi4gCgojLkFOa2FyYXMuIAoKIy5B TGJla2Vya2lzLiAKCiMudmFua3V2ZXIuIAoKIy5rZWlwdGF1bi4gCgojLnRhaWJlaXMuIAoKIy5i b24uIAoKIy5kZWxpcy4gCgojLm5pcy4gCgojLmF0aW5hcy4gCgojLmxpZHouIAoKIy54ZWxzaW5r aXMuIAoKISEhRXhlcmNpc2UgMwoKTG9qYmFuaXNlIHRoZSBmb2xsb3dpbmcgbmFtZXMgCgojSm9o biAKCiNNZWxpc3NhIAoKI0FtYW5kYSAKCiNNYXR0aGV3IAoKI01pY2hhZWwgCgojRGF2aWQgQm93 aWUgCgojSmFuZSBBdXN0ZW4gCgojV2lsbGlhbSBTaGFrZXNwZWFyZSAKCiNTaWdvdXJuZXkgV2Vh dmVyIAoKI1JpY2hhcmQgTml4b24gCgojSXN0YW5idWwgCgojTWFkcmlkIAoKI1Rva3lvIAoKI1Nh biBTYWx2YWRvciAKCiEhTG9qYmFuIHdvcmRzIGFzIG5hbWVzCgpCeSBub3cgeW91IHNob3VsZCBi ZSBhYmxlIHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1lLiBIb3dldmVyLCBpZiB5b3UgcHJlZmVy LCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50byBMb2piYW4gKGlmIHlvdSBrbm93IHdo YXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQgYSBjb21wbGV0ZWx5IG5ldyBMb2piYW4g aWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJhbGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1l IHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJlY2F1c2UgdGhleSBoYXZlIG1lYW5pbmdm dWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGRvbid0IGV4cGVjdCB0aGUgJyd3YXNp Y2h1JycgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFrb3RhLCBDaGVyb2tlZSBv ciB3aGF0ZXZlciEgCgpBbGwgTG9qYmFuIHdvcmRzIChhcyBvcHBvc2VkIHRvIGNtZW5lKSBlbmQg aW4gYSB2b3dlbCwgYW5kIGFsdGhvdWdoIHlvdSAnJ2NhbicnIHVzZSB0aGVtIGFzIG5hbWVzIGFz IHRoZXkgc3RhbmQsIGl0J3MgY29tbW9uIHRvIGxlYXZlIG91dCB0aGUgZmluYWwgdm93ZWwgdG8g bWFrZSBpdCBhYnNvbHV0ZWx5IGNsZWFyIHRoYXQgdGhpcyBpcyBhIG5hbWUgYW5kIG5vdCBzb21l dGhpbmcgZWxzZSAoTG9qYmFuIGdvZXMgZm9yIG92ZXJraWxsIHdoZW4gaXQgY29tZXMgdG8gcG9z c2libGUgbWlzdW5kZXJzdGFuZGluZykuIFNvIGlmIHlvdXIgbmFtZSBvciBuaWNrbmFtZSBpcyAn J0NhdCcnIChMb2piYW4gbWxhdHUpLCB5b3UgY2FuIGVpdGhlciBhZGQgcyBsaWtlIGEgbm9ybWFs IGNtZW5lIHRvIG1ha2UgLm1sYXR1cy4sIG9yIGp1c3QgY2hvcCB0aGUgZW5kIG9mZiBhbmQgY2Fs bCB5b3Vyc2VsZiAubWxhdC4gLiAKCkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzOiAKCuKAoiAgIEZp c2gg4oCTIGZpbnBlIOKAkyAuZmlucC4gCgrigKIgICBCasO2cm4gKFNjYW5kaW5hdmlhbiA9IGJl YXIpIOKAkyBjcmliZSDigJMgLmNyaWIuIAoK4oCiICAgR3JlZW4g4oCTIGNyaW5vIOKAkyAuY3Jp bi4gCgrigKIgICBNZWkgTGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgLm1l bGIuIAoK4oCiICAgQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpIOKAkyBsdW5yYSBub2JsaSAo PSBsdXJub2JsaSkg4oCTIC5sdXJub2JsaXMuIAoKISFBbnN3ZXJzIHRvIEV4ZXJjaXNlcwoKJycn RXhlcmNpc2UgMicnJwoKI05ldyBZb3JrOiBVU0EgCgojUm9tZTogSXRhbHkgCgojSGF2YW5hOiBD dWJhIAoKI0NhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICcnQ2FyZGlmZicnIGlzICcnQ2Fl cmR5ZGQnJywgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGluZyBsaWtlIGthaXJkeWQu LikgCgojQmVpamluZzogQ2hpbmEgCgojQW5rYXJhOiBUdXJrZXkgCgojQWxiZXF1ZXJxdWU6IE5l dyBNZXhpY28sIFVTQSAKCiNWYW5jb3V2ZXI6IENhbmFkYSAKCiNDYXBlIFRvd246IFNvdXRoIEFm cmljYSAKCiNUYWlwZWk6IFRhaXdhbiAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHks IHRoZSBiIGluIFBpbnlpbiBpcyBwcm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBt ZWFudCB0byBiZSBhIGNvdXJzZSBvbiBNYW5kYXJpbiEpIAoKI0Jvbm46IEdlcm1hbnkgCgojRGVs aGk6IEluZGlhIChUaGUgSGluZGkgZm9yICcnRGVsaGknJyBpcyAnJ0RpbGzDricnLCB3aGljaCB3 b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGlsaSdpcy4uKSAKCiNOaWNlOiBGcmFuY2UgCgojQXRoZW5z OiBHcmVlY2UgKCcnQXRoaW5hJycgaW4gR3JlZWspIAoKI0xlZWRzOiBFbmdsYW5kIAoKI0hlbHNp bmtpOiBGaW5sYW5kIAoKJycnRXhlcmNpc2UgMycnJwoKVGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJu YXRpdmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5j ZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBk b2Vzbid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdv IExvamJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25l IGtub3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC4gCgojLmRqb24uIChvciAu ZGphbi4gd2l0aCBzb21lIGFjY2VudHMpIAoKIy5tZWxpc3lzLiAKCiMuYW1hbmR5cy4gKGFnYWlu LCBkZXBlbmRpbmcgb24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5p dGlhbCBhIG1heSBiZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBiZSBlLikgCgojLm1hdGl1cy4g CgojLm1haWt5bC4gb3IgLm1haWssbC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQuIAoK Iy5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90IC5idSxpcy4g4oCUIHRoYXQncyB0 aGUga25pZmUpIAoKIy5kamVpbi5vc3Rpbi4gCgojLnVpbGlhbS5jZWtzcGlyLiAKCiMuc2lnb3Ju aXMudWl2eXIuIG9yIC5zeWdvcm5pcy51aXZ5ci4gCgojLnJpdGN5cmQubmlrc3luLiAKCiMuaXN0 YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlz dGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5IHByZWZlciB0byBiYXNl IGNtZW5lIG9uIGxvY2FsIHByb251bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0 ZSBydWxlLiAKCiMubWFEUklELiAKCiMudG9raW9zLiAKCiMuc2FuLnNhbHZhRE9SLiAod2l0aCBT cGFuaXNoIHN0cmVzcykgCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFuLm9y ZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK