Received: from localhost ([::1]:44074 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Uh30S-0000jT-6x; Mon, 27 May 2013 12:22:56 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:50669 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Uh30I-0000jN-KH for wikichanges@lojban.org; Mon, 27 May 2013 12:22:54 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 27 May 2013 12:22:46 -0700 From: "Apache" Date: Mon, 27 May 2013 12:22:46 -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 Pequena introdução do Lojban was changed by AndreIbaque at 19:22 UTC You can view the page by following this link: http://www.lojban.org/tiki/Pequena%20introdu%C3%A7%C3%A3o%20do%20Lojban [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 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] =?utf-8?q?Wiki_page_Pequena_introdu=C3=A7=C3=A3o_do?= =?utf-8?q?_Lojban_changed_by_AndreIbaque?= 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: 41464 VGhlIHBhZ2UgUGVxdWVuYSBpbnRyb2R1w6fDo28gZG8gTG9qYmFuIHdhcyBjaGFuZ2VkIGJ5IEFu ZHJlSWJhcXVlIGF0IDE5OjIyIFVUQwoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2lu ZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvUGVxdWVuYSUyMGludHJv ZHUlQzMlQTclQzMlQTNvJTIwZG8lMjBMb2piYW4KCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0 byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3 dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1QZXF1ZW5hJTIwaW50 cm9kdSVDMyVBNyVDMyVBM28lMjBkbyUyMExvamJhbiZjb21wYXJlPTEmb2xkdmVyPTEmbmV3dmVy PTIKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dl ZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6 IDM0LTQxIGNoYW5nZWQgdG8gK0xpbmVzOiAzNC00MCBAQAorLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwoqIExvamJhbiB0ZW0gdW1hIF9f dmFyaWVkYWRlIGRlIHVzb3NfXywgcXVlIHbDo28gZGVzZGUgbyBjcmlhdGl2byBhbyBjaWVudMOt ZmljbywgZG8gdGXDs3JpY28gcGFyYSBvIHByw6F0aWNvLiAKCi0gISFXaHkgd2FzIExvamJhbiBk ZXZlbG9wZWQ/e0FOQU1FKCl9d2h5e0FOQU1FfTxiciAvPjxiciAvPkxvamJhbiB3YXMgb3JpZ2lu YWxseSBkZXNpZ25lZCBmb3IgdGhlIHB1cnBvc2Ugb2Ygc3VwcG9ydGluZyByZXNlYXJjaCBvbiBh IGNvbmNlcHQga25vd24gYXMgdGhlIF9fU2FwaXItV2hvcmZfXyBoeXBvdGhlc2lzOiAmcXVvdDt0 aGUgc3RydWN0dXJlIG9mIGEgbGFuZ3VhZ2UgY29uc3RyYWlucyB0aGUgdGhpbmtpbmcgb2YgcGVv cGxlIHVzaW5nIHRoYXQgbGFuZ3VhZ2UmcXVvdDsuIExvamJhbiBhbGxvd3MgdGhlIGZ1bGwgZXhw cmVzc2l2ZSBjYXBhYmlsaXR5IG9mIGEgbmF0dXJhbCBsYW5ndWFnZSwgYnV0IGRpZmZlcnMgaW4g c3RydWN0dXJlIGZyb20gb3RoZXIgbGFuZ3VhZ2VzIGluIG1ham9yIHdheXMuIFRoaXMgYWxsb3dz IGl0cyB1c2UgYXMgYSB0ZXN0IHZlaGljbGUgZm9yIHNjaWVudGlzdHMgc3R1ZHlpbmcgdGhlIHJl bGF0aW9uc2hpcHMgYmV0d2VlbiBsYW5ndWFnZSwgdGhvdWdodCwgYW5kIGN1bHR1cmUuIAorICEh UG9yIHF1ZSBMb2piYW4gZm9pIGRlc2Vudm9sdmlkbz97QU5BTUUoKX13aHl7QU5BTUV9CgorIExv amJhbiBmb2kgb3JpZ2luYWxtZW50ZSBwcm9qZXRhZG8gY29tbyB1bSBzdXBvcnRlIHBhcmEgdW1h IHBlc3F1aXNhIHNvYnJlIHVtIGNvbmNlaXRvIGNvbmhlY2lkbyBjb21vIGEgaGlww7N0ZXNlIF9f U2FwaXItV2hvcmZfXzogImEgZXN0cnV0dXJhIGRlIHVtYSBsw61uZ3VhIHJlc3RyaW5nZSBvIHBl bnNhbWVudG8gZGUgcGVzc29hcyBxdWUgdXRpbGl6YW0gYXF1ZWxhIGzDrW5ndWEiLiBMb2piYW4g cGVybWl0ZSBhIGNvbXBsZXRhIGNhcGFjaWRhZGUgZXhwcmVzc2l2YSBkZSB1bWEgbMOtbmd1YSBu YXR1cmFsLCBtYXMgZGlmZXJlIG5hIGVzdHJ1dHVyYSBkZSBvdXRyb3MgaWRpb21hcyBuYXMgZ3Jh bmRlcyBtYW5laXJhcy4gSXNzbyBwZXJtaXRlIGEgdXRpbGl6YcOnw6NvIGRvIExvamJhbiBjb21v IHZlw61jdWxvIGRlIHRlc3RlIHBhcmEgb3MgY2llbnRpc3RhcyBxdWUgZXN0dWRhbSBhcyByZWxh w6fDtWVzIGVudHJlIGxpbmd1YWdlbSwgcGVuc2FtZW50byBlIGN1bHR1cmEuCiEhT3RoZXIgdXNl cyBmb3IgTG9qYmFue0FOQU1FKCl9b3RoZXJ1c2Vze0FOQU1FfQoKCgoKCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFn ZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCgpeVHJhbnNsYXRpb24gb2YgdGhpcyBwYWdlIGlz IGluY29tcGxldGUuXgoKCgohTG9qYmFuIC0gQSBMaW5ndWFnZW0gTMOzZ2ljYQoKCgohJydsYSBs b2piYW4uIHBvJ3UgbGUgbG9namkgYmFuZ3UnJwoKCgoqIHtBTElOSyhhbmFtZT0+aW50cm8pfUlu dHJvZHXDp8Ojb3tBTElOS30KCioge0FMSU5LKGFuYW1lPT53aHkpfVBvciBxdWUgTG9qYmFuIGZv aSBkZXNlbnZvbHZpZG8/e0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9Pm90aGVydXNlcyl9T3V0cm9z IHVzb3MgcGFyYSBMb2piYW57QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+ZGVzaWduKX1PIGRlc2ln biBkZSBMb2piYW57QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+Y3VycmVudCl9U2l0dWHDp8OjbyBh dHVhbCBlIHVzb3tBTElOS30KCioge0FMSU5LKGFuYW1lPT51bmFtYmlndWl0eSl9QXMgbsOjby1h bWJpZ3VpZGFkZXMgZGUgTG9qYmFue0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PnNhcGlyd2hvcmYp fUxvamJhbiBlIFNhcGlyLVdob3Jme0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9Pm90aGVybGluZyl9 T3V0cmFzIGFwbGljYcOnw7VlcyBsaW5ndcOtc3RpY2Fze0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9 PmludGVybmF0aW9uYWwpfUxvamJhbiBjb21vIHVtYSBsw61uZ3VhIGludGVybmFjaW9uYWx7QUxJ Tkt9CgoqIHtBTElOSyhhbmFtZT0+cmVhc29ucyl9VsOhcmlhcyByYXrDtWVzIHBhcmEgYXByZW5k ZXIgTG9qYmFuIEFHT1JBe0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9Pmhvdyl9Q29tbyBhcHJlbmRl ciBMb2piYW4/e0FMSU5LfQoKKiAoKENvbnRhY3QgVVN8RmljYW5kbyBlbSBjb250YXRvKSkKCiEh SW50cm9kdcOnw6Nve0FOQU1FKCl9aW50cm97QU5BTUV9CgoKCl9fTG9qYmFuX18gKC9MT1pILWJh aG4vKSDDqSB1bWEgbMOtbmd1YSBjb25zdHJ1w61kYS4gT3JpZ2luYWxtZW50ZSBjaGFtYWRvIGRl ICJfX0xvZ2xhbl9fIiBlICBmdW5kYWRvIHBvciBfX0RyLiBKYW1lcyBDb29rZSBCcm93bl9fLCBx dWUgaW5pY2lvdSBvIGRlc2Vudm9sdmltZW50byBkYSBsw61uZ3VhIGVtIF9fMTk1NV9fLCB0ZXZl IG9zIG9iamV0aXZvcyBkZXNjcml0b3MgcGVsYSBwcmltZWlyYSB2ZXogbm8gYXJ0aWdvICJMb2ds YW4iIG5hICcnU2NpZW50aWZpYyBBbWVyaWNhbiwgSnVuZSwgMTk2MCcnLiBMb2dsYW4vTG9qYmFu IGZvaSBjb25zdHJ1w61kbyBhbyBsb25nbyBkZSB0csOqcyBkw6ljYWRhcyBwb3IgZGV6ZW5hcyBk ZSBwcm9maXNzaW9uYWlzIGUgY2VudGVuYXMgZGUgYXBvaWFkb3JlcywgbGlkZXJhZGEgZGVzZGUg X18xOTg3X18gcGVsYSBfX1RoZSBMb2dpY2FsIExhbmd1YWdlIEdyb3VwX18uCgoKCkjDoSBtdWl0 YXMgbMOtbmd1YXMgY29uc3RydcOtZGFzLCBlbnRyZXRhbnRvIExvZ2xhbi9Mb2piYW4gZm9pIHBy b2pldGFkbyBwYXJhIHRvcm5hci1zZSDDum5pY28gZW0gdsOhcmlvcyBhc3BlY3Rvcy4gQSBzZWd1 aXIgZXN0w6NvIGFzIHByaW5jaXBhaXMgY2FyYWN0ZXLDrXN0aWNhcyBkbyBMb2piYW46CgoKCiog TG9qYmFuIMOpIHByb2pldGFkbyBwYXJhIHNlciB1c2FkbyBuYSBfX2NvbW11bmljYcOnw6NvX18g ZW50cmUgcGVzc29hcyBlLCBmdXR1cmFtZW50ZSwgZW50cmUgcGVzc29hcyBlIGNvbXB1dGFkb3Jl cy4KCiogTG9qYmFuIGZvaSBwcm9qZXRhZG8gcGFyYSBzZXIgX19jdWx0dXJhbG1lbnRlIG5ldXRy b19fLgoKKiBBIGdyYW3DoXRpY2EgZGUgTG9qYmFuIMOpIGJhc2VhZGEgbm9zIF9fcHJpbmPDrXBp b3MgZGEgbMOzZ2ljYV9fLgoKKiBMb2piYW4gdGVtIHVtYSBfX2dyYW3DoXRpY2Egc2VtIGFtYmln dWlkYWRlc19fLiAKCiogTG9qYmFuIHRlbSBfX2VzY3JpdGEgZm9uw6l0aWNhX18sIGUgc2VtIGFt YmlndWlkYWRlcyBlbnRyZSBhcyBsZXRyYXMgZSBzb25zLiAKCiogTG9qYmFuIMOpIF9fc2ltcGxl c19fIGNvbXBhcmFkbyDDoHMgbMOtbmd1YXMgbmF0dXJhaXM7IMOpIGbDoWNpbCBkZSBhcHJlbmRl ci4gCgoqIExvamJhbiB0ZW0gX18xMzAwIHJhZGljYWlzX18gcXVlIHBvZGVtIHNlciBmw6FjaWxt ZW50ZSBjb21iaW5hZG9zIHBhcmEgZm9ybWFyIHVtIHZvY2FidWzDoXJpbyBkZSBfX21pbGjDtWVz IGRlIHBhbGF2cmFzX18uIAoKKiBMb2piYW4gw6kgcmVndWxhcjsgc3VhcyByZWdyYXMgX19uw6Nv IHRlbSBleGNlw6fDtWVzX18uIAoKKiBMb2piYW4gdGVudGEgX19yZW1vdmVyIHJlc3RyacOnw7Vl c19fIG5hIGNyaWF0aXZpZGFkZSBlIG5hIGNvbXVuaWNhw6fDo28uIAoKKiBMb2piYW4gdGVtIHVt YSBfX3ZhcmllZGFkZSBkZSB1c29zX18sIHF1ZSB2w6NvIGRlc2RlIG8gY3JpYXRpdm8gYW8gY2ll bnTDrWZpY28sIGRvIHRlw7NyaWNvIHBhcmEgbyBwcsOhdGljby4gCgoKCiEhUG9yIHF1ZSBMb2pi YW4gZm9pIGRlc2Vudm9sdmlkbz97QU5BTUUoKX13aHl7QU5BTUV9CgoKCkxvamJhbiBmb2kgb3Jp Z2luYWxtZW50ZSBwcm9qZXRhZG8gY29tbyB1bSBzdXBvcnRlIHBhcmEgdW1hIHBlc3F1aXNhIHNv YnJlIHVtIGNvbmNlaXRvIGNvbmhlY2lkbyBjb21vIGEgaGlww7N0ZXNlIF9fU2FwaXItV2hvcmZf XzogImEgZXN0cnV0dXJhIGRlIHVtYSBsw61uZ3VhIHJlc3RyaW5nZSBvIHBlbnNhbWVudG8gZGUg cGVzc29hcyBxdWUgdXRpbGl6YW0gYXF1ZWxhIGzDrW5ndWEiLiBMb2piYW4gcGVybWl0ZSBhIGNv bXBsZXRhIGNhcGFjaWRhZGUgZXhwcmVzc2l2YSBkZSB1bWEgbMOtbmd1YSBuYXR1cmFsLCBtYXMg ZGlmZXJlIG5hIGVzdHJ1dHVyYSBkZSBvdXRyb3MgaWRpb21hcyBuYXMgZ3JhbmRlcyBtYW5laXJh cy4gSXNzbyBwZXJtaXRlIGEgdXRpbGl6YcOnw6NvIGRvIExvamJhbiBjb21vIHZlw61jdWxvIGRl IHRlc3RlIHBhcmEgb3MgY2llbnRpc3RhcyBxdWUgZXN0dWRhbSBhcyByZWxhw6fDtWVzIGVudHJl IGxpbmd1YWdlbSwgcGVuc2FtZW50byBlIGN1bHR1cmEuCgohIU90aGVyIHVzZXMgZm9yIExvamJh bntBTkFNRSgpfW90aGVydXNlc3tBTkFNRX0KCgoKTG9qYmFuIHdhcyBkZXNpZ25lZCBhcyBhIGh1 bWFuIGxhbmd1YWdlLCBhbmQgbm90IGFzIGEgY29tcHV0ZXIgbGFuZ3VhZ2UuIEl0IGlzIHRoZXJl Zm9yZSBpbnRlbmRlZCBmb3IgdXNlIGluIGNvbnZlcnNhdGlvbiwgcmVhZGluZywgd3JpdGluZywg YW5kIHRoaW5raW5nLiBIb3dldmVyLCBzaW5jZSBMb2piYW4gY2FuIGJlIHByb2Nlc3NlZCBieSBh IGNvbXB1dGVyIG11Y2ggbW9yZSBlYXNpbHkgdGhhbiBjYW4gYSBuYXR1cmFsIGxhbmd1YWdlLCBM b2piYW4tYmFzZWQgY29tcHV0ZXIgYXBwbGljYXRpb25zIGFyZSBhIG5hdHVyYWwgZXhwZWN0YXRp b24uIER1ZSB0byBpdHMgdW5hbWJpZ3VvdXMgZ3JhbW1hciBhbmQgc2ltcGxlIHN0cnVjdHVyZSwg aXQgY2FuIGJlIGVhc2lseSBwYXJzZWQgYnkgY29tcHV0ZXJzLCBtYWtpbmcgaXQgcG9zc2libGUg Zm9yIExvamJhbiB0byBiZSB1c2VkIGluIHRoZSBmdXR1cmUgZm9yIGNvbXB1dGVyLWh1bWFuIGlu dGVyYWN0aW9uLCBhbmQgcGVyaGFwcyBjb252ZXJzYXRpb24uIExvamJhbidzIHByZWRpY2F0ZSBz dHJ1Y3R1cmUgaXMgc2ltaWxhciB0byBBSSwgc3VnZ2VzdGluZyBpdCBhcyBhIHBvd2VyZnVsIHRv b2wgaW4gQUkgcHJvY2Vzc2luZywgZXNwZWNpYWxseSBpbiB0aGUgc3RvcmluZyBhbmQgcHJvY2Vz c2luZyBvZiBkYXRhIGFib3V0IHRoZSB3b3JsZCBhbmQgcGVvcGxlJ3MgY29uY2VwdGlvbnMgb2Yg aXQuIExpbmd1aXN0cyBhcmUgaW50ZXJlc3RlZCBpbiBMb2piYW4ncyBwb3RlbnRpYWwgYXMgYW4g aW50ZXJtZWRpYXRlIGxhbmd1YWdlIGluIGNvbXB1dGVyLWFpZGVkIHRyYW5zbGF0aW9uIG9mIG5h dHVyYWwgbGFuZ3VhZ2VzLiBPdGhlciBwZW9wbGUgYXJlIGludGVyZXN0ZWQgaW4gTG9qYmFuIGFz IGFuIGludGVybmF0aW9uYWwgbGFuZ3VhZ2UuIAoKCgohIVRoZSBMb2piYW4gZGVzaWdue0FOQU1F KCl9ZGVzaWdue0FOQU1FfQoKCgpMb2piYW4ncyBjaGFyYWN0ZXIgc2V0IHVzZXMgb25seSBzdGFu ZGFyZCBrZXlib2FyZCBrZXlzOyBjYXBpdGFsaXphdGlvbiBpcyByYXJlOyBwdW5jdHVhdGlvbiBp cyBzcG9rZW4gYXMgd29yZHMuIFdyaXR0ZW4gbGFuZ3VhZ2UgY29ycmVzcG9uZHMgZXhhY3RseSB0 byB0aGUgc291bmRzIG9mIHRoZSBzcG9rZW4gbGFuZ3VhZ2U7IHNwZWxsaW5nIGlzIHBob25ldGlj IGFuZCB1bmFtYmlndW91cywgYW5kIHRoZSBmbG93aW5nIHNvdW5kcyBvZiB0aGUgbGFuZ3VhZ2Ug YnJlYWsgZG93biB1bmlxdWVseSBpbnRvIHdvcmRzLiBUaGVzZSBmZWF0dXJlcyBtYWtlIGNvbXB1 dGVyIHNwZWVjaCByZWNvZ25pdGlvbiBhbmQgdHJhbnNjcmlwdGlvbiBtb3JlIHByYWN0aWNhbC4g TGVhcm5pbmcgdG8gd3JpdGUgYW5kIHNwZWxsIExvamJhbiBpcyB0cml2aWFsLgoKCgpMb2piYW4n cyBwcmVkaWNhdGUgZ3JhbW1hciB3YXMgZGVyaXZlZCBmcm9tIHRoYXQgb2YgZm9ybWFsIGxvZ2lj LiBMb2piYW4gc2VudGVuY2VzIGFyZSBzdGF0ZWQgYXMgc2V0cyBvZiBhcmd1bWVudHMgdGllZCB0 b2dldGhlciBieSBwcmVkaWNhdGVzLiBUaGVzZSBwcmVkaWNhdGUgc3RydWN0dXJlcyBjYW4gYmUg dXNlZCB0byBleHByZXNzICdub24tbG9naWNhbCcgdGhvdWdodDsgbG9naWNpYW5zIGFyZSBhYmxl IHRvIGFuYWx5emUgYWxsIG1hbm5lciBvZiB2ZXJiYWwgZXhwcmVzc2lvbnMgYnkgY29udmVydGlu ZyB0aGVtIGludG8gcHJlZGljYXRlIG5vdGF0aW9uLiBCdXQgd2hpbGUgTG9qYmFuIHdpbGwgYWxy ZWFkeSBiZSBleHByZXNzZWQgaW4gYSBwcmVkaWNhdGUtYmFzZWQgc3lzdGVtLCBhbGxvd2luZyBl YXN5IGxvZ2ljYWwgYW5hbHlzaXMsIGl0IGFsc28gY29udGFpbnMgdGhlIHdpZGUgdmFyaWV0eSBv ZiBlbGVtZW50cyBmb3VuZCBpbiBuYXR1cmFsIGxhbmd1YWdlIGZvciBleHByZXNzaW9uIG9mIGF0 dGl0dWRlcywKCmVtb3Rpb25zLCBhbmQgcmljaCBtZXRhcGhvci4KCgoKTG9qYmFuIGhhcyBub25l IG9mIHRoZSBzdGFuZGFyZCBwYXJ0cyBvZiBzcGVlY2guIExvamJhbidzICdwcmVkaWNhdGUgd29y ZHMnIGNhbiBzZXJ2ZSBhcyB0aGUgZXF1aXZhbGVudCBvZiBhIG5vdW4sIHZlcmIsIGFkamVjdGl2 ZSwgb3IgYWR2ZXJiLiBBY3Rpb24gYW5kIGV4aXN0ZW5jZSBhcmUgZXF1YWxseSBhY2Nlc3NpYmxl IHRvIGEgc3BlYWtlcjsgdGhlIGRpc3RpbmN0aW9uIGNhbiBiZSBpZ25vcmVkLCBvciBjYW4gYmUg ZXhwbGljaXRseSBleHByZXNzZWQuIEEgdmFyaWV0eSBvZiBvcGVyYXRvcnMgZGVhbCB3aXRoIGFi c3RyYWN0aW9ucyBzdWNoIGFzIGV2ZW50cywgc3RhdGVzLCBwcm9wZXJ0aWVzLCBhbW91bnRzLCBp ZGVhcywgZXhwZXJpZW5jZSwgYW5kIHRydXRoLCBhbmQgd2l0aCBhdCBsZWFzdCBmb3VyIHByZS1k ZWZpbmVkIHZhcmlldGllcyBvZiBjYXVzYWxpdHkuCgoKCkxvamJhbiBoYXMgbm8gbWFuZGF0b3J5 IGluZmxlY3Rpb25zIGFuZCBkZWNsZW5zaW9ucyBvbiBub3VucywgdmVyYnMsIGFuZCBhZGplY3Rp dmVzLiBOYXR1cmFsIGxhbmd1YWdlcyBldm9sdmVkIHN1Y2ggdmFyaWF0aW9ucyB0byByZWR1Y2Ug YW1iaWd1aXR5IGFzIHRvIGhvdyB3b3JkcyBhcmUgcmVsYXRlZCBpbiBhIHNlbnRlbmNlLiBFdm9s dXRpb25hcnkgZGV2ZWxvcG1lbnQgbWFkZSB0aGVzZSBpbmZsZWN0aW9ucyBhbmQgZGVjbGVuc2lv bnMgaGlnaGx5IGlycmVndWxhciBhbmQgdGh1cyBkaWZmaWN1bHQgdG8gbGVhcm4uIFRoZSBzaW1w bGUgYnV0IGZsZXhpYmxlIHByZWRpY2F0ZSByZWxhdGlvbnNoaXAgZXJhc2VzIGJvdGggdGhlIGly cmVndWxhcml0eSBhbmQgdGhlIGRlY2xlbnNpb25zLgoKCgpUZW5zZSBhbmQgbG9jYXRpb24gbWFy a2VycyAoaW5mbGVjdGlvbnMpLCBhZHZlcmJzLCBhbmQgcHJlcG9zaXRpb25zIGFyZSBjb21iaW5l ZCBpbnRvIG9uZSBwYXJ0IG9mIHNwZWVjaC4gTmV3IHByZXBvc2l0aW9uLWxpa2UgZm9ybXMgY2Fu IGJlIGJ1aWx0IGF0IHdpbGwgZnJvbSBwcmVkaWNhdGVzOyB0aGVzZSBhbGxvdyB0aGUgdXNlciB0 byBleHBhbmQgdXBvbiBhIHNlbnRlbmNlIGJ5IGF0dGFjaGluZyBhbmQgcmVsYXRpbmcgY2xhdXNl cyBub3Qgbm9ybWFsbHkgaW1wbGllZCBpbiB0aGUgbWVhbmluZyBvZiBhIHdvcmQuCgoKCk51bWJl cnMgYW5kIHF1YW50aWZpZXJzIGFyZSBjb25jZXB0dWFsbHkgZXhwYW5kZWQgZnJvbSBuYXR1cmFs IGxhbmd1YWdlcy4gIk1hbnkiLCAiZW5vdWdoIiwgInRvbyBtdWNoIiwgImEgZmV3IiwgYW5kICJh dCBsZWFzdCIgYXJlIGFtb25nIGNvbmNlcHRzIHRoYXQgYXJlIGV4cHJlc3NlZCBhcyBudW1iZXJz IGluIExvamJhbi4gQ29yZSBjb25jZXB0cyBvZiBsb2dpYywgbWF0aGVtYXRpY3MsIGFuZCBzY2ll bmNlIGFyZSBidWlsdCBpbnRvIHRoZSByb290IHZvY2FidWxhcnkuIE9uIHRvcCBvZiB0aGUgY29y ZSBjb25jZXB0cyBvZiBwcmVkaWNhdGUgbG9naWMsIExvamJhbiBhZGRzIGluIG5vbi1sb2dpY2Fs IGNvbnN0cnVjdHMgdGhhdCBkbyBub3QgYWZmZWN0IG9yIG9ic2N1cmUgdGhlIGxvZ2ljYWwgc3Ry dWN0dXJlLCBhbGxvd2luZyBjb21tdW5pY2F0aW9ucyB0aGF0IGFyZSBub3QgYW1lbmFibGUgdG8g bG9naWNhbCBhbmFseXNpcy4gRm9yIGV4YW1wbGUsIExvamJhbiBoYXMgYSBmdWxsIHNldCBvZiBl bW90aW9uYWwgaW5kaWNhdG9ycywgc2ltaWxhciB0byBzdWNoIGVqYWN1bGF0aW9ucyBpbiBFbmds aXNoIGFzICJPaCEiLCAiQWhhISIsIGFuZCAiV2hlZWUhIiwgZXhjZXB0IHRoYXQgZWFjaCBoYXMg YSBzcGVjaWZpYyBtZWFuaW5nLiBTaW1pbGFybHksIExvamJhbiBoYXMgaW5kaWNhdG9ycyBvZiB0 aGUgc3BlYWtlcidzIHJlbGF0aW9uc2hpcCB0byB3aGF0IGlzIHNhaWQsIHNpbWlsYXIgdG8gdGhv c2UgZm91bmQgaW4gc29tZSBBbWVyaWNhbiBJbmRpYW4gbGFuZ3VhZ2VzLgoKCgpMb2piYW4gc3Vw cG9ydHMgbWV0YWxpbmd1aXN0aWMgZGlzY3Vzc2lvbiBhYm91dCB0aGUgc2VudGVuY2VzIGJlaW5n IHNwb2tlbiB3aGlsZSByZW1haW5pbmcgdW5hbWJpZ3VvdXMuIExvamJhbiBhbHNvIHN1cHBvcnRz IGEgJ3RlbnNlJyBsb2dpYyB0aGF0IGFsbG93cyBleHRyZW1lIHNwZWNpZmljaXR5IG9mIHRpbWUg YW5kIHNwYWNlIHJlbGF0aW9uc2hpcHMsIGV2ZW4gdGhvc2UgaW1wbGllZCBieSB0aW1lIHRyYXZl bC4gTG9qYmFuJ3MgZ3JhbW1hciBpcyBkZXNpZ25lZCB0byBzdXBwb3J0IHVuYW1iaWd1b3VzIHN0 YXRlbWVudCBvZiBtYXRoZW1hdGljYWwgZXhwcmVzc2lvbnMgYW5kIHJlbGF0aW9ucyBpbiBhIG1h bm5lciBjb21wYXRpYmxlIGJvdGggd2l0aCBpbnRlcm5hdGlvbmFsIHVzYWdlIGFuZCBMb2piYW4n cyBub24tbWF0aGVtYXRpY2FsIGdyYW1tYXIuCgoKCkxvamJhbiBpcyBtdWNoIHNpbXBsZXIgdGhh biBuYXR1cmFsIGxhbmd1YWdlcy4gSXRzIGdyYW1tYXIgaXMgY29tcGFyYWJsZSBpbiBjb21wbGV4 aXR5IHdpdGggdGhlIGN1cnJlbnQgZ2VuZXJhdGlvbiBvZiBjb21wdXRlciBsYW5ndWFnZXMgKHN1 Y2ggYXMgQURBKS4gTG9qYmFuJ3MgcHJvbnVuY2lhdGlvbiwgc3BlbGxpbmcsIHdvcmQgZm9ybWF0 aW9uLCBhbmQgZ3JhbW1hciBydWxlcyBhcmUgZml4ZWQsIGFuZCB0aGUgbGFuZ3VhZ2UgaXMgZnJl ZSBvZiBleGNlcHRpb25zIHRvIHRoZXNlIHJ1bGVzLgoKCgohIUN1cnJlbnQgc3RhdHVzIGFuZCB1 c2FnZXtBTkFNRSgpfWN1cnJlbnR7QU5BTUV9CgoKClRoZSBsYW5ndWFnZSwgdGhlbiBjYWxsZWQg X19Mb2dsYW5fXywgd2FzIGZpcnN0IGRlc2NyaWJlZCBpbiB0aGUgMTk1MCdzLCBieSBEci4gSmFt ZXMgQ29va2UgQnJvd24uIFRoZSAxOTYwIFNjaWVudGlmaWMgQW1lcmljYW4gYXJ0aWNsZSAiTG9n bGFuIiB3YXMgaGlzIGNhbGwgZm9yIGFzc2lzdGFuY2UgaW4gZGV2ZWxvcGluZyB0aGUgbGFuZ3Vh Z2UuIEEgcmV2b2x1dGlvbiBpbiBsaW5ndWlzdGljcyB3YXMgc2ltdWx0YW5lb3VzbHkgdGFraW5n IHBsYWNlOyB0aGUgcmVzdWx0aW5nIGluY3JlYXNlIGluIGtub3dsZWRnZSBvZiB0aGUgbmF0dXJl IG9mIGxhbmd1YWdlIGNoYW5nZWQgdGhlIHJlcXVpcmVtZW50cyBmb3IgTG9nbGFuLiBUaGUgZmly c3Qgd2lkZWx5IGRpc3RyaWJ1dGVkIExvZ2xhbiBkaWN0aW9uYXJ5IGFuZCBsYW5ndWFnZSBkZXNj cmlwdGlvbiBkaWQgbm90IGFwcGVhciB1bnRpbCAxOTc1OyB0aGlzIGRlc2NyaXB0aW9uIHdhcyBp bmNvbXBsZXRlLCBhbmQgY29udGludWVkIGRldmVsb3BtZW50IHdvcmsgZGlzY291cmFnZWQgbGVh cm5pbmcgdGhlIGxhbmd1YWdlLiBDb21wdXRlcnMgY2F1Z2h0IHVwIHdpdGggTG9nbGFuIGp1c3Qg dGhlbiwgbWFraW5nIGl0IHBvc3NpYmxlIHRvIHJlZmluZSB0aGUgZ3JhbW1hciwgZWxpbWluYXRl IGFtYmlndWl0eSBhbmQgbWF0aGVtYXRpY2FsbHkgcHJvdmUgaXRzIGFic2VuY2U7IHRoaXMgd29y ayBoYXMganVzdCBiZWVuIGNvbXBsZXRlZC4gRm9yIG92ZXIgMzUgeWVhcnMsIHRoaXMgd29yayBo YXMgYmVlbiBwZXJmb3JtZWQgYnkgdm9sdW50ZWVycywgYW5kIHdpdGhvdXQgZmluYW5jaWFsIHN1 cHBvcnQuIE5vdywgYWZ0ZXIgc2V2ZXJhbCB2ZXJzaW9ucyBvZiB0aGUgbGFuZ3VhZ2UsIHBlb3Bs ZSBhcmUgbGVhcm5pbmcgYW5kIHVzaW5nIHRoZSBjdXJyZW50IHZlcnNpb24sIHdoaWNoIGlzIHRo ZSBmaXJzdCBjYWxsZWQgX19Mb2piYW5fXyAoZnJvbSB0aGUgcm9vdHMgImxvZ2ljYWwtbGFuZ3Vh Z2UiIGluIExvamJhbikuCgoKClRoaXMgdmVyc2lvbiBpcyB0aGUgZmlyc3QgdmVyc2lvbiB3aXRo IGEgc3RhYmxlIHZvY2FidWxhcnksIGFuZCB0aGUgZmlyc3QgdG8gaGF2ZSBhIHN0YWJsZSBhbmQg Y29tcGxldGVseSBkZWZpbmVkIGdyYW1tYXIgKHRoZSBncmFtbWFyIG9mIG1hdGhlbWF0aWNhbCBl eHByZXNzaW9ucywgZm9yIGV4YW1wbGUsIHdhcyBub3QgZGV2ZWxvcGVkIHVudGlsIDE5OTApLiBU aGUgYmFzaWMgTG9qYmFuIHZvY2FidWxhcnkgd2FzIGJhc2VsaW5lZCAoc3RhYmlsaXplZCBhZ2Fp bnN0IGNoYW5nZSkgaW4gdGhlIGxhc3QgaGFsZiBvZiAxOTg4LCBhbmQgdGhlIGdyYW1tYXIgc2lt aWxhcmx5IHN0YWJpbGl6ZWQgaW4gbGF0ZS0xOTkwLCBhZnRlciBjb21wbGV0aW9uIG9mIHRoZSBm aXJzdCBMb2piYW4gY291cnNlcywgYWN0dWFsIHVzYWdlIG9mIHRoZSBsYW5ndWFnZSwgYW5kIHNl dmVyYWwgaXRlcmF0aW9ucyBvZiBjYXJlZnVsIGFuYWx5c2lzLiBUaGUgZnVsbCBsYW5ndWFnZSBk ZXNpZ24gd2FzIGJhc2VsaW5lZCBpbiAxOTk3LCBhbmQgbm8gY2hhbmdlcyB3aWxsIGV2ZW4gYmUg Y29uc2lkZXJlZCB1bnRpbCA1IHllYXJzIGFmdGVyIHRoZSBzZXQgb2YgYm9va3MgZGVzY3JpYmlu ZyB0aGUgbGFuZ3VhZ2UgaXMgcHVibGlzaGVkICh0aHVzIGF0IGxlYXN0IDIwMDUpLiBUaHVzLCB3 aGlsZSB0aGUgbGFuZ3VhZ2Ugd2FzIGZpcnN0IHN0YXJ0ZWQgMzUgeWVhcnMgYWdvLCBMb2dsYW4v TG9qYmFuIGlzIGEgdmVyeSBuZXcgbGFuZ3VhZ2UuCgoKClRvIGVuc3VyZSBMb2piYW4gcmVtYWlu cyBzdGFibGUgd2hpbGUgcGVvcGxlIGxlYXJuIGl0LCB0aGUgbGFuZ3VhZ2UgZGVmaW5pdGlvbiBp cyBwcmVzY3JpYmVkIGFuZCBjbG9zZWx5IGNvbnRyb2xsZWQuIFdoZW4gdGhlIG51bWJlciBvZiBz cGVha2VycyBoYXMgZ3Jvd24gc2lnbmlmaWNhbnRseSwgYW5kIGEgTG9qYmFuIGxpdGVyYXR1cmUg aGFzIGRldmVsb3BlZCwgTG9qYmFuIHdpbGwgYmUgdHJlYXRlZCBsaWtlIGEgbmF0dXJhbCBsYW5n dWFnZSBhbmQgYWxsb3dlZCB0byBncm93IGFuZCBmbG91cmlzaCB3aXRob3V0IGNvbnN0cmFpbnQs IGFzIGRvIG90aGVyIG5hdHVyYWwgbGFuZ3VhZ2VzLgoKCgpPcmlnaW5hbCB0ZXh0IGFuZCBwb2V0 cnkgaGF2ZSBiZWVuIHdyaXR0ZW4gaW4gTG9qYmFuLCBhbmQgc29tZSBoYXMgYmVlbiB0cmFuc2xh dGVkIGludG8gdGhlIGxhbmd1YWdlLiBMb2piYW4ncyBwb3dlcmZ1bCBtZXRhcGhvciBzdHJ1Y3R1 cmUgYWxsb3dzIGJ1aWxkaW5nIG5ldyBjb25jZXB0cyBpbnRvIHdvcmRzIGVhc2lseSwgYXMgbmVl ZGVkLiBBIExvamJhbiBzcGVha2VyIGRvZXNuJ3QgbmVlZCBhIGRpY3Rpb25hcnkgdG8gdXNlIGFu ZCB1bmRlcnN0YW5kIG1pbGxpb25zIG9mIHdvcmRzIHRoYXQgY2FuIHBvdGVudGlhbGx5IGV4aXN0 IGluIHRoZSBsYW5ndWFnZS4KCgoKQXMgb2YgMTk5NywgdGhlcmUgYXJlIGFib3V0IDEyMDAgcGVv cGxlIG9uIG91ciBtYWlsaW5nIGxpc3RzLCBpbmNsdWRpbmcgYWJvdXQgMzAwIGxpc3RlZCBhcyBh Y3RpdmVseSB0cnlpbmcgdG8gbGVhcm4gdGhlIGxhbmd1YWdlLiBPdmVyIDEwMCBvZiB0aGVzZSBo YXZlIGRlbW9uc3RyYXRlZCBjb21tdW5pY2F0aXZlIGFiaWxpdHkgdG8gdXNlIHRoZSBsYW5ndWFn ZSBpbiBjb252ZXJzYXRpb24sIHRyYW5zbGF0aW9uLCBvciBvcmlnaW5hbCB3cml0aW5nLCBhbmQg b25lIHBlcnNvbiBpcyBzdWZmaWNpZW50bHkgc2tpbGxlZCB0byBiZSBjb25zaWRlcmVkIGZsdWVu dCBpbiB0aGUgbGFuZ3VhZ2UuIFNldmVyYWwgb2YgdGhlc2UgcmVndWxhcmx5IGdldCB0b2dldGhl ciBpbiB0aGUgV2FzaGluZ3RvbiBEQyBhcmVhIGZvciBjb252ZXJzYXRpb24sIGFuZCBhbiBhbm51 YWwgbWVldGluZy9taW5pLWNvbnZlbnRpb24gaXMgaGVsZCB0aGVyZSBldmVyeSBzdW1tZXIuIFRo aXMgcHJvZ3Jlc3MgaXMgcmVtYXJrYWJsZSBzaW5jZSB0aGVyZSBpcyBubyBkaWN0aW9uYXJ5IGZv ciB0aGUgY3VycmVudCBsYW5ndWFnZSwgYW5kIGEgdGV4dGJvb2sgZXhpc3RzIG9ubHkgaW4gcGFy dGlhbCBkcmFmdCBmb3JtOyBwZW9wbGUgdXNlIHRoZSBsYW5ndWFnZSByZWZlcmVuY2UgbWFudWFs IGFzIGEgbGVhcm5pbmcgc291cmNlLCBhbmQgd2UndmUgZXZvbHZlZCBtZXRob2RzIG9mIHRlYWNo aW5nIHRoZSBsYW5ndWFnZSBhdCBhIGRpc3RhbmNlIHRoYXQgb3ZlcmNvbWUgdGhpcyBoYW5kaWNh cC4KCgoKISFMb2piYW4ncyB1bmFtYmlndWl0eXtBTkFNRSgpfXVuYW1iaWd1aXR5e0FOQU1FfQoK CgpMb2piYW4gaGFzIGFuIHVuYW1iaWd1b3VzIGdyYW1tYXIgKHByb3ZlbiBieSBjb21wdXRlciBh bmFseXNpcyBvZiBhIGZvcm1hbCBncmFtbWFyIHdpdGggWUFDQyksIHByb251bmNpYXRpb24sIGFu ZCBtb3JwaG9sb2d5ICh3b3JkIGZvcm1zKS4gVGhlIHBlcnNvbiB3aG8gcmVhZHMgb3IgaGVhcnMg YSBMb2piYW4gc2VudGVuY2UgaXMgbmV2ZXIgaW4gZG91YnQgYXMgdG8gd2hhdCB3b3JkcyBpdCBj b250YWlucyBvciB3aGF0IHJvbGVzIHRoZXkgcGxheSBpbiB0aGUgc2VudGVuY2UuIExvamJhbiBo YXMgbm8gd29yZHMgdGhhdCBzb3VuZCBhbGlrZSBidXQgaGF2ZSBkaWZmZXJlbnQgbWVhbmluZ3Mg KGxpa2UgImhlcmQiIGFuZCAiaGVhcmQiKSwgdGhhdCBoYXZlIG11bHRpcGxlIHVucmVsYXRlZCBt ZWFuaW5ncyAoInNldCIpLCBvciB0aGF0IGRpZmZlciBvbmx5IGluIHB1bmN0dWF0aW9uIGJ1dCBu b3QgaW4gc291bmQgKGxpa2UgdGhlIGFib21pbmFibGUgIml0cyIgYW5kICJpdCdzIikuIFRoZXJl IGlzIG5ldmVyIGFueSBkb3VidCBhYm91dCB3aGVyZSB3b3JkcyBiZWdpbiBhbmQgZW5kICgiY2Fy Z28gc2hpcG1lbnQiIGNhbiBiZSBoZWFyZCBhcyAyLCAzLCBvciA0IHdvcmRzKS4gVGhlIGZ1bmN0 aW9uIG9mIGVhY2ggd29yZCBpcyBjbGVhcjsgdGhlcmUgaXMgbm90aGluZyBsaWtlIHRoZSBFbmds aXNoICJUaW1lIGZsaWVzIGxpa2UgYW4gYXJyb3cuIiwgaW4gd2hpY2ggYW55IG9mIHRoZSBmaXJz dCB0aHJlZSB3b3JkcyBjb3VsZCBiZSB0aGUgdmVyYi4gUHJlY2lzaW9uIGluIG5vIHdheSBjb25m aW5lcyB0aGUgbWVhbmluZyBvZiBhIExvamJhbiBzZW50ZW5jZS4gSXQgaXMgcG9zc2libGUgdG8g c3BlYWsgbm9uc2Vuc2UsIHRvIHRlbGwgYSBsaWUsIG9yIHRvIGJlIG1pc3VuZGVyc3Rvb2QuIFlv dSBjYW4gYmUgdmVyeSBzcGVjaWZpYywgb3IgeW91IGNhbiBiZSBpbnRlbnRpb25hbGx5IHZhZ3Vl LiBZb3VyIGhlYXJlciBtYXkgbm90IHVuZGVyc3RhbmQgd2hhdCB5b3UgbWVhbnQsIGJ1dCB3aWxs IGFsd2F5cyB1bmRlcnN0YW5kIHdoYXQgeW91IHNhaWQuCgoKCkxvamJhbiBpcyBOT1QgZW50aXJl bHkgdW5hbWJpZ3VvdXM7IGh1bWFuIGJlaW5ncyBvY2Nhc2lvbmFsbHkgZGVzaXJlIHRvIGJlIGFt YmlndW91cyBpbiB0aGVpciBleHByZXNzaW9ucy4gSW4gTG9qYmFuLCB0aGlzIGFtYmlndWl0eSBp cyBsaW1pdGVkIHRvIHNlbWFudGljcywgbWV0YXBob3IsIGFuZCBpbnRlbnRpb25hbCBvbWlzc2lv biBvZiBpbmZvcm1hdGlvbiAoZWxsaXBzaXMpLiBTZW1hbnRpYyBhbWJpZ3VpdHkgaW4gbGFuZ3Vh Z2UgcmVzdWx0cyBiZWNhdXNlIHdvcmRzIGluIG5hdHVyYWwgbGFuZ3VhZ2VzIHJlcHJlc2VudCBm YW1pbGllcyBvZiBjb25jZXB0cyByYXRoZXIgdGhhbiBpbmRpdmlkdWFsIG1lYW5pbmdzLCBvZnRl biB3aXRoIG9ubHkgd2VhayBzZW1hbnRpYyByZWxhdGlvbnNoaXBzIHRvIGVhY2ggb3RoZXIuIElu IGFkZGl0aW9uLCBlYWNoIGluZGl2aWR1YWwncyBwZXJzb25hbCBleHBlcmllbmNlcyBwcm92aWRl IGVtb3Rpb25hbCBjb25ub3RhdGlvbnMgdG8gd29yZHMuIEJ5IHByb3ZpZGluZyBhIGZyZXNoLCBj dWx0dXJhbGx5LW5ldXRyYWwgc3RhcnQsIExvamJhbiBhdHRlbXB0cyB0byBtaW5pbWl6ZSB0aGUg dHJhbnNmZXJlbmNlIG9mIHRoZXNlIGFzc29jaWF0aW9ucyBhcyBwZW9wbGUgbGVhcm4gdGhlIGxh bmd1YWdlLiBCeSBpbnRlbnRpb24sIG1vc3QgTG9qYmFuIHdvcmRzIGRvIG5vdCBjbG9zZWx5IHJl c2VtYmxlIGNvcnJlc3BvbmRpbmcgd29yZHMgaW4gb3RoZXIgbGFuZ3VhZ2VzOyB0aGUgZGlmZmVy ZW5jZXMgYWlkIGluIG1ha2luZyB0aGlzIGZyZXNoIHN0YXJ0IHBvc3NpYmxlLiBMb2piYW4ncyBw b3dlcmZ1bCBtZXRhcGhvciBhbmQgd29yZC1idWlsZGluZyBmZWF0dXJlcyBtYWtlIGl0IGVhc3kg dG8gbWFrZSBmaW5lIGRpc3RpbmN0aW9ucyBiZXR3ZWVuIGNvbmNlcHRzLCBkaXNjb3VyYWdpbmcg aW5kaXZpZHVhbCB3b3JkcyBmcm9tIGhhdmluZyBmYW1pbGllcyBvZiBtZWFuaW5ncy4gTG9qYmFu IG1ldGFwaG9ycyBhcmUgdGhlbXNlbHZlcyBhbWJpZ3VvdXMsIHNwZWNpZnlpbmcgYSByZWxhdGlv bnNoaXAgYmV0d2VlbiBjb25jZXB0cywgYnV0IG5vdCB3aGF0IHRoZSByZWxhdGlvbnNoaXAgaXMu IFRoYXQgcmVsYXRpb25zaGlwIGNhbiBiZSBtYWRlIGV4cGxpY2l0IHVzaW5nIHVuYW1iaWd1b3Vz IGxvZ2ljYWwgY29uc3RydWN0cyBpZiBuZWNlc3NhcnksIG9yIGNhbiBiZSBsZWZ0IHZhZ3VlIGFz IHRoZSBzcGVha2VyICh1c3VhbGx5KSBkZXNpcmVzLiBTaW1pbGFybHksIHBvcnRpb25zIG9mIHRo ZSBsb2dpY2FsIHN0cnVjdHVyZSBvZiBhIExvamJhbiBleHByZXNzaW9uIGNhbiBiZSBvbWl0dGVk LCBncmVhdGx5IHNpbXBsaWZ5aW5nIHRoZSBleHByZXNzaW9uIHdoaWxlIGNhdXNpbmcgc29tZSBh bWJpZ3VpdHkuIFVubGlrZSBpbiB0aGUgbmF0dXJhbCBsYW5ndWFnZXMsIHRob3VnaCwgdGhpcyBh bWJpZ3VpdHkgaXMgcmVhZGlseSBpZGVudGlmaWVkIGJ5IGEgcmVhZGVyIG9yIGxpc3RlbmVyLiBU aHVzIGFsbCBhbWJpZ3VpdHkgaW4gTG9qYmFuIGlzIGNvbnN0cmFpbmVkIGFuZCByZWNvZ25pemFi bGUsIGFuZCBjYW4gYmUgY2xhcmlmaWVkIGFzIG5lY2Vzc2FyeSBieSBmdXJ0aGVyIGludGVyYWN0 aW9uLgoKCgohIUxvamJhbiBhbmQgU2FwaXItV2hvcmZ7QU5BTUUoKX1zYXBpcndob3Jme0FOQU1F fQoKCgpUaGlzIGh5cG90aGVzaXMgc3RhdGVzIHRoYXQgdGhlIHN0cnVjdHVyZSBvZiBhIGxhbmd1 YWdlIGNvbnN0cmFpbnMgdGhvdWdodCBpbiB0aGF0IGxhbmd1YWdlLCBhbmQgY29uc3RyYWlucyBh bmQgaW5mbHVlbmNlcyB0aGUgY3VsdHVyZSB0aGF0IHVzZXMgaXQuIEluIG90aGVyIHdvcmRzLCBp ZiBjb25jZXB0cyBvciBzdHJ1Y3R1cmFsIHBhdHRlcm5zIGFyZSBkaWZmaWN1bHQgdG8gZXhwcmVz cyBpbiBhIGxhbmd1YWdlLCB0aGUgc29jaWV0eSBhbmQgY3VsdHVyZSB1c2luZyB0aGUgbGFuZ3Vh Z2Ugd2lsbCB0ZW5kIHRvIGF2b2lkIHRoZW0uIEluZGl2aWR1YWxzIG1pZ2h0IG92ZXJjb21lIHRo aXMgYmFycmllciwgYnV0IHRoZSBzb2NpZXR5IGFzIGEgd2hvbGUgd2lsbCBub3QuIFRoZSBTYXBp ci1XaG9yZiBoeXBvdGhlc2lzIGlzIGltcG9ydGFudCwgYW5kIGNvbnRyb3ZlcnNpYWw7IGl0IGNh biBiZSB1c2VkIGFzIGEgc29jaW9sb2dpY2FsIGFyZ3VtZW50IHRvIGp1c3RpZnkgb3IgdG8gb3Bw b3NlIHJhY2lzbSBhbmQgc2V4aXNtIChhbmQgYSB2YXJpZXR5IG9mIG90aGVyICdpc21zJykuIEZv ciBleGFtcGxlLCB0aGUgYXNzZXJ0aW9uIHRoYXQgc2luY2UgZ2VuZGVybGVzcyBleHByZXNzaW9u cyBpbiBFbmdsaXNoIHVzZSAnbWFzY3VsaW5lJyBmb3JtcywgRW5nbGlzaCBpcyAnc2V4aXN0Jywg cHJlc3VtZXMgdGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgaXMgdHJ1ZS4gVW5kZXJzdGFuZGlu ZyB0aGUgcG90ZW50aWFsIGZvciBTYXBpci1XaG9yZiBlZmZlY3RzIGNvdWxkIGxlYWQgdG8gYmV0 dGVyIGludGVyLWN1bHR1cmFsIHVuZGVyc3RhbmRpbmcsIHByb21vdGluZyBjb21tdW5pY2F0aW9u IGFuZCBwZWFjZS4KCgoKSXQgaXMga25vd24gdGhhdCBwZW9wbGUncyBpZGVhcyBhbmQgdGhvdWdo dCBjaGFuZ2Ugc29tZXdoYXQgd2hlbiB0aGV5IGxlYXJuIGEgZm9yZWlnbiBsYW5ndWFnZS4gSXQg aXMgbm90IGtub3duIHdoZXRoZXIgdGhpcyBjaGFuZ2UgaXMgZHVlIHRvIGV4cG9zdXJlIHRvIGEg ZGlmZmVyZW50IGN1bHR1cmUgb3IgZXZlbiBqdXN0IGdldHRpbmcgb3V0c2lkZSBvZiBvbmVzIG93 biBjdWx0dXJlLiBJdCBpcyBhbHNvIG5vdCBrbm93biBob3cgbXVjaCAoaWYgYW55KSBvZiB0aGUg Y2hhbmdlIGlzIGR1ZSB0byB0aGUgbmF0dXJlIG9mIHRoZSBsYW5ndWFnZSwgYXMgb3Bwb3NlZCB0 byB0aGUgY3VsdHVyYWwgYXNzb2NpYXRpb25zLgoKCgpUaGUgU2FwaXItV2hvcmYgaHlwb3RoZXNp cyB3YXMgaW1wb3J0YW50IGluIGxpbmd1aXN0aWNzIGluIHRoZSAxOTUwJ3MsIGJ1dCBpbnRlcmVz dCBmZWxsIG9mZiBwYXJ0aWFsbHkgYmVjYXVzZSBwcm9wZXJseSB0ZXN0aW5nIGl0IHdhcyBzbyBk aWZmaWN1bHQuIExvZ2xhbi9Mb2piYW4gaXMgYSBuZXcgYXBwcm9hY2ggdG8gc3VjaCB0ZXN0aW5n LiBPYnZpb3VzbHksIGlmIGEgY3VsdHVyZS1pbmRlcGVuZGVudCBsYW5ndWFnZSBjb3VsZCBiZSB0 YXVnaHQgdG8gZ3JvdXBzIG9mIHBlb3BsZSwgdGhlIGVmZmVjdHMgb2YgbGFuZ3VhZ2UgY291bGQg bW9yZSBlYXNpbHkgYmUgc2VwYXJhdGVkIGZyb20gdGhvc2Ugb2YgY3VsdHVyZS4KCgoKVW5pcXVl IGZlYXR1cmVzIG9mIExvamJhbiByZW1vdmUgY29uc3RyYWludHMgb24gbGFuZ3VhZ2UgaW4gdGhl IGFyZWFzIG9mIGxvZ2ljLCBhbWJpZ3VpdHksIGFuZCBleHByZXNzaXZlIHBvd2VyLCBvcGVuaW5n IHVwIGFyZWFzIG9mIHRob3VnaHQgdGhhdCBoYXZlIG5vdCBiZWVuIGVhc2lseSBhY2Nlc3NpYmxl IGJ5IGh1bWFuIGxhbmd1YWdlIGJlZm9yZS4gTWVhbndoaWxlLCB0aGUgZm9ybWFsIHJpZ2lkaXR5 IG9mIHRoZSBsYW5ndWFnZSBkZWZpbml0aW9uIGFsbG93cyBzcGVha2VycyB0byBjYXJlZnVsbHkg Y29udHJvbCB0aGVpciBleHByZXNzaW9ucyAoYW5kIHBlcmhhcHMgdGhlcmVmb3JlIHRoZWlyIHRo b3VnaHQgcHJvY2Vzc2VzKS4gVGhpcyBnaXZlcyBzb21lIG1lYXN1cmUgb2YgcHJlZGljdGl2ZSBw b3dlciB0aGF0IGNhbiBiZSB1c2VkIGluIGRlc2lnbmluZyBhbmQgcHJlcGFyaW5nIGZvciBhY3R1 YWwgU2FwaXItV2hvcmYgZXhwZXJpbWVudHMuCgoKCk9uZSBvZiB0aGUgcHJlcmVxdWlzaXRlcyBv ZiBhIFNhcGlyLVdob3JmIGV4cGVyaW1lbnQgaXMgYW4gaW50ZXJuYXRpb25hbCBib2R5IG9mIExv amJhbiBzcGVha2Vycy4gV2UgbmVlZCB0byBiZSBhYmxlIHRvIHRlYWNoIExvamJhbiB0byBzdWJq ZWN0cyB3aG8ga25vdyBvbmx5IHRoZWlyIG5hdGl2ZSAobm9uLUVuZ2xpc2gpIHRvbmd1ZSwgYW5k IHdlIG5lZWQgdG8ga25vdyBpbiBhZHZhbmNlIHRoZSBkaWZmaWN1bHRpZXMgdGhhdCBwZW9wbGUg ZnJvbSBlYWNoIGxhbmd1YWdlIGFuZCBjdWx0dXJlIHdpbGwgaGF2ZSBpbiBsZWFybmluZyBMb2pi YW4uIFRodXMsIHRoZSBMb2piYW4gY29tbXVuaXR5IGlzIGFjdGl2ZWx5IHJlYWNoaW5nIG91dCB0 byBzcGVha2VycyBvZiBsYW5ndWFnZXMgb3RoZXIgdGhhbiBFbmdsaXNoLgoKCgpMb2piYW4gZG9l cyBub3QgbmVlZCB0byBwcm92ZSBvciBkaXNwcm92ZSB0aGUgU2FwaXItV2hvcmYgaHlwb3RoZXNp cyBpbiBvcmRlciB0byBiZSBzdWNjZXNzZnVsLiBIb3dldmVyLCBpZiBldmlkZW5jZSBpcyBwcm9k dWNlZCBzdXBwb3J0aW5nIHRoZSBTYXBpci1XaG9yZiBlZmZlY3QsIExvamJhbiB3aWxsIGxpa2Vs eSBiZSBwZXJjZWl2ZWQgYXMgYW4gb3V0c3RhbmRpbmcgdG9vbCBvZiBhbmFseXRpY2FsIGFuZCBj cmVhdGl2ZSB0aG91Z2h0LiAoKFNhcGlyLVdob3JmIEh5cG90aGVzaXN8TW9yZS4uLikpCgoKCiEh T3RoZXIgbGluZ3Vpc3RpYyBhcHBsaWNhdGlvbnN7QU5BTUUoKX1vdGhlcmxpbmd7QU5BTUV9CgoK CkFuIGFydGlmaWNpYWwgbGFuZ3VhZ2UgKEFMKSBpcyBhIHNpbXBsZSBtb2RlbCBvZiBhIG5hdHVy YWwgbGFuZ3VhZ2UuIEl0IGlzIHVzZWQgZm9yIGNvbW11bmljYXRpb24gbGlrZSBuYXR1cmFsIGxh bmd1YWdlcywgc2ltcGxlciwgbW9yZSByZWd1bGFyLCBhbmQgcmVsYXRpdmVseSB1bmNvbnRhbWlu YXRlZCBieSBjdWx0dXJlIGVmZmVjdHMuIFVubGlrZSBtb3N0IG5hdHVyYWwgbGFuZ3VhZ2VzLCBh biBBTCBoYXMgbm90IGV2b2x2ZWQgdGhyb3VnaCBuYXR1cmFsIHByb2Nlc3NlcyBvZiBpbnRlcm5h bCBjaGFuZ2Ugb3IgY29udGFjdCB3aXRoIG90aGVyIGxhbmd1YWdlcy4gSW4gYWRkaXRpb24sIHRv IHRoZSBleHRlbnQgdG8gd2hpY2ggZGV0YWlscyBvZiBhbiBBTCBpcyBwcmUtZGVmaW5lZCwgdGhl IGludGVybmFsIHN0cnVjdHVyZSBvZiB0aGUgbGFuZ3VhZ2UgaXMgZmFyIGJldHRlciBrbm93biB0 aGFuIHRoYXQgb2YgYW55IG5hdHVyYWwgbGFuZ3VhZ2UuCgoKClN1Y2ggYSBwcmUtZGVmaW5pdGlv biwgYSBsYW5ndWFnZSAncHJlc2NyaXB0aW9uJywgbWFrZXMgYW4gQUwgYSB1bmlxdWUgdG9vbCBm b3Igc3R1ZHlpbmcgdGhlIG5hdHVyZSBvZiBsYW5ndWFnZS4gQXMgcGVvcGxlIGxlYXJuIHRoZSBs YW5ndWFnZSwgdGhlIHdheSB0aGV5ICdhY3F1aXJlJyB1bmRlcnN0YW5kaW5nIG9mIHRoYXQgcHJl c2NyaXB0aW9uIGNhbiB0ZWxsIHNjaWVudGlzdHMgaG93ICduYXR1cmFsJyB0aGUgcHJlc2NyaWJl ZCBmb3JtcyBhcmUuIEFjdHVhbCB1c2FnZSBvZiB0aGUgbGFuZ3VhZ2UgY2FuIGJlIGNvbXBhcmVk IHRvIHRoZSBwcmVzY3JpcHRpb24gcHJvdmlkaW5nIHF1YW50aXRhdGl2ZSBkYXRhIG9uIHNwZWNp ZmljIHBhdHRlcm5zIG9mIHVzYWdlLiBBcyB0aGUgbGFuZ3VhZ2UgZXZvbHZlcyBmcm9tIGl0cyBy ZWxhdGl2ZWx5IHByaXN0aW5lIGluaXRpYWwgc3RhdGUsIGl0IG1heSBkZXZpYXRlIGZyb20gaXRz IHByZXNjcmlwdGlvbi4gU3VjaCBkZXZpYXRpb25zIHdpbGwgYmV0dGVyIGluZm9ybSByZXNlYXJj aGVycyBhcyB0byB0aGUgcHJvcGVydGllcyBvZiBhICduYXR1cmFsJyBsYW5ndWFnZS4gVGhlIHBy b2Nlc3Mgb2YgbGFuZ3VhZ2UgY2hhbmdlIGl0c2VsZiB3aWxsIGJlIG9wZW4gdG8gaW52ZXN0aWdh dGlvbiBpbiBhIHdheSBuZXZlciBiZWZvcmUgcG9zc2libGUuIEZpbmFsbHksIHRoZSBleGlzdGVu Y2Ugb2YgYSByZWxhdGl2ZWx5IGNvbXBsZXRlIGxhbmd1YWdlIHByZXNjcmlwdGlvbiBhdCB0aGUg YmlydGggb2YgdGhlIGxhbmd1YWdlIG1lYW5zIHRoYXQgYSAnZGVzY3JpcHRpb24nIG9mIGFjdHVh bCB1c2FnZSBhZnRlciB0aGF0IGluaXRpYWwgc3RhdGUgY2FuIGJlIG1vcmUgc2ltcGx5IGNyZWF0 ZWQsIG1haW50YWluZWQsIGFuZCBzdHVkaWVkLgoKCgpMb2piYW4gaXMgdW5kb3VidGVkbHkgdGhl IG1vc3QgY2FyZWZ1bGx5IGRlc2lnbmVkIGFuZCBkZWZpbmVkIEFMIGV2ZXIgY3JlYXRlZC4gQWxs IGFzcGVjdHMgb2YgaXRzIGRlc2lnbiBoYXZlIGJlZW4gY2FyZWZ1bGx5IGVuZ2luZWVyZWQgYnkg c2V2ZXJhbCBwZW9wbGUgZW5jb21wYXNzaW5nIGV4cGVydGlzZSBpbiBhIHZhcmlldHkgb2YgZGlz Y2lwbGluZXMsIGluY2x1ZGluZyBsaW5ndWlzdGljcy4gVGhlIGxhbmd1YWdlIHByZXNjcmlwdGlv biBpcyBzaW1pbGFybHkgdGhlIG1vc3QgY29tcGxldGUgb2YgYW55IGxhbmd1YWdlLiBBcyBzdWNo LCBpdCBzZXJ2ZXMgYXMgYSB1bmlxdWUgYmFzaXMgZm9yIHRoZSBzdHVkeSBvZiBsYW5ndWFnZSB1 c2FnZSBhbmQgbGFuZ3VhZ2UgY2hhbmdlLgoKCgpBIG5ldyBsYW5ndWFnZSBsaWtlIExvamJhbiwg d2l0aCBubyBuYXRpdmUgc3BlYWtlcnMsIGlzIGEgJ3BpZGdpbicuIEFzIHRoZSBsYW5ndWFnZSBl dm9sdmVzLCBuYXRpdmUgc3BlYWtlcnMgb2Ygb3RoZXIgbGFuZ3VhZ2VzIHdpbGwgbGVhcm4gaXQs IGFuZCB3aWxsIGJyaW5nIGludG8gdGhlaXIgTG9qYmFuIHVzYWdlIHRoZSBwZXJzcGVjdGl2ZSBh bmQgcGF0dGVybnMgb2YgdGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBUaGlzIGludGVyYWN0aW9uIHBy b2Nlc3MsIGNhbGxlZCAnY3Jlb2xpemF0aW9uJywgYWZmZWN0cyBhbGwgbGFuZ3VhZ2VzLCBhbmQg bWF5IGJlIHRoZSBwcmluY2lwbGUgY2F1c2Ugb2YgbGFuZ3VhZ2UgY2hhbmdlLiBBcyBMb2piYW4g aXMgbGVhcm5lZCBieSBzcGVha2VycyBvZiBhIHZhcmlldHkgb2YgbmF0dXJhbCBsYW5ndWFnZXMs IHRoaXMgcHJvY2VzcyBjYW4gYmUgc3R1ZGllZCBkaXJlY3RseSBpbiBhIHdheSBuZXZlciBiZWZv cmUgcG9zc2libGUsIHdpdGggdGhlIGxhbmd1YWdlIHByZXNjcmlwdGlvbiBzZXJ2aW5nIGFzIGEg c3RhbmRhcmQgYnkgd2hpY2ggZGV2aWF0aW9ucyBhc3NvY2lhdGVkIHdpdGggc3BlYWtlciBvcmln aW4sIGFuZCBldm9sdXRpb24gb2YgdXNhZ2UsIGNhbiBiZSBtZWFzdXJlZCBhbmQgZGVzY3JpYmVk IGluIGRldGFpbC4KCgoKQW4gQUwgbGlrZSBMb2piYW4gaGFzIG5laXRoZXIgYW4gYXNzb2NpYXRl ZCAnbmF0aXZlIGFjY2VudCcgbm9yIGEgY3VsdHVyZSBiYXNlLiBCZWluZyBtdWNoIHNpbXBsZXIg YW5kIG1vcmUgcmVndWxhciB0aGFuIGEgbmF0dXJhbCBsYW5ndWFnZSwgYW4gYWR1bHQgc3BlYWtl ciBzaG91bGQgYWNxdWlyZSBhIGZsdWVuY3kgc2VsZG9tIGFjaGlldmVkIHdoZW4gc3R1ZHlpbmcg YSBuYXR1cmFsIGxhbmd1YWdlLCBhbmQgaW4gYSByZWxhdGl2ZWx5IHNob3J0IHRpbWUuIExvamJh biB0aHVzIG1ha2VzIHBvc3NpYmxlIHJlbGF0aXZlbHkgc2hvcnQtdGVybSBzdHVkaWVzIG9mIGxh bmd1YWdlIGxlYXJuaW5nIGFuZCBsYW5ndWFnZSBjaGFuZ2UuIFByb2Nlc3NlcyB0aGF0IHRha2Ug Z2VuZXJhdGlvbnMgaW4gbmF0dXJhbCBsYW5ndWFnZXMgbWF5IGJlIG9ic2VydmVkIGluIGEgZmV3 IHllYXJzIGluIExvamJhbiBzcGVha2Vycy4KCgoKV2l0aCB0aGUgbGVhcm5pbmcgb2Ygb3RoZXIg bGFuZ3VhZ2VzIGFjcXVpcmluZyBjcml0aWNhbCBpbXBvcnRhbmNlIGluIHRvZGF5J3MgaW50ZXJu YXRpb25hbCBlY29ub215LCBMb2piYW4gcHJvdmlkZXMgYSB0b29sIGZvciByZXNlYXJjaCBpbiBs YW5ndWFnZSBhY3F1aXNpdGlvbi4gQWdhaW4sIExvamJhbidzIHNpbXBsaWNpdHkgYWxsb3dzIHRo ZSByZXN1bHRzIG9mIHN1Y2ggcmVzZWFyY2ggdG8gYmUgb2J0YWluZWQgbW9yZSBxdWlja2x5IHRo YW4gaW4gc2ltaWxhciBzdHVkaWVzIG9mIG5hdHVyYWwgbGFuZ3VhZ2UgYWNxdWlzaXRpb24uCgoK Ck5vIGNsYWltIGlzIG1hZGUgdGhhdCBzdHVkeWluZyBMb2piYW4gd2lsbCB0ZWxsICdhbGwnIGFi b3V0IGxhbmd1YWdlLiBMb2piYW4sIGF0IGxlYXN0IGZvciBzZXZlcmFsIGRlY2FkZXMsIHdpbGwg b25seSBiZSBhICdtb2RlbCcgb2YgYSBsYW5ndWFnZSwgd2hvc2UgJ25hdHVyYWxuZXNzJyB3aWxs IGJlIHN1c3BlY3QuIEhvd2V2ZXIsIHRvIHRoZSBleHRlbnQgdGhhdCBMb2piYW4gc2VydmVzIHRo ZSBjb21tdW5pY2F0aXZlIGFuZCBleHByZXNzaXZlIGZ1bmN0aW9ucyBvZiBodW1hbiBsYW5ndWFn ZSwgYW55IHRoZW9yeSBhYm91dCB0aGUgbmF0dXJlIG9mIGh1bWFuIGxhbmd1YWdlIG11c3QgYXBw bHkgdG8gTG9qYmFuLiBMYW5ndWFnZSBmZWF0dXJlcyBhbmQgcHJvY2Vzc2VzIG1vcmUgZWFzaWx5 IGlkZW50aWZpZWQgaW4gc3R1ZHlpbmcgTG9qYmFuIGNhbiB0aGVuIGJlIGNvbmZpcm1lZCBpbiBu YXR1cmFsIGxhbmd1YWdlcy4gU2ltaWxhcmx5LCB0aGVvcmllcyBvZiB0aGUgbmF0dXJlIG9mIGxh bmd1YWdlIGNhbiBiZSB0ZXN0ZWQgYW5kIHJlZmluZWQgYWdhaW5zdCB0aGlzIHNpbXBsZXIgbW9k ZWwgb2YgYSBsYW5ndWFnZSBiZWZvcmUgZmFjaW5nIHRoZSBtb3JlIGRpZmZpY3VsdCBhbmQgdGlt ZS1jb25zdW1pbmcgdGVzdGluZyBhbmQgYW5hbHlzaXMgaW52b2x2ZWQgaW4gbmF0dXJhbCBsYW5n dWFnZSByZXNlYXJjaC4KCgoKQmVjYXVzZSBMb2piYW4gaXMgcmVsYXRpdmVseSBjdWx0dXJlLWZy ZWUsIGFuZCBiZWNhdXNlIG9mIGl0cyBwcmVzY3JpYmVkIHN0cnVjdHVyZSB0aGF0IGlzIGNvbnNp c3RlbnQgd2l0aCBwcmVkaWNhdGUgbG9naWMsIExvamJhbiBpcyBhbiBpZGVhbCBtZWRpdW0gZm9y IHRoZSBhbmFseXNpcyBhbmQgZGVzY3JpcHRpb24gb2Ygb3RoZXIgbGFuZ3VhZ2VzLiBDdXJyZW50 bHksIGZlYXR1cmVzIGluIGxhbmd1YWdlIG11c3QgYmUgY29tcGFyZWQgYWdhaW5zdCBvdGhlciBu YXR1cmFsIGxhbmd1YWdlcywgYW5kIGFyZSB1c3VhbGx5IGRlc2NyaWJlZCBpbiBzY2llbnRpZmlj IGxpdGVyYXR1cmUgYnkgZ2xvc3NlZCB0cmFuc2xhdGlvbiBpbnRvIEVuZ2xpc2guIExvamJhbiBp cyBzaW1wbGUgYW5kIHJlZ3VsYXIgZW5vdWdoIHRvIGJlIGFjcXVpcmVkIGFzIGEgbWV0YWxhbmd1 YWdlIGZvciBkZXNjcmliaW5nIG90aGVyIGxhbmd1YWdlczsgaXRzIHN0cnVjdHVyZXMgYWxsb3cg Y2xlYXJlciByZWZsZWN0aW9uIG9mIHRoZSBwYXR0ZXJucyBvZiB0aGUgbGFuZ3VhZ2UgYmVpbmcg ZGVzY3JpYmVkLCB3aXRob3V0IGludGVyZmVyZW5jZSBmcm9tIHRoZSBjb21wZXRpbmcgcGF0dGVy bnMgb2YgRW5nbGlzaC4KCgoKRmluYWxseSwgTG9qYmFuJ3MgcHJlZGljYXRlIGdyYW1tYXIsIG1h a2VzIGl0IGVtaW5lbnRseSBzdWl0ZWQgZm9yIG9uZ29pbmcgY29tcHV0ZXIgcmVzZWFyY2ggaW50 byBuYXR1cmFsIGxhbmd1YWdlcy4gTG9qYmFuIGNhbiBiZSB1c2VkIGZvciBwYXJzaW5nIGFuZCBh bmFseXNpcywgYXMgYW4gaW50ZXJuYWwgbWVkaXVtIG9mIGRhdGEgc3RvcmFnZSwgb3IgYXMgYW4g aW50ZXJtZWRpYXRlIGxhbmd1YWdlIGZvciBtYWNoaW5lIHRyYW5zbGF0aW9uLiBIYXZpbmcgYSBj b21iaW5hdGlvbiBvZiBsb2dpY2FsIGFuZCBuYXR1cmFsIGxhbmd1YWdlIHN0cnVjdHVyZXMsIExv amJhbiBjb21iaW5lcyB0aGUgYmVzdCBvZiBib3RoIG1ham9yIHN0cnVjdHVyYWwgYXBwcm9hY2hl cyB0byBsYW5ndWFnZSBwcm9jZXNzaW5nIGluIGNvbXB1dGVycy4KCgoKVGhlIGV4ZXJjaXNlIG9m IHRyeWluZyB0byBpbnZlbnQgYSBsYW5ndWFnZSBjYW4gdGVhY2ggdXMgdGhpbmdzIGFib3V0IGxh bmd1YWdlIHRoYXQgcHJvYmFibHkgY2FuJ3QgYmUgbGVhcm5lZCBpbiBhbnkgb3RoZXIgd2F5LiBF dmVuIGlmIExvamJhbiBzaG91bGQgZmFpbCBhcyBhIGxhbmd1YWdlLCB3ZSB3aWxsIGxlYXJuLiBI b3dldmVyLCB0byB0aGUgZXh0ZW50IExvamJhbiBzdWNjZWVkcywgaXRzIHBvdGVudGlhbCBhcyBh IGJhc2lzIGZvciB0ZXN0aW5nIGlkZWFzIGFib3V0IGxhbmd1YWdlLCBpdHMgc3RydWN0dXJlLCBh bmQgdXNhZ2UsIGlzIHVubGltaXRlZC4gVGhlIGludmVudGlvbiBvZiBMb2piYW4gaXMgdGhlIGlu dmVudGlvbiBvZiB0aGUgc2NpZW5jZSBvZiBleHBlcmltZW50YWwgbGluZ3Vpc3RpY3MuCgoKCiEh TG9qYmFuIGFzIGFuIGludGVybmF0aW9uYWwgbGFuZ3VhZ2V7QU5BTUUoKX1pbnRlcm5hdGlvbmFs e0FOQU1FfQoKCgpMb2piYW4gbWF5IGJlIHRoZSBmaXJzdCBhcnRpZmljaWFsIGxhbmd1YWdlIE5P VCBpbiBkaXJlY3QgY29tcGV0aXRpb24gd2l0aCBFc3BlcmFudG8sIGluIHRoYXQgTG9qYmFuJ3Mg cG90ZW50aWFsIHN1Y2Nlc3MgaXMgbm90IGRlcGVuZGVudCBvbiBpdHMgaW1tZWRpYXRlIHByYWN0 aWNhbCB1c2UgYXMgYW4gaW50ZXJuYXRpb25hbCBsYW5ndWFnZS4gSW5kZWVkLCB3ZSB1c2UgRXNw ZXJhbnRvIGFzIG9uZSBtZWFucyBvZiByYXBpZGx5IHNwcmVhZGluZyBpbmZvcm1hdGlvbiBhYm91 dCBMb2piYW4gdG8gbm9uLUVuZ2xpc2ggc3BlYWtlcnMsIHNwZWVkaW5nIGEgcHJvY2VzcyB0aGF0 IHdvdWxkIHRha2UgZGVjYWRlcyB1c2luZyBkaXJlY3QgdHJhbnNsYXRpb24gdG8gYWxsIHRhcmdl dCBsYW5ndWFnZXMuIExvamJhbiBoYXMgcHJvdmVuIGF0dHJhY3RpdmUgdG8gRXNwZXJhbnRpc3Rz IGludGVyZXN0ZWQgaW4gYWNxdWlyaW5nIGEgbmV3IHBlcnNwZWN0aXZlIG9uIHRoZWlyIG93biBp bnRlcm5hdGlvbmFsIGxhbmd1YWdlOyB0aGVzZSBmZWVsIGxlc3MgdGhyZWF0ZW5lZCBiZWNhdXNl IExvamJhbiBoYXMgZGlmZmVyZW50IGdvYWxzLiBMb2piYW4ncyBzdXBwb3J0ZXJzIHJlY29nbml6 ZSB0aGF0IGl0IHdpbGwgdGFrZSBkZWNhZGVzIGZvciBMb2piYW4gdG8gYWNxdWlyZSBib3RoIHRo ZSBudW1iZXIgYW5kIHZhcmlldHkgb2Ygc3BlYWtlcnMgYW5kIHRoZSBleHRlbnNpdmUgaGlzdG9y eSBvZiB1c2FnZSB0aGF0IG1hcmtzIEVzcGVyYW50byBjdWx0dXJlLiBNZWFud2hpbGUsIGVhY2gg bGFuZ3VhZ2UgY29tbXVuaXR5IGhhcyBtdWNoIHRvIGxlYXJuIGZyb20gZWFjaCBvdGhlcjsgdGhp cyBwcm9jZXNzIGhhcyBzdGFydGVkIGFuZCBpcyBtb3N0IGFjdGl2ZS4KCgoKISFTZXZlcmFsIHJl YXNvbnMgZm9yIGxlYXJuaW5nIExvamJhbiBOT1d7QU5BTUUoKX1yZWFzb25ze0FOQU1FfQoKCgpU aG9zZSB3b3JraW5nIHdpdGggdGhlIGxhbmd1YWdlIG5vdyBhcmUgYWN0aXZlbHkgY29uc3VsdGVk IGZvciB0aGVpciBvcGluaW9ucyBvbiBob3cgdG8gdGVhY2ggYW5kIHNwcmVhZCB0aGUgbGFuZ3Vh Z2UuIFBlb3BsZSB3aG8gd3JpdGUgaW4gdGhlIGxhbmd1YWdlIGFyZSBjb250cmlidXRpbmcgdG8g dGhlIGdyb3d0aCBvZiB0aGUgbGV4aWNvbiwgYW5kIGVzdGFibGlzaGluZyB0aGUgY29udmVudGlv bnMgYW5kIGlkaW9tcyB0aGF0IHdpbGwgZ3VpZGUgbGFuZ3VhZ2UgdXNlIGluIGZ1dHVyZSB5ZWFy cy4gUGVvcGxlIHdobyBhcmUgZXNwZWNpYWxseSBhY3RpdmUgaGF2ZSBqb2luZWQgdGhlIHByb2pl Y3QgbGVhZGVyc2hpcCB3aXRoaW4gYSBmZXcgbW9udGhzIG9mIGJlY29taW5nIGludm9sdmVkLgoK CgpUaG9zZSB3aXRoIGEgY29tcHV0ZXIgYmFja2dyb3VuZCBjYW4gbGVhZCBkZXZlbG9wbWVudCBv ZiB0aGUgZmlyc3QgY29tcHV0ZXIgYXBwbGljYXRpb25zIGZvciB0aGUgbGFuZ3VhZ2UuIEV4cGVy dGlzZSBpbiB0aGUgbGFuZ3VhZ2Ugd2lsbCBubyBkb3VidCBiZSB2YWx1YWJsZSBhcyBMb2piYW4g YmVjb21lcyByZWNvZ25pemVkIGFzIGEgdXNlZnVsIHRvb2wgZm9yIGNvbXB1dGVyIGFwcGxpY2F0 aW9ucyBieSB0aGUgY29tcHV0ZXIgaW5kdXN0cnkuIENvbXB1dGVyLW9yaWVudGVkIExvamJhbmlz dHMgY2FuIGFsc28gYWlkIGluIGRldmVsb3BpbmcgY29tcHV0ZXItYWlkZWQgaW5zdHJ1Y3Rpb24g dG9vbHMgb3IgY29udmVydGluZyBleGlzdGluZyBzb2Z0d2FyZSB0byBydW4gb24gbmV3IGNvbXB1 dGVycy4KCgoKUmVnYXJkbGVzcyBvZiBiYWNrZ3JvdW5kLCBsZWFybmluZyBMb2piYW4gaXMgYSBt aW5kLWV4cGFuZGluZyBleHBlcmllbmNlLiBMZWFybmluZyBhbnkgbGFuZ3VhZ2Ugb3RoZXIgdGhh biB5b3VyIG5hdGl2ZSB0b25ndWUgYnJvYWRlbnMgeW91ciBwZXJzcGVjdGl2ZXMgYW5kIGFsbG93 cyB5b3UgdG8gdHJhbnNjZW5kIHRoZSBsaW1pdGVkIHZpZXdwb2ludHMgb2YgeW91ciBuYXRpdmUg bGFuZ3VhZ2UgY3VsdHVyZS4gTG9qYmFuLCBiZWluZyBtdWNoIHNpbXBsZXIgdG8gbGVhcm4gdGhh biBuYXR1cmFsIGxhbmd1YWdlcywgcHJvdmlkZXMgdGhpcyBiZW5lZml0IG11Y2ggbW9yZSBxdWlj a2x5IHRoYW4gZG9lcyB0aGUgc3R1ZHkgb2Ygb3RoZXIgbGFuZ3VhZ2VzLiBCZWluZyBzbyBzdHJv bmdseSBkaWZmZXJlbnQsIHRoZSBpbnRlbnNpdHkgb2YgdGhlIGVmZmVjdCBzZWVtcyB0byBiZSBo ZWlnaHRlbmVkLiBXaGVuIExvamJhbmlzdHMgdGFsayBhYm91dCBsYW5ndWFnZSwgdGhlIGRpc2N1 c3Npb24gaGFzIGJlZW4gb2JzZXJ2ZWQgdG8gYmUgbW9yZSBzb3BoaXN0aWNhdGVkIGFzIHdlbGwg YXMgcXVhbGl0YXRpdmVseSBkaWZmZXJlbnQgZnJvbSB0aGUgdGFsayBvZiBzdHVkZW50cyBvZiBz ZWNvbmQgbmF0dXJhbCBsYW5ndWFnZXMuCgoKClRoZSBsb2dpY2FsIG9yZ2FuaXphdGlvbiBlbWJl ZGRlZCBpbiBMb2piYW4gYWlkcyBpbiBvcmdhbml6aW5nIGFuZCBjbGFyaWZ5aW5nIHRob3VnaHRz LiBIYXZpbmcgZG9uZSBzbywgeW91ciBuZXcgcGVyc3BlY3RpdmUgb24gbGFuZ3VhZ2UsIGFtYmln dWl0eSwgYW5kIGNvbW11bmljYXRpb24gd2lsbCBhbGxvdyB5b3UgdG8gZXhwcmVzcyB0aG9zZSB0 aG91Z2h0cyBtb3JlIGNsZWFybHksIGV2ZW4gd2hlbiB5b3UgdXNlIGFuIGFtYmlndW91cyBuYXR1 cmFsIGxhbmd1YWdlLgoKCgpBIHJlbGF0aXZlbHkgc2hvcnQgc3R1ZHkgb2YgTG9qYmFuIGJ5IGhp Z2ggc2Nob29sIChvciB5b3VuZ2VyKSBzdHVkZW50cyBoYXMgYmVlbiBwcm9wb3NlZCwgcHJvdmlk aW5nIHRoZSBsaW5ndWlzdGljIHVuZGVyc3RhbmRpbmcgdGhhdCB3YXMgb25jZSBhc3NvY2lhdGVk IHdpdGggc3R1ZHlpbmcgTGF0aW4gYW5kIG90aGVyIGxhbmd1YWdlcyBmb3IgbXVjaCBsb25nZXIg cGVyaW9kcyBvZiB0aW1lLiBTdWNoIHN0dWR5IGNhbiBiZSB0aWVkIGluIHdpdGggY29uY2VwdHMg b2YgbG9naWMsIGFuZCBwb3NzaWJseSB3aXRoIGNvbXB1dGVyLXJlbGF0ZWQgYWN0aXZpdGllcywg aGVscGluZyB0byBzaG93IHRoZSBlc3NlbnRpYWwgaW50ZXJyZWxhdGVkIG5hdHVyZSBvZiBsYW5n dWFnZSBhbmQgb3RoZXIgaHVtYW4gZW5kZWF2b3IuCgoKCllvdSBuZWVkbid0IGxlYXJuIExvamJh biBmb3IgYW55IHByYWN0aWNhbCBwdXJwb3NlLCBob3dldmVyLiBNYW55IG9mIHRob3NlIGxlYXJu aW5nIExvamJhbiBhcmUgZG9pbmcgc28gYmVjYXVzZSBpdCBpcyBmdW4uIExlYXJuaW5nIExvamJh biBpcyBpbnRlbGxlY3R1YWxseSBzdGltdWxhdGluZywgYW5kIHByb3ZpZGVzIGh1bWFuIGludGVy YWN0aW9uIGFuZCBtZW50YWwgY2hhbGxlbmdlLiBMb2piYW4gaGFzIGFsbCB0aGUgYmVuZWZpdHMg b2YgZ2FtZXMgZGVzaWduZWQgZm9yIGVudGVydGFpbm1lbnQsIHdpdGggdGhlIGFkZGVkIHByb3Nw ZWN0IG9mIGRldmVsb3BpbmcgdXNlZnVsIHNraWxscyBhcyBhIHNpZGUgYmVuZWZpdC4gTGVhcm5p bmcgTG9qYmFuIGFzIGFuICdpbnRlbGxlY3R1YWwgdG95JyBtZWFucyB0aGF0IHlvdSBjYW4gZ2V0 IGVuam95bWVudCBmcm9tIGxlYXJuaW5nIExvamJhbiB3aXRob3V0IG5lYXJseSB0aGUgZWZmb3J0 IG5lZWRlZCB0byBiZW5lZml0IGZyb20gc3R1ZHlpbmcgb3RoZXIgbGFuZ3VhZ2VzLiBXaGlsZSBi ZWNvbWluZyBmbHVlbnQgaW4gTG9qYmFuIHdpbGwgcHJvYmFibHkgdGFrZSBodW5kcmVkcyBvZiBo b3VycyBvdmVyIHNldmVyYWwgbW9udGhzLCB5b3UgY2FuIGZlZWwgc29tZSBzZW5zZSBvZiBhY2Nv bXBsaXNobWVudCBpbiB0aGUgbGFuZ3VhZ2UgYWZ0ZXIganVzdCBhIGZldyBob3VycyBvZiBzdHVk eS4gWW91IGNhbiB1c2UgTG9qYmFuIGltbWVkaWF0ZWx5IGZvciBmdW4sIHdoaWxlIGdhaW5pbmcg c2tpbGwgd2l0aCBncmVhdGVyIGV4cGVyaWVuY2UuCgoKCiEhSG93IHRvIGxlYXJuIExvamJhbntB TkFNRSgpfWhvd3tBTkFNRX0KCgoKV3JpdGUgdG8gW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9sbGcv Y29udGFjdC5odG1sfFRoZSBMb2dpY2FsIExhbmd1YWdlIEdyb3VwLCBJbmMuXSwgYW5kIHdlIHdp bGwgYmUgaGFwcHkgdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiwgdGhvdWdoIG91ciBjb2xsZWN0ZWQg V2ViIGFuZCBmaWxlIGFyY2hpdmVzIGNvbnRhaW4gYWxsIGluZm9ybWF0aW9uIHRoYXQgd2UgaGF2 ZSBpbiBkaXN0cmlidXRhYmxlIGZvcm0uIEZvciBwcmludGVkIG1hdHRlciwgd2UgcmVxdWVzdCBh IGNvbnRyaWJ1dGlvbiBvZiAkNSB0byBjb3ZlciB0aGUgY29zdHMgb2YgaW50cm9kdWN0b3J5IG1h dGVyaWFscyAoaW5jbHVkaW5nIGEgY29weSBvZiB0aGlzIGVzc2F5KSwgYnV0IHdpbGwgc2VuZCB0 aGlzIHBhY2thZ2Ugb24gc3BlY3VsYXRpb24uIEFkZGl0aW9uYWwgbWF0ZXJpYWxzIGF2YWlsYWJs ZSB0b3RhbCBodW5kcmVkcyBvZiBwYWdlcywgd2hpY2ggYXJlIHByaWNlZCBhcHByb3hpbWF0ZWx5 IGF0IG91ciBjb3N0czsgd2UgYXJlIGEgbm9uLXByb2ZpdCBlZHVjYXRpb25hbC9zY2llbnRpZmlj IG9yZ2FuaXphdGlvbi4gKChDb250YWN0IFVzKSkgdXMgcmVnYXJkaW5nIGludGVybmF0aW9uYWwg cGF5bWVudDsgd2Ugb2ZmZXIgc2V2ZXJhbCBvcHRpb25zLiBBIGxpbWl0ZWQgcG9saWN5IGV4aXN0 cyBmb3IgcHJvdmlkaW5nIG1hdGVyaWFscyB0byBwZW9wbGUgd2hvIGNhbm5vdCBhZmZvcmQgcGF5 bWVudC4KCgoKV2UgZW5jb3VyYWdlIG5ldyBwZW9wbGUgdG8gY29uY2VudHJhdGUgb24gdm9jYWJ1 bGFyeS4gQWxtb3N0IGFueSB1c2Ugb2YgTG9qYmFuIHJlcXVpcmVzIHNvbWUgbWFzdGVyeSBvZiB0 aGUgYmFzaWMgdm9jYWJ1bGFyeSAoMTAwMC0yMDAwIHdvcmRzKS4gWW91IGNhbiBsZWFybiBlbm91 Z2ggTG9qYmFuIGdyYW1tYXIgdG8gc3VwcG9ydCBjb252ZXJzYXRpb24gaW4ganVzdCBhIGNvdXBs ZSBvZiBob3VycywgYnV0IGZhY2UgbWFueSBob3VycyBvZiB2b2NhYnVsYXJ5IHdvcmsgaW4gb3Jk ZXIgdG8gZWZmZWN0aXZlbHkgdXNlIHRoYXQgZ3JhbW1hci4gV2UgZGlzdHJpYnV0ZSBmbGFzaCBj YXJkcyBhbmQgaGF2ZSBkZXZlbG9wZWQgZmxhc2ggY2FyZCB0ZWNobmlxdWVzIHRoYXQgYXJlIGV4 dHJlbWVseSBlZmZpY2llbnQgaW4gbGVhcm5pbmcgdm9jYWJ1bGFyeS4gVGhlc2UgdGVjaG5pcXVl cyBoYXZlIGJlZW4gYXV0b21hdGVkIGludG8gY29tcHV0ZXItYWlkZWQtdGVhY2hpbmcgcHJvZ3Jh bXMgc29sZCBhbmQgZGlzdHJpYnV0ZWQgYXMgU2hhcmV3YXJlIHVuZGVyIHRoZSBuYW1lICJMb2dG bGFzaCIsIHdpdGggTVMtRE9TIGFuZCBNYWNJbnRvc2ggdmVyc2lvbnMKCmN1cnJlbnRseSBhdmFp bGFibGUuCgoKCllvdSBjYW4gbGVhcm4gdGhlIExvamJhbiBncmFtbWFyIGluIHNldmVyYWwgd2F5 cywgaW5jbHVkaW5nIHN0dWR5IG9mIGV4YW1wbGVzIGluIHRoZSBxdWFydGVybHkgam91cm5hbCAo KGp1J2kgbG9ieXBsaXxfXycnanUnaSBsb2J5cGxpJydfXykpIG9yIGJ5IGluc3BlY3Rpb24gYW5k IGFuYWx5c2lzIG9mIFlBQ0MgYW5kIEUtQk5GIGZvcm1hbCBncmFtbWFyIGRlc2NyaXB0aW9ucy4g VGhlcmUgaXMgbm93IGEgcHVibGlzaGVkIGxhbmd1YWdlIHJlZmVyZW5jZSBbaHR0cDovL3d3dy5s b2piYW4ub3JnL3B1YmxpY2F0aW9ucy9jbGwuaHRtbHwgVGhlIENvbXBsZXRlIExvamJhbiBMYW5n dWFnZV0sIGJ5IEpvaG4gQ293YW4uIERyYWZ0IGxlc3NvbiBtYXRlcmlhbHMgKGFib3V0IDE4MCBw YWdlcykgYXJlIHRoZSBiZXN0IG1hdGVyaWFscyBhdmFpbGFibGUgZm9yIHNlbGYtc3R1ZHkuIEEg TG9qYmFuIHRleHQtYm9vayBpcyBiZWluZyB3cml0dGVuIHRvIHJlZmxlY3Qgd2hhdCBpcyBsZWFy bmVkIGZyb20gdGhlIGZpcnN0IGxlYXJuaW5nIGVmZm9ydHMsIGFuZCBpcyBiZWluZyBkZXNpZ25l ZCBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGZvciBzZWxmLWluc3RydWN0aW9uLCBjbGFzc3Jvb20g dGVhY2hpbmcsIG9yIGdyb3VwIHN0dWR5LiBBIGZvcm1hbCAnTG9qYmFuIGRpY3Rpb25hcnknIHdp bGwgcmVwbGFjZSBtb3N0IG9mIHRoZSBleGlzdGluZyB3b3JkIGxpc3RzIGFuZCBsYW5ndWFnZSBk ZXNjcmlwdGlvbiBtYXRlcmlhbHMsIGFuZCBpcyBiZWluZyB3b3JrZWQgb24sIGJ1dCBwcmVzZW50 IG1hdGVyaWFscyBjb250YWluIHRoZSBlcXVpdmFsZW50IG9mIGEgYmFzaWMgZGljdGlvbmFyeS4K CgoKQWZ0ZXIgdGhlIGRpY3Rpb25hcnkgYW5kIHRleHRib29rIGhhdmUgYmVlbiBwdWJsaXNoZWQg dGhlIExvamJhbiBsYW5ndWFnZSBkZWZpbml0aW9uIHdpbGwgYmUgYmFzZWxpbmVkIChmcm96ZW4p IGZvciBhIG1pbmltdW0gb2YgNSB5ZWFycywgYW5kIExvamJhbiB3aWxsIHRoZXJlYWZ0ZXIgYmUg c29sZWx5IGNvbnRyb2xsZWQgYnkgc3BlYWtlcnMgb2YgdGhlIGxhbmd1YWdlLgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxp bmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFp bG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=