Received: from localhost ([::1]:38435 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1SoK1A-0006Pe-Ak; Mon, 09 Jul 2012 12:53:12 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:34163 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1SoK14-0006PU-Fh for wikichanges@lojban.org; Mon, 09 Jul 2012 12:53:09 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 9 Jul 2012 12:53:06 -0700 From: "Apache" Date: Mon, 9 Jul 2012 12:53:06 -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 Folleto de introducción al lojban was changed by AldoEZ at 07:53 GMT+12 You can view the page by following this link: http://www.lojban.org/tiki/Folleto%20de%20introducci%C3%B3n%20al%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_Folleto_de_introducci=C3=B3n_al?= =?utf-8?q?_lojban_changed_by_AldoEZ?= 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 VGhlIHBhZ2UgRm9sbGV0byBkZSBpbnRyb2R1Y2Npw7NuIGFsIGxvamJhbiB3YXMgY2hhbmdlZCBi eSBBbGRvRVogYXQgMDc6NTMgR01UKzEyCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93 aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS9Gb2xsZXRvJTIwZGUl MjBpbnRyb2R1Y2NpJUMzJUIzbiUyMGFsJTIwbG9qYmFuCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJh Y2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6 Ly93d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9Rm9sbGV0byUy MGRlJTIwaW50cm9kdWNjaSVDMyVCM24lMjBhbCUyMGxvamJhbiZjb21wYXJlPTEmb2xkdmVyPTEm bmV3dmVyPTIKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBm b2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDE5LTQyIGNoYW5nZWQgdG8gK0xpbmVzOiAxOS00NiBAQAorLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwohIUludHJvZHVjY2nD s257QU5BTUUoKX1pbnRyb3tBTkFNRX0KCi0gRWwgX19sb2piYW5fXyAoL0xPTEwtYmFuLykgZXMg dW5hIGxlbmd1YSBjb25zdHJ1aWRhLiBPcmlnaW5hbG1lbnRlIGVyYSBsbGFtYWRvICZxdW90O19f bG9nbGFuX18mcXVvdDsgcG9yIGVsIF9fRHIuIEphbWVzIENvb2tlIEJyb3duX18sIGZ1bmRhZG9y IGRlbCBwcm95ZWN0bywgcXVpZW4gY29tZW56w7MgYSBkZXNhcnJvbGxhciBlbCBpZGlvbWEgZW4g X18xOTU1X18uIExhcyBtZXRhcyBkZWwgaWRpb21hIHNlIGRlc2NyaWJpZXJvbiBwb3IgcHJpbWVy YSB2ZXogZW4gZWwgYXJ0w61jdWxvICZxdW90O0xvZ2xhbiZxdW90OyBkZSAnJ1NjaWVudGlmaWMg QW1lcmljYW4sIEp1bmlvLCAxOTYwJycuIEVsIGxvZ2xhbi9sb2piYW4gc2UgY29uc3RydXnDsyBl biBtw6FzIGRlIHRyZXMgZMOpY2FkYXMgcG9yIGRvY2VuYXMgZGUgdHJhYmFqYWRvcmVzIHkgY2ll bnRvcyBkZSBzZWd1aWRvcmVzLCBkaXJpZ2lkb3MgcG9yIGVsIF9fTG9naWNhbCBMYW5ndWFnZSBH cm91cF9fIGRlc2RlIF9fMTk4N19fLgorIEVsIF9fbG9qYmFuX18gKC9MT0xMLWJhbi8gY29uIHll w61zbW8gYXJnZW50aW5vKSBlcyB1bmEgbGVuZ3VhIGNvbnN0cnVpZGEuIE9yaWdpbmFsbWVudGUg ZXJhIGxsYW1hZG8gJnF1b3Q7X19sb2dsYW5fXyZxdW90OyBwb3IgZWwgX19Eci4gSmFtZXMgQ29v a2UgQnJvd25fXywgZnVuZGFkb3IgZGVsIHByb3llY3RvLCBxdWllbiBjb21lbnrDsyBhIGRlc2Fy cm9sbGFyIGVsIGlkaW9tYSBlbiBfXzE5NTVfXy4gTGFzIG1ldGFzIGRlbCBpZGlvbWEgc2UgZGVz Y3JpYmllcm9uIHBvciBwcmltZXJhIHZleiBlbiBlbCBhcnTDrWN1bG8gJnF1b3Q7TG9nbGFuJnF1 b3Q7IGRlICcnU2NpZW50aWZpYyBBbWVyaWNhbiwgSnVuaW8sIDE5NjAnJy4gRWwgbG9nbGFuL2xv amJhbiBzZSBjb25zdHJ1ecOzIGVuIG3DoXMgZGUgdHJlcyBkw6ljYWRhcyBwb3IgZG9jZW5hcyBk ZSB0cmFiYWphZG9yZXMgeSBjaWVudG9zIGRlIHNlZ3VpZG9yZXMsIGRpcmlnaWRvcyBwb3IgZWwg X19Mb2dpY2FsIExhbmd1YWdlIEdyb3VwX18gZGVzZGUgX18xOTg3X18uCgotIEV4aXN0ZW4gbXVj aGFzIGxlbmd1YXMgYXJ0aWZpY2lhbGVzLCBwZXJvIGVsIGxvZ2xhbi9sb2piYW4gc2UgaGEgdHJh YmFqYWRvIGluZ2VuaWVyaWxtZW50ZSBwYXJhIHNlciDDum5pY28gZGUgdmFyaWFzIG1hbmVyYXMu IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBtYWluIGZlYXR1cmVzIG9mIExvamJhbjoKKyBFeGlzdGVu IG11Y2hhcyBsZW5ndWFzIGFydGlmaWNpYWxlcywgcGVybyBlbCBsb2dsYW4vbG9qYmFuIHNlIGhh IHRyYWJhamFkbyBpbmdlbmllcmlsbWVudGUgcGFyYSBzZXIgw7puaWNvIGRlIHZhcmlhcyBtYW5l cmFzLiBMYXMgc2lndWllbnRlcyBzb24gbGFzIGNhcmFjdGVyw61zdGljYXMgcHJpbmNpcGFsZXMg ZGVsIGxvamJhbjoKCi0gKiBMb2piYW4gaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBieSBwZW9wbGUg aW4gX19jb21tdW5pY2F0aW9uX18gd2l0aCBlYWNoIG90aGVyLCBhbmQgcG9zc2libHkgaW4gdGhl IGZ1dHVyZSB3aXRoIGNvbXB1dGVycy48YnIgLz4qIExvamJhbiBpcyBkZXNpZ25lZCB0byBiZSBf X2N1bHR1cmFsbHkgbmV1dHJhbF9fLjxiciAvPiogTG9qYmFuIGdyYW1tYXIgaXMgYmFzZWQgb24g dGhlIF9fcHJpbmNpcGxlcyBvZiBsb2dpY19fLjxiciAvPiogTG9qYmFuIGhhcyBhbiBfX3VuYW1i aWd1b3VzIGdyYW1tYXJfXy4gPGJyIC8+KiBMb2piYW4gaGFzIF9fcGhvbmV0aWMgc3BlbGxpbmdf XywgYW5kIHVuYW1iaWd1b3VzIHJlc29sdXRpb24gb2Ygc291bmRzIGludG8gd29yZHMuIDxiciAv PiogTG9qYmFuIGlzIF9fc2ltcGxlX18gY29tcGFyZWQgdG8gbmF0dXJhbCBsYW5ndWFnZXM7IGl0 IGlzIGVhc3kgdG8gbGVhcm4uIDxiciAvPiogTG9qYmFuJ3MgX18xMzAwIHJvb3Qgd29yZHNfXyBj YW4gYmUgZWFzaWx5IGNvbWJpbmVkIHRvIGZvcm0gYSB2b2NhYnVsYXJ5IG9mIF9fbWlsbGlvbnMg b2Ygd29yZHNfXy4gPGJyIC8+KiBMb2piYW4gaXMgcmVndWxhcjsgdGhlIHJ1bGVzIG9mIHRoZSBs YW5ndWFnZSBhcmUgX193aXRob3V0IGV4Y2VwdGlvbl9fLiA8YnIgLz4qIExvamJhbiBhdHRlbXB0 cyB0byBfX3JlbW92ZSByZXN0cmljdGlvbnNfXyBvbiBjcmVhdGl2ZSBhbmQgY2xlYXIgdGhvdWdo dCBhbmQgY29tbXVuaWNhdGlvbi4gPGJyIC8+KiBMb2piYW4gaGFzIGEgX192YXJpZXR5IG9mIHVz ZXNfXywgcmFuZ2luZyBmcm9tIHRoZSBjcmVhdGl2ZSB0byB0aGUgc2NpZW50aWZpYywgZnJvbSB0 aGUgdGhlb3JldGljYWwgdG8gdGhlIHByYWN0aWNhbC4gCisgKiBFbCBsb2piYW4gZXN0w6EgZGlz ZcOxYWRvIHBhcmEgc2VyIHV0aWxpemFkbyBwb3IgbGEgZ2VudGUgZW4gY29tdW5pY2FjacOzbiBj b24gb3RyYXMgcGVyc29uYXMgeSwgdGFsIHZleiwgZW4gZWwgZnV0dXJvLCBjb24gY29tcHV0YWRv cmFzLjxiciAvPiogRWwgbG9qYmFuIGVzdMOhIGRpc2XDsWFkbyBwYXJhIHNlciBuZXV0cm8gZW50 cmUgbGFzIGN1bHR1cmFzLjxiciAvPiogTGEgZ3JhbcOhdGljYSBkZWwgbG9qYmFuIGVzdMOhIGJh c2FkYSBlbiBsb3MgcHJpbmNpcGlvcyBkZSBsYSBsw7NnaWNhIGRlIHByaW1lciBvcmRlbi48YnIg Lz4qIEVsIGxvamJhbiB0aWVuZSB1bmEgZ3JhbcOhdGljYSBpbmVxdcOtdm9jYSBwZXJvIGZsZXhp YmxlLjxiciAvPiogRWwgbG9qYmFuIHRpZW5lIHVuYSBlc2NyaXR1cmEgZm9uw6l0aWNhIGUgaW5l cXXDrXZvY2FtZW50ZSByZXN1ZWx2ZSBzdXMgc29uaWRvcyBlbiBwYWxhYnJhcy48YnIgLz4qIEVs IGxvamJhbiBlcyBzZW5jaWxsbyBjb21wYXJhZG8gY29uIGxhcyBsZW5ndWFzIG5hdHVyYWxlczsg ZXMgZsOhY2lsIGRlIGFwcmVuZGVyLjxiciAvPiogTGFzIDEzMDAgcmHDrWNlcyBkZWwgbG9qYmFu IHB1ZWRlbiBjb21iaW5hcnNlIGbDoWNpbG1lbnRlIHBhcmEgZm9ybWFyIHVuIHZvY2FidWxhcmlv IGRlIG1pbGxvbmVzIGRlIHBhbGFicmFzLjxiciAvPiogRWwgbG9qYmFuIGVzIHJlZ3VsYXI7IGxh cyByZWdsYXMgZGVsIGlkaW9tYSBubyB0aWVuZW4gZXhjZXBjaW9uZXMuPGJyIC8+KiBFbCBsb2pi YW4gaW50ZW50YSByZW1vdmVyIGxhcyByZXN0cmljY2lvbmVzIGVuIGVsIHBlbnNhbWllbnRvIHkg bGEgY29tdW5pY2FjacOzbiBjcmVhdGl2b3MgeSBjbGFyb3MuPGJyIC8+KiBFbCBsb2piYW4gdGll bmUgdW5hIGdyYW4gdmFyaWVkYWQgZGUgdXNvcywgZGVzZGUgbG8gY3JlYXRpdm8gaGFzdGEgbG8g Y2llbnTDrWZpY28geSBkZSBsbyB0ZcOzcmljbyBhIGxvIHByw6FjdGljby48YnIgLz4qIEVsIGxv amJhbiBzZSBoYSBtYW5pZmVzdGFkbyBlbiB0cmFkdWNjaW9uZXMgeSBlbiB0cmFiYWpvcyBvcmln aW5hbGVzIGVuIHByb3NhIHkgZW4gdmVyc28uPGJyIC8+IAoKLSAhIVdoeSB3YXMgTG9qYmFuIGRl dmVsb3BlZD97QU5BTUUoKX13aHl7QU5BTUV9CisgISHCv1BvciBxdcOpIGZ1ZSBjcmVhZG8gZWwg bG9qYmFuP3tBTkFNRSgpfXdoeXtBTkFNRX0KCi0gTG9qYmFuIHdhcyBvcmlnaW5hbGx5IGRlc2ln bmVkIGZvciB0aGUgcHVycG9zZSBvZiBzdXBwb3J0aW5nIHJlc2VhcmNoIG9uIGEgY29uY2VwdCBr bm93biBhcyB0aGUgX19TYXBpci1XaG9yZl9fIGh5cG90aGVzaXM6ICZxdW90O3RoZSBzdHJ1Y3R1 cmUgb2YgYSBsYW5ndWFnZSBjb25zdHJhaW5zIHRoZSB0aGlua2luZyBvZiBwZW9wbGUgdXNpbmcg dGhhdCBsYW5ndWFnZSZxdW90Oy4gTG9qYmFuIGFsbG93cyB0aGUgZnVsbCBleHByZXNzaXZlIGNh cGFiaWxpdHkgb2YgYSBuYXR1cmFsIGxhbmd1YWdlLCBidXQgZGlmZmVycyBpbiBzdHJ1Y3R1cmUg ZnJvbSBvdGhlciBsYW5ndWFnZXMgaW4gbWFqb3Igd2F5cy4gVGhpcyBhbGxvd3MgaXRzIHVzZSBh cyBhIHRlc3QgdmVoaWNsZSBmb3Igc2NpZW50aXN0cyBzdHVkeWluZyB0aGUgcmVsYXRpb25zaGlw cyBiZXR3ZWVuIGxhbmd1YWdlLCB0aG91Z2h0LCBhbmQgY3VsdHVyZS4gCisgT3JpZ2luYWxtZW50 ZSwgZWwgbG9qYmFuIGZ1ZSBkaXNlw7FhZG8gY29uIGVsIHByb3DDs3NpdG8gZGUgYXl1ZGFyIGVu IGxhIGludmVzdGlnYWNpw7NuIGRlIHVuIGNvbmNlcHRvIGNvbm9jaWRvIGNvbW8gbGEgaGlww7N0 ZXNpcyBkZSBfX1NhcGlyLVdob3JmX186IMKrbGEgZXN0cnVjdHVyYSBkZSB1biBpZGlvbWEgcmVz dHJpbmdlIGVsIHBlbnNhbWllbnRvIGRlIGxhIGdlbnRlIHF1ZSBsbyB1c2HCuy4gRWwgbG9qYmFu IGNvbmNlZGUgdG9kYSBsYSBjYXBhY2lkYWQgZXhwcmVzaXZhIGRlIHVuYSBsZW5ndWEgbmF0dXJh bCwgcGVybyBzdSBlc3RydWN0dXJhIGVzIGRpZmVyZW50ZSBhIGxhIGRlIG90cm9zIGlkaW9tYXMg ZGUgbWFuZXJhIGltcG9ydGFudGUuIEVzdG8gcGVybWl0ZSBzdSB1c28gY29tbyB2ZWjDrWN1bG8g ZGUgcHJ1ZWJhIHBvciBsb3MgY2llbnTDrWZpY29zIHF1ZSBlc3R1ZGlhbiBsYXMgcmVsYWNpb25l cyBlbnRyZSBpZGlvbWEsIHBlbnNhbWllbnRvIHkgY3VsdHVyYS4KCi0gISFPdGhlciB1c2VzIGZv ciBMb2piYW57QU5BTUUoKX1vdGhlcnVzZXN7QU5BTUV9CisgISFPdHJvcyB1c29zIGRlbCBsb2pi YW57QU5BTUUoKX1vdGhlcnVzZXN7QU5BTUV9PGJyIC8+PGJyIC8+RWwgbG9qYmFuIGZ1ZSBkaXNl w7FhZG8gcGFyYSBzZXIgdW4gaWRpb21hIGh1bWFubywgbm8gdW4gbGVuZ3VhamUgZGUgcHJvZ3Jh bWFjacOzbi4KCkxvamJhbiB3YXMgZGVzaWduZWQgYXMgYSBodW1hbiBsYW5ndWFnZSwgYW5kIG5v dCBhcyBhIGNvbXB1dGVyIGxhbmd1YWdlLiBJdCBpcyB0aGVyZWZvcmUgaW50ZW5kZWQgZm9yIHVz ZSBpbiBjb252ZXJzYXRpb24sIHJlYWRpbmcsIHdyaXRpbmcsIGFuZCB0aGlua2luZy4gSG93ZXZl ciwgc2luY2UgTG9qYmFuIGNhbiBiZSBwcm9jZXNzZWQgYnkgYSBjb21wdXRlciBtdWNoIG1vcmUg ZWFzaWx5IHRoYW4gY2FuIGEgbmF0dXJhbCBsYW5ndWFnZSwgTG9qYmFuLWJhc2VkIGNvbXB1dGVy IGFwcGxpY2F0aW9ucyBhcmUgYSBuYXR1cmFsIGV4cGVjdGF0aW9uLiBEdWUgdG8gaXRzIHVuYW1i aWd1b3VzIGdyYW1tYXIgYW5kIHNpbXBsZSBzdHJ1Y3R1cmUsIGl0IGNhbiBiZSBlYXNpbHkgcGFy c2VkIGJ5IGNvbXB1dGVycywgbWFraW5nIGl0IHBvc3NpYmxlIGZvciBMb2piYW4gdG8gYmUgdXNl ZCBpbiB0aGUgZnV0dXJlIGZvciBjb21wdXRlci1odW1hbiBpbnRlcmFjdGlvbiwgYW5kIHBlcmhh cHMgY29udmVyc2F0aW9uLiBMb2piYW4ncyBwcmVkaWNhdGUgc3RydWN0dXJlIGlzIHNpbWlsYXIg dG8gQUksIHN1Z2dlc3RpbmcgaXQgYXMgYSBwb3dlcmZ1bCB0b29sIGluIEFJIHByb2Nlc3Npbmcs IGVzcGVjaWFsbHkgaW4gdGhlIHN0b3JpbmcgYW5kIHByb2Nlc3Npbmcgb2YgZGF0YSBhYm91dCB0 aGUgd29ybGQgYW5kIHBlb3BsZSdzIGNvbmNlcHRpb25zIG9mIGl0LiBMaW5ndWlzdHMgYXJlIGlu dGVyZXN0ZWQgaW4gTG9qYmFuJ3MgcG90ZW50aWFsIGFzIGFuIGludGVybWVkaWF0ZSBsYW5ndWFn ZSBpbiBjb21wdXRlci1haWRlZCB0cmFuc2xhdGlvbiBvZiBuYXR1cmFsIGxhbmd1YWdlcy4gT3Ro ZXIgcGVvcGxlIGFyZSBpbnRlcmVzdGVkIGluIExvamJhbiBhcyBhbiBpbnRlcm5hdGlvbmFsIGxh bmd1YWdlLiAKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpe VHJhbnNsYXRpb24gb2YgdGhpcyBwYWdlIGlzIGluY29tcGxldGUuXgoKCgohTG9qYmFuIC0gRWwg aWRpb21hIGzDs2dpY28KCgoKIScnbGEgbG9qYmFuLiBwbyd1IGxlIGxvZ2ppIGJhbmd1JycKCgoK KiB7QUxJTksoYW5hbWU9PmludHJvKX1JbnRyb2R1Y2Npw7Nue0FMSU5LfQoKKiB7QUxJTksoYW5h bWU9PndoeSl9wr9Qb3IgcXXDqSBmdWUgY3JlYWRvIGVsIGxvamJhbj97QUxJTkt9CgoqIHtBTElO SyhhbmFtZT0+b3RoZXJ1c2VzKX1PdHJvcyB1c29zIGRlbCBsb2piYW57QUxJTkt9CgoqIHtBTElO SyhhbmFtZT0+ZGVzaWduKX1FbCBkaXNlw7FvIGRlbCBsb2piYW57QUxJTkt9CgoqIHtBTElOSyhh bmFtZT0+Y3VycmVudCl9VXNvIHkgZXN0YWRvIGFjdHVhbHtBTElOS30KCioge0FMSU5LKGFuYW1l PT51bmFtYmlndWl0eSl9TGEgbmF0dXJhbGV6YSBpbmVxdcOtdm9jYSBkZWwgbG9qYmFue0FMSU5L fQoKKiB7QUxJTksoYW5hbWU9PnNhcGlyd2hvcmYpfUVsIGxvamJhbiB5IFNhcGlyLVdob3Jme0FM SU5LfQoKKiB7QUxJTksoYW5hbWU9Pm90aGVybGluZyl9T3RyYXMgYXBsaWNhY2lvbmVzIGxpbmd1 w61zdGljYXN7QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+aW50ZXJuYXRpb25hbCl9RWwgbG9qYmFu IGNvbW8gdW4gaWRpb21hIGludGVybmFjaW9uYWx7QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+cmVh c29ucyl9VmFyaWFzIHJhem9uZXMgcGFyYSBhcHJlbmRlciBsb2piYW4gQUhPUkF7QUxJTkt9Cgoq IHtBTElOSyhhbmFtZT0+aG93KX1Dw7NtbyBhcHJlbmRlciBsb2piYW57QUxJTkt9CgoqICgoQ29u dGFjdCBVU3xFbnRyYXIgZW4gY29udGFjdG8pKQoKISFJbnRyb2R1Y2Npw7Nue0FOQU1FKCl9aW50 cm97QU5BTUV9CgoKCkVsIF9fbG9qYmFuX18gKC9MT0xMLWJhbi8gY29uIHllw61zbW8gYXJnZW50 aW5vKSBlcyB1bmEgbGVuZ3VhIGNvbnN0cnVpZGEuIE9yaWdpbmFsbWVudGUgZXJhIGxsYW1hZG8g Il9fbG9nbGFuX18iIHBvciBlbCBfX0RyLiBKYW1lcyBDb29rZSBCcm93bl9fLCBmdW5kYWRvciBk ZWwgcHJveWVjdG8sIHF1aWVuIGNvbWVuesOzIGEgZGVzYXJyb2xsYXIgZWwgaWRpb21hIGVuIF9f MTk1NV9fLiBMYXMgbWV0YXMgZGVsIGlkaW9tYSBzZSBkZXNjcmliaWVyb24gcG9yIHByaW1lcmEg dmV6IGVuIGVsIGFydMOtY3VsbyAiTG9nbGFuIiBkZSAnJ1NjaWVudGlmaWMgQW1lcmljYW4sIEp1 bmlvLCAxOTYwJycuIEVsIGxvZ2xhbi9sb2piYW4gc2UgY29uc3RydXnDsyBlbiBtw6FzIGRlIHRy ZXMgZMOpY2FkYXMgcG9yIGRvY2VuYXMgZGUgdHJhYmFqYWRvcmVzIHkgY2llbnRvcyBkZSBzZWd1 aWRvcmVzLCBkaXJpZ2lkb3MgcG9yIGVsIF9fTG9naWNhbCBMYW5ndWFnZSBHcm91cF9fIGRlc2Rl IF9fMTk4N19fLgoKCgpFeGlzdGVuIG11Y2hhcyBsZW5ndWFzIGFydGlmaWNpYWxlcywgcGVybyBl bCBsb2dsYW4vbG9qYmFuIHNlIGhhIHRyYWJhamFkbyBpbmdlbmllcmlsbWVudGUgcGFyYSBzZXIg w7puaWNvIGRlIHZhcmlhcyBtYW5lcmFzLiBMYXMgc2lndWllbnRlcyBzb24gbGFzIGNhcmFjdGVy w61zdGljYXMgcHJpbmNpcGFsZXMgZGVsIGxvamJhbjoKCgoKKiBFbCBsb2piYW4gZXN0w6EgZGlz ZcOxYWRvIHBhcmEgc2VyIHV0aWxpemFkbyBwb3IgbGEgZ2VudGUgZW4gY29tdW5pY2FjacOzbiBj b24gb3RyYXMgcGVyc29uYXMgeSwgdGFsIHZleiwgZW4gZWwgZnV0dXJvLCBjb24gY29tcHV0YWRv cmFzLgoKKiBFbCBsb2piYW4gZXN0w6EgZGlzZcOxYWRvIHBhcmEgc2VyIG5ldXRybyBlbnRyZSBs YXMgY3VsdHVyYXMuCgoqIExhIGdyYW3DoXRpY2EgZGVsIGxvamJhbiBlc3TDoSBiYXNhZGEgZW4g bG9zIHByaW5jaXBpb3MgZGUgbGEgbMOzZ2ljYSBkZSBwcmltZXIgb3JkZW4uCgoqIEVsIGxvamJh biB0aWVuZSB1bmEgZ3JhbcOhdGljYSBpbmVxdcOtdm9jYSBwZXJvIGZsZXhpYmxlLgoKKiBFbCBs b2piYW4gdGllbmUgdW5hIGVzY3JpdHVyYSBmb27DqXRpY2EgZSBpbmVxdcOtdm9jYW1lbnRlIHJl c3VlbHZlIHN1cyBzb25pZG9zIGVuIHBhbGFicmFzLgoKKiBFbCBsb2piYW4gZXMgc2VuY2lsbG8g Y29tcGFyYWRvIGNvbiBsYXMgbGVuZ3VhcyBuYXR1cmFsZXM7IGVzIGbDoWNpbCBkZSBhcHJlbmRl ci4KCiogTGFzIDEzMDAgcmHDrWNlcyBkZWwgbG9qYmFuIHB1ZWRlbiBjb21iaW5hcnNlIGbDoWNp bG1lbnRlIHBhcmEgZm9ybWFyIHVuIHZvY2FidWxhcmlvIGRlIG1pbGxvbmVzIGRlIHBhbGFicmFz LgoKKiBFbCBsb2piYW4gZXMgcmVndWxhcjsgbGFzIHJlZ2xhcyBkZWwgaWRpb21hIG5vIHRpZW5l biBleGNlcGNpb25lcy4KCiogRWwgbG9qYmFuIGludGVudGEgcmVtb3ZlciBsYXMgcmVzdHJpY2Np b25lcyBlbiBlbCBwZW5zYW1pZW50byB5IGxhIGNvbXVuaWNhY2nDs24gY3JlYXRpdm9zIHkgY2xh cm9zLgoKKiBFbCBsb2piYW4gdGllbmUgdW5hIGdyYW4gdmFyaWVkYWQgZGUgdXNvcywgZGVzZGUg bG8gY3JlYXRpdm8gaGFzdGEgbG8gY2llbnTDrWZpY28geSBkZSBsbyB0ZcOzcmljbyBhIGxvIHBy w6FjdGljby4KCiogRWwgbG9qYmFuIHNlIGhhIG1hbmlmZXN0YWRvIGVuIHRyYWR1Y2Npb25lcyB5 IGVuIHRyYWJham9zIG9yaWdpbmFsZXMgZW4gcHJvc2EgeSBlbiB2ZXJzby4KCiAKCgoKISHCv1Bv ciBxdcOpIGZ1ZSBjcmVhZG8gZWwgbG9qYmFuP3tBTkFNRSgpfXdoeXtBTkFNRX0KCgoKT3JpZ2lu YWxtZW50ZSwgZWwgbG9qYmFuIGZ1ZSBkaXNlw7FhZG8gY29uIGVsIHByb3DDs3NpdG8gZGUgYXl1 ZGFyIGVuIGxhIGludmVzdGlnYWNpw7NuIGRlIHVuIGNvbmNlcHRvIGNvbm9jaWRvIGNvbW8gbGEg aGlww7N0ZXNpcyBkZSBfX1NhcGlyLVdob3JmX186IMKrbGEgZXN0cnVjdHVyYSBkZSB1biBpZGlv bWEgcmVzdHJpbmdlIGVsIHBlbnNhbWllbnRvIGRlIGxhIGdlbnRlIHF1ZSBsbyB1c2HCuy4gRWwg bG9qYmFuIGNvbmNlZGUgdG9kYSBsYSBjYXBhY2lkYWQgZXhwcmVzaXZhIGRlIHVuYSBsZW5ndWEg bmF0dXJhbCwgcGVybyBzdSBlc3RydWN0dXJhIGVzIGRpZmVyZW50ZSBhIGxhIGRlIG90cm9zIGlk aW9tYXMgZGUgbWFuZXJhIGltcG9ydGFudGUuIEVzdG8gcGVybWl0ZSBzdSB1c28gY29tbyB2ZWjD rWN1bG8gZGUgcHJ1ZWJhIHBvciBsb3MgY2llbnTDrWZpY29zIHF1ZSBlc3R1ZGlhbiBsYXMgcmVs YWNpb25lcyBlbnRyZSBpZGlvbWEsIHBlbnNhbWllbnRvIHkgY3VsdHVyYS4KCgoKISFPdHJvcyB1 c29zIGRlbCBsb2piYW57QU5BTUUoKX1vdGhlcnVzZXN7QU5BTUV9CgoKCkVsIGxvamJhbiBmdWUg ZGlzZcOxYWRvIHBhcmEgc2VyIHVuIGlkaW9tYSBodW1hbm8sIG5vIHVuIGxlbmd1YWplIGRlIHBy b2dyYW1hY2nDs24uCgoKCkxvamJhbiB3YXMgZGVzaWduZWQgYXMgYSBodW1hbiBsYW5ndWFnZSwg YW5kIG5vdCBhcyBhIGNvbXB1dGVyIGxhbmd1YWdlLiBJdCBpcyB0aGVyZWZvcmUgaW50ZW5kZWQg Zm9yIHVzZSBpbiBjb252ZXJzYXRpb24sIHJlYWRpbmcsIHdyaXRpbmcsIGFuZCB0aGlua2luZy4g SG93ZXZlciwgc2luY2UgTG9qYmFuIGNhbiBiZSBwcm9jZXNzZWQgYnkgYSBjb21wdXRlciBtdWNo IG1vcmUgZWFzaWx5IHRoYW4gY2FuIGEgbmF0dXJhbCBsYW5ndWFnZSwgTG9qYmFuLWJhc2VkIGNv bXB1dGVyIGFwcGxpY2F0aW9ucyBhcmUgYSBuYXR1cmFsIGV4cGVjdGF0aW9uLiBEdWUgdG8gaXRz IHVuYW1iaWd1b3VzIGdyYW1tYXIgYW5kIHNpbXBsZSBzdHJ1Y3R1cmUsIGl0IGNhbiBiZSBlYXNp bHkgcGFyc2VkIGJ5IGNvbXB1dGVycywgbWFraW5nIGl0IHBvc3NpYmxlIGZvciBMb2piYW4gdG8g YmUgdXNlZCBpbiB0aGUgZnV0dXJlIGZvciBjb21wdXRlci1odW1hbiBpbnRlcmFjdGlvbiwgYW5k IHBlcmhhcHMgY29udmVyc2F0aW9uLiBMb2piYW4ncyBwcmVkaWNhdGUgc3RydWN0dXJlIGlzIHNp bWlsYXIgdG8gQUksIHN1Z2dlc3RpbmcgaXQgYXMgYSBwb3dlcmZ1bCB0b29sIGluIEFJIHByb2Nl c3NpbmcsIGVzcGVjaWFsbHkgaW4gdGhlIHN0b3JpbmcgYW5kIHByb2Nlc3Npbmcgb2YgZGF0YSBh Ym91dCB0aGUgd29ybGQgYW5kIHBlb3BsZSdzIGNvbmNlcHRpb25zIG9mIGl0LiBMaW5ndWlzdHMg YXJlIGludGVyZXN0ZWQgaW4gTG9qYmFuJ3MgcG90ZW50aWFsIGFzIGFuIGludGVybWVkaWF0ZSBs YW5ndWFnZSBpbiBjb21wdXRlci1haWRlZCB0cmFuc2xhdGlvbiBvZiBuYXR1cmFsIGxhbmd1YWdl cy4gT3RoZXIgcGVvcGxlIGFyZSBpbnRlcmVzdGVkIGluIExvamJhbiBhcyBhbiBpbnRlcm5hdGlv bmFsIGxhbmd1YWdlLiAKCgoKISFUaGUgTG9qYmFuIGRlc2lnbntBTkFNRSgpfWRlc2lnbntBTkFN RX0KCgoKTG9qYmFuJ3MgY2hhcmFjdGVyIHNldCB1c2VzIG9ubHkgc3RhbmRhcmQga2V5Ym9hcmQg a2V5czsgY2FwaXRhbGl6YXRpb24gaXMgcmFyZTsgcHVuY3R1YXRpb24gaXMgc3Bva2VuIGFzIHdv cmRzLiBXcml0dGVuIGxhbmd1YWdlIGNvcnJlc3BvbmRzIGV4YWN0bHkgdG8gdGhlIHNvdW5kcyBv ZiB0aGUgc3Bva2VuIGxhbmd1YWdlOyBzcGVsbGluZyBpcyBwaG9uZXRpYyBhbmQgdW5hbWJpZ3Vv dXMsIGFuZCB0aGUgZmxvd2luZyBzb3VuZHMgb2YgdGhlIGxhbmd1YWdlIGJyZWFrIGRvd24gdW5p cXVlbHkgaW50byB3b3Jkcy4gVGhlc2UgZmVhdHVyZXMgbWFrZSBjb21wdXRlciBzcGVlY2ggcmVj b2duaXRpb24gYW5kIHRyYW5zY3JpcHRpb24gbW9yZSBwcmFjdGljYWwuIExlYXJuaW5nIHRvIHdy aXRlIGFuZCBzcGVsbCBMb2piYW4gaXMgdHJpdmlhbC4KCgoKTG9qYmFuJ3MgcHJlZGljYXRlIGdy YW1tYXIgd2FzIGRlcml2ZWQgZnJvbSB0aGF0IG9mIGZvcm1hbCBsb2dpYy4gTG9qYmFuIHNlbnRl bmNlcyBhcmUgc3RhdGVkIGFzIHNldHMgb2YgYXJndW1lbnRzIHRpZWQgdG9nZXRoZXIgYnkgcHJl ZGljYXRlcy4gVGhlc2UgcHJlZGljYXRlIHN0cnVjdHVyZXMgY2FuIGJlIHVzZWQgdG8gZXhwcmVz cyAnbm9uLWxvZ2ljYWwnIHRob3VnaHQ7IGxvZ2ljaWFucyBhcmUgYWJsZSB0byBhbmFseXplIGFs bCBtYW5uZXIgb2YgdmVyYmFsIGV4cHJlc3Npb25zIGJ5IGNvbnZlcnRpbmcgdGhlbSBpbnRvIHBy ZWRpY2F0ZSBub3RhdGlvbi4gQnV0IHdoaWxlIExvamJhbiB3aWxsIGFscmVhZHkgYmUgZXhwcmVz c2VkIGluIGEgcHJlZGljYXRlLWJhc2VkIHN5c3RlbSwgYWxsb3dpbmcgZWFzeSBsb2dpY2FsIGFu YWx5c2lzLCBpdCBhbHNvIGNvbnRhaW5zIHRoZSB3aWRlIHZhcmlldHkgb2YgZWxlbWVudHMgZm91 bmQgaW4gbmF0dXJhbCBsYW5ndWFnZSBmb3IgZXhwcmVzc2lvbiBvZiBhdHRpdHVkZXMsCgplbW90 aW9ucywgYW5kIHJpY2ggbWV0YXBob3IuCgoKCkxvamJhbiBoYXMgbm9uZSBvZiB0aGUgc3RhbmRh cmQgcGFydHMgb2Ygc3BlZWNoLiBMb2piYW4ncyAncHJlZGljYXRlIHdvcmRzJyBjYW4gc2VydmUg YXMgdGhlIGVxdWl2YWxlbnQgb2YgYSBub3VuLCB2ZXJiLCBhZGplY3RpdmUsIG9yIGFkdmVyYi4g QWN0aW9uIGFuZCBleGlzdGVuY2UgYXJlIGVxdWFsbHkgYWNjZXNzaWJsZSB0byBhIHNwZWFrZXI7 IHRoZSBkaXN0aW5jdGlvbiBjYW4gYmUgaWdub3JlZCwgb3IgY2FuIGJlIGV4cGxpY2l0bHkgZXhw cmVzc2VkLiBBIHZhcmlldHkgb2Ygb3BlcmF0b3JzIGRlYWwgd2l0aCBhYnN0cmFjdGlvbnMgc3Vj aCBhcyBldmVudHMsIHN0YXRlcywgcHJvcGVydGllcywgYW1vdW50cywgaWRlYXMsIGV4cGVyaWVu Y2UsIGFuZCB0cnV0aCwgYW5kIHdpdGggYXQgbGVhc3QgZm91ciBwcmUtZGVmaW5lZCB2YXJpZXRp ZXMgb2YgY2F1c2FsaXR5LgoKCgpMb2piYW4gaGFzIG5vIG1hbmRhdG9yeSBpbmZsZWN0aW9ucyBh bmQgZGVjbGVuc2lvbnMgb24gbm91bnMsIHZlcmJzLCBhbmQgYWRqZWN0aXZlcy4gTmF0dXJhbCBs YW5ndWFnZXMgZXZvbHZlZCBzdWNoIHZhcmlhdGlvbnMgdG8gcmVkdWNlIGFtYmlndWl0eSBhcyB0 byBob3cgd29yZHMgYXJlIHJlbGF0ZWQgaW4gYSBzZW50ZW5jZS4gRXZvbHV0aW9uYXJ5IGRldmVs b3BtZW50IG1hZGUgdGhlc2UgaW5mbGVjdGlvbnMgYW5kIGRlY2xlbnNpb25zIGhpZ2hseSBpcnJl Z3VsYXIgYW5kIHRodXMgZGlmZmljdWx0IHRvIGxlYXJuLiBUaGUgc2ltcGxlIGJ1dCBmbGV4aWJs ZSBwcmVkaWNhdGUgcmVsYXRpb25zaGlwIGVyYXNlcyBib3RoIHRoZSBpcnJlZ3VsYXJpdHkgYW5k IHRoZSBkZWNsZW5zaW9ucy4KCgoKVGVuc2UgYW5kIGxvY2F0aW9uIG1hcmtlcnMgKGluZmxlY3Rp b25zKSwgYWR2ZXJicywgYW5kIHByZXBvc2l0aW9ucyBhcmUgY29tYmluZWQgaW50byBvbmUgcGFy dCBvZiBzcGVlY2guIE5ldyBwcmVwb3NpdGlvbi1saWtlIGZvcm1zIGNhbiBiZSBidWlsdCBhdCB3 aWxsIGZyb20gcHJlZGljYXRlczsgdGhlc2UgYWxsb3cgdGhlIHVzZXIgdG8gZXhwYW5kIHVwb24g YSBzZW50ZW5jZSBieSBhdHRhY2hpbmcgYW5kIHJlbGF0aW5nIGNsYXVzZXMgbm90IG5vcm1hbGx5 IGltcGxpZWQgaW4gdGhlIG1lYW5pbmcgb2YgYSB3b3JkLgoKCgpOdW1iZXJzIGFuZCBxdWFudGlm aWVycyBhcmUgY29uY2VwdHVhbGx5IGV4cGFuZGVkIGZyb20gbmF0dXJhbCBsYW5ndWFnZXMuICJN YW55IiwgImVub3VnaCIsICJ0b28gbXVjaCIsICJhIGZldyIsIGFuZCAiYXQgbGVhc3QiIGFyZSBh bW9uZyBjb25jZXB0cyB0aGF0IGFyZSBleHByZXNzZWQgYXMgbnVtYmVycyBpbiBMb2piYW4uIENv cmUgY29uY2VwdHMgb2YgbG9naWMsIG1hdGhlbWF0aWNzLCBhbmQgc2NpZW5jZSBhcmUgYnVpbHQg aW50byB0aGUgcm9vdCB2b2NhYnVsYXJ5LiBPbiB0b3Agb2YgdGhlIGNvcmUgY29uY2VwdHMgb2Yg cHJlZGljYXRlIGxvZ2ljLCBMb2piYW4gYWRkcyBpbiBub24tbG9naWNhbCBjb25zdHJ1Y3RzIHRo YXQgZG8gbm90IGFmZmVjdCBvciBvYnNjdXJlIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSwgYWxsb3dp bmcgY29tbXVuaWNhdGlvbnMgdGhhdCBhcmUgbm90IGFtZW5hYmxlIHRvIGxvZ2ljYWwgYW5hbHlz aXMuIEZvciBleGFtcGxlLCBMb2piYW4gaGFzIGEgZnVsbCBzZXQgb2YgZW1vdGlvbmFsIGluZGlj YXRvcnMsIHNpbWlsYXIgdG8gc3VjaCBlamFjdWxhdGlvbnMgaW4gRW5nbGlzaCBhcyAiT2ghIiwg IkFoYSEiLCBhbmQgIldoZWVlISIsIGV4Y2VwdCB0aGF0IGVhY2ggaGFzIGEgc3BlY2lmaWMgbWVh bmluZy4gU2ltaWxhcmx5LCBMb2piYW4gaGFzIGluZGljYXRvcnMgb2YgdGhlIHNwZWFrZXIncyBy ZWxhdGlvbnNoaXAgdG8gd2hhdCBpcyBzYWlkLCBzaW1pbGFyIHRvIHRob3NlIGZvdW5kIGluIHNv bWUgQW1lcmljYW4gSW5kaWFuIGxhbmd1YWdlcy4KCgoKTG9qYmFuIHN1cHBvcnRzIG1ldGFsaW5n dWlzdGljIGRpc2N1c3Npb24gYWJvdXQgdGhlIHNlbnRlbmNlcyBiZWluZyBzcG9rZW4gd2hpbGUg cmVtYWluaW5nIHVuYW1iaWd1b3VzLiBMb2piYW4gYWxzbyBzdXBwb3J0cyBhICd0ZW5zZScgbG9n aWMgdGhhdCBhbGxvd3MgZXh0cmVtZSBzcGVjaWZpY2l0eSBvZiB0aW1lIGFuZCBzcGFjZSByZWxh dGlvbnNoaXBzLCBldmVuIHRob3NlIGltcGxpZWQgYnkgdGltZSB0cmF2ZWwuIExvamJhbidzIGdy YW1tYXIgaXMgZGVzaWduZWQgdG8gc3VwcG9ydCB1bmFtYmlndW91cyBzdGF0ZW1lbnQgb2YgbWF0 aGVtYXRpY2FsIGV4cHJlc3Npb25zIGFuZCByZWxhdGlvbnMgaW4gYSBtYW5uZXIgY29tcGF0aWJs ZSBib3RoIHdpdGggaW50ZXJuYXRpb25hbCB1c2FnZSBhbmQgTG9qYmFuJ3Mgbm9uLW1hdGhlbWF0 aWNhbCBncmFtbWFyLgoKCgpMb2piYW4gaXMgbXVjaCBzaW1wbGVyIHRoYW4gbmF0dXJhbCBsYW5n dWFnZXMuIEl0cyBncmFtbWFyIGlzIGNvbXBhcmFibGUgaW4gY29tcGxleGl0eSB3aXRoIHRoZSBj dXJyZW50IGdlbmVyYXRpb24gb2YgY29tcHV0ZXIgbGFuZ3VhZ2VzIChzdWNoIGFzIEFEQSkuIExv amJhbidzIHByb251bmNpYXRpb24sIHNwZWxsaW5nLCB3b3JkIGZvcm1hdGlvbiwgYW5kIGdyYW1t YXIgcnVsZXMgYXJlIGZpeGVkLCBhbmQgdGhlIGxhbmd1YWdlIGlzIGZyZWUgb2YgZXhjZXB0aW9u cyB0byB0aGVzZSBydWxlcy4KCgoKISFDdXJyZW50IHN0YXR1cyBhbmQgdXNhZ2V7QU5BTUUoKX1j dXJyZW50e0FOQU1FfQoKCgpUaGUgbGFuZ3VhZ2UsIHRoZW4gY2FsbGVkIF9fTG9nbGFuX18sIHdh cyBmaXJzdCBkZXNjcmliZWQgaW4gdGhlIDE5NTAncywgYnkgRHIuIEphbWVzIENvb2tlIEJyb3du LiBUaGUgMTk2MCBTY2llbnRpZmljIEFtZXJpY2FuIGFydGljbGUgIkxvZ2xhbiIgd2FzIGhpcyBj YWxsIGZvciBhc3Npc3RhbmNlIGluIGRldmVsb3BpbmcgdGhlIGxhbmd1YWdlLiBBIHJldm9sdXRp b24gaW4gbGluZ3Vpc3RpY3Mgd2FzIHNpbXVsdGFuZW91c2x5IHRha2luZyBwbGFjZTsgdGhlIHJl c3VsdGluZyBpbmNyZWFzZSBpbiBrbm93bGVkZ2Ugb2YgdGhlIG5hdHVyZSBvZiBsYW5ndWFnZSBj aGFuZ2VkIHRoZSByZXF1aXJlbWVudHMgZm9yIExvZ2xhbi4gVGhlIGZpcnN0IHdpZGVseSBkaXN0 cmlidXRlZCBMb2dsYW4gZGljdGlvbmFyeSBhbmQgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gZGlkIG5v dCBhcHBlYXIgdW50aWwgMTk3NTsgdGhpcyBkZXNjcmlwdGlvbiB3YXMgaW5jb21wbGV0ZSwgYW5k IGNvbnRpbnVlZCBkZXZlbG9wbWVudCB3b3JrIGRpc2NvdXJhZ2VkIGxlYXJuaW5nIHRoZSBsYW5n dWFnZS4gQ29tcHV0ZXJzIGNhdWdodCB1cCB3aXRoIExvZ2xhbiBqdXN0IHRoZW4sIG1ha2luZyBp dCBwb3NzaWJsZSB0byByZWZpbmUgdGhlIGdyYW1tYXIsIGVsaW1pbmF0ZSBhbWJpZ3VpdHkgYW5k IG1hdGhlbWF0aWNhbGx5IHByb3ZlIGl0cyBhYnNlbmNlOyB0aGlzIHdvcmsgaGFzIGp1c3QgYmVl biBjb21wbGV0ZWQuIEZvciBvdmVyIDM1IHllYXJzLCB0aGlzIHdvcmsgaGFzIGJlZW4gcGVyZm9y bWVkIGJ5IHZvbHVudGVlcnMsIGFuZCB3aXRob3V0IGZpbmFuY2lhbCBzdXBwb3J0LiBOb3csIGFm dGVyIHNldmVyYWwgdmVyc2lvbnMgb2YgdGhlIGxhbmd1YWdlLCBwZW9wbGUgYXJlIGxlYXJuaW5n IGFuZCB1c2luZyB0aGUgY3VycmVudCB2ZXJzaW9uLCB3aGljaCBpcyB0aGUgZmlyc3QgY2FsbGVk IF9fTG9qYmFuX18gKGZyb20gdGhlIHJvb3RzICJsb2dpY2FsLWxhbmd1YWdlIiBpbiBMb2piYW4p LgoKCgpUaGlzIHZlcnNpb24gaXMgdGhlIGZpcnN0IHZlcnNpb24gd2l0aCBhIHN0YWJsZSB2b2Nh YnVsYXJ5LCBhbmQgdGhlIGZpcnN0IHRvIGhhdmUgYSBzdGFibGUgYW5kIGNvbXBsZXRlbHkgZGVm aW5lZCBncmFtbWFyICh0aGUgZ3JhbW1hciBvZiBtYXRoZW1hdGljYWwgZXhwcmVzc2lvbnMsIGZv ciBleGFtcGxlLCB3YXMgbm90IGRldmVsb3BlZCB1bnRpbCAxOTkwKS4gVGhlIGJhc2ljIExvamJh biB2b2NhYnVsYXJ5IHdhcyBiYXNlbGluZWQgKHN0YWJpbGl6ZWQgYWdhaW5zdCBjaGFuZ2UpIGlu IHRoZSBsYXN0IGhhbGYgb2YgMTk4OCwgYW5kIHRoZSBncmFtbWFyIHNpbWlsYXJseSBzdGFiaWxp emVkIGluIGxhdGUtMTk5MCwgYWZ0ZXIgY29tcGxldGlvbiBvZiB0aGUgZmlyc3QgTG9qYmFuIGNv dXJzZXMsIGFjdHVhbCB1c2FnZSBvZiB0aGUgbGFuZ3VhZ2UsIGFuZCBzZXZlcmFsIGl0ZXJhdGlv bnMgb2YgY2FyZWZ1bCBhbmFseXNpcy4gVGhlIGZ1bGwgbGFuZ3VhZ2UgZGVzaWduIHdhcyBiYXNl bGluZWQgaW4gMTk5NywgYW5kIG5vIGNoYW5nZXMgd2lsbCBldmVuIGJlIGNvbnNpZGVyZWQgdW50 aWwgNSB5ZWFycyBhZnRlciB0aGUgc2V0IG9mIGJvb2tzIGRlc2NyaWJpbmcgdGhlIGxhbmd1YWdl IGlzIHB1Ymxpc2hlZCAodGh1cyBhdCBsZWFzdCAyMDA1KS4gVGh1cywgd2hpbGUgdGhlIGxhbmd1 YWdlIHdhcyBmaXJzdCBzdGFydGVkIDM1IHllYXJzIGFnbywgTG9nbGFuL0xvamJhbiBpcyBhIHZl cnkgbmV3IGxhbmd1YWdlLgoKCgpUbyBlbnN1cmUgTG9qYmFuIHJlbWFpbnMgc3RhYmxlIHdoaWxl IHBlb3BsZSBsZWFybiBpdCwgdGhlIGxhbmd1YWdlIGRlZmluaXRpb24gaXMgcHJlc2NyaWJlZCBh bmQgY2xvc2VseSBjb250cm9sbGVkLiBXaGVuIHRoZSBudW1iZXIgb2Ygc3BlYWtlcnMgaGFzIGdy b3duIHNpZ25pZmljYW50bHksIGFuZCBhIExvamJhbiBsaXRlcmF0dXJlIGhhcyBkZXZlbG9wZWQs IExvamJhbiB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG5hdHVyYWwgbGFuZ3VhZ2UgYW5kIGFsbG93 ZWQgdG8gZ3JvdyBhbmQgZmxvdXJpc2ggd2l0aG91dCBjb25zdHJhaW50LCBhcyBkbyBvdGhlciBu YXR1cmFsIGxhbmd1YWdlcy4KCgoKT3JpZ2luYWwgdGV4dCBhbmQgcG9ldHJ5IGhhdmUgYmVlbiB3 cml0dGVuIGluIExvamJhbiwgYW5kIHNvbWUgaGFzIGJlZW4gdHJhbnNsYXRlZCBpbnRvIHRoZSBs YW5ndWFnZS4gTG9qYmFuJ3MgcG93ZXJmdWwgbWV0YXBob3Igc3RydWN0dXJlIGFsbG93cyBidWls ZGluZyBuZXcgY29uY2VwdHMgaW50byB3b3JkcyBlYXNpbHksIGFzIG5lZWRlZC4gQSBMb2piYW4g c3BlYWtlciBkb2Vzbid0IG5lZWQgYSBkaWN0aW9uYXJ5IHRvIHVzZSBhbmQgdW5kZXJzdGFuZCBt aWxsaW9ucyBvZiB3b3JkcyB0aGF0IGNhbiBwb3RlbnRpYWxseSBleGlzdCBpbiB0aGUgbGFuZ3Vh Z2UuCgoKCkFzIG9mIDE5OTcsIHRoZXJlIGFyZSBhYm91dCAxMjAwIHBlb3BsZSBvbiBvdXIgbWFp bGluZyBsaXN0cywgaW5jbHVkaW5nIGFib3V0IDMwMCBsaXN0ZWQgYXMgYWN0aXZlbHkgdHJ5aW5n IHRvIGxlYXJuIHRoZSBsYW5ndWFnZS4gT3ZlciAxMDAgb2YgdGhlc2UgaGF2ZSBkZW1vbnN0cmF0 ZWQgY29tbXVuaWNhdGl2ZSBhYmlsaXR5IHRvIHVzZSB0aGUgbGFuZ3VhZ2UgaW4gY29udmVyc2F0 aW9uLCB0cmFuc2xhdGlvbiwgb3Igb3JpZ2luYWwgd3JpdGluZywgYW5kIG9uZSBwZXJzb24gaXMg c3VmZmljaWVudGx5IHNraWxsZWQgdG8gYmUgY29uc2lkZXJlZCBmbHVlbnQgaW4gdGhlIGxhbmd1 YWdlLiBTZXZlcmFsIG9mIHRoZXNlIHJlZ3VsYXJseSBnZXQgdG9nZXRoZXIgaW4gdGhlIFdhc2hp bmd0b24gREMgYXJlYSBmb3IgY29udmVyc2F0aW9uLCBhbmQgYW4gYW5udWFsIG1lZXRpbmcvbWlu aS1jb252ZW50aW9uIGlzIGhlbGQgdGhlcmUgZXZlcnkgc3VtbWVyLiBUaGlzIHByb2dyZXNzIGlz IHJlbWFya2FibGUgc2luY2UgdGhlcmUgaXMgbm8gZGljdGlvbmFyeSBmb3IgdGhlIGN1cnJlbnQg bGFuZ3VhZ2UsIGFuZCBhIHRleHRib29rIGV4aXN0cyBvbmx5IGluIHBhcnRpYWwgZHJhZnQgZm9y bTsgcGVvcGxlIHVzZSB0aGUgbGFuZ3VhZ2UgcmVmZXJlbmNlIG1hbnVhbCBhcyBhIGxlYXJuaW5n IHNvdXJjZSwgYW5kIHdlJ3ZlIGV2b2x2ZWQgbWV0aG9kcyBvZiB0ZWFjaGluZyB0aGUgbGFuZ3Vh Z2UgYXQgYSBkaXN0YW5jZSB0aGF0IG92ZXJjb21lIHRoaXMgaGFuZGljYXAuCgoKCiEhTG9qYmFu J3MgdW5hbWJpZ3VpdHl7QU5BTUUoKX11bmFtYmlndWl0eXtBTkFNRX0KCgoKTG9qYmFuIGhhcyBh biB1bmFtYmlndW91cyBncmFtbWFyIChwcm92ZW4gYnkgY29tcHV0ZXIgYW5hbHlzaXMgb2YgYSBm b3JtYWwgZ3JhbW1hciB3aXRoIFlBQ0MpLCBwcm9udW5jaWF0aW9uLCBhbmQgbW9ycGhvbG9neSAo d29yZCBmb3JtcykuIFRoZSBwZXJzb24gd2hvIHJlYWRzIG9yIGhlYXJzIGEgTG9qYmFuIHNlbnRl bmNlIGlzIG5ldmVyIGluIGRvdWJ0IGFzIHRvIHdoYXQgd29yZHMgaXQgY29udGFpbnMgb3Igd2hh dCByb2xlcyB0aGV5IHBsYXkgaW4gdGhlIHNlbnRlbmNlLiBMb2piYW4gaGFzIG5vIHdvcmRzIHRo YXQgc291bmQgYWxpa2UgYnV0IGhhdmUgZGlmZmVyZW50IG1lYW5pbmdzIChsaWtlICJoZXJkIiBh bmQgImhlYXJkIiksIHRoYXQgaGF2ZSBtdWx0aXBsZSB1bnJlbGF0ZWQgbWVhbmluZ3MgKCJzZXQi KSwgb3IgdGhhdCBkaWZmZXIgb25seSBpbiBwdW5jdHVhdGlvbiBidXQgbm90IGluIHNvdW5kIChs aWtlIHRoZSBhYm9taW5hYmxlICJpdHMiIGFuZCAiaXQncyIpLiBUaGVyZSBpcyBuZXZlciBhbnkg ZG91YnQgYWJvdXQgd2hlcmUgd29yZHMgYmVnaW4gYW5kIGVuZCAoImNhcmdvIHNoaXBtZW50IiBj YW4gYmUgaGVhcmQgYXMgMiwgMywgb3IgNCB3b3JkcykuIFRoZSBmdW5jdGlvbiBvZiBlYWNoIHdv cmQgaXMgY2xlYXI7IHRoZXJlIGlzIG5vdGhpbmcgbGlrZSB0aGUgRW5nbGlzaCAiVGltZSBmbGll cyBsaWtlIGFuIGFycm93LiIsIGluIHdoaWNoIGFueSBvZiB0aGUgZmlyc3QgdGhyZWUgd29yZHMg Y291bGQgYmUgdGhlIHZlcmIuIFByZWNpc2lvbiBpbiBubyB3YXkgY29uZmluZXMgdGhlIG1lYW5p bmcgb2YgYSBMb2piYW4gc2VudGVuY2UuIEl0IGlzIHBvc3NpYmxlIHRvIHNwZWFrIG5vbnNlbnNl LCB0byB0ZWxsIGEgbGllLCBvciB0byBiZSBtaXN1bmRlcnN0b29kLiBZb3UgY2FuIGJlIHZlcnkg c3BlY2lmaWMsIG9yIHlvdSBjYW4gYmUgaW50ZW50aW9uYWxseSB2YWd1ZS4gWW91ciBoZWFyZXIg bWF5IG5vdCB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW50LCBidXQgd2lsbCBhbHdheXMgdW5kZXJz dGFuZCB3aGF0IHlvdSBzYWlkLgoKCgpMb2piYW4gaXMgTk9UIGVudGlyZWx5IHVuYW1iaWd1b3Vz OyBodW1hbiBiZWluZ3Mgb2NjYXNpb25hbGx5IGRlc2lyZSB0byBiZSBhbWJpZ3VvdXMgaW4gdGhl aXIgZXhwcmVzc2lvbnMuIEluIExvamJhbiwgdGhpcyBhbWJpZ3VpdHkgaXMgbGltaXRlZCB0byBz ZW1hbnRpY3MsIG1ldGFwaG9yLCBhbmQgaW50ZW50aW9uYWwgb21pc3Npb24gb2YgaW5mb3JtYXRp b24gKGVsbGlwc2lzKS4gU2VtYW50aWMgYW1iaWd1aXR5IGluIGxhbmd1YWdlIHJlc3VsdHMgYmVj YXVzZSB3b3JkcyBpbiBuYXR1cmFsIGxhbmd1YWdlcyByZXByZXNlbnQgZmFtaWxpZXMgb2YgY29u Y2VwdHMgcmF0aGVyIHRoYW4gaW5kaXZpZHVhbCBtZWFuaW5ncywgb2Z0ZW4gd2l0aCBvbmx5IHdl YWsgc2VtYW50aWMgcmVsYXRpb25zaGlwcyB0byBlYWNoIG90aGVyLiBJbiBhZGRpdGlvbiwgZWFj aCBpbmRpdmlkdWFsJ3MgcGVyc29uYWwgZXhwZXJpZW5jZXMgcHJvdmlkZSBlbW90aW9uYWwgY29u bm90YXRpb25zIHRvIHdvcmRzLiBCeSBwcm92aWRpbmcgYSBmcmVzaCwgY3VsdHVyYWxseS1uZXV0 cmFsIHN0YXJ0LCBMb2piYW4gYXR0ZW1wdHMgdG8gbWluaW1pemUgdGhlIHRyYW5zZmVyZW5jZSBv ZiB0aGVzZSBhc3NvY2lhdGlvbnMgYXMgcGVvcGxlIGxlYXJuIHRoZSBsYW5ndWFnZS4gQnkgaW50 ZW50aW9uLCBtb3N0IExvamJhbiB3b3JkcyBkbyBub3QgY2xvc2VseSByZXNlbWJsZSBjb3JyZXNw b25kaW5nIHdvcmRzIGluIG90aGVyIGxhbmd1YWdlczsgdGhlIGRpZmZlcmVuY2VzIGFpZCBpbiBt YWtpbmcgdGhpcyBmcmVzaCBzdGFydCBwb3NzaWJsZS4gTG9qYmFuJ3MgcG93ZXJmdWwgbWV0YXBo b3IgYW5kIHdvcmQtYnVpbGRpbmcgZmVhdHVyZXMgbWFrZSBpdCBlYXN5IHRvIG1ha2UgZmluZSBk aXN0aW5jdGlvbnMgYmV0d2VlbiBjb25jZXB0cywgZGlzY291cmFnaW5nIGluZGl2aWR1YWwgd29y ZHMgZnJvbSBoYXZpbmcgZmFtaWxpZXMgb2YgbWVhbmluZ3MuIExvamJhbiBtZXRhcGhvcnMgYXJl IHRoZW1zZWx2ZXMgYW1iaWd1b3VzLCBzcGVjaWZ5aW5nIGEgcmVsYXRpb25zaGlwIGJldHdlZW4g Y29uY2VwdHMsIGJ1dCBub3Qgd2hhdCB0aGUgcmVsYXRpb25zaGlwIGlzLiBUaGF0IHJlbGF0aW9u c2hpcCBjYW4gYmUgbWFkZSBleHBsaWNpdCB1c2luZyB1bmFtYmlndW91cyBsb2dpY2FsIGNvbnN0 cnVjdHMgaWYgbmVjZXNzYXJ5LCBvciBjYW4gYmUgbGVmdCB2YWd1ZSBhcyB0aGUgc3BlYWtlciAo dXN1YWxseSkgZGVzaXJlcy4gU2ltaWxhcmx5LCBwb3J0aW9ucyBvZiB0aGUgbG9naWNhbCBzdHJ1 Y3R1cmUgb2YgYSBMb2piYW4gZXhwcmVzc2lvbiBjYW4gYmUgb21pdHRlZCwgZ3JlYXRseSBzaW1w bGlmeWluZyB0aGUgZXhwcmVzc2lvbiB3aGlsZSBjYXVzaW5nIHNvbWUgYW1iaWd1aXR5LiBVbmxp a2UgaW4gdGhlIG5hdHVyYWwgbGFuZ3VhZ2VzLCB0aG91Z2gsIHRoaXMgYW1iaWd1aXR5IGlzIHJl YWRpbHkgaWRlbnRpZmllZCBieSBhIHJlYWRlciBvciBsaXN0ZW5lci4gVGh1cyBhbGwgYW1iaWd1 aXR5IGluIExvamJhbiBpcyBjb25zdHJhaW5lZCBhbmQgcmVjb2duaXphYmxlLCBhbmQgY2FuIGJl IGNsYXJpZmllZCBhcyBuZWNlc3NhcnkgYnkgZnVydGhlciBpbnRlcmFjdGlvbi4KCgoKISFMb2pi YW4gYW5kIFNhcGlyLVdob3Jme0FOQU1FKCl9c2FwaXJ3aG9yZntBTkFNRX0KCgoKVGhpcyBoeXBv dGhlc2lzIHN0YXRlcyB0aGF0IHRoZSBzdHJ1Y3R1cmUgb2YgYSBsYW5ndWFnZSBjb25zdHJhaW5z IHRob3VnaHQgaW4gdGhhdCBsYW5ndWFnZSwgYW5kIGNvbnN0cmFpbnMgYW5kIGluZmx1ZW5jZXMg dGhlIGN1bHR1cmUgdGhhdCB1c2VzIGl0LiBJbiBvdGhlciB3b3JkcywgaWYgY29uY2VwdHMgb3Ig c3RydWN0dXJhbCBwYXR0ZXJucyBhcmUgZGlmZmljdWx0IHRvIGV4cHJlc3MgaW4gYSBsYW5ndWFn ZSwgdGhlIHNvY2lldHkgYW5kIGN1bHR1cmUgdXNpbmcgdGhlIGxhbmd1YWdlIHdpbGwgdGVuZCB0 byBhdm9pZCB0aGVtLiBJbmRpdmlkdWFscyBtaWdodCBvdmVyY29tZSB0aGlzIGJhcnJpZXIsIGJ1 dCB0aGUgc29jaWV0eSBhcyBhIHdob2xlIHdpbGwgbm90LiBUaGUgU2FwaXItV2hvcmYgaHlwb3Ro ZXNpcyBpcyBpbXBvcnRhbnQsIGFuZCBjb250cm92ZXJzaWFsOyBpdCBjYW4gYmUgdXNlZCBhcyBh IHNvY2lvbG9naWNhbCBhcmd1bWVudCB0byBqdXN0aWZ5IG9yIHRvIG9wcG9zZSByYWNpc20gYW5k IHNleGlzbSAoYW5kIGEgdmFyaWV0eSBvZiBvdGhlciAnaXNtcycpLiBGb3IgZXhhbXBsZSwgdGhl IGFzc2VydGlvbiB0aGF0IHNpbmNlIGdlbmRlcmxlc3MgZXhwcmVzc2lvbnMgaW4gRW5nbGlzaCB1 c2UgJ21hc2N1bGluZScgZm9ybXMsIEVuZ2xpc2ggaXMgJ3NleGlzdCcsIHByZXN1bWVzIHRoZSBT YXBpci1XaG9yZiBoeXBvdGhlc2lzIGlzIHRydWUuIFVuZGVyc3RhbmRpbmcgdGhlIHBvdGVudGlh bCBmb3IgU2FwaXItV2hvcmYgZWZmZWN0cyBjb3VsZCBsZWFkIHRvIGJldHRlciBpbnRlci1jdWx0 dXJhbCB1bmRlcnN0YW5kaW5nLCBwcm9tb3RpbmcgY29tbXVuaWNhdGlvbiBhbmQgcGVhY2UuCgoK Ckl0IGlzIGtub3duIHRoYXQgcGVvcGxlJ3MgaWRlYXMgYW5kIHRob3VnaHQgY2hhbmdlIHNvbWV3 aGF0IHdoZW4gdGhleSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UuIEl0IGlzIG5vdCBrbm93biB3 aGV0aGVyIHRoaXMgY2hhbmdlIGlzIGR1ZSB0byBleHBvc3VyZSB0byBhIGRpZmZlcmVudCBjdWx0 dXJlIG9yIGV2ZW4ganVzdCBnZXR0aW5nIG91dHNpZGUgb2Ygb25lcyBvd24gY3VsdHVyZS4gSXQg aXMgYWxzbyBub3Qga25vd24gaG93IG11Y2ggKGlmIGFueSkgb2YgdGhlIGNoYW5nZSBpcyBkdWUg dG8gdGhlIG5hdHVyZSBvZiB0aGUgbGFuZ3VhZ2UsIGFzIG9wcG9zZWQgdG8gdGhlIGN1bHR1cmFs IGFzc29jaWF0aW9ucy4KCgoKVGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgd2FzIGltcG9ydGFu dCBpbiBsaW5ndWlzdGljcyBpbiB0aGUgMTk1MCdzLCBidXQgaW50ZXJlc3QgZmVsbCBvZmYgcGFy dGlhbGx5IGJlY2F1c2UgcHJvcGVybHkgdGVzdGluZyBpdCB3YXMgc28gZGlmZmljdWx0LiBMb2ds YW4vTG9qYmFuIGlzIGEgbmV3IGFwcHJvYWNoIHRvIHN1Y2ggdGVzdGluZy4gT2J2aW91c2x5LCBp ZiBhIGN1bHR1cmUtaW5kZXBlbmRlbnQgbGFuZ3VhZ2UgY291bGQgYmUgdGF1Z2h0IHRvIGdyb3Vw cyBvZiBwZW9wbGUsIHRoZSBlZmZlY3RzIG9mIGxhbmd1YWdlIGNvdWxkIG1vcmUgZWFzaWx5IGJl IHNlcGFyYXRlZCBmcm9tIHRob3NlIG9mIGN1bHR1cmUuCgoKClVuaXF1ZSBmZWF0dXJlcyBvZiBM b2piYW4gcmVtb3ZlIGNvbnN0cmFpbnRzIG9uIGxhbmd1YWdlIGluIHRoZSBhcmVhcyBvZiBsb2dp YywgYW1iaWd1aXR5LCBhbmQgZXhwcmVzc2l2ZSBwb3dlciwgb3BlbmluZyB1cCBhcmVhcyBvZiB0 aG91Z2h0IHRoYXQgaGF2ZSBub3QgYmVlbiBlYXNpbHkgYWNjZXNzaWJsZSBieSBodW1hbiBsYW5n dWFnZSBiZWZvcmUuIE1lYW53aGlsZSwgdGhlIGZvcm1hbCByaWdpZGl0eSBvZiB0aGUgbGFuZ3Vh Z2UgZGVmaW5pdGlvbiBhbGxvd3Mgc3BlYWtlcnMgdG8gY2FyZWZ1bGx5IGNvbnRyb2wgdGhlaXIg ZXhwcmVzc2lvbnMgKGFuZCBwZXJoYXBzIHRoZXJlZm9yZSB0aGVpciB0aG91Z2h0IHByb2Nlc3Nl cykuIFRoaXMgZ2l2ZXMgc29tZSBtZWFzdXJlIG9mIHByZWRpY3RpdmUgcG93ZXIgdGhhdCBjYW4g YmUgdXNlZCBpbiBkZXNpZ25pbmcgYW5kIHByZXBhcmluZyBmb3IgYWN0dWFsIFNhcGlyLVdob3Jm IGV4cGVyaW1lbnRzLgoKCgpPbmUgb2YgdGhlIHByZXJlcXVpc2l0ZXMgb2YgYSBTYXBpci1XaG9y ZiBleHBlcmltZW50IGlzIGFuIGludGVybmF0aW9uYWwgYm9keSBvZiBMb2piYW4gc3BlYWtlcnMu IFdlIG5lZWQgdG8gYmUgYWJsZSB0byB0ZWFjaCBMb2piYW4gdG8gc3ViamVjdHMgd2hvIGtub3cg b25seSB0aGVpciBuYXRpdmUgKG5vbi1FbmdsaXNoKSB0b25ndWUsIGFuZCB3ZSBuZWVkIHRvIGtu b3cgaW4gYWR2YW5jZSB0aGUgZGlmZmljdWx0aWVzIHRoYXQgcGVvcGxlIGZyb20gZWFjaCBsYW5n dWFnZSBhbmQgY3VsdHVyZSB3aWxsIGhhdmUgaW4gbGVhcm5pbmcgTG9qYmFuLiBUaHVzLCB0aGUg TG9qYmFuIGNvbW11bml0eSBpcyBhY3RpdmVseSByZWFjaGluZyBvdXQgdG8gc3BlYWtlcnMgb2Yg bGFuZ3VhZ2VzIG90aGVyIHRoYW4gRW5nbGlzaC4KCgoKTG9qYmFuIGRvZXMgbm90IG5lZWQgdG8g cHJvdmUgb3IgZGlzcHJvdmUgdGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgaW4gb3JkZXIgdG8g YmUgc3VjY2Vzc2Z1bC4gSG93ZXZlciwgaWYgZXZpZGVuY2UgaXMgcHJvZHVjZWQgc3VwcG9ydGlu ZyB0aGUgU2FwaXItV2hvcmYgZWZmZWN0LCBMb2piYW4gd2lsbCBsaWtlbHkgYmUgcGVyY2VpdmVk IGFzIGFuIG91dHN0YW5kaW5nIHRvb2wgb2YgYW5hbHl0aWNhbCBhbmQgY3JlYXRpdmUgdGhvdWdo dC4gKChTYXBpci1XaG9yZiBIeXBvdGhlc2lzfE1vcmUuLi4pKQoKCgohIU90aGVyIGxpbmd1aXN0 aWMgYXBwbGljYXRpb25ze0FOQU1FKCl9b3RoZXJsaW5ne0FOQU1FfQoKCgpBbiBhcnRpZmljaWFs IGxhbmd1YWdlIChBTCkgaXMgYSBzaW1wbGUgbW9kZWwgb2YgYSBuYXR1cmFsIGxhbmd1YWdlLiBJ dCBpcyB1c2VkIGZvciBjb21tdW5pY2F0aW9uIGxpa2UgbmF0dXJhbCBsYW5ndWFnZXMsIHNpbXBs ZXIsIG1vcmUgcmVndWxhciwgYW5kIHJlbGF0aXZlbHkgdW5jb250YW1pbmF0ZWQgYnkgY3VsdHVy ZSBlZmZlY3RzLiBVbmxpa2UgbW9zdCBuYXR1cmFsIGxhbmd1YWdlcywgYW4gQUwgaGFzIG5vdCBl dm9sdmVkIHRocm91Z2ggbmF0dXJhbCBwcm9jZXNzZXMgb2YgaW50ZXJuYWwgY2hhbmdlIG9yIGNv bnRhY3Qgd2l0aCBvdGhlciBsYW5ndWFnZXMuIEluIGFkZGl0aW9uLCB0byB0aGUgZXh0ZW50IHRv IHdoaWNoIGRldGFpbHMgb2YgYW4gQUwgaXMgcHJlLWRlZmluZWQsIHRoZSBpbnRlcm5hbCBzdHJ1 Y3R1cmUgb2YgdGhlIGxhbmd1YWdlIGlzIGZhciBiZXR0ZXIga25vd24gdGhhbiB0aGF0IG9mIGFu eSBuYXR1cmFsIGxhbmd1YWdlLgoKCgpTdWNoIGEgcHJlLWRlZmluaXRpb24sIGEgbGFuZ3VhZ2Ug J3ByZXNjcmlwdGlvbicsIG1ha2VzIGFuIEFMIGEgdW5pcXVlIHRvb2wgZm9yIHN0dWR5aW5nIHRo ZSBuYXR1cmUgb2YgbGFuZ3VhZ2UuIEFzIHBlb3BsZSBsZWFybiB0aGUgbGFuZ3VhZ2UsIHRoZSB3 YXkgdGhleSAnYWNxdWlyZScgdW5kZXJzdGFuZGluZyBvZiB0aGF0IHByZXNjcmlwdGlvbiBjYW4g dGVsbCBzY2llbnRpc3RzIGhvdyAnbmF0dXJhbCcgdGhlIHByZXNjcmliZWQgZm9ybXMgYXJlLiBB Y3R1YWwgdXNhZ2Ugb2YgdGhlIGxhbmd1YWdlIGNhbiBiZSBjb21wYXJlZCB0byB0aGUgcHJlc2Ny aXB0aW9uIHByb3ZpZGluZyBxdWFudGl0YXRpdmUgZGF0YSBvbiBzcGVjaWZpYyBwYXR0ZXJucyBv ZiB1c2FnZS4gQXMgdGhlIGxhbmd1YWdlIGV2b2x2ZXMgZnJvbSBpdHMgcmVsYXRpdmVseSBwcmlz dGluZSBpbml0aWFsIHN0YXRlLCBpdCBtYXkgZGV2aWF0ZSBmcm9tIGl0cyBwcmVzY3JpcHRpb24u IFN1Y2ggZGV2aWF0aW9ucyB3aWxsIGJldHRlciBpbmZvcm0gcmVzZWFyY2hlcnMgYXMgdG8gdGhl IHByb3BlcnRpZXMgb2YgYSAnbmF0dXJhbCcgbGFuZ3VhZ2UuIFRoZSBwcm9jZXNzIG9mIGxhbmd1 YWdlIGNoYW5nZSBpdHNlbGYgd2lsbCBiZSBvcGVuIHRvIGludmVzdGlnYXRpb24gaW4gYSB3YXkg bmV2ZXIgYmVmb3JlIHBvc3NpYmxlLiBGaW5hbGx5LCB0aGUgZXhpc3RlbmNlIG9mIGEgcmVsYXRp dmVseSBjb21wbGV0ZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gYXQgdGhlIGJpcnRoIG9mIHRoZSBs YW5ndWFnZSBtZWFucyB0aGF0IGEgJ2Rlc2NyaXB0aW9uJyBvZiBhY3R1YWwgdXNhZ2UgYWZ0ZXIg dGhhdCBpbml0aWFsIHN0YXRlIGNhbiBiZSBtb3JlIHNpbXBseSBjcmVhdGVkLCBtYWludGFpbmVk LCBhbmQgc3R1ZGllZC4KCgoKTG9qYmFuIGlzIHVuZG91YnRlZGx5IHRoZSBtb3N0IGNhcmVmdWxs eSBkZXNpZ25lZCBhbmQgZGVmaW5lZCBBTCBldmVyIGNyZWF0ZWQuIEFsbCBhc3BlY3RzIG9mIGl0 cyBkZXNpZ24gaGF2ZSBiZWVuIGNhcmVmdWxseSBlbmdpbmVlcmVkIGJ5IHNldmVyYWwgcGVvcGxl IGVuY29tcGFzc2luZyBleHBlcnRpc2UgaW4gYSB2YXJpZXR5IG9mIGRpc2NpcGxpbmVzLCBpbmNs dWRpbmcgbGluZ3Vpc3RpY3MuIFRoZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gaXMgc2ltaWxhcmx5 IHRoZSBtb3N0IGNvbXBsZXRlIG9mIGFueSBsYW5ndWFnZS4gQXMgc3VjaCwgaXQgc2VydmVzIGFz IGEgdW5pcXVlIGJhc2lzIGZvciB0aGUgc3R1ZHkgb2YgbGFuZ3VhZ2UgdXNhZ2UgYW5kIGxhbmd1 YWdlIGNoYW5nZS4KCgoKQSBuZXcgbGFuZ3VhZ2UgbGlrZSBMb2piYW4sIHdpdGggbm8gbmF0aXZl IHNwZWFrZXJzLCBpcyBhICdwaWRnaW4nLiBBcyB0aGUgbGFuZ3VhZ2UgZXZvbHZlcywgbmF0aXZl IHNwZWFrZXJzIG9mIG90aGVyIGxhbmd1YWdlcyB3aWxsIGxlYXJuIGl0LCBhbmQgd2lsbCBicmlu ZyBpbnRvIHRoZWlyIExvamJhbiB1c2FnZSB0aGUgcGVyc3BlY3RpdmUgYW5kIHBhdHRlcm5zIG9m IHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gVGhpcyBpbnRlcmFjdGlvbiBwcm9jZXNzLCBjYWxsZWQg J2NyZW9saXphdGlvbicsIGFmZmVjdHMgYWxsIGxhbmd1YWdlcywgYW5kIG1heSBiZSB0aGUgcHJp bmNpcGxlIGNhdXNlIG9mIGxhbmd1YWdlIGNoYW5nZS4gQXMgTG9qYmFuIGlzIGxlYXJuZWQgYnkg c3BlYWtlcnMgb2YgYSB2YXJpZXR5IG9mIG5hdHVyYWwgbGFuZ3VhZ2VzLCB0aGlzIHByb2Nlc3Mg Y2FuIGJlIHN0dWRpZWQgZGlyZWN0bHkgaW4gYSB3YXkgbmV2ZXIgYmVmb3JlIHBvc3NpYmxlLCB3 aXRoIHRoZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gc2VydmluZyBhcyBhIHN0YW5kYXJkIGJ5IHdo aWNoIGRldmlhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHNwZWFrZXIgb3JpZ2luLCBhbmQgZXZvbHV0 aW9uIG9mIHVzYWdlLCBjYW4gYmUgbWVhc3VyZWQgYW5kIGRlc2NyaWJlZCBpbiBkZXRhaWwuCgoK CkFuIEFMIGxpa2UgTG9qYmFuIGhhcyBuZWl0aGVyIGFuIGFzc29jaWF0ZWQgJ25hdGl2ZSBhY2Nl bnQnIG5vciBhIGN1bHR1cmUgYmFzZS4gQmVpbmcgbXVjaCBzaW1wbGVyIGFuZCBtb3JlIHJlZ3Vs YXIgdGhhbiBhIG5hdHVyYWwgbGFuZ3VhZ2UsIGFuIGFkdWx0IHNwZWFrZXIgc2hvdWxkIGFjcXVp cmUgYSBmbHVlbmN5IHNlbGRvbSBhY2hpZXZlZCB3aGVuIHN0dWR5aW5nIGEgbmF0dXJhbCBsYW5n dWFnZSwgYW5kIGluIGEgcmVsYXRpdmVseSBzaG9ydCB0aW1lLiBMb2piYW4gdGh1cyBtYWtlcyBw b3NzaWJsZSByZWxhdGl2ZWx5IHNob3J0LXRlcm0gc3R1ZGllcyBvZiBsYW5ndWFnZSBsZWFybmlu ZyBhbmQgbGFuZ3VhZ2UgY2hhbmdlLiBQcm9jZXNzZXMgdGhhdCB0YWtlIGdlbmVyYXRpb25zIGlu IG5hdHVyYWwgbGFuZ3VhZ2VzIG1heSBiZSBvYnNlcnZlZCBpbiBhIGZldyB5ZWFycyBpbiBMb2pi YW4gc3BlYWtlcnMuCgoKCldpdGggdGhlIGxlYXJuaW5nIG9mIG90aGVyIGxhbmd1YWdlcyBhY3F1 aXJpbmcgY3JpdGljYWwgaW1wb3J0YW5jZSBpbiB0b2RheSdzIGludGVybmF0aW9uYWwgZWNvbm9t eSwgTG9qYmFuIHByb3ZpZGVzIGEgdG9vbCBmb3IgcmVzZWFyY2ggaW4gbGFuZ3VhZ2UgYWNxdWlz aXRpb24uIEFnYWluLCBMb2piYW4ncyBzaW1wbGljaXR5IGFsbG93cyB0aGUgcmVzdWx0cyBvZiBz dWNoIHJlc2VhcmNoIHRvIGJlIG9idGFpbmVkIG1vcmUgcXVpY2tseSB0aGFuIGluIHNpbWlsYXIg c3R1ZGllcyBvZiBuYXR1cmFsIGxhbmd1YWdlIGFjcXVpc2l0aW9uLgoKCgpObyBjbGFpbSBpcyBt YWRlIHRoYXQgc3R1ZHlpbmcgTG9qYmFuIHdpbGwgdGVsbCAnYWxsJyBhYm91dCBsYW5ndWFnZS4g TG9qYmFuLCBhdCBsZWFzdCBmb3Igc2V2ZXJhbCBkZWNhZGVzLCB3aWxsIG9ubHkgYmUgYSAnbW9k ZWwnIG9mIGEgbGFuZ3VhZ2UsIHdob3NlICduYXR1cmFsbmVzcycgd2lsbCBiZSBzdXNwZWN0LiBI b3dldmVyLCB0byB0aGUgZXh0ZW50IHRoYXQgTG9qYmFuIHNlcnZlcyB0aGUgY29tbXVuaWNhdGl2 ZSBhbmQgZXhwcmVzc2l2ZSBmdW5jdGlvbnMgb2YgaHVtYW4gbGFuZ3VhZ2UsIGFueSB0aGVvcnkg YWJvdXQgdGhlIG5hdHVyZSBvZiBodW1hbiBsYW5ndWFnZSBtdXN0IGFwcGx5IHRvIExvamJhbi4g TGFuZ3VhZ2UgZmVhdHVyZXMgYW5kIHByb2Nlc3NlcyBtb3JlIGVhc2lseSBpZGVudGlmaWVkIGlu IHN0dWR5aW5nIExvamJhbiBjYW4gdGhlbiBiZSBjb25maXJtZWQgaW4gbmF0dXJhbCBsYW5ndWFn ZXMuIFNpbWlsYXJseSwgdGhlb3JpZXMgb2YgdGhlIG5hdHVyZSBvZiBsYW5ndWFnZSBjYW4gYmUg dGVzdGVkIGFuZCByZWZpbmVkIGFnYWluc3QgdGhpcyBzaW1wbGVyIG1vZGVsIG9mIGEgbGFuZ3Vh Z2UgYmVmb3JlIGZhY2luZyB0aGUgbW9yZSBkaWZmaWN1bHQgYW5kIHRpbWUtY29uc3VtaW5nIHRl c3RpbmcgYW5kIGFuYWx5c2lzIGludm9sdmVkIGluIG5hdHVyYWwgbGFuZ3VhZ2UgcmVzZWFyY2gu CgoKCkJlY2F1c2UgTG9qYmFuIGlzIHJlbGF0aXZlbHkgY3VsdHVyZS1mcmVlLCBhbmQgYmVjYXVz ZSBvZiBpdHMgcHJlc2NyaWJlZCBzdHJ1Y3R1cmUgdGhhdCBpcyBjb25zaXN0ZW50IHdpdGggcHJl ZGljYXRlIGxvZ2ljLCBMb2piYW4gaXMgYW4gaWRlYWwgbWVkaXVtIGZvciB0aGUgYW5hbHlzaXMg YW5kIGRlc2NyaXB0aW9uIG9mIG90aGVyIGxhbmd1YWdlcy4gQ3VycmVudGx5LCBmZWF0dXJlcyBp biBsYW5ndWFnZSBtdXN0IGJlIGNvbXBhcmVkIGFnYWluc3Qgb3RoZXIgbmF0dXJhbCBsYW5ndWFn ZXMsIGFuZCBhcmUgdXN1YWxseSBkZXNjcmliZWQgaW4gc2NpZW50aWZpYyBsaXRlcmF0dXJlIGJ5 IGdsb3NzZWQgdHJhbnNsYXRpb24gaW50byBFbmdsaXNoLiBMb2piYW4gaXMgc2ltcGxlIGFuZCBy ZWd1bGFyIGVub3VnaCB0byBiZSBhY3F1aXJlZCBhcyBhIG1ldGFsYW5ndWFnZSBmb3IgZGVzY3Jp YmluZyBvdGhlciBsYW5ndWFnZXM7IGl0cyBzdHJ1Y3R1cmVzIGFsbG93IGNsZWFyZXIgcmVmbGVj dGlvbiBvZiB0aGUgcGF0dGVybnMgb2YgdGhlIGxhbmd1YWdlIGJlaW5nIGRlc2NyaWJlZCwgd2l0 aG91dCBpbnRlcmZlcmVuY2UgZnJvbSB0aGUgY29tcGV0aW5nIHBhdHRlcm5zIG9mIEVuZ2xpc2gu CgoKCkZpbmFsbHksIExvamJhbidzIHByZWRpY2F0ZSBncmFtbWFyLCBtYWtlcyBpdCBlbWluZW50 bHkgc3VpdGVkIGZvciBvbmdvaW5nIGNvbXB1dGVyIHJlc2VhcmNoIGludG8gbmF0dXJhbCBsYW5n dWFnZXMuIExvamJhbiBjYW4gYmUgdXNlZCBmb3IgcGFyc2luZyBhbmQgYW5hbHlzaXMsIGFzIGFu IGludGVybmFsIG1lZGl1bSBvZiBkYXRhIHN0b3JhZ2UsIG9yIGFzIGFuIGludGVybWVkaWF0ZSBs YW5ndWFnZSBmb3IgbWFjaGluZSB0cmFuc2xhdGlvbi4gSGF2aW5nIGEgY29tYmluYXRpb24gb2Yg bG9naWNhbCBhbmQgbmF0dXJhbCBsYW5ndWFnZSBzdHJ1Y3R1cmVzLCBMb2piYW4gY29tYmluZXMg dGhlIGJlc3Qgb2YgYm90aCBtYWpvciBzdHJ1Y3R1cmFsIGFwcHJvYWNoZXMgdG8gbGFuZ3VhZ2Ug cHJvY2Vzc2luZyBpbiBjb21wdXRlcnMuCgoKClRoZSBleGVyY2lzZSBvZiB0cnlpbmcgdG8gaW52 ZW50IGEgbGFuZ3VhZ2UgY2FuIHRlYWNoIHVzIHRoaW5ncyBhYm91dCBsYW5ndWFnZSB0aGF0IHBy b2JhYmx5IGNhbid0IGJlIGxlYXJuZWQgaW4gYW55IG90aGVyIHdheS4gRXZlbiBpZiBMb2piYW4g c2hvdWxkIGZhaWwgYXMgYSBsYW5ndWFnZSwgd2Ugd2lsbCBsZWFybi4gSG93ZXZlciwgdG8gdGhl IGV4dGVudCBMb2piYW4gc3VjY2VlZHMsIGl0cyBwb3RlbnRpYWwgYXMgYSBiYXNpcyBmb3IgdGVz dGluZyBpZGVhcyBhYm91dCBsYW5ndWFnZSwgaXRzIHN0cnVjdHVyZSwgYW5kIHVzYWdlLCBpcyB1 bmxpbWl0ZWQuIFRoZSBpbnZlbnRpb24gb2YgTG9qYmFuIGlzIHRoZSBpbnZlbnRpb24gb2YgdGhl IHNjaWVuY2Ugb2YgZXhwZXJpbWVudGFsIGxpbmd1aXN0aWNzLgoKCgohIUxvamJhbiBhcyBhbiBp bnRlcm5hdGlvbmFsIGxhbmd1YWdle0FOQU1FKCl9aW50ZXJuYXRpb25hbHtBTkFNRX0KCgoKTG9q YmFuIG1heSBiZSB0aGUgZmlyc3QgYXJ0aWZpY2lhbCBsYW5ndWFnZSBOT1QgaW4gZGlyZWN0IGNv bXBldGl0aW9uIHdpdGggRXNwZXJhbnRvLCBpbiB0aGF0IExvamJhbidzIHBvdGVudGlhbCBzdWNj ZXNzIGlzIG5vdCBkZXBlbmRlbnQgb24gaXRzIGltbWVkaWF0ZSBwcmFjdGljYWwgdXNlIGFzIGFu IGludGVybmF0aW9uYWwgbGFuZ3VhZ2UuIEluZGVlZCwgd2UgdXNlIEVzcGVyYW50byBhcyBvbmUg bWVhbnMgb2YgcmFwaWRseSBzcHJlYWRpbmcgaW5mb3JtYXRpb24gYWJvdXQgTG9qYmFuIHRvIG5v bi1FbmdsaXNoIHNwZWFrZXJzLCBzcGVlZGluZyBhIHByb2Nlc3MgdGhhdCB3b3VsZCB0YWtlIGRl Y2FkZXMgdXNpbmcgZGlyZWN0IHRyYW5zbGF0aW9uIHRvIGFsbCB0YXJnZXQgbGFuZ3VhZ2VzLiBM b2piYW4gaGFzIHByb3ZlbiBhdHRyYWN0aXZlIHRvIEVzcGVyYW50aXN0cyBpbnRlcmVzdGVkIGlu IGFjcXVpcmluZyBhIG5ldyBwZXJzcGVjdGl2ZSBvbiB0aGVpciBvd24gaW50ZXJuYXRpb25hbCBs YW5ndWFnZTsgdGhlc2UgZmVlbCBsZXNzIHRocmVhdGVuZWQgYmVjYXVzZSBMb2piYW4gaGFzIGRp ZmZlcmVudCBnb2Fscy4gTG9qYmFuJ3Mgc3VwcG9ydGVycyByZWNvZ25pemUgdGhhdCBpdCB3aWxs IHRha2UgZGVjYWRlcyBmb3IgTG9qYmFuIHRvIGFjcXVpcmUgYm90aCB0aGUgbnVtYmVyIGFuZCB2 YXJpZXR5IG9mIHNwZWFrZXJzIGFuZCB0aGUgZXh0ZW5zaXZlIGhpc3Rvcnkgb2YgdXNhZ2UgdGhh dCBtYXJrcyBFc3BlcmFudG8gY3VsdHVyZS4gTWVhbndoaWxlLCBlYWNoIGxhbmd1YWdlIGNvbW11 bml0eSBoYXMgbXVjaCB0byBsZWFybiBmcm9tIGVhY2ggb3RoZXI7IHRoaXMgcHJvY2VzcyBoYXMg c3RhcnRlZCBhbmQgaXMgbW9zdCBhY3RpdmUuCgoKCiEhU2V2ZXJhbCByZWFzb25zIGZvciBsZWFy bmluZyBMb2piYW4gTk9Xe0FOQU1FKCl9cmVhc29uc3tBTkFNRX0KCgoKVGhvc2Ugd29ya2luZyB3 aXRoIHRoZSBsYW5ndWFnZSBub3cgYXJlIGFjdGl2ZWx5IGNvbnN1bHRlZCBmb3IgdGhlaXIgb3Bp bmlvbnMgb24gaG93IHRvIHRlYWNoIGFuZCBzcHJlYWQgdGhlIGxhbmd1YWdlLiBQZW9wbGUgd2hv IHdyaXRlIGluIHRoZSBsYW5ndWFnZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBncm93dGggb2Yg dGhlIGxleGljb24sIGFuZCBlc3RhYmxpc2hpbmcgdGhlIGNvbnZlbnRpb25zIGFuZCBpZGlvbXMg dGhhdCB3aWxsIGd1aWRlIGxhbmd1YWdlIHVzZSBpbiBmdXR1cmUgeWVhcnMuIFBlb3BsZSB3aG8g YXJlIGVzcGVjaWFsbHkgYWN0aXZlIGhhdmUgam9pbmVkIHRoZSBwcm9qZWN0IGxlYWRlcnNoaXAg d2l0aGluIGEgZmV3IG1vbnRocyBvZiBiZWNvbWluZyBpbnZvbHZlZC4KCgoKVGhvc2Ugd2l0aCBh IGNvbXB1dGVyIGJhY2tncm91bmQgY2FuIGxlYWQgZGV2ZWxvcG1lbnQgb2YgdGhlIGZpcnN0IGNv bXB1dGVyIGFwcGxpY2F0aW9ucyBmb3IgdGhlIGxhbmd1YWdlLiBFeHBlcnRpc2UgaW4gdGhlIGxh bmd1YWdlIHdpbGwgbm8gZG91YnQgYmUgdmFsdWFibGUgYXMgTG9qYmFuIGJlY29tZXMgcmVjb2du aXplZCBhcyBhIHVzZWZ1bCB0b29sIGZvciBjb21wdXRlciBhcHBsaWNhdGlvbnMgYnkgdGhlIGNv bXB1dGVyIGluZHVzdHJ5LiBDb21wdXRlci1vcmllbnRlZCBMb2piYW5pc3RzIGNhbiBhbHNvIGFp ZCBpbiBkZXZlbG9waW5nIGNvbXB1dGVyLWFpZGVkIGluc3RydWN0aW9uIHRvb2xzIG9yIGNvbnZl cnRpbmcgZXhpc3Rpbmcgc29mdHdhcmUgdG8gcnVuIG9uIG5ldyBjb21wdXRlcnMuCgoKClJlZ2Fy ZGxlc3Mgb2YgYmFja2dyb3VuZCwgbGVhcm5pbmcgTG9qYmFuIGlzIGEgbWluZC1leHBhbmRpbmcg ZXhwZXJpZW5jZS4gTGVhcm5pbmcgYW55IGxhbmd1YWdlIG90aGVyIHRoYW4geW91ciBuYXRpdmUg dG9uZ3VlIGJyb2FkZW5zIHlvdXIgcGVyc3BlY3RpdmVzIGFuZCBhbGxvd3MgeW91IHRvIHRyYW5z Y2VuZCB0aGUgbGltaXRlZCB2aWV3cG9pbnRzIG9mIHlvdXIgbmF0aXZlIGxhbmd1YWdlIGN1bHR1 cmUuIExvamJhbiwgYmVpbmcgbXVjaCBzaW1wbGVyIHRvIGxlYXJuIHRoYW4gbmF0dXJhbCBsYW5n dWFnZXMsIHByb3ZpZGVzIHRoaXMgYmVuZWZpdCBtdWNoIG1vcmUgcXVpY2tseSB0aGFuIGRvZXMg dGhlIHN0dWR5IG9mIG90aGVyIGxhbmd1YWdlcy4gQmVpbmcgc28gc3Ryb25nbHkgZGlmZmVyZW50 LCB0aGUgaW50ZW5zaXR5IG9mIHRoZSBlZmZlY3Qgc2VlbXMgdG8gYmUgaGVpZ2h0ZW5lZC4gV2hl biBMb2piYW5pc3RzIHRhbGsgYWJvdXQgbGFuZ3VhZ2UsIHRoZSBkaXNjdXNzaW9uIGhhcyBiZWVu IG9ic2VydmVkIHRvIGJlIG1vcmUgc29waGlzdGljYXRlZCBhcyB3ZWxsIGFzIHF1YWxpdGF0aXZl bHkgZGlmZmVyZW50IGZyb20gdGhlIHRhbGsgb2Ygc3R1ZGVudHMgb2Ygc2Vjb25kIG5hdHVyYWwg bGFuZ3VhZ2VzLgoKCgpUaGUgbG9naWNhbCBvcmdhbml6YXRpb24gZW1iZWRkZWQgaW4gTG9qYmFu IGFpZHMgaW4gb3JnYW5pemluZyBhbmQgY2xhcmlmeWluZyB0aG91Z2h0cy4gSGF2aW5nIGRvbmUg c28sIHlvdXIgbmV3IHBlcnNwZWN0aXZlIG9uIGxhbmd1YWdlLCBhbWJpZ3VpdHksIGFuZCBjb21t dW5pY2F0aW9uIHdpbGwgYWxsb3cgeW91IHRvIGV4cHJlc3MgdGhvc2UgdGhvdWdodHMgbW9yZSBj bGVhcmx5LCBldmVuIHdoZW4geW91IHVzZSBhbiBhbWJpZ3VvdXMgbmF0dXJhbCBsYW5ndWFnZS4K CgoKQSByZWxhdGl2ZWx5IHNob3J0IHN0dWR5IG9mIExvamJhbiBieSBoaWdoIHNjaG9vbCAob3Ig eW91bmdlcikgc3R1ZGVudHMgaGFzIGJlZW4gcHJvcG9zZWQsIHByb3ZpZGluZyB0aGUgbGluZ3Vp c3RpYyB1bmRlcnN0YW5kaW5nIHRoYXQgd2FzIG9uY2UgYXNzb2NpYXRlZCB3aXRoIHN0dWR5aW5n IExhdGluIGFuZCBvdGhlciBsYW5ndWFnZXMgZm9yIG11Y2ggbG9uZ2VyIHBlcmlvZHMgb2YgdGlt ZS4gU3VjaCBzdHVkeSBjYW4gYmUgdGllZCBpbiB3aXRoIGNvbmNlcHRzIG9mIGxvZ2ljLCBhbmQg cG9zc2libHkgd2l0aCBjb21wdXRlci1yZWxhdGVkIGFjdGl2aXRpZXMsIGhlbHBpbmcgdG8gc2hv dyB0aGUgZXNzZW50aWFsIGludGVycmVsYXRlZCBuYXR1cmUgb2YgbGFuZ3VhZ2UgYW5kIG90aGVy IGh1bWFuIGVuZGVhdm9yLgoKCgpZb3UgbmVlZG4ndCBsZWFybiBMb2piYW4gZm9yIGFueSBwcmFj dGljYWwgcHVycG9zZSwgaG93ZXZlci4gTWFueSBvZiB0aG9zZSBsZWFybmluZyBMb2piYW4gYXJl IGRvaW5nIHNvIGJlY2F1c2UgaXQgaXMgZnVuLiBMZWFybmluZyBMb2piYW4gaXMgaW50ZWxsZWN0 dWFsbHkgc3RpbXVsYXRpbmcsIGFuZCBwcm92aWRlcyBodW1hbiBpbnRlcmFjdGlvbiBhbmQgbWVu dGFsIGNoYWxsZW5nZS4gTG9qYmFuIGhhcyBhbGwgdGhlIGJlbmVmaXRzIG9mIGdhbWVzIGRlc2ln bmVkIGZvciBlbnRlcnRhaW5tZW50LCB3aXRoIHRoZSBhZGRlZCBwcm9zcGVjdCBvZiBkZXZlbG9w aW5nIHVzZWZ1bCBza2lsbHMgYXMgYSBzaWRlIGJlbmVmaXQuIExlYXJuaW5nIExvamJhbiBhcyBh biAnaW50ZWxsZWN0dWFsIHRveScgbWVhbnMgdGhhdCB5b3UgY2FuIGdldCBlbmpveW1lbnQgZnJv bSBsZWFybmluZyBMb2piYW4gd2l0aG91dCBuZWFybHkgdGhlIGVmZm9ydCBuZWVkZWQgdG8gYmVu ZWZpdCBmcm9tIHN0dWR5aW5nIG90aGVyIGxhbmd1YWdlcy4gV2hpbGUgYmVjb21pbmcgZmx1ZW50 IGluIExvamJhbiB3aWxsIHByb2JhYmx5IHRha2UgaHVuZHJlZHMgb2YgaG91cnMgb3ZlciBzZXZl cmFsIG1vbnRocywgeW91IGNhbiBmZWVsIHNvbWUgc2Vuc2Ugb2YgYWNjb21wbGlzaG1lbnQgaW4g dGhlIGxhbmd1YWdlIGFmdGVyIGp1c3QgYSBmZXcgaG91cnMgb2Ygc3R1ZHkuIFlvdSBjYW4gdXNl IExvamJhbiBpbW1lZGlhdGVseSBmb3IgZnVuLCB3aGlsZSBnYWluaW5nIHNraWxsIHdpdGggZ3Jl YXRlciBleHBlcmllbmNlLgoKCgohIUhvdyB0byBsZWFybiBMb2piYW57QU5BTUUoKX1ob3d7QU5B TUV9CgoKCldyaXRlIHRvIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvbGxnL2NvbnRhY3QuaHRtbHxU aGUgTG9naWNhbCBMYW5ndWFnZSBHcm91cCwgSW5jLl0sIGFuZCB3ZSB3aWxsIGJlIGhhcHB5IHRv IHByb3ZpZGUgaW5mb3JtYXRpb24sIHRob3VnaCBvdXIgY29sbGVjdGVkIFdlYiBhbmQgZmlsZSBh cmNoaXZlcyBjb250YWluIGFsbCBpbmZvcm1hdGlvbiB0aGF0IHdlIGhhdmUgaW4gZGlzdHJpYnV0 YWJsZSBmb3JtLiBGb3IgcHJpbnRlZCBtYXR0ZXIsIHdlIHJlcXVlc3QgYSBjb250cmlidXRpb24g b2YgJDUgdG8gY292ZXIgdGhlIGNvc3RzIG9mIGludHJvZHVjdG9yeSBtYXRlcmlhbHMgKGluY2x1 ZGluZyBhIGNvcHkgb2YgdGhpcyBlc3NheSksIGJ1dCB3aWxsIHNlbmQgdGhpcyBwYWNrYWdlIG9u IHNwZWN1bGF0aW9uLiBBZGRpdGlvbmFsIG1hdGVyaWFscyBhdmFpbGFibGUgdG90YWwgaHVuZHJl ZHMgb2YgcGFnZXMsIHdoaWNoIGFyZSBwcmljZWQgYXBwcm94aW1hdGVseSBhdCBvdXIgY29zdHM7 IHdlIGFyZSBhIG5vbi1wcm9maXQgZWR1Y2F0aW9uYWwvc2NpZW50aWZpYyBvcmdhbml6YXRpb24u ICgoQ29udGFjdCBVcykpIHVzIHJlZ2FyZGluZyBpbnRlcm5hdGlvbmFsIHBheW1lbnQ7IHdlIG9m ZmVyIHNldmVyYWwgb3B0aW9ucy4gQSBsaW1pdGVkIHBvbGljeSBleGlzdHMgZm9yIHByb3ZpZGlu ZyBtYXRlcmlhbHMgdG8gcGVvcGxlIHdobyBjYW5ub3QgYWZmb3JkIHBheW1lbnQuCgoKCldlIGVu Y291cmFnZSBuZXcgcGVvcGxlIHRvIGNvbmNlbnRyYXRlIG9uIHZvY2FidWxhcnkuIEFsbW9zdCBh bnkgdXNlIG9mIExvamJhbiByZXF1aXJlcyBzb21lIG1hc3Rlcnkgb2YgdGhlIGJhc2ljIHZvY2Fi dWxhcnkgKDEwMDAtMjAwMCB3b3JkcykuIFlvdSBjYW4gbGVhcm4gZW5vdWdoIExvamJhbiBncmFt bWFyIHRvIHN1cHBvcnQgY29udmVyc2F0aW9uIGluIGp1c3QgYSBjb3VwbGUgb2YgaG91cnMsIGJ1 dCBmYWNlIG1hbnkgaG91cnMgb2Ygdm9jYWJ1bGFyeSB3b3JrIGluIG9yZGVyIHRvIGVmZmVjdGl2 ZWx5IHVzZSB0aGF0IGdyYW1tYXIuIFdlIGRpc3RyaWJ1dGUgZmxhc2ggY2FyZHMgYW5kIGhhdmUg ZGV2ZWxvcGVkIGZsYXNoIGNhcmQgdGVjaG5pcXVlcyB0aGF0IGFyZSBleHRyZW1lbHkgZWZmaWNp ZW50IGluIGxlYXJuaW5nIHZvY2FidWxhcnkuIFRoZXNlIHRlY2huaXF1ZXMgaGF2ZSBiZWVuIGF1 dG9tYXRlZCBpbnRvIGNvbXB1dGVyLWFpZGVkLXRlYWNoaW5nIHByb2dyYW1zIHNvbGQgYW5kIGRp c3RyaWJ1dGVkIGFzIFNoYXJld2FyZSB1bmRlciB0aGUgbmFtZSAiTG9nRmxhc2giLCB3aXRoIE1T LURPUyBhbmQgTWFjSW50b3NoIHZlcnNpb25zCgpjdXJyZW50bHkgYXZhaWxhYmxlLgoKCgpZb3Ug Y2FuIGxlYXJuIHRoZSBMb2piYW4gZ3JhbW1hciBpbiBzZXZlcmFsIHdheXMsIGluY2x1ZGluZyBz dHVkeSBvZiBleGFtcGxlcyBpbiB0aGUgcXVhcnRlcmx5IGpvdXJuYWwgKChqdSdpIGxvYnlwbGl8 X18nJ2p1J2kgbG9ieXBsaScnX18pKSBvciBieSBpbnNwZWN0aW9uIGFuZCBhbmFseXNpcyBvZiBZ QUNDIGFuZCBFLUJORiBmb3JtYWwgZ3JhbW1hciBkZXNjcmlwdGlvbnMuIFRoZXJlIGlzIG5vdyBh IHB1Ymxpc2hlZCBsYW5ndWFnZSByZWZlcmVuY2UgW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJs aWNhdGlvbnMvY2xsLmh0bWx8IFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2VdLCBieSBKb2hu IENvd2FuLiBEcmFmdCBsZXNzb24gbWF0ZXJpYWxzIChhYm91dCAxODAgcGFnZXMpIGFyZSB0aGUg YmVzdCBtYXRlcmlhbHMgYXZhaWxhYmxlIGZvciBzZWxmLXN0dWR5LiBBIExvamJhbiB0ZXh0LWJv b2sgaXMgYmVpbmcgd3JpdHRlbiB0byByZWZsZWN0IHdoYXQgaXMgbGVhcm5lZCBmcm9tIHRoZSBm aXJzdCBsZWFybmluZyBlZmZvcnRzLCBhbmQgaXMgYmVpbmcgZGVzaWduZWQgc28gdGhhdCBpdCBj YW4gYmUgdXNlZCBmb3Igc2VsZi1pbnN0cnVjdGlvbiwgY2xhc3Nyb29tIHRlYWNoaW5nLCBvciBn cm91cCBzdHVkeS4gQSBmb3JtYWwgJ0xvamJhbiBkaWN0aW9uYXJ5JyB3aWxsIHJlcGxhY2UgbW9z dCBvZiB0aGUgZXhpc3Rpbmcgd29yZCBsaXN0cyBhbmQgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gbWF0 ZXJpYWxzLCBhbmQgaXMgYmVpbmcgd29ya2VkIG9uLCBidXQgcHJlc2VudCBtYXRlcmlhbHMgY29u dGFpbiB0aGUgZXF1aXZhbGVudCBvZiBhIGJhc2ljIGRpY3Rpb25hcnkuCgoKCkFmdGVyIHRoZSBk aWN0aW9uYXJ5IGFuZCB0ZXh0Ym9vayBoYXZlIGJlZW4gcHVibGlzaGVkIHRoZSBMb2piYW4gbGFu Z3VhZ2UgZGVmaW5pdGlvbiB3aWxsIGJlIGJhc2VsaW5lZCAoZnJvemVuKSBmb3IgYSBtaW5pbXVt IG9mIDUgeWVhcnMsIGFuZCBMb2piYW4gd2lsbCB0aGVyZWFmdGVyIGJlIHNvbGVseSBjb250cm9s bGVkIGJ5IHNwZWFrZXJzIG9mIHRoZSBsYW5ndWFnZS4KCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNo YW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8v d2lraWNoYW5nZXMK