Received: from localhost ([::1]:44489 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Uh6cF-0001Oj-PP; Mon, 27 May 2013 16:14:11 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:35821 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Uh6c3-0001Oc-6Z for wikineurotic@lojban.org; Mon, 27 May 2013 16:14:09 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 27 May 2013 16:13:58 -0700 From: "Apache" Date: Mon, 27 May 2013 16:13:58 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.4 (/) X-Spam_score: 0.4 X-Spam_score_int: 4 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 Perguntas mais frequentes was created by AndreIbaque at 23:13 UTC You can view the page by following this link: http://www.lojban.org/tiki/Perguntas%20mais%20frequentes [...] Content analysis details: (0.4 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: loglan.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page Perguntas mais frequentes created by AndreIbaque 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 VGhlIHBhZ2UgUGVyZ3VudGFzIG1haXMgZnJlcXVlbnRlcyB3YXMgY3JlYXRlZCBieSBBbmRyZUli YXF1ZSBhdCAyMzoxMyBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhp cyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL1Blcmd1bnRhcyUyMG1haXMlMjBm cmVxdWVudGVzCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4K KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKCl5UcmFuc2xhdGlvbiBvZiB0aGlzIHBhZ2UgaXMgaW5jb21wbGV0ZS5eCgoKCllvdSBtYXkg YWxzbyBmaW5kIHVzZWZ1bCBpbmZvcm1hdGlvbiBvbiB0aGUgKChGQVEtbGlrZSBSZXNvdXJjZXMp KSBwYWdlLgoKCgohIUNvbnRlw7pkbwoKIyB7QUxJTksoYW5hbWU9PmdlcmFsKX1QZXJndW50YXMg R2VyYWlze0FMSU5LfQoKIyB7QUxJTksoYW5hbWU9PnJlc291cmNlcyl9UmVzb3VyY2Vze0FMSU5L fQoKIyB7QUxJTksoYW5hbWU9PnRlY2huaWNhbCl9VGVjaG5pY2Fse0FMSU5LfQoKIyB7QUxJTkso YW5hbWU9PnN0YXR1cyl9UHJvamVjdCBTdGF0dXN7QUxJTkt9CgojIHtBTElOSyhhbmFtZT0+aGlz dG9yaWNhbCl9SGlzdG9yaWNhbHtBTElOS30KCiMge0FMSU5LKGFuYW1lPT5wcm9udW5jaWF0aW9u KX1Qcm9udW5jaWF0aW9ue0FMSU5LfQoKISF7QU5BTUUoKX1nZW5lcmFse0FOQU1FfUdFTkVSQUwK CiBHMS4ge0FMSU5LKGFuYW1lPT5HMSl9SGVscCEgIEkgZG9uJ3Qgc3BlYWsgRW5nbGlzaCF7QUxJ Tkt9CgogRzIuIHtBTElOSyhhbmFtZT0+RzIpfVdoYXQgaXMgJydsb2piYW4nJz97QUxJTkt9Cgog RzMuIHtBTElOSyhhbmFtZT0+RzMpfVdobyBpcyBpbnZvbHZlZCBpbiB0aGUgTG9qYmFuIHByb2pl Y3Q/e0FMSU5LfQoKIEc0LiB7QUxJTksoYW5hbWU9Pkc0KX1Ib3cgbWFueSBwZW9wbGUgYXJlIHRo ZXJlIGluIHRoZSBMb2piYW4gY29tbXVuaXR5PyBIb3cgbWFueSBjYW4gdXNlIExvamJhbj97QUxJ Tkt9CgogRzUuIHtBTElOSyhhbmFtZT0+RzUpfVdoYXQgaXMgTG9nRmVzdCAvIGpib251bnNsYSA/ e0FMSU5LfQoKIEc2LiB7QUxJTksoYW5hbWU9Pkc2KX1XaGF0IGlzIHRoZSBkaWZmZXJlbmNlIGJl dHdlZW4gdGhlIFJlZmVyZW5jZSBHcmFtbWFyIGFuZCB0aGUgQ29tcGxldGUgTG9qYmFuIExhbmd1 YWdlP3tBTElOS30KCiBHNy4ge0FMSU5LKGFuYW1lPT5HNyl9SXMgdGhlcmUgYSBtb3JlIGNvbXBs ZXRlIGludHJvZHVjdGlvbiB0byBMb2piYW4gdGhhbiB0aGlzIEZBUT97QUxJTkt9CgohIXtBTkFN RSgpfXJlc291cmNlc3tBTkFNRX1SRVNPVVJDRVMKCiBSMS4ge0FMSU5LKGFuYW1lPT5SMSl9V2hh dCBpcyB0aGUgYmVzdCB3YXkgdG8gc3RhcnQgbGVhcm5pbmcgTG9qYmFuP3tBTElOS30KCiBSMi4g e0FMSU5LKGFuYW1lPT5SMil9SG93IGNhbiBJIGxvb2sgdXAgJydnaXNtdScnLCAnJ2x1anZvJycs IGFuZCAnJ2NtYXZvJycgd2hlbiBJIGFtIHRyYW5zbGF0aW5nIGZyb20gbG9qYmFuP3tBTElOS30K CiBSMy4ge0FMSU5LKGFuYW1lPT5SMyl9U291cmNlcyBvZiB0ZXh0IHRvIHJlYWQ/e0FMSU5LfQoK IFI0LiB7QUxJTksoYW5hbWU9PlI0KX1XaGF0IG1lc3NhZ2VzIGFyZSBhcHByb3ByaWF0ZSBmb3Ig dGhlIExvamJhbiBMaXN0P3tBTElOS30KCiBSNS4ge0FMSU5LKGFuYW1lPT5SNSl9QXJlIHRoZXJl IGFyY2hpdmVzPyBXV1cgc2l0ZT8gZnRwIHNpdGU/e0FMSU5LfQoKIFI2LiB7QUxJTksoYW5hbWU9 PlI2KX1XaGF0IGlzIGF2YWlsYWJsZSBpbiBsYW5ndWFnZXMgb3RoZXIgdGhhbiBFbmdsaXNoP3tB TElOS30KCiBSNy4ge0FMSU5LKGFuYW1lPT5SNyl9V2hhdCBzb2Z0d2FyZSBpcyBhdmFpbGFibGU/ e0FMSU5LfQoKISF7QU5BTUUoKX10ZWNobmljYWx7QU5BTUV9VEVDSE5JQ0FMCgogVDEuIHtBTElO SyhhbmFtZT0+VDEpfShHbG9zc2FyeSkgSW4gRW5nbGlzaCBkZXNjcmlwdGlvbnMgb2YgJydsb2pi YW4nJywgSSBzZWUgJydsb2piYW4nJyB3b3JkcyB1c2VkLCBhcyB3ZWxsIGFzICcnbG9qYmFuJycg amFyZ29uLiBXaGF0IGRvIHRoZXNlIHdvcmRzIG1lYW4/e0FMSU5LfQoKIFQyLiB7QUxJTksoYW5h bWU9PlQyKX1Ib3cgZG8geW91IGJvcnJvdyB3b3JkcyBmcm9tIG90aGVyIGxhbmd1YWdlcz97QUxJ Tkt9CgogVDMuIHtBTElOSyhhbmFtZT0+VDMpfUlzbid0IGl0IGNvbmZ1c2luZyB0aGF0IHNvbWUg JydyYWZzaScnIGFyZSBpZGVudGljYWwgdG8gJydjbWF2bycnP3tBTElOS30KCiBUNC4ge0FMSU5L KGFuYW1lPT5UNCl9IFdoeSBkbyBzb21lIHRleHRzIHVzZSAiaCIgaW5zdGVhZCBvZiAnJycnJyAo c2luZ2xlIHF1b3RlKSwgb3IgaGF2ZSBwYXJlbnRoZXNlcywgb3Igb3RoZXIgbm9uLXN0YW5kYXJk IGNvbnZlbnRpb25zP3tBTElOS30KCiBUNS4ge0FMSU5LKGFuYW1lPT5UNSl9V2h5IGRvZXMgaXQg aGF2ZSBhIHNwZWNpYWwgbWVhbmluZyB3aGVuIHRoZSAnJ3NlbGJyaScnIGNvbWVzIGZpcnN0IGlu IGEgc2VudGVuY2U/e0FMSU5LfQoKIFQ2LiB7QUxJTksoYW5hbWU9PlQ2KX1XaHkgYXJlIHRoZXJl IHNvIG1hbnkgd29yZHMgZm9yIEFORD8gV2h5IG5vdCBqdXN0IGxldCAnJy5lJycgY29ubmVjdCB0 d28gJydzdW10aScnLCAnJ2JyaWRpJycsICcnYnJpZGkgJyctdGFpbHMsIG9yIGFueXRoaW5nIGVs c2U/e0FMSU5LfQoKIFQ3LiB7QUxJTksoYW5hbWU9PlQ3KX1JcyB0aGUgJ3MnIGF0IHRoZSBlbmQg b2YgbG9qYmFuaXplZCBuYW1lcyAoc3VjaCBhcyAnbm9yYXMuJykgc2lsZW50P3tBTElOS30KCiEh e0FOQU1FKCl9c3RhdHVze0FOQU1FfVBST0pFQ1QgU1RBVFVTCgogUFMxLiB7QUxJTksoYW5hbWU9 PlBTMSl9V2hhdCBwYXJ0cyBvZiB0aGUgbGFuZ3VhZ2UgYXJlIHdlbGwgd29ya2VkIG91dCwgYW5k IHdoaWNoIHBhcnRzIGFyZSBpbiBmbHV4P3tBTElOS30KCiBQUzIuIHtBTElOSyhhbmFtZT0+UFMy KX1XaGF0IGFyZSB0aGUgbW9zdCBjdXJyZW50IHJldmlzaW9ucyBvZiBlYWNoIHBhcnQgb2YgdGhl IGxhbmd1YWdlIGRlc2NyaXB0aW9ucz97QUxJTkt9CgogUFMzLiB7QUxJTksoYW5hbWU9PlBTMyl9 V2hhdCBwcm9qZWN0cyBhcmUgYmVpbmcgd29ya2VkIG9uPyBXaGVuIHdpbGwgdGhleSBiZSBkb25l P3tBTElOS30KCiBQUzQuIHtBTElOSyhhbmFtZT0+UFM0KX1XaGF0IGNhbiBJIGRvIHRvIGhlbHA/ e0FMSU5LfQoKISF7QU5BTUUoKX1oaXN0b3JpY2Fse0FOQU1FfUhJU1RPUklDQUwKCiBIMS4ge0FM SU5LKGFuYW1lPT5IMSl9SG93IHdhcyB0aGUgZGVmYXVsdCBwbGFjZSBzdHJ1Y3R1cmUgb3JkZXIg b2YgJydzdW10aScnIGluIGEgJydzZWxicmknJyBkZXRlcm1pbmVkPyAoVGhlcmUgZG9lcyBub3Qg YXBwZWFyIHRvIGJlIGFueSByaHltZSBvciByZWFzb24gZm9yIHRoZSBvcmRlciBvZiAnJ3N1bXRp JycgaW4gbWFueSAnJ2dpc211JycuKXtBTElOS30KCiBIMi4ge0FMSU5LKGFuYW1lPT5IMil9SG93 IGRpZCB0aGUgJydnaXNtdScnIGdldCBtYWRlOiBkaXNjdXNzaW9uLCBldHltb2xvZ3kgZXhhbXBs ZXN7QUxJTkt9CgogSDMuIHtBTElOSyhhbmFtZT0+SDMpfVdoYXQgaXMgdGhlIGRpZmZlcmVuY2Ug YmV0d2VlbiBMb2dsYW4gYW5kIExvamJhbj8gSG93IGlzIExvZ2xhbi04MiByZWxhdGVkP3tBTElO S30KCiBINC4ge0FMSU5LKGFuYW1lPT5INCl9V2h5IGRvIG9sZGVyIExvamJhbiB0ZXh0cyAoYmVm b3JlIDE5OTMpIG5vdCBtYWtlIG11Y2ggc2Vuc2Ugc29tZXRpbWVzP3tBTElOS30KCiEhIHtBTkFN RSgpfXByb251bmNpYXRpb257QU5BTUV9UFJPTlVOQ0lBVElPTgoKQjEuIHtBTElOSyhhbmFtZT0+ QjEpfUknbSBub3QgcXVpdGUgc3VyZSBJIHVuZGVyc3RhbmQgdGhlIHdyaXR0ZW4gZGVzY3JpcHRp b25zIG9mIGhvdyB0aGUgdm93ZWxzIHNvdW5kLntBTElOS30KCgoKISFHRVJBTAoKe0FOQU1FKCl9 RzF7QU5BTUV9RzEuX18gSGVscCEgIEkgZG9uJ3Qgc3BlYWsgRW5nbGlzaCFfXwoKCgo7Tm8gaGFi bG8gbXV5IGJpZW4gaW5nbMOpcy4uLjpQdWVkZXMgY29udGFjdGFydGUgY29uIFttYWlsdG86amps bGFtYmlhc0BnbWFpbC5jb218Sm9yZ2UgTGxhbWLDrWFzXQoKO0plIG5lIGNvbXByZW5kcyBwYXMg dHLDqHMgYmllbiBsJ2FuZ2xhaXMuLi46VHUgcGV1eCBjb250YWN0ZXIgW21haWx0bzpncmVnb3J5 LmR5a2VAZXBmbC5jaHxHcmVnIER5a2VdCgo7SWNoIHZlcnN0ZWhlIEVuZ2xpc2NoIG5pY2h0IHNl aHIgZ3V0Li4uLjpEdSBrYW5uc3QgZWluZSBNYWlsIGFuIFttYWlsdG86Z3JlZ29yeS5keWtlQGVw ZmwuY2h8R3JlZyBEeWtlXSBzZW5kZW4KCjttaSBuYSBzZSBiYW5ndSBsZSBnbGliYXU6Lm9pcnUn ZSBkbyBuYSBuaXRjdSBsZSBudSB0Y2lkdSBkZWkga2VpIGtpJ3UgbGUgemEnaSAudWkgZG8gcHVq ZWNhIHNlIGJhbmd1IGxlIGpib2JhdQoKCgpBbHNvLCBzZWUgKChOb24tRW5nbGlzaCBMb2piYW4g TWF0ZXJpYWxzfHRoZSBub24tRW5nbGlzaCByZXNvdXJjZXMgcGFnZSkpIGZvciBtb3JlIGxpc3Rp bmdzIG9mIG5vbi1FbmdsaXNoIGxvamJhbmljIHJlc291cmNlcy4KCgoKCgp7QU5BTUUoKX1HMntB TkFNRX1HMi5fXyBXaGF0IGlzICcnbG9qYmFuJyc/X18KCgoKTG9qYmFuIGlzIGEgY2FyZWZ1bGx5 IGNvbnN0cnVjdGVkICcnc3Bva2VuJycsIGFzIHdlbGwgYXMgd3JpdHRlbiwgbGFuZ3VhZ2UgZGVz aWduZWQgaW4gdGhlIGhvcGUgb2YgcmVtb3ZpbmcgYSBsYXJnZSBwb3J0aW9uIG9mIHRoZSBhbWJp Z3VpdHkgZnJvbSBodW1hbiBjb21tdW5pY2F0aW9uLiBJdCB3YXMgbWFkZSB3ZWxsLWtub3duIGJ5 IGEgU2NpZW50aWZpYyBBbWVyaWNhbiBhcnRpY2xlIGFuZCByZWZlcmVuY2VzIGluIGJvdGggc2Np ZW5jZSBmaWN0aW9uIGFuZCBjb21wdXRlciBwdWJsaWNhdGlvbnMuIExvamJhbiBoYXMgYmVlbiBi dWlsdCBvdmVyIGZpdmUgZGVjYWRlcyBieSBkb3plbnMgb2Ygd29ya2VycyBhbmQgaHVuZHJlZHMg b2Ygc3VwcG9ydGVycy4KCgoKe0FOQU1FKCl9RzN7QU5BTUV9RzMuX19XaG8gaXMgaW52b2x2ZWQg aW4gdGhlIExvamJhbiBwcm9qZWN0PyBfXwoKCgpLZXkgcGVvcGxlIGFyZSBsaXN0ZWQgb24gdGhl ICgoTG9qYmFuaWMgQ29tbXVuaXR5IExpbmtzfGNvbW11bml0eSkpIHBhZ2UuIAoKCgp7QU5BTUUo KX1HNHtBTkFNRX1HNC5fX0hvdyBtYW55IHBlb3BsZSBhcmUgdGhlcmUgaW4gdGhlIExvamJhbiBj b21tdW5pdHk/IEhvdyBtYW55IGNhbiB1c2UgTG9qYmFuP19fCgoKCkFzIG9mIE1hcmNoIDIwMTAs IGNsb3NlIHRvIHR3byB0aG91c2FuZCBwZW9wbGUgZnJvbSBhcm91bmQgdGhlIHdvcmxkIGhhdmUg ZGV2ZWxvcGVkIGFuIGludGVyZXN0IGluIExvamJhbiB0byB0aGUgcG9pbnQgb2Ygb3JkZXJpbmcg YSBbQm9va3N8Ym9va10gb3Igam9pbmVkIGEge0FMSU5LKGFuYW1lPT5saXN0cyxwYWdlbmFtZT0+ TG9qYmFuaWMgRm9ydW1zKX1Mb2piYW4gTGlzdHtBTElOS30gLiBBdCBhbnkgZ2l2ZW4gdGltZSwg dGhlcmUgYXJlIGF0IGxlYXN0IDUwIHRvIDEwMCBhY3RpdmUgcGFydGljaXBhbnRzIChwZW9wbGUg d2hvIHdpbGwgcmVzcG9uZCBpZiB5b3UgYXNrIGEgcXVlc3Rpb24gb24gb25lIG9mIHRoZSBlbWFp bCBsaXN0cyBvciBpbiBbTG9qYmFuIElSQ3xJUkMgY2hhdCByb29tXSwgZm9yIGV4YW1wbGUpLiBB IG51bWJlciBvZiB0aGVtIGNhbiBob2xkIGEgcmVhbC10aW1lIGNvbnZlcnNhdGlvbiBpbiB0aGUg bGFuZ3VhZ2UuCgoKCntBTkFNRSgpfUc1e0FOQU1FfUc1Ll9fV2hhdCBpcyAoKExvZ0Zlc3QpKSAv ICgoamJvbnVuc2xhKSkgP19fCgoKCkxvZ0Zlc3QgaXMgdGhlIGFubnVhbCBnYXRoZXJpbmcgb2Yg dGhlIFtUaGUgTG9naWNhbCBMYW5ndWFnZSBHcm91cHxMb2dpY2FsIExhbmd1YWdlIEdyb3VwXS4g V2UgYXJlIHJlcXVpcmVkIGJ5IGFuIFtCeWxhd3Mgb2YgVGhlIExvZ2ljYWwgTGFuZ3VhZ2UgR3Jv dXAsIEluYy58TExHIGJ5bGF3XSB0byBoYXZlIGFuIGFubnVhbCBtZWV0aW5nLiBFdmVyeSB5ZWFy IHdlIGhhdmUgYSBMb2piYW4gQ29udmVudGlvbiBmb3IgYW55IGFuZCBhbGwgaW4gdGhlICgoTG9q YmFuaWMgQ29tbXVuaXR5IExpbmtzfGNvbW11bml0eSkpIHdobyBhcmUgd2lsbGluZyB0byBjb21l LiAoKExvZ0Zlc3QpKSB3YXMgdHJhZGl0aW9uYWxseSBoZWxkIGF0ICcnbG9qYmFiJ3MnJyBob3Vz ZSBpbiBGYWlyZmF4IFZBLCBhIHN1YnVyYiBvZiBXYXNoaW5ndG9uIERDLCB1c3VhbGx5IG92ZXIg YSB3ZWVrZW5kIGluIEp1bHkgb3IgQXVndXN0LiBXZSBoYXZlIHR5cGljYWxseSBoYWQgYXJvdW5k IDIwIHBlb3BsZSBjb21lIGZvciBwYXJ0IG9yIGFsbCBvZiB0aGUgd2Vla2VuZC4gU29tZSBvZiB0 aGVzZSBwZW9wbGUgYXJlIGFtb25nIHRoZSBtb3JlIGNvbW1pdHRlZCBMb2piYW5pc3RzLCBhbmQg YXJvdW5kIGhhbGYgdGhlIGF0dGVuZGVlcyB0eXBpY2FsbHkgYXJlIGF0IGJlZ2lubmVyIHNraWxs IGxldmVscy4gVXN1YWxseSBzZXZlcmFsIHBlb3BsZSB0cmF2ZWwgYSBzdWJzdGFudGlhbCBkaXN0 YW5jZSBpbiBvcmRlciB0byBhdHRlbmQsIGFuZCB0aG9zZSBwZW9wbGUgYXJlIG9mdGVuIHRyZWF0 ZWQgYXMgYSBndWVzdHMgb2YgaG9ub3IgYW5kIGFyZSBnaXZlbiBmaXJzdCBjb25zaWRlcmF0aW9u IGZvciBjaG9vc2luZyB0aGUgYWN0aXZpdGllcyBvbiB3aGljaCB3ZSBmb2N1cy4gCgoKCk90aGVy IHRoYW4gZ2l2aW5nIHRob3NlIHdobyBoYWQgdG8gdHJhdmVsIGZ1cnRoZXN0IHByZWZlcmVuY2Ug aW4gcGlja2luZyB0b3BpY3MsICgoTG9nRmVzdCkpIGlzIGxhcmdlbHkgdW5zdHJ1Y3R1cmVkLCBp biBwYXJ0IGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aG8gb3IgaG93IG1hbnkgYXJlIGNvbWluZyB1 bnRpbCBhIGNvdXBsZSBvZiBkYXlzIGJlZm9yZSB0aGluZ3Mgc3RhcnQuICgoTG9nRmVzdCkpIGlz IHdoYXQgdGhlICgoTG9qYmFuaWMgQ29tbXVuaXR5IExpbmtzfGNvbW11bml0eSkpIGNob29zZXMg dG8gbWFrZSBpdC4gQmVjYXVzZSB0aGUgb2ZmaWNpYWwgTExHIG1lZXRpbmcgb2NjdXJzIGR1cmlu ZyAoKExvZ2Zlc3QpKSwgc29tZSBvZiB0aGUgbWFqb3IgZGVjaXNpb25zIGFmZmVjdGluZyB0aGUg KChMb2piYW5pYyBDb21tdW5pdHkgTGlua3N8TG9qYmFuIGNvbW11bml0eSkpIHRlbmQgdG8gZ2V0 IG1hZGUgdGhlcmUuCgoKCkluIDIwMDUgYW5kIDIwMDYsIHRoZSBhbm51YWwgZ2F0aGVyaW5ncyBz dGFydGVkIGJlaW5nIGhlbGQgYXQgc2NpZW5jZSBmaWN0aW9uIGNvbnZlbnRpb25zLgoKCgpUaGUg bmFtZSAiKChMb2dGZXN0KSkiIGlzIGEgaG9sZG92ZXIgZnJvbSBMb2dsYW4uIFRoZSB3b3JkIGZv ciBpdCBpbiBMb2piYW4gaXMgIigoamJvbnVuc2xhKSkiLgoKCgp7QU5BTUUoKX1HNntBTkFNRX1H Ni5fX1doYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgUmVmZXJlbmNlIEdyYW1tYXIg YW5kIHRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2U/X18KCgoKVGhlICgoVGhlIExvamJhbiBS ZWZlcmVuY2UgR3JhbW1hcnxSZWZlcmVuY2UgR3JhbW1hcikpIGlzIG9ubGluZTsgKChUaGUgQ29t cGxldGUgTG9qYmFuIExhbmd1YWdlKSkgaXMgdGhlIGhhcmQtY29weSBib29rIHZlcnNpb24uIFRo ZSB0ZXJtcyBhcmUgc29tZXRpbWVzIHVzZWQgaW50ZXJjaGFuZ2VhYmx5LiAKCgoKe0FOQU1FKCl9 Rzd7QU5BTUV9RzcuX19JcyB0aGVyZSBhIG1vcmUgY29tcGxldGUgaW50cm9kdWN0aW9uIHRvIExv amJhbiB0aGFuIHRoaXMgRkFRP19fCgoKClllcyEgWW91IGNhbiByZWFkIG9yIGRvd25sb2FkICgo V2hhdCBJcyBMb2piYW4/LCBUaGUgQm9va3xXaGF0IElzIExvamJhbj8pKSwgYWxzbyBrbm93biBh cyB0aGUgTGV2ZWwgWmVybyBib29rLCBlZGl0ZWQgYnkgTmljayBOaWNob2xhcyBhbmQgSm9obiBX b2xkZW1hciBDb3dhbi4gIFRoaXMgYm9vayBtYWtlcyBhbiAnJ2V4Y2VsbGVudCcnIGludHJvZHVj dGlvbiB0byBsb2piYW4uIAoKCgohIVJFU09VUkNFUwoKe0FOQU1FKCl9UjF7QU5BTUV9UjEuX19X aGF0IGlzIHRoZSBiZXN0IHdheSB0byBzdGFydCBsZWFybmluZyBMb2piYW4/X18KCgoKV2UgcmVj b21tZW5kIHRoZSBmb2xsb3dpbmc6IAoKCgojICBZb3UgY2FuIHJlYWQgb3IgZG93bmxvYWQgKChX aGF0IElzIExvamJhbj8sIFRoZSBCb29rfFdoYXQgSXMgTG9qYmFuPykpLCBhbHNvIGtub3duIGFz IHRoZSBMZXZlbCBaZXJvIGJvb2ssIGVkaXRlZCBieSBOaWNrIE5pY2hvbGFzIGFuZCBKb2huIFdv bGRlbWFyIENvd2FuLiAgVGhpcyBib29rIG1ha2VzIGFuICcnZXhjZWxsZW50JycgaW50cm9kdWN0 aW9uIHRvIGxvamJhbi4KCiMgIFdvcmsgdGhyb3VnaCBbaHR0cDovL3d3dy50bGcudWNpLmVkdS9+ b3BvdWRqaXMvbG9qYmFuYnJvY2h1cmUvbGVzc29ucy9ib29rMS5odG1sfCBMb2piYW4gRm9yIEJl Z2lubmVyc10uCgojIFJlYWQgdGhyb3VnaCB0aGUgKChUaGUgTG9qYmFuIFJlZmVyZW5jZSBHcmFt bWFyfFJlZmVyZW5jZSBHcmFtbWFyKSkgLS0gcmVhZGluZyBmb3IgY29uY2VwdHMsIG5vdCBkZXRh aWwuCgojICBDcmVhdGUgYSBjaGVhdCBzaGVldCB3aXRoIGxpc3RzIG9mIHtBTElOSyhhbmFtZT0+ Y21hdm8pfScnY21hdm8nJ3tBTElOS30geW91J3JlIGxpa2VseSB0byBuZWVkLgoKIyAgUmVhZCBh bmQgd3JpdGUgKChUZXh0cyBJbiBMb2piYW58TG9qYmFuIHRleHRzKSkgdXNpbmcgdGhlICgoVGhl IExvamJhbiBSZWZlcmVuY2UgR3JhbW1hcnxSZWZlcmVuY2UgR3JhbW1hcikpIGFuZCB5b3VyIGNo ZWF0IHNoZWV0cyBmb3IgcmVmZXJlbmNlLiBQb3N0IHlvdXIgdHJhbnNsYXRlZCB0ZXh0IHRvIHRo ZSB7QUxJTksoYW5hbWU9Pmxpc3RzLHBhZ2VuYW1lPT5Mb2piYW5pYyBGb3J1bXMpfUxvamJhbiBM aXN0e0FMSU5LfSBmb3IgZmVlZGJhY2suCgojICBJZiB5b3UgZ2V0IHNlcmlvdXMgYWJvdXQgaXQs IHVzZSBbaHR0cDovL3d3dy5sb2piYW4ub3JnL2ZpbGVzL3NvZnR3YXJlL2xvZ2ZsYXNoLnppcHxM b2dmbGFzaF0gb3IgW2h0dHA6Ly9xdWl6bGV0LmNvbS98UXVpemxldF0gKHJlZ2lzdGVyIGFuZCBq b2luIHRoZSBMb2piYW4gR3JvdXApIHRvIGhlbHAgeW91IG1lbW9yaXplIHZvY2FidWxhcnkuCgog ICAgCgpJZiBzb21lIGNvbmNlcHRzIGluIGFueSBvZiB0aGUgYWJvdmUgcmVzb3VyY2VzIHNlZW0g dW5jbGVhciwgcG9zdCB5b3VyIHF1ZXN0aW9ucyB0byB0aGUge0FMSU5LKGFuYW1lPT5saXN0cyxw YWdlbmFtZT0+TG9qYmFuaWMgRm9ydW1zKX1Mb2piYW4gTGlzdHtBTElOS30uIAoKCgp7QU5BTUUo KX1SMntBTkFNRX1SMi5fX0hvdyBjYW4gSSBsb29rIHVwICcne0FMSU5LKGFuYW1lPT5jbWF2byl9 Y21hdm97QUxJTkt9Jycgd2hlbiBJIGFtIHRyYW5zbGF0aW5nIGZyb20gTG9qYmFuP19fCgoKClVz ZSBvbmUgb2YgdGhlc2U6IC0gcHJpbnQgeW91cnNlbGYgb3V0IHRoZSBbaHR0cDovL3d3dy5sb2pi YW4ub3JnL3B1YmxpY2F0aW9ucy93b3JkbGlzdHMvZ2lzbXUudHh0fGNvbXBsZXRlICcnZ2lzbXUn JyBsaXN0XSwgdGhlIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvZmlsZXMvZHJhZnQtZGljdGlvbmFy eS9OT1JBTFVKVi50eHR8IGN1cnJlbnQgJydsdWp2bycnIGxpc3RdLCBhbmQgdGhlIFtodHRwOi8v d3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9jbWF2by50eHR8IGNvbXBsZXRl ICcnY21hdm8nJyBsaXN0XSBhcyB3ZWxsIGFzIHRoZSBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3B1 YmxpY2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0fCBjb21wbGV0ZSAnJ3JhZnNpJycgbGlzdF0g LSByZWZlciB0byB0aGUgb25saW5lIFtodHRwOi8vamJvdmxhc3RlLmxvamJhbi5vcmcvfGRpY3Rp b25hcnldLgoKCgp7QU5BTUUoKX1SM3tBTkFNRX1SMy5fX1NvdXJjZXMgb2YgdGV4dCB0byByZWFk P19fCgoKClRoZXJlIGFyZSBtYW55LiAgWW91IGNhbiBmaW5kIGEgY29tcGxldGUgbGlzdCBbVGV4 dHMgaW4gTG9qYmFufGhlcmVdLiBUYWtlIHlvdXIgcGljayBmcm9tIG9yaWdpbmFsIG9yIHRyYW5z bGF0ZWQsIHNob3J0IG9yIGxvbmcsIHByb3NlIG9yIHBvZXRyeSwgY3VycmVudGx5LWJlaW5nLXdv cmtlZC1vbiBvciBjb21wbGV0ZWQtYW5kLXJldmlld2VkLgoKCgpUaGUge0FMSU5LKGFuYW1lPT5s aXN0cyxwYWdlbmFtZT0+TG9qYmFuaWMgRm9ydW1zKX1Mb2piYW4gTGlzdHtBTElOS30gd2lsbCBo YXZlIGRpc2N1c3Npb24gaW4gTG9qYmFuIGZyb20gdGltZSB0byB0aW1lLiBUaGVyZSBpcyBhbHNv IG5vdyBhIExvamJhbi1vbmx5IGxpc3QgY2FsbGVkIHtBTElOSyhhbmFtZT0+amJvc251LHBhZ2Vu YW1lPT5Mb2piYW5pYyBGb3J1bXMpfScnamJvc251Jyd7QUxJTkt9ICgiTG9qYmFuaWMgRGlzY3Vz c2VycyIpLiAKCgoKe0FMSU5LKGFuYW1lPT5KTCl9JydqdSdpIGxvYnlwbGknJ3tBTElOS30gKEF0 dGVudGlvbiEgTG9qYmFuaWMgVXNlcnMpIHVzdWFsbHkgaGF2ZSBzZXZlcmFsIGV4YW1wbGVzIG9m IGNvbW1lbnRlZCB0ZXh0LCB0aG91Z2ggZWFybHkgaXNzdWVzIG1heSBoYXZlIHNvbWUgb2Jzb2xl dGUgd29yZHMgb3IgdXNhZ2VzLiAKCgoKT3RoZXIgTG9qYmFuaXN0cyBwdWJsaXNoIFdlYiBwYWdl cywgc29tZSB3aXRoIExvamJhbiB0ZXh0cyBhbmQgc29tZSBlbnRpcmVseSBpbiBMb2piYW4uIFtM b2piYW5pYyBDb21tdW5pdHkgTGlua3N8SGVyZV0gYXJlIHNvbWUgaW50ZXJlc3Rpbmcgc2l0ZXMu IAoKCgpTdHVmZiBvbiBwYXBlciBjYW4gYmUgb3JkZXJlZCBmcm9tIHRoZSB7QUxJTksoYW5hbWU9 PkxMRyl9TG9naWNhbCBMYW5ndWFnZSBHcm91cHtBTElOS307IGhvd2V2ZXIgaXQgaXMgbXVjaCBi ZXR0ZXIgaWYgeW91IGNhbiByZXRyaWV2ZSBzdHVmZiBkaXJlY3RseSBvZmYgdGhlIG5ldC4gCgoK CntBTkFNRSgpfVI0e0FOQU1FfVI0Ll9fV2hhdCBtZXNzYWdlcyBhcmUgYXBwcm9wcmlhdGUgZm9y IHRoZSBMb2piYW4gTGlzdD9fXwoKCgpCZWdpbm5lcnMgYXJlIGVuY291cmFnZWQgdG8gcG9zdC4g QW55dGhpbmcgaXMgYXBwcm9wcmlhdGUgYXMgbG9uZyBhcyB0aGUgdGl0bGUgYXBwcm94aW1hdGVs eSByZWZsZWN0cyB0aGUgY29udGVudCBhbmQgeW91J3JlIG5vdCBzZWxsaW5nIG1hZ2F6aW5lIHN1 YnNjcmlwdGlvbnMgb3IgbWFpbC1vcmRlciBicmlkZXMgKGV4Y2VwdGlvbjogZXZlbiBUSEFUIGlz IE9LIGlmIHRoZSBwb3N0IGlzIHdyaXR0ZW4gaW4gTG9qYmFuISkuICBZb3UgY2FuIHBvc3Qgb24g YW55IHN1YmplY3QgaW4gTG9qYmFuLCBvciBhYm91dCBMb2piYW4gaW4gYW55IGxhbmd1YWdlLiBZ b3UgY2FuIHBvc3QgaW4gYW55IGxhbmd1YWdlIHlvdSB0aGluayBwZW9wbGUgd2lsbCB1bmRlcnN0 YW5kLiAKCgoKe0FOQU1FKCl9UjV7QU5BTUV9UjUuX19BcmUgdGhlcmUgYXJjaGl2ZXM/IFdXVyBz aXRlPyBmdHAgc2l0ZT9fXwoKCgpUaGVyZSBhcmUgYXJjaGl2ZXMgb2Ygc29tZSBvZiB0aGUgbW9y ZSByZWNlbnQgZS1tYWlsIGxpc3QgbWVzc2FnZXMgb24gdGhpcyB3ZWJzaXRlLCB3aGlsZSBvdGhl cnMgYXJlIHN0b3JlZCBhdCBZYWhvby4gIFNlZSBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3Jlc291 cmNlcy9mb3J1bXMuaHRtbCNsaXN0c3x0aGUgbWFpbGluZyBsaXN0cyBwYWdlXS4KCgoKCgp7QU5B TUUoKX1SNntBTkFNRX1SNi5fX1doYXQgaXMgYXZhaWxhYmxlIGluIGxhbmd1YWdlcyBvdGhlciB0 aGFuIEVuZ2xpc2g/X18KCgoKVGhlcmUgYXJlIGJyb2NodXJlcyBpbiBTcGFuaXNoICh7ZmlsZSBu YW1lPSJCcm9jaHVyZV9TcGFuaXNoMS5kb2MiIHNob3dkZXNjPTF9KSwgRnJlbmNoICh7ZmlsZSBu YW1lPSJCcm9jaHVyZV9GcmVuY2gxLmRvYyIgc2hvd2Rlc2M9MX0pLCBbaHR0cDovL3d3dy5sb2pi YW4ub3JnL3Jlc291cmNlcy8uLi9wdWJsaWNhdGlvbnMvYnJvY2h1cmVzL2Jyb2NodXJlX2VzcGVy YW50by5odG1sfEVzcGVyYW50b10sIGFuZCBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3Jlc291cmNl cy8uLi9wdWJsaWNhdGlvbnMvYnJvY2h1cmVzL2Jyb2NodXJlX3J1c3NpYW4uaHRtbHxSdXNzaWFu XS4gSm9yZ2UgYW5kIEpvc2UgaGF2ZSB0cmFuc2xhdGVkIHRoZSAnJ3tBTElOSyhhbmFtZT0+Z2lz bXUpfWdpc211e0FMSU5LfScnIGxpc3QgaW50byBTcGFuaXNoICh7ZmlsZSBuYW1lPSJMaXN0YV9k ZV9naXNtdV9jb25fZGVmaW5pY2lvbmVzX2VuX2VzLmRvYyIgc2hvd2Rlc2M9MX0pLgoKCgoKCntB TkFNRSgpfVI3e0FOQU1FfVI3Ll9fV2hhdCBzb2Z0d2FyZSBpcyBhdmFpbGFibGU/X18KCgoKVXAt dG8tZGF0ZSBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgYXQgW2h0dHA6Ly93d3cubG9qYmFuLm9y Zy9yZXNvdXJjZXMvdG9vbHMuaHRtbHx0aGUgbG9qYmFuIHNvZnR3YXJlIHRvb2xzIHBhZ2VdIG9u IHRoZSBtYWluIHNpdGUuICBCZWxvdyBhcmUgZGlyZWN0IGxpbmtzIHRvIHNvbWUgb2YgdGhlIHNv ZnR3YXJlIGRpcmVjdGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgTExHLgoKCgpbaHR0cDovL3d3dy5s b2piYW4ub3JnL3Jlc291cmNlcy8uLi9maWxlcy9zb2Z0d2FyZS9sb2dmbGFzaC56aXB8TG9nZmxh c2ggMV0gLSB0ZWFjaGVzICcne0FMSU5LKGFuYW1lPT5naXNtdSl9Z2lzbXV7QUxJTkt9Jyc7IFto dHRwOi8vd3d3LmxvamJhbi5vcmcvcmVzb3VyY2VzLy4uL2ZpbGVzL3NvZnR3YXJlL2xmc3JjLlpJ UHxUdXJiby1QYXNjYWwgc291cmNlIGNvZGVdIChub3Qgd2VsbC1kb2N1bWVudGVkKSBpcyBhdmFp bGFibGUgCgoKCltodHRwOi8vd3d3LmxvamJhbi5vcmcvcmVzb3VyY2VzLy4uL2ZpbGVzL3NvZnR3 YXJlL2xvZ2ZsMy56aXB8TG9nZmxhc2ggM10gLSB0ZWFjaGVzICcne0FMSU5LKGFuYW1lPT5jbWF2 byl9Y21hdm97QUxJTkt9JycKCgoKW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9yZXNvdXJjZXMvLi4v ZmlsZXMvc29mdHdhcmUvcGFyc2VyL1BBUlNFUjMuWklQfExvamJhbiBQYXJzZXJdIC0gdGhlIGRl ZmluaXRpdmUgc3RhbmRhcmQgb2YgTG9qYmFuIGdyYW1tYXI7IHZlcmlmaWVzIHRoZSBMb2piYW4g Z3JhbW1hciBpbiBhIHRleHQgCgoKCltodHRwOi8vd3d3LmxvamJhbi5vcmcvcmVzb3VyY2VzLy4u L2ZpbGVzL3NvZnR3YXJlL2dsb3NzMy0yLlpJUHxMb2piYW4gUGFyc2VyL0dsb3NzZXJdIChpbmNs dWRlcyB0aGUgcGFyc2VyLCByb3VnaGx5IGdsb3NzZXMgdGV4dCB0byBFbmdsaXNoKSAKCgoKW2h0 dHA6Ly93d3cubG9qYmFuLm9yZy9yZXNvdXJjZXMvLi4vZmlsZXMvc29mdHdhcmUvbHVqdm9tYWsu emlwfEx1anZvLW1ha2VyIHByb2dyYW1dCgoKCltodHRwOi8vd3d3LmxvamJhbi5vcmcvcmVzb3Vy Y2VzLy4uL2ZpbGVzL3NvZnR3YXJlL2FuYWx5c2VyfFByb2xvZyBTZW1hbnRpYyBBbmFseXplcl0K CgoKW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9yZXNvdXJjZXMvLi4vZmlsZXMvc29mdHdhcmUvcm5k c2VuMjguemlwfFJhbmRvbSBTZW50ZW5jZSBHZW5lcmF0b3JdIC0gdXBkYXRlZCB2ZXJzaW9uIGlu IHByb2dyZXNzLCB0aGUgYXZhaWxhYmxlIHZlcnNpb24gaGFzIHNvbWV3aGF0IG9ic29sZXRlIGdy YW1tYXIgZGVmaW5pdGlvbnMgCgoKCiEhVEVDSE5JQ0FMCgp7QU5BTUUoKX1UMXtBTkFNRX1UMS5f XyhHbG9zc2FyeSkgSW4gRW5nbGlzaCBkZXNjcmlwdGlvbnMgb2YgJydsb2piYW4nJywgSSBzZWUg Jydsb2piYW4nJyB3b3JkcyB1c2VkLCBhcyB3ZWxsIGFzICcnbG9qYmFuJycgamFyZ29uLiBXaGF0 IGRvIHRoZXNlIG1lYW4/X18KCgoKSGVyZSBhcmUgQVBQUk9YSU1BVEUgZGVmaW5pdGlvbnMuIAoK CgpOb3RlOiBXb3JkcyBpbiBBTEwgQ0FQUyBvbiB0aGUge0FMSU5LKGFuYW1lPT5saXN0cyxwYWdl bmFtZT0+TG9qYmFuaWMgRm9ydW1zKX1Mb2piYW4gTGlzdHtBTElOS30gb2Z0ZW4gcmVmZXIgdG8g TG9qYmFuIHBhcnRzIG9mIHNwZWVjaC4gdGhlIEVuZ2xpc2gtbGFuZ3VhZ2UgcGhvbmV0aWMgdHJh bnNsYXRpb24gb2YgJycnJycgKHNpbmdsZSBxdW90ZSkgaXMgImgiLCBzbyB3aGVuIHRoaXMgY29u dmVudGlvbiBpcyB1c2VkLCAiaCIgaXMgdXNlZCBhcyB0aGUgImNhcGl0YWxpemF0aW9uIiBvZiAn JycnJy4gIFNvIGluIEVuZ2xpc2gtbGFuZ3VhZ2UgZGlzY3Vzc2lvbiwgdGhlIGxvamJhbiBwYXJ0 IG9mIHNwZWVjaCBjb250YW5pbmcgdGhlIHdvcmQgJydsYSdlJycgKHRoZSByZWZlcmVudCBvZiBh IHN1bXRpKSB3b3VsZCBiZSAiTEFoRSIuCgoKCjtfX3tBTkFNRSgpfWF0dGl0dWRpbmFse0FOQU1F fWF0dGl0dWRpbmFsX186QSBMb2piYW4gaW50ZXJqZWN0aW9uIChjb3JyZXNwb25kaW5nIHRvICJX b3chIiBvciAiRWVrISIgaW4gRW5nbGlzaCwgb25seSBsb2piYW4gaGFzIG1hbnkgbW9yZSkKCjtf X3tBTkFNRSgpfWF1ZGlvdmlzdWFsaXNvbW9ycGhpc217QU5BTUV9YXVkaW92aXN1YWwgaXNvbW9y cGhpc21fXzpVc2VkIHRvIGRlc2NyaWJlIHRoZSBmYWN0IHRoYXQgc3Bva2VuIGFuZCB3cml0dGVu IExvamJhbiBoYXZlIHRoZSBzYW1lIGZvcm0KCjtfXycne0FOQU1FKCl9YnJpZGl7QU5BTUV9YnJp ZGknJ19fOkxvamJhbiBzZW50ZW5jZX4tLX5hIHByZWRpY2F0ZQoKO19fJyd7QU5BTUUoKX1icml2 bGF7QU5BTUV9YnJpdmxhJydfXzpBbnkgd29yZCB0aGF0IGNhbiBzdGF0ZSBhIHJlbGF0aW9uc2hp cCBhbW9uZyBzZXZlcmFsIG9iamVjdHMgb3IgY29uY2VwdHMsIGFuZCB0aHVzIGJlIHRoZSBjb3Jl IHdvcmQgaW4gYSBMb2piYW4gJyd7QUxJTksoYW5hbWU9PmJyaWRpKX1icmlkaXtBTElOS30nJyAt IGEgcHJlZGljYXRlIHdvcmQKCjtfXycne0FOQU1FKCl9Y21hdm97QU5BTUV9Y21hdm8nJ19fOkEg bGl0dGxlIHdvcmQgc2hvd2luZyBzdHJ1Y3R1cmUgcmF0aGVyIHRoYW4gY2FycnlpbmcgbWVhbmlu Zy4gVGhlIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvcmVzb3VyY2VzLy4uL3B1YmxpY2F0aW9ucy93 b3JkbGlzdHMvY21hdm8udHh0fGN1cnJlbnQgY21hdm8gbGlzdF0gaXMgYXZhaWxhYmxlLCBidXQg aXQgaXNuJ3QgdmVyeSBlYXN5IHRvIHJlYWQhCgo7X18nJ3tBTkFNRSgpfWNtZW5le0FOQU1FfWNt ZW5lJydfXzpMb2piYW4gbmFtZXMKCjtfX3tBTkFNRSgpfWV2aWRlbnRpYWx7QU5BTUV9ZXZpZGVu dGlhbF9fOlNwZWNpYWwgd29yZCBpbmRpY2F0aW5nIGhvdyB0aGUgc3BlYWtlciBnb3QgdGhlaXIg aW5mb3JtYXRpb24KCjtfXycne0FOQU1FKCl9ZnUnaXZsYXtBTkFNRX1mdSdpdmxhJydfXzpCb3Jy b3dlZCB3b3JkCgo7X18nJ3tBTkFNRSgpfWdhZHJpe0FOQU1FfWdhZHJpJydfXzpMb2piYW4gYXJ0 aWNsZSBvciBkZXRlcm1pbmVyfi0tfnNpZ25hbHMgdGhlIHN0YXJ0IG9mIGEgJyd7QUxJTksoYW5h bWU9PnN1bXRpKX1zdW10aXtBTElOS30nJwoKO19fJyd7QU5BTUUoKX1naXNtdXtBTkFNRX1naXNt dScnX186QmFzaWMgNS1sZXR0ZXIgbG9qYmFuIHJvb3Qgd29yZDsgdGhlIGJhc2ljIGdpc211IGxp c3QgaXMgYXZhaWxhYmxlIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvcmVzb3VyY2VzLy4uL2ZpbGVz L2Jyb2NodXJlcy9naXNtdS5odG1sfGhlcmVdCgo7X18nJ3tBTkFNRSgpfUpMe0FOQU1FfWp1J2kg bG9ieXBsaScnX18gKEF0dGVudGlvbiEgTG9qYmFuaWMgVXNlcnMpIChhbHNvIGtub3duIGFzIEpM KTpBIExvamJhbiBuZXdzbGV0dGVyL2pvdXJuYWwuIFB1YmxpY2F0aW9uIGlzIGN1cnJlbnRseSBz dXNwZW5kZWQsIGJ1dCB3ZSBhcmUgaG9waW5nIHRvIHJlc3VtZSBwdWJsaWNhdGlvbiBpbiBmdXR1 cmUuIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvcmVzb3VyY2VzLy4uL2ZpbGVzL2psfEJhY2sgaXNz dWVzIGFyZSBhdmFpbGFibGUgb25saW5lXS4KCjtfXycne0FOQU1FKCl9TEt7QU5BTUV9bGUgbG9q Ym8ga2FybmknJ19fIChUaGUgTG9qYmFuaWMgSm91cm5hbCkgKGFsc28ga25vd24gYXMgTEspOkEg TG9qYmFuIG5ld3NsZXR0ZXIgaW50ZW5kZWQgdG8ga2VlcCBvdXIgbG93ZXN0IGxldmVsIG9mIHN1 cHBvcnRlcnMgaW5mb3JtZWQgYXMgdG8gd2hhdCBpcyBnb2luZyBvbiAoaW4gaG9wZXMgb2YgaW5z cGlyaW5nIGdyZWF0ZXIgYWN0aXZpdHkpLiAgQWxzbyBjdXJyZW50bHkgc3VzcGVuZGVkLgoKO19f Jyd7QU5BTUUoKX1sZSdhdmxhe0FOQU1FfWxlJ2F2bGEnJ19fOlRoZSBvbGQgd29yZCBmb3IgJyd7 QUxJTksoYW5hbWU9PmZ1J2l2bGEpfWZ1J2l2bGF7QUxJTkt9JycKCjtfX3tBTkFNRSgpfUxMR3tB TkFNRX1Mb2dpY2FsIExhbmd1YWdlIEdyb3VwIChMTEcpX186IFRoZSBbVGhlIExvZ2ljYWwgTGFu Z3VhZ2UgR3JvdXB8TG9naWNhbCBMYW5ndWFnZSBHcm91cF0gaXMgbGVnYWxseSBpbiBjaGFyZ2Ug b2YgdGhlIGRldmVsb3BtZW50IGFuZCBtYWludGVuYW5jZSBvZiAnJ2xvamJhbicnLiBJdCBhbHNv IHdvcmtzIHRvIHByb21vdGUgdGhlIHVzZSBvZiAnJ2xvamJhbicnIHRocm91Z2hvdXQgdGhlIHdv cmxkLiAKCjtfXycne0FOQU1FKCl9bHVqdm97QU5BTUV9bHVqdm8nJ19fOkNvbXBvdW5kIHdvcmQK CjtfX3tBTkFNRSgpfW1vZGFse0FOQU1FfW1vZGFsX186QSB3b3JkIGZvciAnJ3tBTElOSyhhbmFt ZT0+c3VtdGNpdGEpfXN1bXRjaXRhe0FMSU5LfScnIHdob3NlIGV4YWN0IGRlcml2YXRpb24gaXMg bG9zdCBpbiB0aGUgaGlzdG9yeSBvZiB0aGUgTG9qYmFuIHByb2plY3QKCjtfXycne0FOQU1FKCl9 cGUnaXtBTkFNRX1wZSdpJydfXzpBbiBhdHRpdHVkaW5hbCBtZWFuaW5nICJJbiBteSBvcGluaW9u IgoKO19fe0FOQU1FKCl9cGxhY2VzdHJ1Y3R1cmV7QU5BTUV9cGxhY2Ugc3RydWN0dXJlX186VGhl IHNwZWNpZmllZCBjYW5vbmljYWwgb3JkZXIgb2YgJyd7QUxJTksoYW5hbWU9PmJyaWRpKX1icmlk aXtBTElOS30nJywgc28gdGhhdCB5b3Uga25vdyB3aG8gaXMgZG9pbmcgd2hhdCB0byB3aG9tLgoK O19fJyd7QU5BTUUoKX1yYWZzaXtBTkFNRX1yYWZzaScnX186QnVpbGRpbmcgYmxvY2socykgb2Yg Jyd7QUxJTksoYW5hbWU9Pmx1anZvKX1sdWp2b3tBTElOS30nJyBjb21wb3VuZCB3b3JkcwoKO19f Jyd7QU5BTUUoKX1zZWxicml7QU5BTUV9c2VsYnJpJydfXzpUaGUgcGFydCBvZiBhIExvamJhbiBz ZW50ZW5jZSB0aGF0IGV4cHJlc3NlcyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHZhcmlv dXMgb2JqZWN0cyAoJyd7QUxJTksoYW5hbWU9PnN1bXRpKX1zdW10aXtBTElOS30nJykKCjtfXycn e0FOQU1FKCl9c2VsbWEnb3tBTkFNRX1zZWxtYSdvJydfXzpQYXJ0IG9mIHNwZWVjaAoKO19fJyd7 QU5BTUUoKX1zbGlua3UnaXtBTkFNRX1zbGlua3UnaScnX186QSBoeXBvdGhldGljYWwgYm9ycm93 ZWQgd29yZCwgd2hpY2ggd291bGQgbm90IGJlIGxlZ2FsIGJlY2F1c2UgaXQgY291bGQgYmUgaW50 ZXJwcmV0ZWQgYXMgcGFydHMgb2Ygb3RoZXIgd29yZHMgaW4gc29tZSBjb250ZXh0cy4KCjtfXycn e0FOQU1FKCl9c3VtdGl7QU5BTUV9c3VtdGknJ19fOkFuIG9iamVjdCBvciBpZGVhIHdoaWNoIG1h eSBiZSByZWxhdGVkIHRvIG90aGVycywgdGhhdCByZWxhdGlvbnNoaXAgYmVpbmcgZXhwcmVzc2Vk IGluIGEgTG9qYmFuICcne0FMSU5LKGFuYW1lPT5icmlkaSl9YnJpZGl7QUxJTkt9JycKCjtfXycn e0FOQU1FKCl9c3VtdGNpdGF7QU5BTUV9c3VtdGNpdGEnJ19fOkxvamJhbiBwcmVwb3NpdGlvbnMv YWR2ZXJicwoKO19fJyd7QU5BTUUoKX10YW5ydXtBTkFNRX10YW5ydScnX186QSBwaHJhc2UgZm9y bWVkIG9mIHR3byBvciBtb3JlIExvamJhbiAnJ3tBTElOSyhhbmFtZT0+YnJpdmxhKX1icml2bGF7 QUxJTkt9JycKCjtfX3tBTkFNRSgpfVRMSXtBTkFNRX1UTElfXzpbaHR0cDovL3d3dy5sb2dsYW4u b3JnL3xUaGUgTG9nbGFuIEluc3RpdHV0ZV0KCgoKe0FOQU1FKCl9VDJ7QU5BTUV9VDIuX19Ib3cg ZG8geW91IGJvcnJvdyB3b3JkcyBmcm9tIG90aGVyIGxhbmd1YWdlcz9fXwoKCgpUaGVyZSBhcmUg Zm91ciB3YXlzIHRvIGJvcnJvdyB3b3Jkcy4gT25seSB0aGUgbW9zdCBjb21tb24gbWV0aG9kIGlz IGNvdmVyZWQgaGVyZTsgc2VlIHRoZSBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3B1YmxpY2F0aW9u cy9yZWZlcmVuY2VfZ3JhbW1hci9jaGFwdGVyNC5odG1sI3M3fExvamJhbiBSZWZlcmVuY2UgR3Jh bW1hciAoQ2hhcHRlciA0LCBTZWN0aW9uIDcpXSBmb3IgbW9yZSBkZXRhaWwuIEJvcnJvd2VkIHdv cmRzIGFyZSBjYWxsZWQgJyd7QUxJTksoYW5hbWU9PmZ1J2l2bGEpfWZ1J2l2bGF7QUxJTkt9Jycs IG1lYW5pbmcgYXBwcm94aW1hdGVseSAiY29waWVkIHdvcmRzIiAoYWZ0ZXIgYWxsLCAiYm9ycm93 aW5nIiBpbXBsaWVzIHdlJ3JlIGdvaW5nIHRvIGdpdmUgdGhlbSBiYWNrIHNvbWVkYXkhKS4KCgoK VGhlIHVzZSBvZiAnJ3tBTElOSyhhbmFtZT0+bHVqdm8pfWx1anZve0FMSU5LfScnIGlzIG5vdCBh bHdheXMgYXBwcm9wcmlhdGUgZm9yIHZlcnkgY29uY3JldGUgb3Igc3BlY2lmaWMgdGVybXMgKGUu IGcuICJicmllLCIgb3IgImNvYnJhIiksIG9yIGZvciBqYXJnb24gd29yZHMgc3BlY2lhbGl6ZWQg dG8gYSBuYXJyb3cgZmllbGQgKGUuIGcuICJxdWFyaywiICJpbnRlZ3JhbCwiIG9yICJpYW1iaWMg cGVudGFtZXRlciIpLiBUaGVzZSB3b3JkcyBhcmUgaW4gZWZmZWN0ICcnbmFtZXMnJyBmb3IgY29u Y2VwdHMsIGFuZCB0aGUgbmFtZXMgd2VyZSBpbnZlbnRlZCBieSBzcGVha2VycyBvZiBhbm90aGVy IGxhbmd1YWdlLiBUaGUgdmFzdCBtYWpvcml0eSBvZiBuYW1lcyBmb3IgcGxhbnRzLCBhbmltYWxz LCBmb29kcywgYW5kIHNjaWVudGlmaWMgdGVybWlub2xvZ3kgY2Fubm90IGJlIGVhc2lseSBleHBy ZXNzZWQgYXMgJyd7QUxJTksoYW5hbWU9PnRhbnJ1KX10YW5ydXtBTElOS30nJy4gVGhleSB0aHVz IG11c3QgYmUgImJvcnJvd2VkIiAoYWN0dWFsbHksIHRha2VuKSBpbnRvIExvamJhbiBmcm9tIHRo ZSBvcmlnaW5hbCBsYW5ndWFnZSwgZm9ybWluZyB3b3JkcyBjYWxsZWQgJyd7QUxJTksoYW5hbWU9 PmZ1J2l2bGEpfWZ1J2l2bGF7QUxJTkt9JycuIFRoZSB3b3JkIG11c3QgYmUgTG9qYmFuaXplZCBp bnRvIG9uZSBvZiBzZXZlcmFsIHBlcm1pdHRlZCAnJ3tBTElOSyhhbmFtZT0+cmFmc2kpfXJhZnNp e0FMSU5LfScnIGlzIHRoZW4gYXR0YWNoZWQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgTG9qYmFu aXplZCBmb3JtLCB1c3VhbGx5IHVzaW5nIGEgdm9jYWxpYyBjb25zb25hbnQgYXMgImdsdWUiIHRv IGVuc3VyZSB0aGF0IHRoZSByZXN1bHRpbmcgd29yZCBkb2Vzbid0IGZhbGwgYXBhcnQuIFRoZSAn J3tBTElOSyhhbmFtZT0+cmFmc2kpfXJhZnNpe0FMSU5LfScnIGNhdGVnb3JpemVzIG9yIGxpbWl0 cyB0aGUgbWVhbmluZyBvZiB0aGUgJyd7QUxJTksoYW5hbWU9PmZ1J2l2bGEpfWZ1J2l2bGF7QUxJ Tkt9Jyc7IG90aGVyd2lzZSBhIHdvcmQgaGF2aW5nIHNldmVyYWwgZGlmZmVyZW50IGphcmdvbiBt ZWFuaW5ncyBpbiBvdGhlciBsYW5ndWFnZXMgKHN1Y2ggYXMgImludGVncmFsIiksIHdvdWxkIHJl cXVpcmUgYSBjaG9pY2UgbWFkZSBhcyB0byB3aGljaCBtZWFuaW5nIHNob3VsZCBiZSBhc3NpZ25l ZCB0byB0aGUgJyd7QUxJTksoYW5hbWU9PmZ1J2l2bGEpfWZ1J2l2bGF7QUxJTkt9JycuICcne0FM SU5LKGFuYW1lPT5mdSdpdmxhKX1mdSdpdmxhe0FMSU5LfScnLCBsaWtlIG90aGVyICcne0FMSU5L KGFuYW1lPT5icml2bGEpfWJyaXZsYXtBTElOS30nJywgYXJlIG5vdCBwZXJtaXR0ZWQgdG8gaGF2 ZSBtb3JlIHRoYW4gb25lIGRlZmluaXRpb24uIAoKCgpTdW1tYXJpemluZyB0aGUgbW9zdCBjb21t b24gbWV0aG9kIHRvIG1ha2UgJyd7QUxJTksoYW5hbWU9PmZ1J2l2bGEpfWZ1J2l2bGF7QUxJTkt9 Jyc6IAoKCgojIExvamJhbml6ZSB0aGUgd29yZCB0byBiZSBib3Jyb3dlZCBieSB0aGUgbWV0aG9k cyB1c2VkIGZvciAnJ3tBTElOSyhhbmFtZT0+Y21lbmUpfWNtZW5le0FMSU5LfScnLgoKIyBDb252 ZXJ0IGFsbCAieSJzIHRvIHNvbWUgb3RoZXIgdm93ZWwgb3IgdG8gYSB2b2NhbGljIGNvbnNvbmFu dC4KCiMgTW9kaWZ5IHRoZSBlbmRpbmcgdG8gYmUgYSB2b3dlbCwgZWl0aGVyIGJ5IGRyb3BwaW5n IGEgZmluYWwgY29uc29uYW50IG9yIGJ5IGFkZGluZyBhbiBleHRyYSB2b3dlbC4KCiMgTW9kaWZ5 IHRoZSBiZWdpbm5pbmcgdG8gYmUgYSBjb25zb25hbnQsIGVpdGhlciBieSBhZGRpbmcgYW4gZXh0 cmEgY29uc29uYW50IG9yIGRyb3BwaW5nIGFuIGluaXRpYWwgdm93ZWwuCgojIENob29zZSBhICcn e0FMSU5LKGFuYW1lPT5naXNtdSl9Z2lzbXV7QUxJTkt9JycgKG5vdCBhICcne0FMSU5LKGFuYW1l PT5yYWZzaSl9cmFmc2l7QUxJTkt9JycpIHRoYXQgY2F0ZWdvcml6ZXMgdGhlICcne0FMSU5LKGFu YW1lPT5mdSdpdmxhKX1mdSdpdmxhe0FMSU5LfScnIGludG8gYSAidG9waWMgYXJlYS4iIFJlcGxh Y2UgdGhlIGZpbmFsIHZvd2VsIG9mIHRoZSAnJ3tBTElOSyhhbmFtZT0+Z2lzbXUpfWdpc211e0FM SU5LfScnIHdpdGggYSB2b2NhbGljICJyIi4gCgojIFByZWZpeCB0aGUgbW9kaWZpZWQgJyd7QUxJ TksoYW5hbWU9PmZ1J2l2bGEpfWZ1J2l2bGF7QUxJTkt9JycuCgoKCkV4YW1wbGVzOiAKCnx8X19F bmdsaXNoX198X18nJ2xvamJhbicnX18KCnNwYWdoZXR0aXwnJ2NpZGpyc3BhZ2V0aScnIG9yICcn ZGphcnNwYWdldGknJwoKbWFwbGUgdHJlZXwnJ3RyaWNybWVpcGxpJycKCm1hcGxlIHN1Z2FyfCcn c2FrdHJtZWlwbGknJwoKbWF0aGVtYXRpY2FsIGludGVncmFsfCcnY21hY3JuaW50ZWdyYScnIG9y ICcnY21hY3JudGVncmEnJwoKYnJpZXwnJ2NpcmxyYnJpJycKCmNvYnJhfCcnc2luY3Jrb2JyYScn CgpxdWFya3wnJ3Nhc2tya3VhcmthJycKCmlhbWJpY3wnJ3BlbWNybmlhbWJvJyd8fAoKCgpBICcn e0FMSU5LKGFuYW1lPT5mdSdpdmxhKX1mdSdpdmxhe0FMSU5LfScnIHRodXMgY29uc2lzdHMgb2Yg dGhyZWUgcGFydHM6IHRoZSBjbGFzc2lmaWVyLCB0aGUgZ2x1ZSwgYW5kIHRoZSBib3Jyb3dlZCBw YXJ0CgoKCgoKVGhlIHF1aW50ZXNzZW50aWFsIGV4YW1wbGUgaXMgJydkamFyc3BhZ2V0aScnLCBt ZWFuaW5nICJzcGFnaGV0dGkuIiAnJ2RqYScnIGlzIHRoZSBjbGFzc2lmaWVyOiBpdCBpcyB0aGUg c2hvcnQgZm9ybSAnJ3tBTElOSyhhbmFtZT0+cmFmc2kpfXJhZnNpe0FMSU5LfScnIGZvciAnJ2Np ZGphJycsIG1lYW5pbmcgImZvb2QuIiAiciIgaXMgdGhlIGdsdWU6IGl0IGlzIG5lY2Vzc2FyeSB0 byBrZWVwIHRoZSB3b3JkIGZyb20gZmFsbGluZyBpbnRvIHR3byBwYXJ0cy4gJydzcGFnZXRpJycg aXMgdGhlIExvamJhbml6ZWQgdmVyc2lvbiBvZiAic3BhZ2hldHRpLiIgVGhlIGNsYXNzaWZpZXIg aXMgZ2x1ZWQgb24gdGhlIGZyb250IGZvciB0d28gcmVhc29uczogaXQgaGVscHMgaWRlbnRpZnkg c3RyYW5nZSBib3Jyb3dpbmdzLCBhbmQgaXQgcHJldmVudHMgYm9ycm93aW5ncyB0aGF0IGhhcHBl biB0byBjb2luY2lkZSB3aXRoIHRoaW5ncyB0aGF0IGFyZSBhbHJlYWR5IExvamJhbiB3b3Jkcy4g Rm9yIGV4YW1wbGUgaWYgeW91IGJvcnJvd2VkIHRoZSB3b3JkICJzcGFnZXRpIiBkaXJlY3RseSwg aXQgY291bGQgbGVhZCB0byBhbWJpZ3VpdHkgaW4gYSBwaHJhc2UgbGlrZQoKCgonJ2tvIGJldnJp IHJlIHNwYWdldGkgcGFsdGEnJwoKCgp3aGljaCBjb3VsZCBtZWFuICJCcmluZyB0d28gcGxhdGVz IG9mIHNwYWdoZXR0aSIgb3Igc29tZXRoaW5nIGxpa2UgIkJlIGEgY2FycnlpbmctcmVwdGlsZSBh bmQgYSBwbGF0ZSBtYWRlIG9mIHRoaXMiOiAKCgoKJydrbyBiZXZyaSByZXNwYSBnZSB0aSBwYWx0 YScnCgoKCkluIGEgbmF0dXJhbCBsYW5ndWFnZSB0aGVyZSB3b3VsZCBiZSBubyBkb3VidCB3aGlj aCBvZiB0aGUgdHdvIHdhcyBtZWFudCwgYnV0IExvamJhbiBpcyBjb25zdHJ1Y3RlZCBzbyB0aGF0 IHlvdSBzaG91bGRuJ3QgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBzZW50ZW5jZSB0byBrbm93IHdo ZXJlIG9uZSB3b3JkIGVuZHMgYW5kIHRoZSBuZXh0IGJlZ2lucy4KCgoKe0FOQU1FKCl9VDN7QU5B TUV9VDMuX19Jc24ndCBpdCBjb25mdXNpbmcgdGhhdCBzb21lICcne0FMSU5LKGFuYW1lPT5yYWZz aSl9cmFmc2l7QUxJTkt9JycgYXJlIGlkZW50aWNhbCB0byAnJ3tBTElOSyhhbmFtZT0+Y21hdm8p fWNtYXZve0FMSU5LfScnP19fCgoKCk5vLCBpdCBpc24ndC4gSW4gdGhlb3J5IHlvdSBjYW4gdGVs bCBjb21wbGV0ZWx5IGZyb20gdGhlIG5laWdoYm9yaW5nIHN5bGxhYmxlcyB3aGV0aGVyIHNvbWV0 aGluZyBpcyBhICcne0FMSU5LKGFuYW1lPT5yYWZzaSl9cmFmc2l7QUxJTkt9JycuIFRoaXMgaXMg aG93IHRoZSBjb21wdXRlciBpcyBhYmxlIHRvIHBhcnNlIExvamJhbiB3aXRob3V0IHVuZGVyc3Rh bmRpbmcgaXRzIG1lYW5pbmcuIEZvciBleGFtcGxlIHRoZSAnJ2RlaScnIGluICcnYmF2bGFtZGVp JycgKCJ0b21vcnJvdyIpIGlzIGEgJyd7QUxJTksoYW5hbWU9PnJhZnNpKX1yYWZzaXtBTElOS30n JyBmb3IgImRheSwiIG5vdCB0aGUgJyd7QUxJTksoYW5hbWU9PmNtYXZvKX1jbWF2b3tBTElOS30n JycnZGVpJycsIGEgc3BlY2lhbCBwcm9ub3VuIG1lYW5pbmcgInRoaXMgc2VudGVuY2UuIiBXZSBr bm93IHdoaWNoIGlzIHdoaWNoIGJlY2F1c2UgTG9qYmFuIHdvcmRzIGNhbid0IGVuZCBpbiBhIGNv bnNvbmFudCwgc28gJydkZWknJycnbXVzdCcnIGJlIGEgcGFydCBvZiAnJ2JhdmxhbWRlaScnOyAi YmF2TEFNIiBjYW4ndCBiZSBhIHdob2xlIHdvcmQuIChObywgaXQgY2FuJ3QgYmUgYSBuYW1lLCBl aXRoZXIuIE5hbWVzIGVuZCB3aXRoIGEgY29uc29uYW50IGZvbGxvd2VkIGJ5IGEgcGF1c2UsIHdy aXR0ZW4gYXMgYSAiJycuJyciKSBJbiBwcmFjdGljZSB5b3UgY2FuIGFsc28gdXNlIHlvdXIga25v d2xlZGdlIG9mIHRoZSBtZWFuaW5ncyBvZiB0aGUgd29yZHMgdG8gaGVscCB3aXRoIHRoaXM7IGl0 IGlzIHBvc3NpYmxlIHRvIHRoaW5rIHVwIGEgc2VudGVuY2UgbGlrZSAKCgoKJydsYSBiYXZMQU0u IGRlaSBjdXNrdScnLCAKCgoKIkJhdmxhbSBzYXlzIHRoaXMgc2VudGVuY2UuIiwgYnV0IGl0IGlz IG5vdCBsaWtlbHkgaW4gcHJhY3RpY2UgaWYgeW91IGRvbid0IGtub3cgYW55b25lIG5hbWVkICJC YXZsYW0iISAKCgoKe0FOQU1FKCl9VDR7QU5BTUV9VDQuX19XaHkgZG8gc29tZSB0ZXh0cyB1c2Ug ImgiIGluc3RlYWQgb2YgJycnJycgKHNpbmdsZSBxdW90ZSksIG9yIGhhdmUgcGFyZW50aGVzZXMs IG9yIG90aGVyIG5vbi1zdGFuZGFyZCBjb252ZW50aW9ucz9fXwoKCgpBZXN0aGV0aWMgcmVhc29u cy4gKChBbmQgUm9zdGEpKSBpbiBwYXJ0aWN1bGFyIHRoaW5rcyAnJ21vaGknJyBsb29rcyBiZXR0 ZXIgaW4gcHJpbnQgdGhhbiAnJ21vJ2knJyAoc3BhY2UgbW90aW9uKSBhbmQgc29tZXRpbWVzIHVz ZXMgaXQgdGhlIGhvcGVzIHRoYXQgaGUgY2FuIGluZmx1ZW5jZSB0aGUgKChMb2piYW5pYyBDb21t dW5pdHkgTGlua3N8TG9qYmFuIGNvbW11bml0eSkpIHRvIGFjY2VwdCB0aGlzIG90aGVyIHNwZWxs aW5nIGNvbnZlbnRpb24uIFRoaXMgaXMgcHVyZWx5IGEgZGlmZmVyZW5jZSBpbiBzcGVsbGluZzsg dGhleSBhcmUgcHJvbm91bmNlZCB0aGUgc2FtZSwgYW5kIHNob3VsZCBiZSBjb25zaWRlcmVkIGRp ZmZlcmVudCB3YXlzIG9mIHdyaXRpbmcgdGhlIHNhbWUgImxldHRlci4iIFRoaXMgYWx0ZXJuYXRl IHNwZWxsaW5nIGFsc28gaXMgc29tZXdoYXQgY2xvc2VyIHRvIHRoZSBzcGVsbGluZyBvZiBbVGhl IExvZ2xhbiBJbnN0aXR1dGV8VExJXSBMb2dsYW4uIFRoZXJlIGlzIGFub3RoZXIgc2ltaWxhciBz cGVsbGluZyBjb252ZW50aW9uLCB3aGljaCBoYXMgbmV2ZXIgYmVlbiB1c2VkLCBkZXNpZ25lZCB0 byBtYWtlIExvamJhbiBsb29rIG1vcmUgZmFtaWxpYXIgdG8gcG90ZW50aWFsIGNvbnZlcnRzIGZy b20gW1RoZSBMb2dsYW4gSW5zdGl0dXRlfFRMSV0uIFRoaXMgYWx0ZXJuYXRlIGNvbnZlbnRpb24g bWF5IGJlIGZvdW5kIGluIHRoZSBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3B1YmxpY2F0aW9ucy9y ZWZlcmVuY2VfZ3JhbW1hci9jaGFwdGVyMy5odG1sI3MxMnxMb2piYW4gUmVmZXJlbmNlIEdyYW1t YXJdLiAKCgoKVGhlcmUgYXJlIGEgbnVtYmVyIG9mIG90aGVyIG5vbi1zdGFuZGFyZCBzcGVsbGlu ZyBjb252ZW50aW9uczogCgoKCigoQW5kIFJvc3RhKSkgaGFzIChvciBhdCBsZWFzdCAnJ2hhZCcn KSBhIHN0eWxlIGluIHdoaWNoICcnJycnIChzaW5nbGUgcXVvdGUpIGlzIG9taXR0ZWQgYWx0b2dl dGhlciB3aGVyZSB0aGUgdm93ZWxzIGNvdWxkbid0IHBvc3NpYmx5IGJlIHN0dWNrIHRvZ2V0aGVy OyBmb3IgZXhhbXBsZSwgaGUnZCB3cml0ZSAnJ2NvZScnIGZvciAnJ2NvJ2UnJyAodW5zcGVjaWZp ZWQgYnJpZGkpLCBzaW5jZSAib2UiIGlzIG5vdCBhIGxlZ2FsIGNvbWJpbmF0aW9uLiBIZSBoYXMg dXNlZCAiLiIgKHBlcmlvZCkgYXMgaW4gRW5nbGlzaCwgdG8gZW5kIGEgc2VudGVuY2UsIHJhdGhl ciB0aGFuIGFzIGEgcGF1c2UuIEhlIGhhcyBjYXBpdGFsaXplZCB0aGUgZmlyc3Qgd29yZCBvZiB0 aGUgc2VudGVuY2UuIAoKCgooKFhvZCkpIG9mdGVuIHVzZXMgLyAoYSBmb3J3YXJkIHNsYXNoKSBv ciBwYXJlbnRoZXNlcyB0byBtYXJrIGNsYXVzZXMgb3V0IHdoZW4gd3JpdGluZyBpbiBsb2piYW4u ICBIZSBhbHNvIHVzZXMgYSBzaW5nbGUgY2FwaXRhbCBsZXR0ZXIgZm9yIGFjcm9ueW1zIGluc3Rl YWQgb2YgdGhlIGxvamJhbiBsZXR0ZXJhbHMgKGkuZS4gQSBpbnN0ZWFkIG9mIC5hYnUuKS4KCgoK VGhlcmUgaGF2ZSBiZWVuIG90aGVycy4gIEluIGdlbmVyYWwsIHRoZXkgYXJlIGFsbCBxdWl0ZSB1 bmRlcnN0YW5kYWJsZSBieSBhIGNvbXBldGVudCBsb2piYW5pYyBwZXJzb24sIHdpdGggdGhlIHBv c3NpYmxlIGV4Y2VwdGlvbiBvZiBBbmQncyByZW1vdmFsIG9mICcnJycnIChzaW5nbGUgcXVvdGUp LgoKCgoKCntBTkFNRSgpfVQ1e0FOQU1FfVQ1Ll9fV2h5IGRvZXMgaXQgaGF2ZSBhIHNwZWNpYWwg bWVhbmluZyB3aGVuIHRoZSAnJ3tBTElOSyhhbmFtZT0+c2VsYnJpKX1zZWxicml7QUxJTkt9Jycg Y29tZXMgZmlyc3Q/X18KCgoKSW4gTG9nbGFuIGl0IHVzZWQgdG8gYmUgYSBjb21tYW5kLCBidXQg bm93IHdlIHVzZSBlaXRoZXIgJydrbycnIChpbXBlcmF0aXZlKSBvciB7QUxJTksoYW5hbWU9PmF0 dGl0dWRpbmFsKX1hdHRpdHVkaW5hbHN7QUxJTkt9LiAgSW4gYSBzaW1wbGUgYnJpZGksIGhhdmlu ZyB0aGUgc2VsYnJpIGF0IHRoZSBiZWdpbm5pbmcgbWFrZSBpdCBhbiBvYnNlcnZhdGl2ZSwgd2hp Y2ggbWVhbnMgeW91IGFyZSBzdGF0aW5nIHRoYXQgeW91IGFyZSBvYnNlcnZpbmcgdGhlIHJlbGF0 aW9uc2hpcCBpbiBxdWVzdGlvbiAobXVjaCBsaWtlIHNheWluZyAiRmlyZSEiIGluIEVuZ2xpc2gs IGV4Y2VwdCB3aXRob3V0IG5lY2Vzc2FyaWx5IGNhcnJ5aW5nIGVtb3Rpb25hbCBjb25ub3RhdGlv bnMpLgoKCgoKCkluIGEgJydwb2kgYnJvZGEnJyAod2hpY2ggZG9lcy9pcyBzb21ldGhpbmctb3It b3RoZXIpIHBocmFzZSwgaXQgaXMgbGlrZWx5IHRoYXQgeW91J2xsIHdhbnQgeHtTVUIoKX0xe1NV Qn0gdG8gYmUgJydrZSdhJycgYW5kIHRvIGV4cGxpY2l0bHkgc3RhdGUgeHtTVUIoKX0ye1NVQn0u IElmIHZlcmItaW5pdGlhbCBvcmRlcmluZyAoYWxzbyBjYWxsZWQgVi1pbml0aWFsKSB3YXNuJ3Qg c3BlY2lhbCwgYW5kIGlmIHN5bnRheCB3aXRoaW4gYSAnJ3BvaScnIChyZXN0cmljdGl2ZSBjbGF1 c2UpIHdhcyBjb25zaXN0ZW50IHdpdGggc2VudGVuY2UtbGV2ZWwgc3ludGF4LCB0aGVuIHlvdSdk IGhhdmUgdG8gZXhwbGljaXRseSB1c2UgJydmZScnIChzZWNvbmQgc3VtdGkgcGxhY2UpIG9yICcn em8nZScnICh1bnNwZWNpZmllZCBpdCkgb3IgJydrZSdhJycgdG8gZ2V0IHRvIHRoZSB4e1NVQigp fTJ7U1VCfS4gRm9yIGV4YW1wbGUsIG5vdyB3ZSBzYXkgCgoKCicnbGUgbmFubXUgcG9pIHByYW1p IG1pJycgKFRoZSBtYW4gd2hpY2ggbG92ZXMgbWUpIAoKCgphbmQgdGhlIHh7U1VCKCl9MXtTVUJ9 IG9mICcncHJhbWknJyAobG92ZSkgaXMgZWxpZGVkLCBhbmQgd2UgY2FuIGFzc3VtZSBpdCBpcyAn J2tlJ2EnJywgd2hpY2ggaGVyZSBlcXVhbHMgJydsZSBuYW5tdScnIChUaGUvYSBtYW4vbWVuKS4g V2l0aG91dCB0aGlzIHNwZWNpYWwgdHJlYXRtZW50IG9mIFYtaW5pdGlhbCwgd2UnZCBoYXZlIHRv IHNheSAKCgoKJydsZSBuYW5tdSBwb2kga2UnYSBwcmFtaSBtaScnIChUaGUgbWFuIHdoaWNoIGxv dmVzIG1lKSAKCgoKb3IgCgoKCicnbGUgbmFubXUgcG9pIGtlJ2EgbWkgcHJhbWkuJycgKFRoZSBt YW4gd2hpY2ggbG92ZXMgbWUpIAoKCgpTbzogaXQgc2F2ZXMgMiBzeWxsYWJsZXMgaW4gd2hhdCBp cyBhcmd1YWJseSB0aGUgbW9zdCBjb21tb24gd2F5IG9mIHVzaW5nICcncG9pJycgKHJlc3RyaWN0 aXZlIGNsYXVzZSkuIE1heSBvciBtYXkgbm90IGJlIHdvcnRoIGl0LCBkZXBlbmRpbmcgb24gaG93 IHlvdSB2YWx1ZSB3b3JkLW9yZGVyIGZsZXhpYmlsaXR5IHZzLiBicmV2aXR5LiBJbiBnZW5lcmFs IGl0IGxldHMgeW91IGVhc2lseSBnZXQgdG8geHtTVUIoKX0ye1NVQn0gaW4gc2VudGVuY2VzIHdp dGhvdXQgYW4geHtTVUIoKX0xe1NVQn0uIAoKCgpSZW1lbWJlcjogVGhlcmUncyBhbHdheXMgbW9y ZSB0aGFuIG9uZSB3YXkgdG8gZG8gaXQgaW4gJydsb2piYW4nJy4gCgoKCntBTkFNRSgpfVQ2e0FO QU1FfVQ2Ll9fV2h5IGFyZSB0aGVyZSBzbyBtYW55IHdvcmRzIGZvciBBTkQ/IFdoeSBub3QganVz dCBsZXQgIicnLmUnJyIgKGFuZCwgYmV0d2VlbiBzdW10aSkgY29ubmVjdCB0d28gJyd7QUxJTkso YW5hbWU9PmJyaWRpKX1icmlkaXtBTElOS30nJywgJydicmlkaScnLXRhaWxzIChhIHByZWRpY2F0 ZSBhbmQgYSBzdW10aSksIG9yIGFueXRoaW5nIGVsc2U/X18KCgoKV2UgdXNlIGRpZmZlcmVudCBj b25uZWN0aXZlcyBmb3IgZGlmZmVyZW50IHNjb3Blcy4gRG9pbmcgc28gaGVscHMgdGhlIGxpc3Rl bmVyIGtlZXAgdHJhY2sgb2Ygd2hhdCBleGFjdGx5IHRoZSBzcGVha2VyIHdhbnRzIGNvbm5lY3Rl ZC4gVGhpcyBpcyAnJ211Y2gnJyBtb3JlIGltcG9ydGFudCBpbiBzcGVlY2ggdGhhbiBpbiB0ZXh0 LCBiZWNhdXNlIGluIHRleHQgeW91IGNhbiByZS1yZWFkIGFuZCBwb25kZXIuIElmIHlvdSBoYXZl IGEgbXVsdGktcGFydCBuZXN0ZWQgJyd7QUxJTksoYW5hbWU9PnN1bXRpKX1zdW10aXtBTElOS30n JyBqb2luZWQgdG8gYW5vdGhlciBtdWx0aS1wYXJ0IG5lc3RlZCAnJ3tBTElOSyhhbmFtZT0+c3Vt dGkpfXN1bXRpe0FMSU5LfScnLCBoYXZpbmcgY2xlYXIgaW5kaWNhdG9ycyBvZiBzY29wZSBtYXkg bWFrZSB0aGUgc2VudGVuY2UgdW5kZXJzdGFuZGFibGUgd2hlbiBvdGhlcndpc2UgaXQgaXMgbm90 LiBJdCBpcyB0aGVyZWZvcmUgaG9wZWQgdGhhdCBzcG9rZW4gTG9qYmFuIGFuZCB3cml0dGVuIExv amJhbiBjYW4gYmUgc2ltaWxhciBpbiBsZXZlbCBvZiBjb21wbGV4aXR5LiAoWW91IGtub3csIHtB TElOSyhhbmFtZT0+YXVkaW92aXN1YWxpc29tb3JwaGlzbSl9YXVkaW92aXN1YWwgaXNvbW9ycGhp c217QUxJTkt9LikgCgoKCntBTkFNRSgpfVQ3e0FOQU1FfVQ3Ll9fSXMgdGhlICdzJyBhdCB0aGUg ZW5kIG9mIGxvamJhbml6ZWQgbmFtZXMgKHN1Y2ggYXMgJ25vcmFzLicpIHNpbGVudD9fXwoKCgpO by4gJ25vcmFzLicgaXMgcmVhbGx5IHByb25vdW5jZWQgd2l0aCBhbiAncycgYXQgdGhlIGVuZC4K CgoKU29tZSBsYW5ndWFnZXMgY2FuIGJvcnJvdyBuYW1lcyB3aXRoIHZpcnR1YWxseSBubyBjaGFu Z2VzLCBidXQgTG9qYmFuIGlzIG9uZSBvZiB0aGUgbGFuZ3VhZ2VzIHRoYXQgc29tZXRpbWVzIHJl cXVpcmVzIHF1aXRlIGhlYXZ5IG1vZGlmaWNhdGlvbiBvZiB0aGUgbmFtZXMuIFNwZWNpZmljYWxs eSwgYWxsIExvamJhbiB3b3JkcyBvZiB0aGUgY2xhc3MgJyd7QUxJTksoYW5hbWU9PmNtZW5lKX1j bWVuZXtBTElOS30nJyBtdXN0IGFsd2F5cyBlbmQgaW4gYSBjb25zb25hbnQuIFNvbWV0aW1lcywg dGhpcyByZXF1aXJlcyByZW1vdmluZyBhIHZvd2VsIGF0IHRoZSBlbmQsIG9yIGFkZGluZyBhIGNv bnNvbmFudC4gQnkgY29udmVudGlvbiwgdGhpcyBpcyBvZnRlbiAncycsIGJ1dCBpdCBjb3VsZCBi ZSBhbnkgY29uc29uYW50LgoKCgpJZiBuYW1lcyB3ZXJlIG5vdCBjaGFuZ2VkIHRoaXMgd2F5LCBz b21lIG9mIHRoZW0gY291bGQgYmUgbWlzdGFrZW4gZm9yIG90aGVyIHdvcmRzLCBvciBzZXF1ZW5j ZXMgb2Ygd29yZHMuIEluIHRoaXMgY2FzZSwgd2VyZSB0aGVyZSBubyAncycgYXQgdGhlIGVuZCwg J25vcmEnIHdvdWxkIHJlYWQgYXMgJ25vIHJhJywgaWUuICJub25lIG9mIHRoZW0iISBUaGlzIGRp c3RpbmN0aW9uIGlzIGFzIGltcG9ydGFudCBpbiBzcGVlY2ggYXMgaW4gd3JpdGluZywgc28gbmFt ZXMsIGFzIGFueSBvdGhlciBMb2piYW4gd29yZCwgbXVzdCBiZSBwcm9ub3VuY2VkIGV4YWN0bHkg YXMgd3JpdHRlbi4gVGhlcmUgYXJlIG5vIHNpbGVudCBsZXR0ZXJzIGluIExvamJhbi4KCgoKCgoh IVBST0pFQ1QgU1RBVFVTCgp7QU5BTUUoKX1QUzF7QU5BTUV9UFMxLl9fV2hhdCBwYXJ0cyBvZiB0 aGUgbGFuZ3VhZ2UgYXJlIHdlbGwgd29ya2VkIG91dCwgYW5kIHdoaWNoIHBhcnRzIGFyZSBpbiBm bHV4P19fCgoKCkFzIG9mIDE5OTcsIHRoZSBsYW5ndWFnZSBkZXNpZ24gaGFzIGJlZW4gYmFzZWxp bmVkIGZvciBhIG1pbmltdW0gb2YgNSB5ZWFycyBhZnRlciB0aGUgcHVibGljYXRpb24gb2YgdGhl IHRocmVlIGJvb2tzOiB0aGUgcmVmZXJlbmNlIGdyYW1tYXIsIHRoZSBkaWN0aW9uYXJ5LCBhbmQg dGhlIHRleHRib29rLiBTaW5jZSB0aGUgbGF0dGVyIHR3byBhcmUgbm90IG5lYXIgcHVibGljYXRp b24sIHRoaXMgbWVhbnMgdGhhdCBubyBjaGFuZ2VzIHRvIHRoZSBsYW5ndWFnZSB3aWxsIGV2ZW4g YmUgY29uc2lkZXJlZCB1bnRpbCBhdCBsZWFzdCAyMDA2LiBUaGlzIGJhc2VsaW5lIGlzIG5vbi1u ZWdvdGlhYmxlLCBldmVuIGlmIHdlIGVudGVyIGludG8gZGlzY3Vzc2lvbnMgd2l0aCBUaGUgTG9n bGFuIEluc3RpdHV0ZSB0byByZXVuaXRlIHRoZSBMb2dsYW4gY29tbXVuaXR5IG5vdyB0aGF0ICgo SmFtZXMgQ29va2UgQnJvd258SkNCKSkgaGFzIHBhc3NlZCBvbi4KCgoKVGhlIHBob25vbG9neSwg b3J0aG9ncmFwaHksIGFuZCBtb3JwaG9sb2d5IGhhdmUgYmVlbiBlc3NlbnRpYWxseSBzdGFibGUg c2luY2UgMTk4OCwgZXhjZXB0IGZvciBhIHNsaWdodCBjaGFuZ2UgaW4gd2hhdCBjb3VudHMgYXMg YSBsZWdhbCAnJ3tBTElOSyhhbmFtZT0+ZnUnaXZsYSl9ZnUnaXZsYXtBTElOS30nJy4gVGhlIFto dHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9naXNtdS50eHR8Jydn aXNtdScnIGxpc3RdIGhhcyBiZWVuIHN0YWJsZSBzaW5jZSAxOTg4LCBleGNlcHQgdGhhdCBhYm91 dCAyNSAnJ3tBTElOSyhhbmFtZT0+Z2lzbXUpfWdpc211e0FMSU5LfScnIGhhdmUgYmVlbiBhZGRl ZCBhbmQgMiAnJ3tBTElOSyhhbmFtZT0+Z2lzbXUpfWdpc211e0FMSU5LfScnIGhhZCBtaW5vciBj aGFuZ2VzIHVwIHVudGlsIDE5OTQsIGJ1dCBzaW5jZSB0aGVuIG9ubHkgY2xhcmlmaWNhdGlvbnMg b2YgY29uZnVzaW5nIHdvcmRpbmcgaGF2ZSBiZWVuIG1hZGUgdG8gdGhlIG9mZmljaWFsIFtodHRw Oi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9naXNtdS50eHR8YmFzZWxp bmUgJydnaXNtdScnIGxpc3RdLCBhbmQgdGhleSBhcmUgbm93IGNvbnNpZGVyZWQgYmFzZWxpbmVk LiBUaGUgJyd7QUxJTksoYW5hbWU9PnJhZnNpKX1yYWZzaXtBTElOS30nJyBoYXZlIGJlZW4gdW5j aGFuZ2VkIHNpbmNlIDE5OTMsIHdoZW4gYXJvdW5kIDIwJSB3ZXJlIGNoYW5nZWQgaW4gYSBmaW5h bCB0dW5pbmcgYmVmb3JlIGJhc2VsaW5pbmcgdGhlbS4gTXVjaCBleGlzdGluZyB0ZXh0IGhhcyBu b3QgYmVlbiB1cGRhdGVkIGFmdGVyIHRoZSAnJ3tBTElOSyhhbmFtZT0+cmFmc2kpfXJhZnNpe0FM SU5LfScnIGNoYW5nZSwgc28gdGV4dHMgZGF0ZWQgYmVmb3JlIDE5OTMgbWF5IGJlIGNvbmZ1c2lu Zy4gVGhlIGdyYW1tYXIgaGFzIGJlZW4gYmFzaWNhbGx5IHN0YWJsZSBzaW5jZSAxOTkzLCB3YXMg dW5kZXIgY2FyZWZ1bCBkb2N1bWVudGVkIGNvbnRyb2wgYWZ0ZXIgdGhhdCBkYXRlLCBhbmQgZnJv emVuIHdpdGggdGhlIHB1YmxpY2F0aW9uIG9mICgoVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFn ZSkpIGluIDE5OTcuIFRoZSBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3B1YmxpY2F0aW9ucy93b3Jk bGlzdHMvY21hdm8udHh0fCcnY21hdm8nJyBsaXN0XSBoYXMgYmVlbiBiYXNlbGluZWQgc2luY2Ug MTk5NywgdGhvdWdoIG5ldyBjb21wb3VuZHMgbWF5IGJlIGRlZmluZWQgdGhyb3VnaCB1c2FnZS4g VGhlIG9ubHkgYXJlYSBub3QgZnJvemVuIGlzIHRoZSBhZGRpdGlvbiBvZiBuZXcgd29yZHMgdG8g dGhlIGxleGljb24gdGhyb3VnaCBib3Jyb3dpbmcgKCcne0FMSU5LKGFuYW1lPT5sdWp2byl9bHVq dm97QUxJTkt9JycpLiBUaG9zZSB0d28gcHJvZHVjdGl2ZSBhcmVhcyBhcmUgb3Blbi1lbmRlZDsg YSBwcmltYXJ5IGxpbWl0YXRpb24gb24gdGhlIGxhbmd1YWdlIGRlZmluaXRpb24gaXMgdGhlIGlu YWJpbGl0eSB0byByZWNvcmQgYW5kIGRlZmluZSBuZXcgY29pbmluZ3MgYXMgZmFzdCBhcyB0aGV5 IGFyZSBpbnZlbnRlZC4gCgoKClRoZSBiYXNpYyBzZW1hbnRpY3Mgb2YgdGhlIGxhbmd1YWdlIGFy ZSBzdGFibGUuIFRoZXJlIGFyZSBzdGlsbCBvbmdvaW5nIGRpc3B1dGVzIGFib3V0ICJob3cgdG8g c2F5IGl0IGJlc3QgaW4gTG9qYmFuIjsgd2UgZXhwZWN0IHRoZXNlIHRvIGNvbnRpbnVlIGluZGVm aW5pdGVseS4gQXMgYSBtYXR0ZXIgb2YgcG9saWN5LCBjaGFuZ2VzIGV2ZW4gdG8gTG9qYmFuIG5v bi1iYXNlbGluZWQgdXNhZ2VzLCBpZiB0aGV5IHdvdWxkIHJlcXVpcmUgcGVvcGxlIHRvIHJlLWxl YXJuIHRoaW5ncywgYXJlIHJlc2lzdGVkIHZpZ29yb3VzbHkuIEFsbW9zdCBhbnl0aGluZyB0aGF0 IHByYWN0aWNhbCBwZW9wbGUgKGkuZS4gYmVnaW5uZXJzKSB3b3VsZCBhY3R1YWxseSB1c2UgaXMg d2VsbCB3b3JrZWQgb3V0LCBkZWJ1Z2dlZCBhbmQgc3RhYmxlLiBQb2ludHMgb2YgY29udHJvdmVy c3kgaW5jbHVkZSBoaWdobHkgdGVjaG5pY2FsIHBoaWxvc29waGljYWwgaXNzdWVzIHN1Y2ggYXMg d2hldGhlciBlbXB0eSBzZXRzIGFyZSBvciBhcmUgbm90IGV4Y2x1ZGVkIGFzIHRoZSBjYW5kaWRh dGUgcmVmZXJlbnQgc2V0IG9mIGEgJyd7QUxJTksoYW5hbWU9PnN1bXRpKX1zdW10aXtBTElOS30n Jywgb3Igd2hldGhlciBjdXJyZW50IGdyYW1tYXIgaXMgYWRlcXVhdGUgdG8gcmVwcmVzZW50IGFs bCBwb3NzaWJsZSBmb3JtcyBvZiBpbmRpcmVjdCBxdWVzdGlvbnMuIFRoZSBhbnN3ZXJzIGFyZSB2 ZXJ5IGltcG9ydGFudCB0byB0aGUgbGFuZ3VhZ2UgZGVmaW5pdGlvbiAobm8gam9rZSksIGJ1dCBw ZW9wbGUgaGF2ZSBiZWVuIHNwZWFraW5nIG5hdHVyYWwgbGFuZ3VhZ2VzIGZvciB5ZWFycyB3aXRo b3V0IGtub3dpbmcgdGhlIGFuc3dlcnMsIHNvIGRvbid0IHdvcnJ5IGFib3V0IExvamJhbi4gQW5k IHlvdSBkb24ndCBoYXZlIHRvIGtub3cgd2hhdCBsYW1iZGEgY2FsY3VsdXMgaXMuIFRoZSBtYWpv ciBwb2ludCBvZiBjb250cm92ZXJzeSB0aGF0IGlzIHNpZ25pZmljYW50IHRvIGJlZ2lubmVycyBp cyBhIGZlZWxpbmcgaW4gc29tZSBxdWFydGVycyB0aGF0IHRoZSBwb2xpY2llcyB1c2VkIHRvIGRl c2lnbiB0aGUgcGxhY2UgKGFyZ3VtZW50LCAnJ3tBTElOSyhhbmFtZT0+Z2lzbXUpfWdpc211e0FM SU5LfScnIChiYXNpYyBwcmVkaWNhdGUgd29yZHMpIHdlcmUgbm90IGV4YWN0bHkgb3B0aW1hbC4g U29tZXRpbWVzIHRoZSBzZW1hbnRpY3Mgb2YgdGhlIGxlc3MtdXNlZCBwbGFjZXMgYXJlIGF0IGlz c3VlLiBPZmZpY2lhbGx5LCB3ZSdsbCBnbyB3aXRoIHdoYXQgd2UgaGF2ZSB0byBwcmVzZXJ2ZSB0 aGUgaW52ZXN0bWVudCBwZW9wbGUgaGF2ZSBtYWRlIGluIGxlYXJuaW5nIHRoZSBsYW5ndWFnZSwg YW5kIGFmdGVyIHRoZSBiYXNlbGluZSBwZXJpb2QgaXMgb3ZlciwgdGhvc2Ugd2hvIGFyZSBhY3R1 YWxseSBzcGVha2luZyB0aGUgbGFuZ3VhZ2Ugd2lsbCBiZSBhbGxvd2VkIHRvIGRpc2N1c3MgY2hh bmdlcyBpbiBMb2piYW4uIFRoZXJlIGFyZSBubyBwbGFucyB0byBldmVyIHNlcmlvdXNseSBkaXNj dXNzIGNoYW5nZXMgdG8gdGhlIGxhbmd1YWdlIG90aGVyIHRoYW4gaW4gTG9qYmFuLiAKCgoKe0FO QU1FKCl9UFMye0FOQU1FfVBTMi5fX1doYXQgYXJlIHRoZSBtb3N0IGN1cnJlbnQgcmV2aXNpb25z IG9mIGVhY2ggcGFydCBvZiB0aGUgbGFuZ3VhZ2UgZGVzY3JpcHRpb25zP19fCgoKClRoZSB2ZXJz aW9ucyBmb3VuZCBvbiB0aGUgW2h0dHA6Ly93d3cubG9qYmFuLm9yZ3xMb2piYW4gd2ViIHNpdGVd IGFyZSBkZWZpbml0aXZlLCBleGNlcHQgdGhhdCB0aGUgcHJpbnRlZCB2ZXJzaW9uIG9mICgoVGhl IExvamJhbiBSZWZlcmVuY2UgR3JhbW1hcikpICggd2hpY2ggaXMgY2FsbGVkICgoVGhlIENvbXBs ZXRlIExvamJhbiBMYW5ndWFnZSkpICkgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBIVE1MIHZl cnNpb24uIFdvcmtpbmcgZHJhZnRzIG9mIGJvb2tzIGluIHByZXBhcmF0aW9uIGFyZSBtYWludGFp bmVkIG9uICcnbG9qYmFiJ3MnJyBob21lIGNvbXB1dGVycywgYW5kIG1heSBiZSBzbGlnaHRseSB1 cGRhdGVkIGZyb20gdGhlIG9uLWxpbmUgdmVyc2lvbnMuIAoKCgp7QU5BTUUoKX1QUzN7QU5BTUV9 UFMzLl9fV2hhdCBwcm9qZWN0cyBhcmUgYmVpbmcgd29ya2VkIG9uPyBXaGVuIHdpbGwgdGhleSBi ZSBkb25lP19fCgoKCigoVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFnZSkpIGlzIG9mIGNvdXJz ZSBjb21wbGV0ZSBhbmQgcHVibGlzaGVkLiAKCgoKRm9yIGEgY3VycmVudCBsaXN0IG9mIG9uZ29p bmcgcHJvamVjdHMsIHNlZSB0aGUgKChPZmZpY2lhbCBMTEcgUHJvamVjdHMpKSBwYWdlLCB0aGUg KChPZmZpY2lhbCBMTEcgQ29tbWl0dGVlcykpIHBhZ2UsIGFuZCAoKG9uZ29pbmcgcHJvamVjdHN8 dGhlIHdpa2kgb25nb2luZyBwcm9qZWN0cyBwYWdlKSkuCgoKCgoKX18nJ1dIRU4/JydfXwoKCgpQ cm9qZWN0cyBhcmUgYWxsIGJlaW5nIGRvbmUgYnkgdm9sdW50ZWVycywgYW5kIHRoZXJlZm9yZSB3 aWxsIGJlIGRvbmUgd2hlbiBwZW9wbGUgZmluaXNoIHRoZW0uIFdlJ3ZlIHByb21pc2VkIGRhdGVz IGluIHRoZSBwYXN0IGFuZCBpbnZhcmlhYmx5IGJlZW4gd3JvbmcuIFRoZSBwcmlvcml0aWVzIGFy ZSBmb3IgdGhlIGRpY3Rpb25hcnkgYW5kIHRoZSBpbnRyb2R1Y3RvcnkgbWF0ZXJpYWxzIGJvb2ss IHdpdGggdGhlIGxhdHRlciBtb3JlIGxpa2VseSB0byBjb21lIG91dCBlYXJsaWVyIHRoYW4gdGhl IGZvcm1lci4gUHVibGljYXRpb24gb2YgYm9va3MgaXMgc2V2ZXJlbHkgaGFtcGVyZWQgYnkgZmlu YW5jZXMgKGFueW9uZSB3aXRoIG1vbmV5IGlzIHdlbGNvbWUgdG8gKChzYXJqaSBmbyBsbyBqZGlu aXxkb25hdGUpKSEpLCBhbmQgdGhlIGxhY2sgb2YgYWJpbGl0eSB0byBwdWJsaXNoIGluIHRoZSBz aG9ydCB0ZXJtIGhhcyB0ZW5kZWQgdG8gaHVydCBtb3RpdmF0aW9uIGFuZCBwcm9kdWN0aXZpdHkg b2YgdGhvc2Ugd29ya2luZyBvbiB0aG9zZSBwdWJsaWNhdGlvbnMuIAoKCgp7QU5BTUUoKX1QUzR7 QU5BTUV9UFM0Ll9fV2hhdCBjYW4gSSBkbyB0byBoZWxwP19fCgoKCkEgZmV3IHBvc3NpYmlsaXRp ZXM6IAoKCgoqIFBvc3QgYmVnaW5uZXIgcXVlc3Rpb25zIG9uIHRoZSB7QUxJTksoYW5hbWU9Pmxp c3RzLHBhZ2VuYW1lPT5Mb2piYW5pYyBGb3J1bXMpfUxvamJhbiBMaXN0e0FMSU5LfSBhbmQgZG9u J3QgYmUgaW50aW1pZGF0ZWQKCiogVGVsbCBhYm91dCB5b3Vyc2VsZiBhbmQgeW91ciBpbnRlcmVz dHMgKGluIExvamJhbiBwcmVmZXJhYmx5LCBidXQgRW5nbGlzaCBpcyBPSykgb24gdGhlIHtBTElO SyhhbmFtZT0+bGlzdHMscGFnZW5hbWU9PkxvamJhbmljIEZvcnVtcyl9TG9qYmFuIExpc3R7QUxJ Tkt9CgoqIFdyaXRlIGluIExvamJhbiBvbiB0aGUge0FMSU5LKGFuYW1lPT5saXN0cyxwYWdlbmFt ZT0+TG9qYmFuaWMgRm9ydW1zKX1Mb2piYW4gTGlzdHtBTElOS30KCiogV3JpdGUgc29tZXRoaW5n IGluIExvamJhbiAoVHJ5IHRvIHdyaXRlIHNvbWV0aGluZyBuZXd+LS1+KChUcmFuc2xhdGlvbnN8 dHJhbnNsYXRpb24gb2YgbGl0ZXJhdHVyZSkpIGlzIG5vdCBnZW5lcmFsbHkgYSBnb29kIG9yIGVh c3kgYmVnaW5uZXIgZXhlcmNpc2UpLgoKKiBTdHVkeSBMb2piYW4gdm9jYWJ1bGFyeSB1c2luZyBM b2dGbGFzaCBvciBmbGFzaGNhcmRzCgoqIENvbWUgdG8ge0FMSU5LKGFuYW1lPT5HNSl9TG9nRmVz dHtBTElOS30gaW4gSnVseS9BdWd1c3QgaW4gRmFpcmZheCBWQSAobmVhciBXYXNoaW5ndG9uLCBE QyksIFVTQS4KCiogVHJ5IGV4cHJlc3NpbmcgeW91cnNlbGYgaW4gTG9qYmFuCgoqIEludml0ZSBv dGhlcnMgdG8gam9pbiBhIGxpdmUge0FMSU5LKGFuYW1lPT5pcmMscGFnZW5hbWU9PkxvamJhbmlj IEZvcnVtcyl9SVJDIGNoYXR7QUxJTkt9IGluIG9yIGFib3V0IExvamJhbgoKKiBLZWVwIGEgZGlh cnkgaW4gTG9qYmFuCgoqIENoZWNrIG91dCB0aGUgKChPZmZpY2lhbCBMTEcgUHJvamVjdHN8UHJv amVjdHMpKSBhbmQgdGhlICgoT2ZmaWNpYWwgTExHIENvbW1pdHRlZXN8Q29tbWl0dGVlcykpIHBh Z2VzIGZvciBuZXcgYW5kIG9uZ29pbmcgcHJvamVjdHMKCiogU2VuZCBtb25leSB0byB0aGUge0FM SU5LKGFuYW1lPT5MTEcpfUxMR3tBTElOS30gdXNpbmcgUGF5UGFsCgoKCiEhSElTVE9SSUNBTAoK e0FOQU1FKCl9SDF7QU5BTUV9SDEuX19Ib3cgd2FzIHRoZSBkZWZhdWx0IHtBTElOSyhhbmFtZT0+ c2VsYnJpKX1zZWxicml7QUxJTkt9JycgZGV0ZXJtaW5lZD8gKFRoZXJlIGRvZXMgbm90IGFwcGVh ciB0byBiZSBhbnkgcmh5bWUgb3IgcmVhc29uIGZvciB0aGUgb3JkZXIgb2YgJyd7QUxJTksoYW5h bWU9Pmdpc211KX1naXNtdXtBTElOS30nJy4pX18KCgoKVGhleSB3ZW50IHRocm91Z2ggYSBsb3Qg b2YgcmV2aXNpb25zOyBpdCBpcyBzb21ldGhpbmcgaW4tYmV0d2VlbiBwbGFubmluZyBhbmQgZXZv bHV0aW9uLiBUaGVyZSBpcyBhIGNvbnNpZGVyYWJsZSBhbW91bnQgb2Ygc3lzdGVtIHRoZXJlLCBi dXQgaXQgaXMgaWxsLWRvY3VtZW50ZWQuIAoKCgpUaGUgbmljZSB0aGluZyB0byBrbm93IGlzIHRo YXQgeW91IGRvbid0IGhhdmUgdG8gbWVtb3JpemUgdGhlIHtBTElOSyhhbmFtZT0+cGxhY2VzdHJ1 Y3R1cmUpfXBsYWNlIHN0cnVjdHVyZXN7QUxJTkt9LiBKdXN0IHVzaW5nIHRoZSBsYW5ndWFnZSwg eW91IHdpbGwgY29tZSB0byBoYXZlIGEgZmVlbCBmb3Igd2hpY2ggcGxhY2VzIGFyZSBwcmVzZW50 IGFuZCBpbiB3aGF0IG9yZGVyLiAKCgoKTW9zdCBwZW9wbGUgd2hvIHRha2UgdGhlIHRpbWUgdG8g YmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGxhbmd1YWdlIGZpbmQgdGhhdCB3aXRoIHByYWN0aWNl LCB0aGV5IGJlZ2luIHRvIGRldmVsb3AgYSBzZW5zZSBvZiB3aGF0IHRoZSBwbGFjZSBzdHJ1Y3R1 cmVzIG91Z2h0IHRvIGJlLiBDb252ZW5pZW50bHksIHRoZWlyIHNlbnNlIHVzdWFsbHkgbWF0Y2hl cyB1cCB3aXRoIHRoZSBkZWZpbml0aW9uLgoKCgp7QU5BTUUoKX1IMntBTkFNRX1IMi5fX0hvdyBk aWQgdGhlICcne0FMSU5LKGFuYW1lPT5naXNtdSl9Z2lzbXV7QUxJTkt9JycgZ2V0IG1hZGU6IGRp c2N1c3Npb24sIGV0eW1vbG9neSBleGFtcGxlcz9fXwoKCgpUaGVyZSBpcyBhICgoZ2lzbXUgRXR5 bW9sb2d5fGZ1bGwgc2V0IG9mIGV0eW1vbG9naWVzKSkgb24gdGhlIGZpbGUgc2VydmVyLiBUaGVy ZSBpcyBzb21lIGV4cGxhbmF0aW9uIGF2YWlsYWJsZSwgaW5jbHVkaW5nIFtodHRwOi8vd3d3Lmxv amJhbi5vcmcvZmlsZXMvZXR5bW9sb2d5L2V0eXNhbXBsZS50eHR8c2FtcGxlc10gKGJyb2tlbiBs aW5rKSwgYW5kIGEgbW9yZSB2ZXJib3NlIGRlc2NyaXB0aW9uIGluIHRoZSAgW2h0dHA6Ly9sb2pi YW4ub3JnL3B1YmxpY2F0aW9ucy9sZXZlbDAvYnJvY2h1cmUvbGluZ2lzc3Vlcy5odG1sI2lkeDQ1 MnxMZXZlbCAwIHBhY2thZ2VdIGFuZCBhdCB0aGUgKChMb2piYW4gRXR5bW9sb2d5fExvamJhbiBF dHltb2xvZ3kgSW5mb3JtYXRpb24pKSBwYWdlLiAKCgoKVGhlIGV0eW1vbG9naWVzIGluIDYgbGFu Z3VhZ2VzIGFuZCB0aGUgc2NvcmluZyBmb3IgZWFjaCBsYW5ndWFnZSBhcmUgZ2l2ZW4sIGluIG9y ZGVyIENoaW5lc2UvRW5nbGlzaC9IaW5kaS9TcGFuaXNoL1J1c3NpYW4vQXJhYmljfi0tfmEgMCBz Y29yZSBtZWFucyB0aGF0IHRoZSBsYW5ndWFnZSBtYWRlIG5vIGNvbnRyaWJ1dGlvbiB0byB0aGUg d29yZCwgYW5kIHRodXMgaXRzIGV0eW1vbG9naWNhbCBrZXl3b3JkIGRpZCBub3QgbWF0dGVyLiBU aGUgbGFuZ3VhZ2VzIHdlcmUgd2VpZ2h0ZWQuIFdoaWxlIG5ldyAnJ3tBTElOSyhhbmFtZT0+Z2lz bXUpfWdpc211e0FMSU5LfScnIGFyZSBub3QgYmVpbmcgbWFkZSwgJydsb2piYWInJyB1cGRhdGVz IHRoZSB3ZWlnaHRpbmcgYmFzZWQgb24gZXN0aW1hdGVkIG51bWJlcnMgb2YgZmlyc3QgYW5kIHNl Y29uZCBsYW5ndWFnZSBzcGVha2VycyBldmVyeSBjb3VwbGUgb2YgeWVhcnMuIFRoZSBvcmlnaW5h bCBhbmQgMTk5OSB3ZWlnaHRzIGFyZSBhdmFpbGFibGUgIFtodHRwOi8vd3d3LmxvamJhbi5vcmcv cHVibGljYXRpb25zL2V0eW1vbG9neS9sYW5nc3RhdDk5Lmh0bXxvbmxpbmVdLgoKCgoKCntBTkFN RSgpfUgze0FOQU1FfUgzLl9fV2hhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIExvZ2xhbiBh bmQgTG9qYmFuPyBIb3cgaXMgTG9nbGFuLTgyIHJlbGF0ZWQ/X18KCgoKSmFtZXMgQ29va2UgQnJv d24gKCAoKEphbWVzIENvb2tlIEJyb3dufEpDQikpICkgY2FtZSB1cCB3aXRoIHRoZSBpZGVhIG9m IExvZ2xhbiBpbiB0aGUgMTk0MHMgYW5kIHN0YXJ0aW5nIGludmVudGluZyB0aGUgbGFuZ3VhZ2Ug YXJvdW5kIDE5NTUuIEl0IGhhcyBiZWVuIGV2b2x2aW5nIGV2ZXIgc2luY2UuIEluIDE5ODItNCBv ciBzbyB0aGVyZSB3YXMgYSBwb2xpdGljYWwgZGlzYWdyZWVtZW50IGFuZCB0aGUgTG9nbGFuIGNv bW11bml0eSBmZWxsIGFwYXJ0LiBBIGNvdXBsZSBvZiB5ZWFycyBsYXRlciwgQm9iIExlQ2hldmFs aWVyICgnJ2xvamJhYicnKSwgdGhlbiB3b3JraW5nIHdpdGggKChKYW1lcyBDb29rZSBCcm93bnxK Q0IpKSwgYXR0ZW1wdGVkIHRvIHJlc3VycmVjdCB0aGUgY29tbXVuaXR5LiBUaGlzIGxlZCB0byBh IGZhbGxpbmcgb3V0IGJhc2VkIG9uICgoSmFtZXMgQ29va2UgQnJvd258SkNCKSkncyBwcm9wcmll dGFyeSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgY2xhaW1zIG9uIHRoZSBsYW5ndWFnZS4gVGhlIGNv bW11bml0eSBzcGxpdCBpbnRvIHR3byBlZmZvcnRzLCB3aXRoICgoSmFtZXMgQ29va2UgQnJvd258 SkNCKSkgYXQgdGhlIGhlYWQgb2Ygb2YgdGhlIExvZ2xhbiBlZmZvcnQsIHtBTElOSyhhbmFtZT0+ VExJKX1UaGUgTG9nbGFuIEluc3RpdHV0ZSAoVExJKXtBTElOS30sIGFuZCAoJydsb2piYWInJykg YXQgdGhlIGhlYWQgb2YgdGhlIExvamJhbiBlZmZvcnQsIHRoZSB7QUxJTksoYW5hbWU9PkxMRyl9 TG9naWNhbCBMYW5ndWFnZSBHcm91cCAoTExHKXtBTElOS30uIFRoZSBsYXR0ZXIgaXMgTG9qYmFu LCB3aGljaCB7QUxJTksoYW5hbWU9PkxMRyl9TExHe0FMSU5LfSAoYmFja2VkIHVwIGJ5IGEgY291 cnQgZGVjaXNpb24pIGNvbnNpZGVycyBhIHN1YmNhdGVnb3J5IG9mIExvZ2xhbi4gU2FkbHksICgo SmFtZXMgQ29va2UgQnJvd258SkNCKSkgcGFzc2VkIGF3YXkgaW4gMjAwMC4gSXQgaXMgdW5jbGVh ciBpZiB0aGUgTG9nbGFuIG9yZ2FuaXphdGlvbiBoYXMgbGVhZGVyc2hpcCBjYXBhYmxlIG9mIHN1 c3RhaW5pbmcgdGhlIGVmZm9ydC4gQSBtb3JlIGxlbmd0aHkgZGlzY3Vzc2lvbiBvZiB0aGUgaXNz dWVzIGNhbiBiZSBmb3VuZCBpbiB0aGUgYXJ0aWNsZSAoKFRoZSBMb2dsYW4tTG9qYmFuIERpc3B1 dGUpKSwgYW5kIGluICcne0FMSU5LKGFuYW1lPT5KTCl9anUnaSBsb2J5cGxpe0FMSU5LfScnIChB dHRlbnRpb24hIExvamJhbmljIFVzZXJzKS4gCgoKCicnbG9qYmFiJycgbWFrZXMgb2NjYXNpb25h bCBlZmZvcnRzIHRvIHNwYXJrIGRpc2N1c3Npb24gdGhhdCB3b3VsZCBsZWFkIHRvIHJldW5pZmlj YXRpb24gb2YgdGhlIGVmZm9ydHMgYmVoaW5kIExvamJhbiwgYWx0aG91Z2ggbm8gY29uc2lkZXJh dGlvbiB3aWxsIGJlIGdpdmVuIHRvIGFiYW5kb25pbmcgdGhlIExvamJhbiBiYXNlbGluZS4gCgoK CkxvZ2xhbi04MiBpcyBhIGNvbXBsZXRlbHkgdW5yZWxhdGVkIGNvbXB1dGVyIGxhbmd1YWdlIGRl dmVsb3BlZCBpbiBQb2xhbmQgYnkgcGVvcGxlIHVuYXdhcmUgb2YgdGhlIGV4aXN0ZW5jZSBvZiB0 aGUgTG9nbGFuL0xvamJhbiBwcm9qZWN0LgoKCgoKCntBTkFNRSgpfUg0e0FOQU1FfUg0Ll9fV2h5 IGRvIG9sZGVyIExvamJhbiB0ZXh0cyAoYmVmb3JlIDE5OTMpIG5vdCBtYWtlIG11Y2ggc2Vuc2Ug c29tZXRpbWVzP19fCgoKCkxvamJhbiBoYXMgYmVlbiBxdWl0ZSBzdGFibGUgc2luY2UgMTk5Mi0z LCB3aGVuIHRoZSBsYXN0IHNpZ25pZmljYW50IGNoYW5nZXMgd2VyZSBtYWRlIChzaW5jZSB0aGVu LCBtb3N0ICJjaGFuZ2VzIiBoYXZlIGJlZW4gYWRkaXRpb25zIHRvIHRoZSBsYW5ndWFnZSB3aGlj aCBkaWQgbm90IG1ha2Ugb2xkZXIgdGV4dCBpbnZhbGlkKS4gVGhlIGxhc3QgY2hhbmdlcyB0byB0 aGUgJyd7QUxJTksoYW5hbWU9Pmdpc211KX1naXNtdXtBTElOS30nJyBsaXN0IHdlcmUgbWFkZSBp biAxOTkyLCBhbmQgaW4gMTk5MyB0aGUgJyd7QUxJTksoYW5hbWU9PnJhZnNpKX1yYWZzaXtBTElO S30nJyBpbiBMb2piYW4gd29yZC1tYWtpbmcuIFRoZXJlIGlzIGEgW2h0dHA6Ly93d3cubG9qYmFu Lm9yZy9maWxlcy9oaXN0b3J5L2JvdGhyYWYudHh0fHRyYW5zbGF0aW9uIHRhYmxlXSBmcm9tIHRo ZSBvbGRlciAnJ3tBTElOSyhhbmFtZT0+cmFmc2kpfXJhZnNpe0FMSU5LfScnIHRvIHRoZSBmaW5h bCBzZXQuIAoKCgoKCiEhIFBST05VTkNJQVRJT04KCntBTkFNRSgpfUIxe0FOQU1FfUIxLl9fSSdt IG5vdCBxdWl0ZSBzdXJlIEkgdW5kZXJzdGFuZCB0aGUgd3JpdHRlbiBkZXNjcmlwdGlvbnMgb2Yg aG93IHRoZSB2b3dlbHMgc291bmQuX18KCgoKSGVyZSBpcyBhIGxpbmsgdG8gW2h0dHA6Ly9wZXJw ZXR1dW0taW1tb2JpbGUuZGUvdm93ZWxzX2FsZWtzLm9nZ3xhIHZvd2VsIHNvdW5kIGZpbGUgaW4g T2dnIFZvcmJpcyBmb3JtYXRdLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCldpa2luZXVyb3RpYyBtYWlsaW5nIGxpc3QKV2lraW5ldXJvdGljQGxvamJh bi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2luZXVyb3Rp Ywo=