Received: from localhost ([::1]:44016 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Uh2jn-0000eL-NC; Mon, 27 May 2013 12:05:43 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49664 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Uh2je-0000eE-AC for wikichanges@lojban.org; Mon, 27 May 2013 12:05:41 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 27 May 2013 12:05:33 -0700 From: "Apache" Date: Mon, 27 May 2013 12:05:33 -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 created by AndreIbaque at 19:05 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_created_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 VGhlIHBhZ2UgUGVxdWVuYSBpbnRyb2R1w6fDo28gZG8gTG9qYmFuIHdhcyBjcmVhdGVkIGJ5IEFu ZHJlSWJhcXVlIGF0IDE5OjA1IFVUQwoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2lu ZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvUGVxdWVuYSUyMGludHJv ZHUlQzMlQTclQzMlQTNvJTIwZG8lMjBMb2piYW4KCgoKKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29u dGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgoKXlRyYW5zbGF0aW9uIG9mIHRoaXMgcGFnZSBpcyBpbmNv bXBsZXRlLl4KCgoKIUxvamJhbiAtIEEgTGluZ3VhZ2VtIEzDs2dpY2EKCgoKIScnbGEgbG9qYmFu LiBwbyd1IGxlIGxvZ2ppIGJhbmd1JycKCgoKKiB7QUxJTksoYW5hbWU9PmludHJvKX1JbnRyb2R1 w6fDo297QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+d2h5KX1Qb3IgcXVlIExvamJhbiBmb2kgZGVz ZW52b2x2aWRvP3tBTElOS30KCioge0FMSU5LKGFuYW1lPT5vdGhlcnVzZXMpfU91dHJvcyB1c29z IHBhcmEgTG9qYmFue0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PmRlc2lnbil9TyBkZXNpZ24gZGUg TG9qYmFue0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PmN1cnJlbnQpfVNpdHVhw6fDo28gYXR1YWwg ZSB1c297QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+dW5hbWJpZ3VpdHkpfUFzIG7Do28tYW1iaWd1 aWRhZGVzIGRlIExvamJhbntBTElOS30KCioge0FMSU5LKGFuYW1lPT5zYXBpcndob3JmKX1Mb2pi YW4gZSBTYXBpci1XaG9yZntBTElOS30KCioge0FMSU5LKGFuYW1lPT5vdGhlcmxpbmcpfU91dHJh cyBhcGxpY2HDp8O1ZXMgbGluZ3XDrXN0aWNhc3tBTElOS30KCioge0FMSU5LKGFuYW1lPT5pbnRl cm5hdGlvbmFsKX1Mb2piYW4gY29tbyB1bWEgbMOtbmd1YSBpbnRlcm5hY2lvbmFse0FMSU5LfQoK KiB7QUxJTksoYW5hbWU9PnJlYXNvbnMpfVbDoXJpYXMgcmF6w7VlcyBwYXJhIGFwcmVuZGVyIExv amJhbiBBR09SQXtBTElOS30KCioge0FMSU5LKGFuYW1lPT5ob3cpfUNvbW8gYXByZW5kZXIgTG9q YmFuP3tBTElOS30KCiogKChDb250YWN0IFVTfEZpY2FuZG8gZW0gY29udGF0bykpCgohIUludHJv ZHXDp8Ojb3tBTkFNRSgpfWludHJve0FOQU1FfQoKCgpfX0xvamJhbl9fICgvTE9aSC1iYWhuLykg w6kgdW1hIGzDrW5ndWEgY29uc3RydcOtZGEuIE9yaWdpbmFsbWVudGUgY2hhbWFkbyBkZSAiX19M b2dsYW5fXyIgZSAgZnVuZGFkbyBwb3IgX19Eci4gSmFtZXMgQ29va2UgQnJvd25fXywgcXVlIGlu aWNpb3UgbyBkZXNlbnZvbHZpbWVudG8gZGEgbMOtbmd1YSBlbSBfXzE5NTVfXywgdGV2ZSBvcyBv YmpldGl2b3MgZGVzY3JpdG9zIHBlbGEgcHJpbWVpcmEgdmV6IG5vIGFydGlnbyAiTG9nbGFuIiBu YSAnJ1NjaWVudGlmaWMgQW1lcmljYW4sIEp1bmUsIDE5NjAnJy4gTG9nbGFuL0xvamJhbiBmb2kg Y29uc3RydcOtZG8gYW8gbG9uZ28gZGUgdHLDqnMgZMOpY2FkYXMgcG9yIGRlemVuYXMgZGUgcHJv Zmlzc2lvbmFpcyBlIGNlbnRlbmFzIGRlIGFwb2lhZG9yZXMsIGxpZGVyYWRhIGRlc2RlIF9fMTk4 N19fIHBlbGEgX19UaGUgTG9naWNhbCBMYW5ndWFnZSBHcm91cF9fLgoKCgpIw6EgbXVpdGFzIGzD rW5ndWFzIGNvbnN0cnXDrWRhcywgZW50cmV0YW50byBMb2dsYW4vTG9qYmFuIGZvaSBwcm9qZXRh ZG8gcGFyYSB0b3JuYXItc2Ugw7puaWNvIGVtIHbDoXJpb3MgYXNwZWN0b3MuIEEgc2VndWlyIGVz dMOjbyBhcyBwcmluY2lwYWlzIGNhcmFjdGVyw61zdGljYXMgZG8gTG9qYmFuOgoKCgoqIExvamJh biDDqSBwcm9qZXRhZG8gcGFyYSBzZXIgdXNhZG8gbmEgX19jb21tdW5pY2HDp8Ojb19fIGVudHJl IHBlc3NvYXMgZSwgZnV0dXJhbWVudGUsIGVudHJlIHBlc3NvYXMgZSBjb21wdXRhZG9yZXMuCgoq IExvamJhbiBmb2kgcHJvamV0YWRvIHBhcmEgc2VyIF9fY3VsdHVyYWxtZW50ZSBuZXV0cm9fXy4K CiogQSBncmFtw6F0aWNhIGRlIExvamJhbiDDqSBiYXNlYWRhIG5vcyBfX3ByaW5jw61waW9zIGRh IGzDs2dpY2FfXy4KCiogTG9qYmFuIHRlbSB1bWEgX19ncmFtw6F0aWNhIHNlbSBhbWJpZ3VpZGFk ZXNfXy4gCgoqIExvamJhbiB0ZW0gX19lc2NyaXRhIGZvbsOpdGljYV9fLCBlIHNlbSBhbWJpZ3Vp ZGFkZXMgZW50cmUgYXMgbGV0cmFzIGUgc29ucy4gCgoqIExvamJhbiDDqSBfX3NpbXBsZXNfXyBj b21wYXJhZG8gw6BzIGzDrW5ndWFzIG5hdHVyYWlzOyDDqSBmw6FjaWwgZGUgYXByZW5kZXIuIAoK KiBMb2piYW4gdGVtIF9fMTMwMCByYWRpY2Fpc19fIHF1ZSBwb2RlbSBzZXIgZsOhY2lsbWVudGUg Y29tYmluYWRvcyBwYXJhIGZvcm1hciB1bSB2b2NhYnVsw6FyaW8gZGUgX19taWxow7VlcyBkZSBw YWxhdnJhc19fLiAKCiogTG9qYmFuIMOpIHJlZ3VsYXI7IHN1YXMgcmVncmFzIF9fbsOjbyB0ZW0g ZXhjZcOnw7Vlc19fLiAKCiogTG9qYmFuIHRlbnRhIF9fcmVtb3ZlciByZXN0cmnDp8O1ZXNfXyBu YSBjcmlhdGl2aWRhZGUgZSBuYSBjb211bmljYcOnw6NvLiAKCiogTG9qYmFuIHRlbSB1bWEgX192 YXJpZWRhZGUgZGUgdXNvc19fLCBxdWUgdsOjbyBkZXNkZSBvIGNyaWF0aXZvIGFvIGNpZW50w61m aWNvLCBkbyB0ZcOzcmljbyBwYXJhIG8gcHLDoXRpY28uIAoKCgohIVdoeSB3YXMgTG9qYmFuIGRl dmVsb3BlZD97QU5BTUUoKX13aHl7QU5BTUV9CgoKCkxvamJhbiB3YXMgb3JpZ2luYWxseSBkZXNp Z25lZCBmb3IgdGhlIHB1cnBvc2Ugb2Ygc3VwcG9ydGluZyByZXNlYXJjaCBvbiBhIGNvbmNlcHQg a25vd24gYXMgdGhlIF9fU2FwaXItV2hvcmZfXyBoeXBvdGhlc2lzOiAidGhlIHN0cnVjdHVyZSBv ZiBhIGxhbmd1YWdlIGNvbnN0cmFpbnMgdGhlIHRoaW5raW5nIG9mIHBlb3BsZSB1c2luZyB0aGF0 IGxhbmd1YWdlIi4gTG9qYmFuIGFsbG93cyB0aGUgZnVsbCBleHByZXNzaXZlIGNhcGFiaWxpdHkg b2YgYSBuYXR1cmFsIGxhbmd1YWdlLCBidXQgZGlmZmVycyBpbiBzdHJ1Y3R1cmUgZnJvbSBvdGhl ciBsYW5ndWFnZXMgaW4gbWFqb3Igd2F5cy4gVGhpcyBhbGxvd3MgaXRzIHVzZSBhcyBhIHRlc3Qg dmVoaWNsZSBmb3Igc2NpZW50aXN0cyBzdHVkeWluZyB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVu IGxhbmd1YWdlLCB0aG91Z2h0LCBhbmQgY3VsdHVyZS4gCgoKCiEhT3RoZXIgdXNlcyBmb3IgTG9q YmFue0FOQU1FKCl9b3RoZXJ1c2Vze0FOQU1FfQoKCgpMb2piYW4gd2FzIGRlc2lnbmVkIGFzIGEg aHVtYW4gbGFuZ3VhZ2UsIGFuZCBub3QgYXMgYSBjb21wdXRlciBsYW5ndWFnZS4gSXQgaXMgdGhl cmVmb3JlIGludGVuZGVkIGZvciB1c2UgaW4gY29udmVyc2F0aW9uLCByZWFkaW5nLCB3cml0aW5n LCBhbmQgdGhpbmtpbmcuIEhvd2V2ZXIsIHNpbmNlIExvamJhbiBjYW4gYmUgcHJvY2Vzc2VkIGJ5 IGEgY29tcHV0ZXIgbXVjaCBtb3JlIGVhc2lseSB0aGFuIGNhbiBhIG5hdHVyYWwgbGFuZ3VhZ2Us IExvamJhbi1iYXNlZCBjb21wdXRlciBhcHBsaWNhdGlvbnMgYXJlIGEgbmF0dXJhbCBleHBlY3Rh dGlvbi4gRHVlIHRvIGl0cyB1bmFtYmlndW91cyBncmFtbWFyIGFuZCBzaW1wbGUgc3RydWN0dXJl LCBpdCBjYW4gYmUgZWFzaWx5IHBhcnNlZCBieSBjb21wdXRlcnMsIG1ha2luZyBpdCBwb3NzaWJs ZSBmb3IgTG9qYmFuIHRvIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSBmb3IgY29tcHV0ZXItaHVtYW4g aW50ZXJhY3Rpb24sIGFuZCBwZXJoYXBzIGNvbnZlcnNhdGlvbi4gTG9qYmFuJ3MgcHJlZGljYXRl IHN0cnVjdHVyZSBpcyBzaW1pbGFyIHRvIEFJLCBzdWdnZXN0aW5nIGl0IGFzIGEgcG93ZXJmdWwg dG9vbCBpbiBBSSBwcm9jZXNzaW5nLCBlc3BlY2lhbGx5IGluIHRoZSBzdG9yaW5nIGFuZCBwcm9j ZXNzaW5nIG9mIGRhdGEgYWJvdXQgdGhlIHdvcmxkIGFuZCBwZW9wbGUncyBjb25jZXB0aW9ucyBv ZiBpdC4gTGluZ3Vpc3RzIGFyZSBpbnRlcmVzdGVkIGluIExvamJhbidzIHBvdGVudGlhbCBhcyBh biBpbnRlcm1lZGlhdGUgbGFuZ3VhZ2UgaW4gY29tcHV0ZXItYWlkZWQgdHJhbnNsYXRpb24gb2Yg bmF0dXJhbCBsYW5ndWFnZXMuIE90aGVyIHBlb3BsZSBhcmUgaW50ZXJlc3RlZCBpbiBMb2piYW4g YXMgYW4gaW50ZXJuYXRpb25hbCBsYW5ndWFnZS4gCgoKCiEhVGhlIExvamJhbiBkZXNpZ257QU5B TUUoKX1kZXNpZ257QU5BTUV9CgoKCkxvamJhbidzIGNoYXJhY3RlciBzZXQgdXNlcyBvbmx5IHN0 YW5kYXJkIGtleWJvYXJkIGtleXM7IGNhcGl0YWxpemF0aW9uIGlzIHJhcmU7IHB1bmN0dWF0aW9u IGlzIHNwb2tlbiBhcyB3b3Jkcy4gV3JpdHRlbiBsYW5ndWFnZSBjb3JyZXNwb25kcyBleGFjdGx5 IHRvIHRoZSBzb3VuZHMgb2YgdGhlIHNwb2tlbiBsYW5ndWFnZTsgc3BlbGxpbmcgaXMgcGhvbmV0 aWMgYW5kIHVuYW1iaWd1b3VzLCBhbmQgdGhlIGZsb3dpbmcgc291bmRzIG9mIHRoZSBsYW5ndWFn ZSBicmVhayBkb3duIHVuaXF1ZWx5IGludG8gd29yZHMuIFRoZXNlIGZlYXR1cmVzIG1ha2UgY29t cHV0ZXIgc3BlZWNoIHJlY29nbml0aW9uIGFuZCB0cmFuc2NyaXB0aW9uIG1vcmUgcHJhY3RpY2Fs LiBMZWFybmluZyB0byB3cml0ZSBhbmQgc3BlbGwgTG9qYmFuIGlzIHRyaXZpYWwuCgoKCkxvamJh bidzIHByZWRpY2F0ZSBncmFtbWFyIHdhcyBkZXJpdmVkIGZyb20gdGhhdCBvZiBmb3JtYWwgbG9n aWMuIExvamJhbiBzZW50ZW5jZXMgYXJlIHN0YXRlZCBhcyBzZXRzIG9mIGFyZ3VtZW50cyB0aWVk IHRvZ2V0aGVyIGJ5IHByZWRpY2F0ZXMuIFRoZXNlIHByZWRpY2F0ZSBzdHJ1Y3R1cmVzIGNhbiBi ZSB1c2VkIHRvIGV4cHJlc3MgJ25vbi1sb2dpY2FsJyB0aG91Z2h0OyBsb2dpY2lhbnMgYXJlIGFi bGUgdG8gYW5hbHl6ZSBhbGwgbWFubmVyIG9mIHZlcmJhbCBleHByZXNzaW9ucyBieSBjb252ZXJ0 aW5nIHRoZW0gaW50byBwcmVkaWNhdGUgbm90YXRpb24uIEJ1dCB3aGlsZSBMb2piYW4gd2lsbCBh bHJlYWR5IGJlIGV4cHJlc3NlZCBpbiBhIHByZWRpY2F0ZS1iYXNlZCBzeXN0ZW0sIGFsbG93aW5n IGVhc3kgbG9naWNhbCBhbmFseXNpcywgaXQgYWxzbyBjb250YWlucyB0aGUgd2lkZSB2YXJpZXR5 IG9mIGVsZW1lbnRzIGZvdW5kIGluIG5hdHVyYWwgbGFuZ3VhZ2UgZm9yIGV4cHJlc3Npb24gb2Yg YXR0aXR1ZGVzLAoKZW1vdGlvbnMsIGFuZCByaWNoIG1ldGFwaG9yLgoKCgpMb2piYW4gaGFzIG5v bmUgb2YgdGhlIHN0YW5kYXJkIHBhcnRzIG9mIHNwZWVjaC4gTG9qYmFuJ3MgJ3ByZWRpY2F0ZSB3 b3JkcycgY2FuIHNlcnZlIGFzIHRoZSBlcXVpdmFsZW50IG9mIGEgbm91biwgdmVyYiwgYWRqZWN0 aXZlLCBvciBhZHZlcmIuIEFjdGlvbiBhbmQgZXhpc3RlbmNlIGFyZSBlcXVhbGx5IGFjY2Vzc2li bGUgdG8gYSBzcGVha2VyOyB0aGUgZGlzdGluY3Rpb24gY2FuIGJlIGlnbm9yZWQsIG9yIGNhbiBi ZSBleHBsaWNpdGx5IGV4cHJlc3NlZC4gQSB2YXJpZXR5IG9mIG9wZXJhdG9ycyBkZWFsIHdpdGgg YWJzdHJhY3Rpb25zIHN1Y2ggYXMgZXZlbnRzLCBzdGF0ZXMsIHByb3BlcnRpZXMsIGFtb3VudHMs IGlkZWFzLCBleHBlcmllbmNlLCBhbmQgdHJ1dGgsIGFuZCB3aXRoIGF0IGxlYXN0IGZvdXIgcHJl LWRlZmluZWQgdmFyaWV0aWVzIG9mIGNhdXNhbGl0eS4KCgoKTG9qYmFuIGhhcyBubyBtYW5kYXRv cnkgaW5mbGVjdGlvbnMgYW5kIGRlY2xlbnNpb25zIG9uIG5vdW5zLCB2ZXJicywgYW5kIGFkamVj dGl2ZXMuIE5hdHVyYWwgbGFuZ3VhZ2VzIGV2b2x2ZWQgc3VjaCB2YXJpYXRpb25zIHRvIHJlZHVj ZSBhbWJpZ3VpdHkgYXMgdG8gaG93IHdvcmRzIGFyZSByZWxhdGVkIGluIGEgc2VudGVuY2UuIEV2 b2x1dGlvbmFyeSBkZXZlbG9wbWVudCBtYWRlIHRoZXNlIGluZmxlY3Rpb25zIGFuZCBkZWNsZW5z aW9ucyBoaWdobHkgaXJyZWd1bGFyIGFuZCB0aHVzIGRpZmZpY3VsdCB0byBsZWFybi4gVGhlIHNp bXBsZSBidXQgZmxleGlibGUgcHJlZGljYXRlIHJlbGF0aW9uc2hpcCBlcmFzZXMgYm90aCB0aGUg aXJyZWd1bGFyaXR5IGFuZCB0aGUgZGVjbGVuc2lvbnMuCgoKClRlbnNlIGFuZCBsb2NhdGlvbiBt YXJrZXJzIChpbmZsZWN0aW9ucyksIGFkdmVyYnMsIGFuZCBwcmVwb3NpdGlvbnMgYXJlIGNvbWJp bmVkIGludG8gb25lIHBhcnQgb2Ygc3BlZWNoLiBOZXcgcHJlcG9zaXRpb24tbGlrZSBmb3JtcyBj YW4gYmUgYnVpbHQgYXQgd2lsbCBmcm9tIHByZWRpY2F0ZXM7IHRoZXNlIGFsbG93IHRoZSB1c2Vy IHRvIGV4cGFuZCB1cG9uIGEgc2VudGVuY2UgYnkgYXR0YWNoaW5nIGFuZCByZWxhdGluZyBjbGF1 c2VzIG5vdCBub3JtYWxseSBpbXBsaWVkIGluIHRoZSBtZWFuaW5nIG9mIGEgd29yZC4KCgoKTnVt YmVycyBhbmQgcXVhbnRpZmllcnMgYXJlIGNvbmNlcHR1YWxseSBleHBhbmRlZCBmcm9tIG5hdHVy YWwgbGFuZ3VhZ2VzLiAiTWFueSIsICJlbm91Z2giLCAidG9vIG11Y2giLCAiYSBmZXciLCBhbmQg ImF0IGxlYXN0IiBhcmUgYW1vbmcgY29uY2VwdHMgdGhhdCBhcmUgZXhwcmVzc2VkIGFzIG51bWJl cnMgaW4gTG9qYmFuLiBDb3JlIGNvbmNlcHRzIG9mIGxvZ2ljLCBtYXRoZW1hdGljcywgYW5kIHNj aWVuY2UgYXJlIGJ1aWx0IGludG8gdGhlIHJvb3Qgdm9jYWJ1bGFyeS4gT24gdG9wIG9mIHRoZSBj b3JlIGNvbmNlcHRzIG9mIHByZWRpY2F0ZSBsb2dpYywgTG9qYmFuIGFkZHMgaW4gbm9uLWxvZ2lj YWwgY29uc3RydWN0cyB0aGF0IGRvIG5vdCBhZmZlY3Qgb3Igb2JzY3VyZSB0aGUgbG9naWNhbCBz dHJ1Y3R1cmUsIGFsbG93aW5nIGNvbW11bmljYXRpb25zIHRoYXQgYXJlIG5vdCBhbWVuYWJsZSB0 byBsb2dpY2FsIGFuYWx5c2lzLiBGb3IgZXhhbXBsZSwgTG9qYmFuIGhhcyBhIGZ1bGwgc2V0IG9m IGVtb3Rpb25hbCBpbmRpY2F0b3JzLCBzaW1pbGFyIHRvIHN1Y2ggZWphY3VsYXRpb25zIGluIEVu Z2xpc2ggYXMgIk9oISIsICJBaGEhIiwgYW5kICJXaGVlZSEiLCBleGNlcHQgdGhhdCBlYWNoIGhh cyBhIHNwZWNpZmljIG1lYW5pbmcuIFNpbWlsYXJseSwgTG9qYmFuIGhhcyBpbmRpY2F0b3JzIG9m IHRoZSBzcGVha2VyJ3MgcmVsYXRpb25zaGlwIHRvIHdoYXQgaXMgc2FpZCwgc2ltaWxhciB0byB0 aG9zZSBmb3VuZCBpbiBzb21lIEFtZXJpY2FuIEluZGlhbiBsYW5ndWFnZXMuCgoKCkxvamJhbiBz dXBwb3J0cyBtZXRhbGluZ3Vpc3RpYyBkaXNjdXNzaW9uIGFib3V0IHRoZSBzZW50ZW5jZXMgYmVp bmcgc3Bva2VuIHdoaWxlIHJlbWFpbmluZyB1bmFtYmlndW91cy4gTG9qYmFuIGFsc28gc3VwcG9y dHMgYSAndGVuc2UnIGxvZ2ljIHRoYXQgYWxsb3dzIGV4dHJlbWUgc3BlY2lmaWNpdHkgb2YgdGlt ZSBhbmQgc3BhY2UgcmVsYXRpb25zaGlwcywgZXZlbiB0aG9zZSBpbXBsaWVkIGJ5IHRpbWUgdHJh dmVsLiBMb2piYW4ncyBncmFtbWFyIGlzIGRlc2lnbmVkIHRvIHN1cHBvcnQgdW5hbWJpZ3VvdXMg c3RhdGVtZW50IG9mIG1hdGhlbWF0aWNhbCBleHByZXNzaW9ucyBhbmQgcmVsYXRpb25zIGluIGEg bWFubmVyIGNvbXBhdGlibGUgYm90aCB3aXRoIGludGVybmF0aW9uYWwgdXNhZ2UgYW5kIExvamJh bidzIG5vbi1tYXRoZW1hdGljYWwgZ3JhbW1hci4KCgoKTG9qYmFuIGlzIG11Y2ggc2ltcGxlciB0 aGFuIG5hdHVyYWwgbGFuZ3VhZ2VzLiBJdHMgZ3JhbW1hciBpcyBjb21wYXJhYmxlIGluIGNvbXBs ZXhpdHkgd2l0aCB0aGUgY3VycmVudCBnZW5lcmF0aW9uIG9mIGNvbXB1dGVyIGxhbmd1YWdlcyAo c3VjaCBhcyBBREEpLiBMb2piYW4ncyBwcm9udW5jaWF0aW9uLCBzcGVsbGluZywgd29yZCBmb3Jt YXRpb24sIGFuZCBncmFtbWFyIHJ1bGVzIGFyZSBmaXhlZCwgYW5kIHRoZSBsYW5ndWFnZSBpcyBm cmVlIG9mIGV4Y2VwdGlvbnMgdG8gdGhlc2UgcnVsZXMuCgoKCiEhQ3VycmVudCBzdGF0dXMgYW5k IHVzYWdle0FOQU1FKCl9Y3VycmVudHtBTkFNRX0KCgoKVGhlIGxhbmd1YWdlLCB0aGVuIGNhbGxl ZCBfX0xvZ2xhbl9fLCB3YXMgZmlyc3QgZGVzY3JpYmVkIGluIHRoZSAxOTUwJ3MsIGJ5IERyLiBK YW1lcyBDb29rZSBCcm93bi4gVGhlIDE5NjAgU2NpZW50aWZpYyBBbWVyaWNhbiBhcnRpY2xlICJM b2dsYW4iIHdhcyBoaXMgY2FsbCBmb3IgYXNzaXN0YW5jZSBpbiBkZXZlbG9waW5nIHRoZSBsYW5n dWFnZS4gQSByZXZvbHV0aW9uIGluIGxpbmd1aXN0aWNzIHdhcyBzaW11bHRhbmVvdXNseSB0YWtp bmcgcGxhY2U7IHRoZSByZXN1bHRpbmcgaW5jcmVhc2UgaW4ga25vd2xlZGdlIG9mIHRoZSBuYXR1 cmUgb2YgbGFuZ3VhZ2UgY2hhbmdlZCB0aGUgcmVxdWlyZW1lbnRzIGZvciBMb2dsYW4uIFRoZSBm aXJzdCB3aWRlbHkgZGlzdHJpYnV0ZWQgTG9nbGFuIGRpY3Rpb25hcnkgYW5kIGxhbmd1YWdlIGRl c2NyaXB0aW9uIGRpZCBub3QgYXBwZWFyIHVudGlsIDE5NzU7IHRoaXMgZGVzY3JpcHRpb24gd2Fz IGluY29tcGxldGUsIGFuZCBjb250aW51ZWQgZGV2ZWxvcG1lbnQgd29yayBkaXNjb3VyYWdlZCBs ZWFybmluZyB0aGUgbGFuZ3VhZ2UuIENvbXB1dGVycyBjYXVnaHQgdXAgd2l0aCBMb2dsYW4ganVz dCB0aGVuLCBtYWtpbmcgaXQgcG9zc2libGUgdG8gcmVmaW5lIHRoZSBncmFtbWFyLCBlbGltaW5h dGUgYW1iaWd1aXR5IGFuZCBtYXRoZW1hdGljYWxseSBwcm92ZSBpdHMgYWJzZW5jZTsgdGhpcyB3 b3JrIGhhcyBqdXN0IGJlZW4gY29tcGxldGVkLiBGb3Igb3ZlciAzNSB5ZWFycywgdGhpcyB3b3Jr IGhhcyBiZWVuIHBlcmZvcm1lZCBieSB2b2x1bnRlZXJzLCBhbmQgd2l0aG91dCBmaW5hbmNpYWwg c3VwcG9ydC4gTm93LCBhZnRlciBzZXZlcmFsIHZlcnNpb25zIG9mIHRoZSBsYW5ndWFnZSwgcGVv cGxlIGFyZSBsZWFybmluZyBhbmQgdXNpbmcgdGhlIGN1cnJlbnQgdmVyc2lvbiwgd2hpY2ggaXMg dGhlIGZpcnN0IGNhbGxlZCBfX0xvamJhbl9fIChmcm9tIHRoZSByb290cyAibG9naWNhbC1sYW5n dWFnZSIgaW4gTG9qYmFuKS4KCgoKVGhpcyB2ZXJzaW9uIGlzIHRoZSBmaXJzdCB2ZXJzaW9uIHdp dGggYSBzdGFibGUgdm9jYWJ1bGFyeSwgYW5kIHRoZSBmaXJzdCB0byBoYXZlIGEgc3RhYmxlIGFu ZCBjb21wbGV0ZWx5IGRlZmluZWQgZ3JhbW1hciAodGhlIGdyYW1tYXIgb2YgbWF0aGVtYXRpY2Fs IGV4cHJlc3Npb25zLCBmb3IgZXhhbXBsZSwgd2FzIG5vdCBkZXZlbG9wZWQgdW50aWwgMTk5MCku IFRoZSBiYXNpYyBMb2piYW4gdm9jYWJ1bGFyeSB3YXMgYmFzZWxpbmVkIChzdGFiaWxpemVkIGFn YWluc3QgY2hhbmdlKSBpbiB0aGUgbGFzdCBoYWxmIG9mIDE5ODgsIGFuZCB0aGUgZ3JhbW1hciBz aW1pbGFybHkgc3RhYmlsaXplZCBpbiBsYXRlLTE5OTAsIGFmdGVyIGNvbXBsZXRpb24gb2YgdGhl IGZpcnN0IExvamJhbiBjb3Vyc2VzLCBhY3R1YWwgdXNhZ2Ugb2YgdGhlIGxhbmd1YWdlLCBhbmQg c2V2ZXJhbCBpdGVyYXRpb25zIG9mIGNhcmVmdWwgYW5hbHlzaXMuIFRoZSBmdWxsIGxhbmd1YWdl IGRlc2lnbiB3YXMgYmFzZWxpbmVkIGluIDE5OTcsIGFuZCBubyBjaGFuZ2VzIHdpbGwgZXZlbiBi ZSBjb25zaWRlcmVkIHVudGlsIDUgeWVhcnMgYWZ0ZXIgdGhlIHNldCBvZiBib29rcyBkZXNjcmli aW5nIHRoZSBsYW5ndWFnZSBpcyBwdWJsaXNoZWQgKHRodXMgYXQgbGVhc3QgMjAwNSkuIFRodXMs IHdoaWxlIHRoZSBsYW5ndWFnZSB3YXMgZmlyc3Qgc3RhcnRlZCAzNSB5ZWFycyBhZ28sIExvZ2xh bi9Mb2piYW4gaXMgYSB2ZXJ5IG5ldyBsYW5ndWFnZS4KCgoKVG8gZW5zdXJlIExvamJhbiByZW1h aW5zIHN0YWJsZSB3aGlsZSBwZW9wbGUgbGVhcm4gaXQsIHRoZSBsYW5ndWFnZSBkZWZpbml0aW9u IGlzIHByZXNjcmliZWQgYW5kIGNsb3NlbHkgY29udHJvbGxlZC4gV2hlbiB0aGUgbnVtYmVyIG9m IHNwZWFrZXJzIGhhcyBncm93biBzaWduaWZpY2FudGx5LCBhbmQgYSBMb2piYW4gbGl0ZXJhdHVy ZSBoYXMgZGV2ZWxvcGVkLCBMb2piYW4gd2lsbCBiZSB0cmVhdGVkIGxpa2UgYSBuYXR1cmFsIGxh bmd1YWdlIGFuZCBhbGxvd2VkIHRvIGdyb3cgYW5kIGZsb3VyaXNoIHdpdGhvdXQgY29uc3RyYWlu dCwgYXMgZG8gb3RoZXIgbmF0dXJhbCBsYW5ndWFnZXMuCgoKCk9yaWdpbmFsIHRleHQgYW5kIHBv ZXRyeSBoYXZlIGJlZW4gd3JpdHRlbiBpbiBMb2piYW4sIGFuZCBzb21lIGhhcyBiZWVuIHRyYW5z bGF0ZWQgaW50byB0aGUgbGFuZ3VhZ2UuIExvamJhbidzIHBvd2VyZnVsIG1ldGFwaG9yIHN0cnVj dHVyZSBhbGxvd3MgYnVpbGRpbmcgbmV3IGNvbmNlcHRzIGludG8gd29yZHMgZWFzaWx5LCBhcyBu ZWVkZWQuIEEgTG9qYmFuIHNwZWFrZXIgZG9lc24ndCBuZWVkIGEgZGljdGlvbmFyeSB0byB1c2Ug YW5kIHVuZGVyc3RhbmQgbWlsbGlvbnMgb2Ygd29yZHMgdGhhdCBjYW4gcG90ZW50aWFsbHkgZXhp c3QgaW4gdGhlIGxhbmd1YWdlLgoKCgpBcyBvZiAxOTk3LCB0aGVyZSBhcmUgYWJvdXQgMTIwMCBw ZW9wbGUgb24gb3VyIG1haWxpbmcgbGlzdHMsIGluY2x1ZGluZyBhYm91dCAzMDAgbGlzdGVkIGFz IGFjdGl2ZWx5IHRyeWluZyB0byBsZWFybiB0aGUgbGFuZ3VhZ2UuIE92ZXIgMTAwIG9mIHRoZXNl IGhhdmUgZGVtb25zdHJhdGVkIGNvbW11bmljYXRpdmUgYWJpbGl0eSB0byB1c2UgdGhlIGxhbmd1 YWdlIGluIGNvbnZlcnNhdGlvbiwgdHJhbnNsYXRpb24sIG9yIG9yaWdpbmFsIHdyaXRpbmcsIGFu ZCBvbmUgcGVyc29uIGlzIHN1ZmZpY2llbnRseSBza2lsbGVkIHRvIGJlIGNvbnNpZGVyZWQgZmx1 ZW50IGluIHRoZSBsYW5ndWFnZS4gU2V2ZXJhbCBvZiB0aGVzZSByZWd1bGFybHkgZ2V0IHRvZ2V0 aGVyIGluIHRoZSBXYXNoaW5ndG9uIERDIGFyZWEgZm9yIGNvbnZlcnNhdGlvbiwgYW5kIGFuIGFu bnVhbCBtZWV0aW5nL21pbmktY29udmVudGlvbiBpcyBoZWxkIHRoZXJlIGV2ZXJ5IHN1bW1lci4g VGhpcyBwcm9ncmVzcyBpcyByZW1hcmthYmxlIHNpbmNlIHRoZXJlIGlzIG5vIGRpY3Rpb25hcnkg Zm9yIHRoZSBjdXJyZW50IGxhbmd1YWdlLCBhbmQgYSB0ZXh0Ym9vayBleGlzdHMgb25seSBpbiBw YXJ0aWFsIGRyYWZ0IGZvcm07IHBlb3BsZSB1c2UgdGhlIGxhbmd1YWdlIHJlZmVyZW5jZSBtYW51 YWwgYXMgYSBsZWFybmluZyBzb3VyY2UsIGFuZCB3ZSd2ZSBldm9sdmVkIG1ldGhvZHMgb2YgdGVh Y2hpbmcgdGhlIGxhbmd1YWdlIGF0IGEgZGlzdGFuY2UgdGhhdCBvdmVyY29tZSB0aGlzIGhhbmRp Y2FwLgoKCgohIUxvamJhbidzIHVuYW1iaWd1aXR5e0FOQU1FKCl9dW5hbWJpZ3VpdHl7QU5BTUV9 CgoKCkxvamJhbiBoYXMgYW4gdW5hbWJpZ3VvdXMgZ3JhbW1hciAocHJvdmVuIGJ5IGNvbXB1dGVy IGFuYWx5c2lzIG9mIGEgZm9ybWFsIGdyYW1tYXIgd2l0aCBZQUNDKSwgcHJvbnVuY2lhdGlvbiwg YW5kIG1vcnBob2xvZ3kgKHdvcmQgZm9ybXMpLiBUaGUgcGVyc29uIHdobyByZWFkcyBvciBoZWFy cyBhIExvamJhbiBzZW50ZW5jZSBpcyBuZXZlciBpbiBkb3VidCBhcyB0byB3aGF0IHdvcmRzIGl0 IGNvbnRhaW5zIG9yIHdoYXQgcm9sZXMgdGhleSBwbGF5IGluIHRoZSBzZW50ZW5jZS4gTG9qYmFu IGhhcyBubyB3b3JkcyB0aGF0IHNvdW5kIGFsaWtlIGJ1dCBoYXZlIGRpZmZlcmVudCBtZWFuaW5n cyAobGlrZSAiaGVyZCIgYW5kICJoZWFyZCIpLCB0aGF0IGhhdmUgbXVsdGlwbGUgdW5yZWxhdGVk IG1lYW5pbmdzICgic2V0IiksIG9yIHRoYXQgZGlmZmVyIG9ubHkgaW4gcHVuY3R1YXRpb24gYnV0 IG5vdCBpbiBzb3VuZCAobGlrZSB0aGUgYWJvbWluYWJsZSAiaXRzIiBhbmQgIml0J3MiKS4gVGhl cmUgaXMgbmV2ZXIgYW55IGRvdWJ0IGFib3V0IHdoZXJlIHdvcmRzIGJlZ2luIGFuZCBlbmQgKCJj YXJnbyBzaGlwbWVudCIgY2FuIGJlIGhlYXJkIGFzIDIsIDMsIG9yIDQgd29yZHMpLiBUaGUgZnVu Y3Rpb24gb2YgZWFjaCB3b3JkIGlzIGNsZWFyOyB0aGVyZSBpcyBub3RoaW5nIGxpa2UgdGhlIEVu Z2xpc2ggIlRpbWUgZmxpZXMgbGlrZSBhbiBhcnJvdy4iLCBpbiB3aGljaCBhbnkgb2YgdGhlIGZp cnN0IHRocmVlIHdvcmRzIGNvdWxkIGJlIHRoZSB2ZXJiLiBQcmVjaXNpb24gaW4gbm8gd2F5IGNv bmZpbmVzIHRoZSBtZWFuaW5nIG9mIGEgTG9qYmFuIHNlbnRlbmNlLiBJdCBpcyBwb3NzaWJsZSB0 byBzcGVhayBub25zZW5zZSwgdG8gdGVsbCBhIGxpZSwgb3IgdG8gYmUgbWlzdW5kZXJzdG9vZC4g WW91IGNhbiBiZSB2ZXJ5IHNwZWNpZmljLCBvciB5b3UgY2FuIGJlIGludGVudGlvbmFsbHkgdmFn dWUuIFlvdXIgaGVhcmVyIG1heSBub3QgdW5kZXJzdGFuZCB3aGF0IHlvdSBtZWFudCwgYnV0IHdp bGwgYWx3YXlzIHVuZGVyc3RhbmQgd2hhdCB5b3Ugc2FpZC4KCgoKTG9qYmFuIGlzIE5PVCBlbnRp cmVseSB1bmFtYmlndW91czsgaHVtYW4gYmVpbmdzIG9jY2FzaW9uYWxseSBkZXNpcmUgdG8gYmUg YW1iaWd1b3VzIGluIHRoZWlyIGV4cHJlc3Npb25zLiBJbiBMb2piYW4sIHRoaXMgYW1iaWd1aXR5 IGlzIGxpbWl0ZWQgdG8gc2VtYW50aWNzLCBtZXRhcGhvciwgYW5kIGludGVudGlvbmFsIG9taXNz aW9uIG9mIGluZm9ybWF0aW9uIChlbGxpcHNpcykuIFNlbWFudGljIGFtYmlndWl0eSBpbiBsYW5n dWFnZSByZXN1bHRzIGJlY2F1c2Ugd29yZHMgaW4gbmF0dXJhbCBsYW5ndWFnZXMgcmVwcmVzZW50 IGZhbWlsaWVzIG9mIGNvbmNlcHRzIHJhdGhlciB0aGFuIGluZGl2aWR1YWwgbWVhbmluZ3MsIG9m dGVuIHdpdGggb25seSB3ZWFrIHNlbWFudGljIHJlbGF0aW9uc2hpcHMgdG8gZWFjaCBvdGhlci4g SW4gYWRkaXRpb24sIGVhY2ggaW5kaXZpZHVhbCdzIHBlcnNvbmFsIGV4cGVyaWVuY2VzIHByb3Zp ZGUgZW1vdGlvbmFsIGNvbm5vdGF0aW9ucyB0byB3b3Jkcy4gQnkgcHJvdmlkaW5nIGEgZnJlc2gs IGN1bHR1cmFsbHktbmV1dHJhbCBzdGFydCwgTG9qYmFuIGF0dGVtcHRzIHRvIG1pbmltaXplIHRo ZSB0cmFuc2ZlcmVuY2Ugb2YgdGhlc2UgYXNzb2NpYXRpb25zIGFzIHBlb3BsZSBsZWFybiB0aGUg bGFuZ3VhZ2UuIEJ5IGludGVudGlvbiwgbW9zdCBMb2piYW4gd29yZHMgZG8gbm90IGNsb3NlbHkg cmVzZW1ibGUgY29ycmVzcG9uZGluZyB3b3JkcyBpbiBvdGhlciBsYW5ndWFnZXM7IHRoZSBkaWZm ZXJlbmNlcyBhaWQgaW4gbWFraW5nIHRoaXMgZnJlc2ggc3RhcnQgcG9zc2libGUuIExvamJhbidz IHBvd2VyZnVsIG1ldGFwaG9yIGFuZCB3b3JkLWJ1aWxkaW5nIGZlYXR1cmVzIG1ha2UgaXQgZWFz eSB0byBtYWtlIGZpbmUgZGlzdGluY3Rpb25zIGJldHdlZW4gY29uY2VwdHMsIGRpc2NvdXJhZ2lu ZyBpbmRpdmlkdWFsIHdvcmRzIGZyb20gaGF2aW5nIGZhbWlsaWVzIG9mIG1lYW5pbmdzLiBMb2pi YW4gbWV0YXBob3JzIGFyZSB0aGVtc2VsdmVzIGFtYmlndW91cywgc3BlY2lmeWluZyBhIHJlbGF0 aW9uc2hpcCBiZXR3ZWVuIGNvbmNlcHRzLCBidXQgbm90IHdoYXQgdGhlIHJlbGF0aW9uc2hpcCBp cy4gVGhhdCByZWxhdGlvbnNoaXAgY2FuIGJlIG1hZGUgZXhwbGljaXQgdXNpbmcgdW5hbWJpZ3Vv dXMgbG9naWNhbCBjb25zdHJ1Y3RzIGlmIG5lY2Vzc2FyeSwgb3IgY2FuIGJlIGxlZnQgdmFndWUg YXMgdGhlIHNwZWFrZXIgKHVzdWFsbHkpIGRlc2lyZXMuIFNpbWlsYXJseSwgcG9ydGlvbnMgb2Yg dGhlIGxvZ2ljYWwgc3RydWN0dXJlIG9mIGEgTG9qYmFuIGV4cHJlc3Npb24gY2FuIGJlIG9taXR0 ZWQsIGdyZWF0bHkgc2ltcGxpZnlpbmcgdGhlIGV4cHJlc3Npb24gd2hpbGUgY2F1c2luZyBzb21l IGFtYmlndWl0eS4gVW5saWtlIGluIHRoZSBuYXR1cmFsIGxhbmd1YWdlcywgdGhvdWdoLCB0aGlz IGFtYmlndWl0eSBpcyByZWFkaWx5IGlkZW50aWZpZWQgYnkgYSByZWFkZXIgb3IgbGlzdGVuZXIu IFRodXMgYWxsIGFtYmlndWl0eSBpbiBMb2piYW4gaXMgY29uc3RyYWluZWQgYW5kIHJlY29nbml6 YWJsZSwgYW5kIGNhbiBiZSBjbGFyaWZpZWQgYXMgbmVjZXNzYXJ5IGJ5IGZ1cnRoZXIgaW50ZXJh Y3Rpb24uCgoKCiEhTG9qYmFuIGFuZCBTYXBpci1XaG9yZntBTkFNRSgpfXNhcGlyd2hvcmZ7QU5B TUV9CgoKClRoaXMgaHlwb3RoZXNpcyBzdGF0ZXMgdGhhdCB0aGUgc3RydWN0dXJlIG9mIGEgbGFu Z3VhZ2UgY29uc3RyYWlucyB0aG91Z2h0IGluIHRoYXQgbGFuZ3VhZ2UsIGFuZCBjb25zdHJhaW5z IGFuZCBpbmZsdWVuY2VzIHRoZSBjdWx0dXJlIHRoYXQgdXNlcyBpdC4gSW4gb3RoZXIgd29yZHMs IGlmIGNvbmNlcHRzIG9yIHN0cnVjdHVyYWwgcGF0dGVybnMgYXJlIGRpZmZpY3VsdCB0byBleHBy ZXNzIGluIGEgbGFuZ3VhZ2UsIHRoZSBzb2NpZXR5IGFuZCBjdWx0dXJlIHVzaW5nIHRoZSBsYW5n dWFnZSB3aWxsIHRlbmQgdG8gYXZvaWQgdGhlbS4gSW5kaXZpZHVhbHMgbWlnaHQgb3ZlcmNvbWUg dGhpcyBiYXJyaWVyLCBidXQgdGhlIHNvY2lldHkgYXMgYSB3aG9sZSB3aWxsIG5vdC4gVGhlIFNh cGlyLVdob3JmIGh5cG90aGVzaXMgaXMgaW1wb3J0YW50LCBhbmQgY29udHJvdmVyc2lhbDsgaXQg Y2FuIGJlIHVzZWQgYXMgYSBzb2Npb2xvZ2ljYWwgYXJndW1lbnQgdG8ganVzdGlmeSBvciB0byBv cHBvc2UgcmFjaXNtIGFuZCBzZXhpc20gKGFuZCBhIHZhcmlldHkgb2Ygb3RoZXIgJ2lzbXMnKS4g Rm9yIGV4YW1wbGUsIHRoZSBhc3NlcnRpb24gdGhhdCBzaW5jZSBnZW5kZXJsZXNzIGV4cHJlc3Np b25zIGluIEVuZ2xpc2ggdXNlICdtYXNjdWxpbmUnIGZvcm1zLCBFbmdsaXNoIGlzICdzZXhpc3Qn LCBwcmVzdW1lcyB0aGUgU2FwaXItV2hvcmYgaHlwb3RoZXNpcyBpcyB0cnVlLiBVbmRlcnN0YW5k aW5nIHRoZSBwb3RlbnRpYWwgZm9yIFNhcGlyLVdob3JmIGVmZmVjdHMgY291bGQgbGVhZCB0byBi ZXR0ZXIgaW50ZXItY3VsdHVyYWwgdW5kZXJzdGFuZGluZywgcHJvbW90aW5nIGNvbW11bmljYXRp b24gYW5kIHBlYWNlLgoKCgpJdCBpcyBrbm93biB0aGF0IHBlb3BsZSdzIGlkZWFzIGFuZCB0aG91 Z2h0IGNoYW5nZSBzb21ld2hhdCB3aGVuIHRoZXkgbGVhcm4gYSBmb3JlaWduIGxhbmd1YWdlLiBJ dCBpcyBub3Qga25vd24gd2hldGhlciB0aGlzIGNoYW5nZSBpcyBkdWUgdG8gZXhwb3N1cmUgdG8g YSBkaWZmZXJlbnQgY3VsdHVyZSBvciBldmVuIGp1c3QgZ2V0dGluZyBvdXRzaWRlIG9mIG9uZXMg b3duIGN1bHR1cmUuIEl0IGlzIGFsc28gbm90IGtub3duIGhvdyBtdWNoIChpZiBhbnkpIG9mIHRo ZSBjaGFuZ2UgaXMgZHVlIHRvIHRoZSBuYXR1cmUgb2YgdGhlIGxhbmd1YWdlLCBhcyBvcHBvc2Vk IHRvIHRoZSBjdWx0dXJhbCBhc3NvY2lhdGlvbnMuCgoKClRoZSBTYXBpci1XaG9yZiBoeXBvdGhl c2lzIHdhcyBpbXBvcnRhbnQgaW4gbGluZ3Vpc3RpY3MgaW4gdGhlIDE5NTAncywgYnV0IGludGVy ZXN0IGZlbGwgb2ZmIHBhcnRpYWxseSBiZWNhdXNlIHByb3Blcmx5IHRlc3RpbmcgaXQgd2FzIHNv IGRpZmZpY3VsdC4gTG9nbGFuL0xvamJhbiBpcyBhIG5ldyBhcHByb2FjaCB0byBzdWNoIHRlc3Rp bmcuIE9idmlvdXNseSwgaWYgYSBjdWx0dXJlLWluZGVwZW5kZW50IGxhbmd1YWdlIGNvdWxkIGJl IHRhdWdodCB0byBncm91cHMgb2YgcGVvcGxlLCB0aGUgZWZmZWN0cyBvZiBsYW5ndWFnZSBjb3Vs ZCBtb3JlIGVhc2lseSBiZSBzZXBhcmF0ZWQgZnJvbSB0aG9zZSBvZiBjdWx0dXJlLgoKCgpVbmlx dWUgZmVhdHVyZXMgb2YgTG9qYmFuIHJlbW92ZSBjb25zdHJhaW50cyBvbiBsYW5ndWFnZSBpbiB0 aGUgYXJlYXMgb2YgbG9naWMsIGFtYmlndWl0eSwgYW5kIGV4cHJlc3NpdmUgcG93ZXIsIG9wZW5p bmcgdXAgYXJlYXMgb2YgdGhvdWdodCB0aGF0IGhhdmUgbm90IGJlZW4gZWFzaWx5IGFjY2Vzc2li bGUgYnkgaHVtYW4gbGFuZ3VhZ2UgYmVmb3JlLiBNZWFud2hpbGUsIHRoZSBmb3JtYWwgcmlnaWRp dHkgb2YgdGhlIGxhbmd1YWdlIGRlZmluaXRpb24gYWxsb3dzIHNwZWFrZXJzIHRvIGNhcmVmdWxs eSBjb250cm9sIHRoZWlyIGV4cHJlc3Npb25zIChhbmQgcGVyaGFwcyB0aGVyZWZvcmUgdGhlaXIg dGhvdWdodCBwcm9jZXNzZXMpLiBUaGlzIGdpdmVzIHNvbWUgbWVhc3VyZSBvZiBwcmVkaWN0aXZl IHBvd2VyIHRoYXQgY2FuIGJlIHVzZWQgaW4gZGVzaWduaW5nIGFuZCBwcmVwYXJpbmcgZm9yIGFj dHVhbCBTYXBpci1XaG9yZiBleHBlcmltZW50cy4KCgoKT25lIG9mIHRoZSBwcmVyZXF1aXNpdGVz IG9mIGEgU2FwaXItV2hvcmYgZXhwZXJpbWVudCBpcyBhbiBpbnRlcm5hdGlvbmFsIGJvZHkgb2Yg TG9qYmFuIHNwZWFrZXJzLiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVhY2ggTG9qYmFuIHRvIHN1 YmplY3RzIHdobyBrbm93IG9ubHkgdGhlaXIgbmF0aXZlIChub24tRW5nbGlzaCkgdG9uZ3VlLCBh bmQgd2UgbmVlZCB0byBrbm93IGluIGFkdmFuY2UgdGhlIGRpZmZpY3VsdGllcyB0aGF0IHBlb3Bs ZSBmcm9tIGVhY2ggbGFuZ3VhZ2UgYW5kIGN1bHR1cmUgd2lsbCBoYXZlIGluIGxlYXJuaW5nIExv amJhbi4gVGh1cywgdGhlIExvamJhbiBjb21tdW5pdHkgaXMgYWN0aXZlbHkgcmVhY2hpbmcgb3V0 IHRvIHNwZWFrZXJzIG9mIGxhbmd1YWdlcyBvdGhlciB0aGFuIEVuZ2xpc2guCgoKCkxvamJhbiBk b2VzIG5vdCBuZWVkIHRvIHByb3ZlIG9yIGRpc3Byb3ZlIHRoZSBTYXBpci1XaG9yZiBoeXBvdGhl c2lzIGluIG9yZGVyIHRvIGJlIHN1Y2Nlc3NmdWwuIEhvd2V2ZXIsIGlmIGV2aWRlbmNlIGlzIHBy b2R1Y2VkIHN1cHBvcnRpbmcgdGhlIFNhcGlyLVdob3JmIGVmZmVjdCwgTG9qYmFuIHdpbGwgbGlr ZWx5IGJlIHBlcmNlaXZlZCBhcyBhbiBvdXRzdGFuZGluZyB0b29sIG9mIGFuYWx5dGljYWwgYW5k IGNyZWF0aXZlIHRob3VnaHQuICgoU2FwaXItV2hvcmYgSHlwb3RoZXNpc3xNb3JlLi4uKSkKCgoK ISFPdGhlciBsaW5ndWlzdGljIGFwcGxpY2F0aW9uc3tBTkFNRSgpfW90aGVybGluZ3tBTkFNRX0K CgoKQW4gYXJ0aWZpY2lhbCBsYW5ndWFnZSAoQUwpIGlzIGEgc2ltcGxlIG1vZGVsIG9mIGEgbmF0 dXJhbCBsYW5ndWFnZS4gSXQgaXMgdXNlZCBmb3IgY29tbXVuaWNhdGlvbiBsaWtlIG5hdHVyYWwg bGFuZ3VhZ2VzLCBzaW1wbGVyLCBtb3JlIHJlZ3VsYXIsIGFuZCByZWxhdGl2ZWx5IHVuY29udGFt aW5hdGVkIGJ5IGN1bHR1cmUgZWZmZWN0cy4gVW5saWtlIG1vc3QgbmF0dXJhbCBsYW5ndWFnZXMs IGFuIEFMIGhhcyBub3QgZXZvbHZlZCB0aHJvdWdoIG5hdHVyYWwgcHJvY2Vzc2VzIG9mIGludGVy bmFsIGNoYW5nZSBvciBjb250YWN0IHdpdGggb3RoZXIgbGFuZ3VhZ2VzLiBJbiBhZGRpdGlvbiwg dG8gdGhlIGV4dGVudCB0byB3aGljaCBkZXRhaWxzIG9mIGFuIEFMIGlzIHByZS1kZWZpbmVkLCB0 aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIHRoZSBsYW5ndWFnZSBpcyBmYXIgYmV0dGVyIGtub3du IHRoYW4gdGhhdCBvZiBhbnkgbmF0dXJhbCBsYW5ndWFnZS4KCgoKU3VjaCBhIHByZS1kZWZpbml0 aW9uLCBhIGxhbmd1YWdlICdwcmVzY3JpcHRpb24nLCBtYWtlcyBhbiBBTCBhIHVuaXF1ZSB0b29s IGZvciBzdHVkeWluZyB0aGUgbmF0dXJlIG9mIGxhbmd1YWdlLiBBcyBwZW9wbGUgbGVhcm4gdGhl IGxhbmd1YWdlLCB0aGUgd2F5IHRoZXkgJ2FjcXVpcmUnIHVuZGVyc3RhbmRpbmcgb2YgdGhhdCBw cmVzY3JpcHRpb24gY2FuIHRlbGwgc2NpZW50aXN0cyBob3cgJ25hdHVyYWwnIHRoZSBwcmVzY3Jp YmVkIGZvcm1zIGFyZS4gQWN0dWFsIHVzYWdlIG9mIHRoZSBsYW5ndWFnZSBjYW4gYmUgY29tcGFy ZWQgdG8gdGhlIHByZXNjcmlwdGlvbiBwcm92aWRpbmcgcXVhbnRpdGF0aXZlIGRhdGEgb24gc3Bl Y2lmaWMgcGF0dGVybnMgb2YgdXNhZ2UuIEFzIHRoZSBsYW5ndWFnZSBldm9sdmVzIGZyb20gaXRz IHJlbGF0aXZlbHkgcHJpc3RpbmUgaW5pdGlhbCBzdGF0ZSwgaXQgbWF5IGRldmlhdGUgZnJvbSBp dHMgcHJlc2NyaXB0aW9uLiBTdWNoIGRldmlhdGlvbnMgd2lsbCBiZXR0ZXIgaW5mb3JtIHJlc2Vh cmNoZXJzIGFzIHRvIHRoZSBwcm9wZXJ0aWVzIG9mIGEgJ25hdHVyYWwnIGxhbmd1YWdlLiBUaGUg cHJvY2VzcyBvZiBsYW5ndWFnZSBjaGFuZ2UgaXRzZWxmIHdpbGwgYmUgb3BlbiB0byBpbnZlc3Rp Z2F0aW9uIGluIGEgd2F5IG5ldmVyIGJlZm9yZSBwb3NzaWJsZS4gRmluYWxseSwgdGhlIGV4aXN0 ZW5jZSBvZiBhIHJlbGF0aXZlbHkgY29tcGxldGUgbGFuZ3VhZ2UgcHJlc2NyaXB0aW9uIGF0IHRo ZSBiaXJ0aCBvZiB0aGUgbGFuZ3VhZ2UgbWVhbnMgdGhhdCBhICdkZXNjcmlwdGlvbicgb2YgYWN0 dWFsIHVzYWdlIGFmdGVyIHRoYXQgaW5pdGlhbCBzdGF0ZSBjYW4gYmUgbW9yZSBzaW1wbHkgY3Jl YXRlZCwgbWFpbnRhaW5lZCwgYW5kIHN0dWRpZWQuCgoKCkxvamJhbiBpcyB1bmRvdWJ0ZWRseSB0 aGUgbW9zdCBjYXJlZnVsbHkgZGVzaWduZWQgYW5kIGRlZmluZWQgQUwgZXZlciBjcmVhdGVkLiBB bGwgYXNwZWN0cyBvZiBpdHMgZGVzaWduIGhhdmUgYmVlbiBjYXJlZnVsbHkgZW5naW5lZXJlZCBi eSBzZXZlcmFsIHBlb3BsZSBlbmNvbXBhc3NpbmcgZXhwZXJ0aXNlIGluIGEgdmFyaWV0eSBvZiBk aXNjaXBsaW5lcywgaW5jbHVkaW5nIGxpbmd1aXN0aWNzLiBUaGUgbGFuZ3VhZ2UgcHJlc2NyaXB0 aW9uIGlzIHNpbWlsYXJseSB0aGUgbW9zdCBjb21wbGV0ZSBvZiBhbnkgbGFuZ3VhZ2UuIEFzIHN1 Y2gsIGl0IHNlcnZlcyBhcyBhIHVuaXF1ZSBiYXNpcyBmb3IgdGhlIHN0dWR5IG9mIGxhbmd1YWdl IHVzYWdlIGFuZCBsYW5ndWFnZSBjaGFuZ2UuCgoKCkEgbmV3IGxhbmd1YWdlIGxpa2UgTG9qYmFu LCB3aXRoIG5vIG5hdGl2ZSBzcGVha2VycywgaXMgYSAncGlkZ2luJy4gQXMgdGhlIGxhbmd1YWdl IGV2b2x2ZXMsIG5hdGl2ZSBzcGVha2VycyBvZiBvdGhlciBsYW5ndWFnZXMgd2lsbCBsZWFybiBp dCwgYW5kIHdpbGwgYnJpbmcgaW50byB0aGVpciBMb2piYW4gdXNhZ2UgdGhlIHBlcnNwZWN0aXZl IGFuZCBwYXR0ZXJucyBvZiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFRoaXMgaW50ZXJhY3Rpb24g cHJvY2VzcywgY2FsbGVkICdjcmVvbGl6YXRpb24nLCBhZmZlY3RzIGFsbCBsYW5ndWFnZXMsIGFu ZCBtYXkgYmUgdGhlIHByaW5jaXBsZSBjYXVzZSBvZiBsYW5ndWFnZSBjaGFuZ2UuIEFzIExvamJh biBpcyBsZWFybmVkIGJ5IHNwZWFrZXJzIG9mIGEgdmFyaWV0eSBvZiBuYXR1cmFsIGxhbmd1YWdl cywgdGhpcyBwcm9jZXNzIGNhbiBiZSBzdHVkaWVkIGRpcmVjdGx5IGluIGEgd2F5IG5ldmVyIGJl Zm9yZSBwb3NzaWJsZSwgd2l0aCB0aGUgbGFuZ3VhZ2UgcHJlc2NyaXB0aW9uIHNlcnZpbmcgYXMg YSBzdGFuZGFyZCBieSB3aGljaCBkZXZpYXRpb25zIGFzc29jaWF0ZWQgd2l0aCBzcGVha2VyIG9y aWdpbiwgYW5kIGV2b2x1dGlvbiBvZiB1c2FnZSwgY2FuIGJlIG1lYXN1cmVkIGFuZCBkZXNjcmli ZWQgaW4gZGV0YWlsLgoKCgpBbiBBTCBsaWtlIExvamJhbiBoYXMgbmVpdGhlciBhbiBhc3NvY2lh dGVkICduYXRpdmUgYWNjZW50JyBub3IgYSBjdWx0dXJlIGJhc2UuIEJlaW5nIG11Y2ggc2ltcGxl ciBhbmQgbW9yZSByZWd1bGFyIHRoYW4gYSBuYXR1cmFsIGxhbmd1YWdlLCBhbiBhZHVsdCBzcGVh a2VyIHNob3VsZCBhY3F1aXJlIGEgZmx1ZW5jeSBzZWxkb20gYWNoaWV2ZWQgd2hlbiBzdHVkeWlu ZyBhIG5hdHVyYWwgbGFuZ3VhZ2UsIGFuZCBpbiBhIHJlbGF0aXZlbHkgc2hvcnQgdGltZS4gTG9q YmFuIHRodXMgbWFrZXMgcG9zc2libGUgcmVsYXRpdmVseSBzaG9ydC10ZXJtIHN0dWRpZXMgb2Yg bGFuZ3VhZ2UgbGVhcm5pbmcgYW5kIGxhbmd1YWdlIGNoYW5nZS4gUHJvY2Vzc2VzIHRoYXQgdGFr ZSBnZW5lcmF0aW9ucyBpbiBuYXR1cmFsIGxhbmd1YWdlcyBtYXkgYmUgb2JzZXJ2ZWQgaW4gYSBm ZXcgeWVhcnMgaW4gTG9qYmFuIHNwZWFrZXJzLgoKCgpXaXRoIHRoZSBsZWFybmluZyBvZiBvdGhl ciBsYW5ndWFnZXMgYWNxdWlyaW5nIGNyaXRpY2FsIGltcG9ydGFuY2UgaW4gdG9kYXkncyBpbnRl cm5hdGlvbmFsIGVjb25vbXksIExvamJhbiBwcm92aWRlcyBhIHRvb2wgZm9yIHJlc2VhcmNoIGlu IGxhbmd1YWdlIGFjcXVpc2l0aW9uLiBBZ2FpbiwgTG9qYmFuJ3Mgc2ltcGxpY2l0eSBhbGxvd3Mg dGhlIHJlc3VsdHMgb2Ygc3VjaCByZXNlYXJjaCB0byBiZSBvYnRhaW5lZCBtb3JlIHF1aWNrbHkg dGhhbiBpbiBzaW1pbGFyIHN0dWRpZXMgb2YgbmF0dXJhbCBsYW5ndWFnZSBhY3F1aXNpdGlvbi4K CgoKTm8gY2xhaW0gaXMgbWFkZSB0aGF0IHN0dWR5aW5nIExvamJhbiB3aWxsIHRlbGwgJ2FsbCcg YWJvdXQgbGFuZ3VhZ2UuIExvamJhbiwgYXQgbGVhc3QgZm9yIHNldmVyYWwgZGVjYWRlcywgd2ls bCBvbmx5IGJlIGEgJ21vZGVsJyBvZiBhIGxhbmd1YWdlLCB3aG9zZSAnbmF0dXJhbG5lc3MnIHdp bGwgYmUgc3VzcGVjdC4gSG93ZXZlciwgdG8gdGhlIGV4dGVudCB0aGF0IExvamJhbiBzZXJ2ZXMg dGhlIGNvbW11bmljYXRpdmUgYW5kIGV4cHJlc3NpdmUgZnVuY3Rpb25zIG9mIGh1bWFuIGxhbmd1 YWdlLCBhbnkgdGhlb3J5IGFib3V0IHRoZSBuYXR1cmUgb2YgaHVtYW4gbGFuZ3VhZ2UgbXVzdCBh cHBseSB0byBMb2piYW4uIExhbmd1YWdlIGZlYXR1cmVzIGFuZCBwcm9jZXNzZXMgbW9yZSBlYXNp bHkgaWRlbnRpZmllZCBpbiBzdHVkeWluZyBMb2piYW4gY2FuIHRoZW4gYmUgY29uZmlybWVkIGlu IG5hdHVyYWwgbGFuZ3VhZ2VzLiBTaW1pbGFybHksIHRoZW9yaWVzIG9mIHRoZSBuYXR1cmUgb2Yg bGFuZ3VhZ2UgY2FuIGJlIHRlc3RlZCBhbmQgcmVmaW5lZCBhZ2FpbnN0IHRoaXMgc2ltcGxlciBt b2RlbCBvZiBhIGxhbmd1YWdlIGJlZm9yZSBmYWNpbmcgdGhlIG1vcmUgZGlmZmljdWx0IGFuZCB0 aW1lLWNvbnN1bWluZyB0ZXN0aW5nIGFuZCBhbmFseXNpcyBpbnZvbHZlZCBpbiBuYXR1cmFsIGxh bmd1YWdlIHJlc2VhcmNoLgoKCgpCZWNhdXNlIExvamJhbiBpcyByZWxhdGl2ZWx5IGN1bHR1cmUt ZnJlZSwgYW5kIGJlY2F1c2Ugb2YgaXRzIHByZXNjcmliZWQgc3RydWN0dXJlIHRoYXQgaXMgY29u c2lzdGVudCB3aXRoIHByZWRpY2F0ZSBsb2dpYywgTG9qYmFuIGlzIGFuIGlkZWFsIG1lZGl1bSBm b3IgdGhlIGFuYWx5c2lzIGFuZCBkZXNjcmlwdGlvbiBvZiBvdGhlciBsYW5ndWFnZXMuIEN1cnJl bnRseSwgZmVhdHVyZXMgaW4gbGFuZ3VhZ2UgbXVzdCBiZSBjb21wYXJlZCBhZ2FpbnN0IG90aGVy IG5hdHVyYWwgbGFuZ3VhZ2VzLCBhbmQgYXJlIHVzdWFsbHkgZGVzY3JpYmVkIGluIHNjaWVudGlm aWMgbGl0ZXJhdHVyZSBieSBnbG9zc2VkIHRyYW5zbGF0aW9uIGludG8gRW5nbGlzaC4gTG9qYmFu IGlzIHNpbXBsZSBhbmQgcmVndWxhciBlbm91Z2ggdG8gYmUgYWNxdWlyZWQgYXMgYSBtZXRhbGFu Z3VhZ2UgZm9yIGRlc2NyaWJpbmcgb3RoZXIgbGFuZ3VhZ2VzOyBpdHMgc3RydWN0dXJlcyBhbGxv dyBjbGVhcmVyIHJlZmxlY3Rpb24gb2YgdGhlIHBhdHRlcm5zIG9mIHRoZSBsYW5ndWFnZSBiZWlu ZyBkZXNjcmliZWQsIHdpdGhvdXQgaW50ZXJmZXJlbmNlIGZyb20gdGhlIGNvbXBldGluZyBwYXR0 ZXJucyBvZiBFbmdsaXNoLgoKCgpGaW5hbGx5LCBMb2piYW4ncyBwcmVkaWNhdGUgZ3JhbW1hciwg bWFrZXMgaXQgZW1pbmVudGx5IHN1aXRlZCBmb3Igb25nb2luZyBjb21wdXRlciByZXNlYXJjaCBp bnRvIG5hdHVyYWwgbGFuZ3VhZ2VzLiBMb2piYW4gY2FuIGJlIHVzZWQgZm9yIHBhcnNpbmcgYW5k IGFuYWx5c2lzLCBhcyBhbiBpbnRlcm5hbCBtZWRpdW0gb2YgZGF0YSBzdG9yYWdlLCBvciBhcyBh biBpbnRlcm1lZGlhdGUgbGFuZ3VhZ2UgZm9yIG1hY2hpbmUgdHJhbnNsYXRpb24uIEhhdmluZyBh IGNvbWJpbmF0aW9uIG9mIGxvZ2ljYWwgYW5kIG5hdHVyYWwgbGFuZ3VhZ2Ugc3RydWN0dXJlcywg TG9qYmFuIGNvbWJpbmVzIHRoZSBiZXN0IG9mIGJvdGggbWFqb3Igc3RydWN0dXJhbCBhcHByb2Fj aGVzIHRvIGxhbmd1YWdlIHByb2Nlc3NpbmcgaW4gY29tcHV0ZXJzLgoKCgpUaGUgZXhlcmNpc2Ug b2YgdHJ5aW5nIHRvIGludmVudCBhIGxhbmd1YWdlIGNhbiB0ZWFjaCB1cyB0aGluZ3MgYWJvdXQg bGFuZ3VhZ2UgdGhhdCBwcm9iYWJseSBjYW4ndCBiZSBsZWFybmVkIGluIGFueSBvdGhlciB3YXku IEV2ZW4gaWYgTG9qYmFuIHNob3VsZCBmYWlsIGFzIGEgbGFuZ3VhZ2UsIHdlIHdpbGwgbGVhcm4u IEhvd2V2ZXIsIHRvIHRoZSBleHRlbnQgTG9qYmFuIHN1Y2NlZWRzLCBpdHMgcG90ZW50aWFsIGFz IGEgYmFzaXMgZm9yIHRlc3RpbmcgaWRlYXMgYWJvdXQgbGFuZ3VhZ2UsIGl0cyBzdHJ1Y3R1cmUs IGFuZCB1c2FnZSwgaXMgdW5saW1pdGVkLiBUaGUgaW52ZW50aW9uIG9mIExvamJhbiBpcyB0aGUg aW52ZW50aW9uIG9mIHRoZSBzY2llbmNlIG9mIGV4cGVyaW1lbnRhbCBsaW5ndWlzdGljcy4KCgoK ISFMb2piYW4gYXMgYW4gaW50ZXJuYXRpb25hbCBsYW5ndWFnZXtBTkFNRSgpfWludGVybmF0aW9u YWx7QU5BTUV9CgoKCkxvamJhbiBtYXkgYmUgdGhlIGZpcnN0IGFydGlmaWNpYWwgbGFuZ3VhZ2Ug Tk9UIGluIGRpcmVjdCBjb21wZXRpdGlvbiB3aXRoIEVzcGVyYW50bywgaW4gdGhhdCBMb2piYW4n cyBwb3RlbnRpYWwgc3VjY2VzcyBpcyBub3QgZGVwZW5kZW50IG9uIGl0cyBpbW1lZGlhdGUgcHJh Y3RpY2FsIHVzZSBhcyBhbiBpbnRlcm5hdGlvbmFsIGxhbmd1YWdlLiBJbmRlZWQsIHdlIHVzZSBF c3BlcmFudG8gYXMgb25lIG1lYW5zIG9mIHJhcGlkbHkgc3ByZWFkaW5nIGluZm9ybWF0aW9uIGFi b3V0IExvamJhbiB0byBub24tRW5nbGlzaCBzcGVha2Vycywgc3BlZWRpbmcgYSBwcm9jZXNzIHRo YXQgd291bGQgdGFrZSBkZWNhZGVzIHVzaW5nIGRpcmVjdCB0cmFuc2xhdGlvbiB0byBhbGwgdGFy Z2V0IGxhbmd1YWdlcy4gTG9qYmFuIGhhcyBwcm92ZW4gYXR0cmFjdGl2ZSB0byBFc3BlcmFudGlz dHMgaW50ZXJlc3RlZCBpbiBhY3F1aXJpbmcgYSBuZXcgcGVyc3BlY3RpdmUgb24gdGhlaXIgb3du IGludGVybmF0aW9uYWwgbGFuZ3VhZ2U7IHRoZXNlIGZlZWwgbGVzcyB0aHJlYXRlbmVkIGJlY2F1 c2UgTG9qYmFuIGhhcyBkaWZmZXJlbnQgZ29hbHMuIExvamJhbidzIHN1cHBvcnRlcnMgcmVjb2du aXplIHRoYXQgaXQgd2lsbCB0YWtlIGRlY2FkZXMgZm9yIExvamJhbiB0byBhY3F1aXJlIGJvdGgg dGhlIG51bWJlciBhbmQgdmFyaWV0eSBvZiBzcGVha2VycyBhbmQgdGhlIGV4dGVuc2l2ZSBoaXN0 b3J5IG9mIHVzYWdlIHRoYXQgbWFya3MgRXNwZXJhbnRvIGN1bHR1cmUuIE1lYW53aGlsZSwgZWFj aCBsYW5ndWFnZSBjb21tdW5pdHkgaGFzIG11Y2ggdG8gbGVhcm4gZnJvbSBlYWNoIG90aGVyOyB0 aGlzIHByb2Nlc3MgaGFzIHN0YXJ0ZWQgYW5kIGlzIG1vc3QgYWN0aXZlLgoKCgohIVNldmVyYWwg cmVhc29ucyBmb3IgbGVhcm5pbmcgTG9qYmFuIE5PV3tBTkFNRSgpfXJlYXNvbnN7QU5BTUV9CgoK ClRob3NlIHdvcmtpbmcgd2l0aCB0aGUgbGFuZ3VhZ2Ugbm93IGFyZSBhY3RpdmVseSBjb25zdWx0 ZWQgZm9yIHRoZWlyIG9waW5pb25zIG9uIGhvdyB0byB0ZWFjaCBhbmQgc3ByZWFkIHRoZSBsYW5n dWFnZS4gUGVvcGxlIHdobyB3cml0ZSBpbiB0aGUgbGFuZ3VhZ2UgYXJlIGNvbnRyaWJ1dGluZyB0 byB0aGUgZ3Jvd3RoIG9mIHRoZSBsZXhpY29uLCBhbmQgZXN0YWJsaXNoaW5nIHRoZSBjb252ZW50 aW9ucyBhbmQgaWRpb21zIHRoYXQgd2lsbCBndWlkZSBsYW5ndWFnZSB1c2UgaW4gZnV0dXJlIHll YXJzLiBQZW9wbGUgd2hvIGFyZSBlc3BlY2lhbGx5IGFjdGl2ZSBoYXZlIGpvaW5lZCB0aGUgcHJv amVjdCBsZWFkZXJzaGlwIHdpdGhpbiBhIGZldyBtb250aHMgb2YgYmVjb21pbmcgaW52b2x2ZWQu CgoKClRob3NlIHdpdGggYSBjb21wdXRlciBiYWNrZ3JvdW5kIGNhbiBsZWFkIGRldmVsb3BtZW50 IG9mIHRoZSBmaXJzdCBjb21wdXRlciBhcHBsaWNhdGlvbnMgZm9yIHRoZSBsYW5ndWFnZS4gRXhw ZXJ0aXNlIGluIHRoZSBsYW5ndWFnZSB3aWxsIG5vIGRvdWJ0IGJlIHZhbHVhYmxlIGFzIExvamJh biBiZWNvbWVzIHJlY29nbml6ZWQgYXMgYSB1c2VmdWwgdG9vbCBmb3IgY29tcHV0ZXIgYXBwbGlj YXRpb25zIGJ5IHRoZSBjb21wdXRlciBpbmR1c3RyeS4gQ29tcHV0ZXItb3JpZW50ZWQgTG9qYmFu aXN0cyBjYW4gYWxzbyBhaWQgaW4gZGV2ZWxvcGluZyBjb21wdXRlci1haWRlZCBpbnN0cnVjdGlv biB0b29scyBvciBjb252ZXJ0aW5nIGV4aXN0aW5nIHNvZnR3YXJlIHRvIHJ1biBvbiBuZXcgY29t cHV0ZXJzLgoKCgpSZWdhcmRsZXNzIG9mIGJhY2tncm91bmQsIGxlYXJuaW5nIExvamJhbiBpcyBh IG1pbmQtZXhwYW5kaW5nIGV4cGVyaWVuY2UuIExlYXJuaW5nIGFueSBsYW5ndWFnZSBvdGhlciB0 aGFuIHlvdXIgbmF0aXZlIHRvbmd1ZSBicm9hZGVucyB5b3VyIHBlcnNwZWN0aXZlcyBhbmQgYWxs b3dzIHlvdSB0byB0cmFuc2NlbmQgdGhlIGxpbWl0ZWQgdmlld3BvaW50cyBvZiB5b3VyIG5hdGl2 ZSBsYW5ndWFnZSBjdWx0dXJlLiBMb2piYW4sIGJlaW5nIG11Y2ggc2ltcGxlciB0byBsZWFybiB0 aGFuIG5hdHVyYWwgbGFuZ3VhZ2VzLCBwcm92aWRlcyB0aGlzIGJlbmVmaXQgbXVjaCBtb3JlIHF1 aWNrbHkgdGhhbiBkb2VzIHRoZSBzdHVkeSBvZiBvdGhlciBsYW5ndWFnZXMuIEJlaW5nIHNvIHN0 cm9uZ2x5IGRpZmZlcmVudCwgdGhlIGludGVuc2l0eSBvZiB0aGUgZWZmZWN0IHNlZW1zIHRvIGJl IGhlaWdodGVuZWQuIFdoZW4gTG9qYmFuaXN0cyB0YWxrIGFib3V0IGxhbmd1YWdlLCB0aGUgZGlz Y3Vzc2lvbiBoYXMgYmVlbiBvYnNlcnZlZCB0byBiZSBtb3JlIHNvcGhpc3RpY2F0ZWQgYXMgd2Vs bCBhcyBxdWFsaXRhdGl2ZWx5IGRpZmZlcmVudCBmcm9tIHRoZSB0YWxrIG9mIHN0dWRlbnRzIG9m IHNlY29uZCBuYXR1cmFsIGxhbmd1YWdlcy4KCgoKVGhlIGxvZ2ljYWwgb3JnYW5pemF0aW9uIGVt YmVkZGVkIGluIExvamJhbiBhaWRzIGluIG9yZ2FuaXppbmcgYW5kIGNsYXJpZnlpbmcgdGhvdWdo dHMuIEhhdmluZyBkb25lIHNvLCB5b3VyIG5ldyBwZXJzcGVjdGl2ZSBvbiBsYW5ndWFnZSwgYW1i aWd1aXR5LCBhbmQgY29tbXVuaWNhdGlvbiB3aWxsIGFsbG93IHlvdSB0byBleHByZXNzIHRob3Nl IHRob3VnaHRzIG1vcmUgY2xlYXJseSwgZXZlbiB3aGVuIHlvdSB1c2UgYW4gYW1iaWd1b3VzIG5h dHVyYWwgbGFuZ3VhZ2UuCgoKCkEgcmVsYXRpdmVseSBzaG9ydCBzdHVkeSBvZiBMb2piYW4gYnkg aGlnaCBzY2hvb2wgKG9yIHlvdW5nZXIpIHN0dWRlbnRzIGhhcyBiZWVuIHByb3Bvc2VkLCBwcm92 aWRpbmcgdGhlIGxpbmd1aXN0aWMgdW5kZXJzdGFuZGluZyB0aGF0IHdhcyBvbmNlIGFzc29jaWF0 ZWQgd2l0aCBzdHVkeWluZyBMYXRpbiBhbmQgb3RoZXIgbGFuZ3VhZ2VzIGZvciBtdWNoIGxvbmdl ciBwZXJpb2RzIG9mIHRpbWUuIFN1Y2ggc3R1ZHkgY2FuIGJlIHRpZWQgaW4gd2l0aCBjb25jZXB0 cyBvZiBsb2dpYywgYW5kIHBvc3NpYmx5IHdpdGggY29tcHV0ZXItcmVsYXRlZCBhY3Rpdml0aWVz LCBoZWxwaW5nIHRvIHNob3cgdGhlIGVzc2VudGlhbCBpbnRlcnJlbGF0ZWQgbmF0dXJlIG9mIGxh bmd1YWdlIGFuZCBvdGhlciBodW1hbiBlbmRlYXZvci4KCgoKWW91IG5lZWRuJ3QgbGVhcm4gTG9q YmFuIGZvciBhbnkgcHJhY3RpY2FsIHB1cnBvc2UsIGhvd2V2ZXIuIE1hbnkgb2YgdGhvc2UgbGVh cm5pbmcgTG9qYmFuIGFyZSBkb2luZyBzbyBiZWNhdXNlIGl0IGlzIGZ1bi4gTGVhcm5pbmcgTG9q YmFuIGlzIGludGVsbGVjdHVhbGx5IHN0aW11bGF0aW5nLCBhbmQgcHJvdmlkZXMgaHVtYW4gaW50 ZXJhY3Rpb24gYW5kIG1lbnRhbCBjaGFsbGVuZ2UuIExvamJhbiBoYXMgYWxsIHRoZSBiZW5lZml0 cyBvZiBnYW1lcyBkZXNpZ25lZCBmb3IgZW50ZXJ0YWlubWVudCwgd2l0aCB0aGUgYWRkZWQgcHJv c3BlY3Qgb2YgZGV2ZWxvcGluZyB1c2VmdWwgc2tpbGxzIGFzIGEgc2lkZSBiZW5lZml0LiBMZWFy bmluZyBMb2piYW4gYXMgYW4gJ2ludGVsbGVjdHVhbCB0b3knIG1lYW5zIHRoYXQgeW91IGNhbiBn ZXQgZW5qb3ltZW50IGZyb20gbGVhcm5pbmcgTG9qYmFuIHdpdGhvdXQgbmVhcmx5IHRoZSBlZmZv cnQgbmVlZGVkIHRvIGJlbmVmaXQgZnJvbSBzdHVkeWluZyBvdGhlciBsYW5ndWFnZXMuIFdoaWxl IGJlY29taW5nIGZsdWVudCBpbiBMb2piYW4gd2lsbCBwcm9iYWJseSB0YWtlIGh1bmRyZWRzIG9m IGhvdXJzIG92ZXIgc2V2ZXJhbCBtb250aHMsIHlvdSBjYW4gZmVlbCBzb21lIHNlbnNlIG9mIGFj Y29tcGxpc2htZW50IGluIHRoZSBsYW5ndWFnZSBhZnRlciBqdXN0IGEgZmV3IGhvdXJzIG9mIHN0 dWR5LiBZb3UgY2FuIHVzZSBMb2piYW4gaW1tZWRpYXRlbHkgZm9yIGZ1biwgd2hpbGUgZ2Fpbmlu ZyBza2lsbCB3aXRoIGdyZWF0ZXIgZXhwZXJpZW5jZS4KCgoKISFIb3cgdG8gbGVhcm4gTG9qYmFu e0FOQU1FKCl9aG93e0FOQU1FfQoKCgpXcml0ZSB0byBbaHR0cDovL3d3dy5sb2piYW4ub3JnL2xs Zy9jb250YWN0Lmh0bWx8VGhlIExvZ2ljYWwgTGFuZ3VhZ2UgR3JvdXAsIEluYy5dLCBhbmQgd2Ug d2lsbCBiZSBoYXBweSB0byBwcm92aWRlIGluZm9ybWF0aW9uLCB0aG91Z2ggb3VyIGNvbGxlY3Rl ZCBXZWIgYW5kIGZpbGUgYXJjaGl2ZXMgY29udGFpbiBhbGwgaW5mb3JtYXRpb24gdGhhdCB3ZSBo YXZlIGluIGRpc3RyaWJ1dGFibGUgZm9ybS4gRm9yIHByaW50ZWQgbWF0dGVyLCB3ZSByZXF1ZXN0 IGEgY29udHJpYnV0aW9uIG9mICQ1IHRvIGNvdmVyIHRoZSBjb3N0cyBvZiBpbnRyb2R1Y3Rvcnkg bWF0ZXJpYWxzIChpbmNsdWRpbmcgYSBjb3B5IG9mIHRoaXMgZXNzYXkpLCBidXQgd2lsbCBzZW5k IHRoaXMgcGFja2FnZSBvbiBzcGVjdWxhdGlvbi4gQWRkaXRpb25hbCBtYXRlcmlhbHMgYXZhaWxh YmxlIHRvdGFsIGh1bmRyZWRzIG9mIHBhZ2VzLCB3aGljaCBhcmUgcHJpY2VkIGFwcHJveGltYXRl bHkgYXQgb3VyIGNvc3RzOyB3ZSBhcmUgYSBub24tcHJvZml0IGVkdWNhdGlvbmFsL3NjaWVudGlm aWMgb3JnYW5pemF0aW9uLiAoKENvbnRhY3QgVXMpKSB1cyByZWdhcmRpbmcgaW50ZXJuYXRpb25h bCBwYXltZW50OyB3ZSBvZmZlciBzZXZlcmFsIG9wdGlvbnMuIEEgbGltaXRlZCBwb2xpY3kgZXhp c3RzIGZvciBwcm92aWRpbmcgbWF0ZXJpYWxzIHRvIHBlb3BsZSB3aG8gY2Fubm90IGFmZm9yZCBw YXltZW50LgoKCgpXZSBlbmNvdXJhZ2UgbmV3IHBlb3BsZSB0byBjb25jZW50cmF0ZSBvbiB2b2Nh YnVsYXJ5LiBBbG1vc3QgYW55IHVzZSBvZiBMb2piYW4gcmVxdWlyZXMgc29tZSBtYXN0ZXJ5IG9m IHRoZSBiYXNpYyB2b2NhYnVsYXJ5ICgxMDAwLTIwMDAgd29yZHMpLiBZb3UgY2FuIGxlYXJuIGVu b3VnaCBMb2piYW4gZ3JhbW1hciB0byBzdXBwb3J0IGNvbnZlcnNhdGlvbiBpbiBqdXN0IGEgY291 cGxlIG9mIGhvdXJzLCBidXQgZmFjZSBtYW55IGhvdXJzIG9mIHZvY2FidWxhcnkgd29yayBpbiBv cmRlciB0byBlZmZlY3RpdmVseSB1c2UgdGhhdCBncmFtbWFyLiBXZSBkaXN0cmlidXRlIGZsYXNo IGNhcmRzIGFuZCBoYXZlIGRldmVsb3BlZCBmbGFzaCBjYXJkIHRlY2huaXF1ZXMgdGhhdCBhcmUg ZXh0cmVtZWx5IGVmZmljaWVudCBpbiBsZWFybmluZyB2b2NhYnVsYXJ5LiBUaGVzZSB0ZWNobmlx dWVzIGhhdmUgYmVlbiBhdXRvbWF0ZWQgaW50byBjb21wdXRlci1haWRlZC10ZWFjaGluZyBwcm9n cmFtcyBzb2xkIGFuZCBkaXN0cmlidXRlZCBhcyBTaGFyZXdhcmUgdW5kZXIgdGhlIG5hbWUgIkxv Z0ZsYXNoIiwgd2l0aCBNUy1ET1MgYW5kIE1hY0ludG9zaCB2ZXJzaW9ucwoKY3VycmVudGx5IGF2 YWlsYWJsZS4KCgoKWW91IGNhbiBsZWFybiB0aGUgTG9qYmFuIGdyYW1tYXIgaW4gc2V2ZXJhbCB3 YXlzLCBpbmNsdWRpbmcgc3R1ZHkgb2YgZXhhbXBsZXMgaW4gdGhlIHF1YXJ0ZXJseSBqb3VybmFs ICgoanUnaSBsb2J5cGxpfF9fJydqdSdpIGxvYnlwbGknJ19fKSkgb3IgYnkgaW5zcGVjdGlvbiBh bmQgYW5hbHlzaXMgb2YgWUFDQyBhbmQgRS1CTkYgZm9ybWFsIGdyYW1tYXIgZGVzY3JpcHRpb25z LiBUaGVyZSBpcyBub3cgYSBwdWJsaXNoZWQgbGFuZ3VhZ2UgcmVmZXJlbmNlIFtodHRwOi8vd3d3 LmxvamJhbi5vcmcvcHVibGljYXRpb25zL2NsbC5odG1sfCBUaGUgQ29tcGxldGUgTG9qYmFuIExh bmd1YWdlXSwgYnkgSm9obiBDb3dhbi4gRHJhZnQgbGVzc29uIG1hdGVyaWFscyAoYWJvdXQgMTgw IHBhZ2VzKSBhcmUgdGhlIGJlc3QgbWF0ZXJpYWxzIGF2YWlsYWJsZSBmb3Igc2VsZi1zdHVkeS4g QSBMb2piYW4gdGV4dC1ib29rIGlzIGJlaW5nIHdyaXR0ZW4gdG8gcmVmbGVjdCB3aGF0IGlzIGxl YXJuZWQgZnJvbSB0aGUgZmlyc3QgbGVhcm5pbmcgZWZmb3J0cywgYW5kIGlzIGJlaW5nIGRlc2ln bmVkIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgZm9yIHNlbGYtaW5zdHJ1Y3Rpb24sIGNsYXNzcm9v bSB0ZWFjaGluZywgb3IgZ3JvdXAgc3R1ZHkuIEEgZm9ybWFsICdMb2piYW4gZGljdGlvbmFyeScg d2lsbCByZXBsYWNlIG1vc3Qgb2YgdGhlIGV4aXN0aW5nIHdvcmQgbGlzdHMgYW5kIGxhbmd1YWdl IGRlc2NyaXB0aW9uIG1hdGVyaWFscywgYW5kIGlzIGJlaW5nIHdvcmtlZCBvbiwgYnV0IHByZXNl bnQgbWF0ZXJpYWxzIGNvbnRhaW4gdGhlIGVxdWl2YWxlbnQgb2YgYSBiYXNpYyBkaWN0aW9uYXJ5 LgoKCgpBZnRlciB0aGUgZGljdGlvbmFyeSBhbmQgdGV4dGJvb2sgaGF2ZSBiZWVuIHB1Ymxpc2hl ZCB0aGUgTG9qYmFuIGxhbmd1YWdlIGRlZmluaXRpb24gd2lsbCBiZSBiYXNlbGluZWQgKGZyb3pl bikgZm9yIGEgbWluaW11bSBvZiA1IHllYXJzLCBhbmQgTG9qYmFuIHdpbGwgdGhlcmVhZnRlciBi ZSBzb2xlbHkgY29udHJvbGxlZCBieSBzcGVha2VycyBvZiB0aGUgbGFuZ3VhZ2UuCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFp bGluZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==