Received: from localhost ([::1]:45825 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1SqukI-0006Zs-4n; Mon, 16 Jul 2012 16:30:30 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:37706 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Squk7-0006Zk-3r for wikichanges@lojban.org; Mon, 16 Jul 2012 16:30:28 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 16 Jul 2012 16:30:18 -0700 From: "Apache" Date: Mon, 16 Jul 2012 16:30:18 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.9 (/) X-Spam_score: 0.9 X-Spam_score_int: 9 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 selci'a sera'a lai pokemon. was changed by jandew at 18:30 CDT Comment: Formatting You can view the page by following this link: http://www.lojban.org/tiki/selci%27a%20sera%27a%20lai%20pokemon. [...] Content analysis details: (0.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 T_FRT_PROFIT1 BODY: ReplaceTags: Profit (1) 0.5 NULL_IN_BODY FULL: Message has NUL (ASCII 0) byte in message 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page selci'a sera'a lai pokemon. changed by jandew 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 VGhlIHBhZ2Ugc2VsY2knYSBzZXJhJ2EgbGFpIHBva2Vtb24uIHdhcyBjaGFuZ2VkIGJ5IGphbmRl dyBhdCAxODozMCBDRFQKQ29tbWVudDogRm9ybWF0dGluZwoKWW91IGNhbiB2aWV3IHRoZSBwYWdl IGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvc2Vs Y2klMjdhJTIwc2VyYSUyN2ElMjBsYWklMjBwb2tlbW9uLgoKWW91IGNhbiB2aWV3IGEgZGlmZiBi YWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRw Oi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPXNlbGNpJTI3 YSUyMHNlcmElMjdhJTIwbGFpJTIwcG9rZW1vbi4mY29tcGFyZT0xJm9sZHZlcj0zNyZuZXd2ZXI9 MzgKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dl ZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6 IDUwOS01MjIgY2hhbmdlZCB0byArTGluZXM6IDUwOS01NTAgQEAKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKPD4gZ290IDw+IQpUaGVy ZSdzIG5vIG1vcmVyb29tIGZvciAjTU9OIQotICB3YXNzZW50IHRvICNNT05CT1ggPGJyIC8+IG9u IFBDIVRoZXJlJ3Mgbm8gbW9yZXJvb20gZm9yICNNT04hVGhlICNNT04gQk9YaXMgZnVsbCBhbmQg Y2FuJ3RhY2NlcHQgYW55IG1vcmUhQ2hhbmdlIHRoZSBCT1ggYXRhICNNT04gQ0VOVEVSIXRleHQv bWFwUGFsbGV0VG93bi50eFRob3NlICMgQkFMTHNhdCB5b3VyIHdhaXN0IVlvdSBoYXZlICNNT04h SXQncyBncmVhdCB0aGF0eW91IGNhbiBjYXJyeSBhbmR1c2UgI01PTiBhbnl0aW1lLCBhbnl3aGVy ZSFUaGlzICNNT04gR1lNaXMgYWx3YXlzIGNsb3NlZC5JIHdvbmRlciB3aG8gdGhlTEVBREVSIGlz P1ZJUklESUFOIEdZTSdzTEVBREVSIHJldHVybmVkIVlvdSB3YW50IHRvIGtub3dhYm91dCB0aGUg MiBraW5kc29mIGNhdGVycGlsbGFyI01PTj9PaCwgT0sgdGhlbiFDQVRFUlBJRSBoYXMgbm9wb2lz b24sIGJ1dFdFRURMRSBkb2VzLldhdGNoIG91dCBmb3IgaXRzUE9JU09OIFNUSU5HIU9oIEdyYW5k cGEhIERvbid0YmUgc28gbWVhbiFIZSBoYXNuJ3QgaGFkIGhpc2NvZmZlZSB5ZXQuV2hlbiBJIGdv IHNob3AgaW5QRVdURVIgQ0lUWSwgSWhhdmUgdG8gdGFrZSB0aGV3aW5kaW5nIHRyYWlsIGluVklS SURJQU4gRk9SRVNULllvdSBjYW4ndCBnb3Rocm91Z2ggaGVyZSFUaGlzIGlzIHByaXZhdGVwcm9w ZXJ0eSFZYXduIUkgbXVzdCBoYXZlIGRvemVkb2ZmIGluIHRoZSBzdW4uSSBoYWQgdGhpcyBkcmVh bWFib3V0IGEgRFJPV1pFRWVhdGluZyBteSBkcmVhbS5XaGF0J3MgdGhpcz9XaGVyZSBkaWQgdGhp cyBUTWNvbWUgZnJvbT9UaGlzIGlzIHNwb29reSFIZXJlLCB5b3UgY2FuaGF2ZSB0aGlzIFRNLiBy ZWNlaXZlZFRNNDIhPGJyIC8+PGJyIC8+VE00MiBjb250YWluc0RSRUFNIEVBVEVSLi4uLi4uU25v cmUuLi5Zb3UgaGF2ZSB0b28gbXVjaHN0dWZmIGFscmVhZHkuQWhoLCBJJ3ZlIGhhZCBteWNvZmZl ZSBub3cgYW5kIElmZWVsIGdyZWF0IVN1cmUgeW91IGNhbiBnb3Rocm91Z2ghQXJlIHlvdSBpbiBh aHVycnk/SSBzZWUgeW91J3JlIHVzaW5nYSAjREVYLldoZW4geW91IGNhdGNoIGEjTU9OLCAjREVY aXMgYXV0b21hdGljYWxseXVwZGF0ZWQuV2hhdD8gRG9uJ3QgeW91a25vdyBob3cgdG8gY2F0Y2gj TU9OP0knbGwgc2hvdyB5b3Vob3cgdG8gdGhlbi5UaW1lIGlzIG1vbmV5Li4uR28gYWxvbmcgdGhl bi5GaXJzdCwgeW91IG5lZWR0byB3ZWFrZW4gdGhldGFyZ2V0ICNNT04uVklSSURJQU4gQ0lUWSBU aGUgRXRlcm5hbGx5R3JlZW4gUGFyYWRpc2VUUkFJTkVSIFRJUFNDYXRjaCAjTU9OYW5kIGV4cGFu ZCB5b3VyY29sbGVjdGlvbiFUaGUgbW9yZSB5b3UgaGF2ZSx0aGUgZWFzaWVyIGl0IGlzdG8gZmln aHQhVFJBSU5FUiBUSVBTVGhlIGJhdHRsZSBtb3Zlc29mICNNT04gYXJlbGltaXRlZCBieSB0aGVp clBPV0VSIFBPSU5UcywgUFAuVG8gcmVwbGVuaXNoIFBQLHJlc3QgeW91ciB0aXJlZCNNT04gYXQg YSNNT04gQ0VOVEVSIVZJUklESUFOIENJVFkjTU9OIEdZTVRoZSBHWU0ncyBkb29yc2FyZSBsb2Nr ZWQuLi5JdCdzIHJ1bW9yZWQgdGhhdENMRUZBSVJZcyBjYW1lZnJvbSB0aGUgbW9vbiFUaGV5IGFw cGVhcmVkIGFmdGVyIE1PT04gU1RPTkVmZWxsIG9uIE1ULk1PT04uVGhlcmUgYXJlbid0IG1hbnlz ZXJpb3VzICNNT050cmFpbmVycyBoZXJlIVRoZXkncmUgYWxsIGxpa2VCVUcgQ0FUQ0hFUnMsYnV0 IFBFV1RFUiBHWU0nc0JST0NLIGlzIHRvdGFsbHlpbnRvIGl0IURpZCB5b3UgY2hlY2sgb3V0dGhl IE1VU0VVTT9XZXJlbid0IHRob3NlZm9zc2lscyBmcm9tIE1ULk1PT04gYW1hemluZz9SZWFsbHk/ WW91IGFic29sdXRlbHloYXZlIHRvIGdvIUl0J3MgcmlnaHQgaGVyZSFZb3UgaGF2ZSB0byBwYXl0 byBnZXQgaW4sIGJ1dGl0J3Mgd29ydGggaXQhU2VlIHlvdSBhcm91bmQhUHNzc3N0IURvIHlvdSBr bm93IHdoYXRJJ20gZG9pbmc/VGhhdCdzIHJpZ2h0IUl0J3MgaGFyZCB3b3JrIUknbSBzcHJheWlu ZyBSRVBFTHRvIGtlZXAgI01PTm91dCBvZiBteSBnYXJkZW4hWW91J3JlIGEgdHJhaW5lcnJpZ2h0 PyBCUk9DSydzbG9va2luZyBmb3IgbgBld2NoYWxsZW5nZXJzIUZvbGxvdyBtZSFJZiB5b3UgaGF2 ZSB0aGVyaWdodCBzdHVmZiwgZ290YWtlIG9uIEJST0NLIVRSQUlORVIgVElQU0FueSAjTU9OIHRo YXR0YWtlcyBwYXJ0IGluYmF0dGxlLCBob3dldmVyc2hvcnQsIGVhcm5zIEVYUCFOT1RJQ0UhVGhp ZXZlcyBoYXZlIGJlZW5zdGVhbGluZyAjTU9OZm9zc2lscyBhdCBNVC5NT09OISBQbGVhc2UgY2Fs bFBFV1RFUiBQT0xJQ0V3aXRoIGFueSBpbmZvIVBFV1RFUiBNVVNFVU1PRiBTQ0lFTkNFUEVXVEVS IENJVFkjTU9OIEdZTUxFQURFUjogQlJPQ0tUaGUgUm9jayBTb2xpZCNNT04gVHJhaW5lciFQRVdU RVIgQ0lUWUEgU3RvbmUgR3JheUNpdHk6IFlvISFZb3UncmUgc3RpbGxzdHJ1Z2dsaW5nIGFsb25n YmFjayBoZXJlP0knbSBkb2luZyBncmVhdCFJIGNhdWdodCBhIGJ1bmNob2Ygc3Ryb25nIGFuZHNt YXJ0ICNNT04hSGVyZSwgbGV0IG1lIHNlZXdoYXQgeW91IGNhdWdodCwhSGV5IVRha2UgaXQgZWFz eSFZb3Ugd29uIGFscmVhZHkhSGVoIVlvdSdyZSBubyBtYXRjaGZvciBteSBnZW5pdXMhOiBIZXks Z3Vlc3Mgd2hhdD9JIHdlbnQgdG8gQklMTCdzYW5kIGdvdCBoaW0gdG9zaG93IG1lIGhpcyByYXJl I01PTiFUaGF0IGFkZGVkIGEgbG90b2YgcGFnZXMgdG8gbXkjREVYIUFmdGVyIGFsbCwgQklMTCdz d29ybGQgZmFtb3VzIGFzIGEjTUFOSUFDIUhlIGludmVudGVkIHRoZSNNT04gU3RvcmFnZVN5c3Rl bSBvbiBQQyFTaW5jZSB5b3UncmUgdXNpbmdoaXMgc3lzdGVtLCBnb3RoYW5rIGhpbSFXZWxsLCBJ IGJldHRlcmdldCByb2xsaW5nIVNtZWxsIHlhIGxhdGVyIUhleSEgU3RheSBvdXQhSXQncyBub3Qg eW91cnlhcmQhIEh1aD8gTWU/SSdtIGFuIGlubm9jZW50YnlzdGFuZGVyISBEb24ndHlvdSBiZWxp ZXZlIG1lPyByZWNvdmVyZWRUTTI4ITxiciAvPgorICZsdDsmZ3Q7IHdhcyBzZW50IHRvICNNT05C T1ggJmx0OyZndDsgb24gUEMhPGJyIC8+VGhlcmUncyBubyBtb3JlIHJvb20gZm9yICNNT04hPGJy IC8+VGhlICNNT04gQk9YIGlzIGZ1bGwgYW5kIGNhbid0IGFjY2VwdCBhbnkgbW9yZSE8YnIgLz5D aGFuZ2UgdGhlIEJPWCBhdCBhICNNT04gQ0VOVEVSITxiciAvPlRob3NlICMgQkFMTCBzYXQgeW91 ciB3YWlzdCE8YnIgLz5Zb3UgaGF2ZSAjTU9OITxiciAvPkl0J3MgZ3JlYXQgdGhhdCB5b3UgY2Fu IGNhcnJ5IGFuZCB1c2UgI01PTiBhbnl0aW1lLCBhbnl3aGVyZSE8YnIgLz5UaGlzICNNT04gR1lN IGlzIGFsd2F5cyBjbG9zZWQuPGJyIC8+SSB3b25kZXIgd2hvIHRoZSBMRUFERVIgaXM/PGJyIC8+ VklSSURJQU4gR1lNJ3MgTEVBREVSIHJldHVybmVkITxiciAvPllvdSB3YW50IHRvIGtub3cgYWJv dXQgdGhlIDIga2luZHMgb2YgY2F0ZXJwaWxsYXIgI01PTj88YnIgLz5PaCwgT0sgdGhlbiEgQ0FU RVJQSUUgaGFzIG5vIHBvaXNvbiwgYnV0IFdFRURMRSBkb2VzLjxiciAvPldhdGNoIG91dCBmb3Ig aXRzIFBPSVNPTiBTVElORyE8YnIgLz5PaCBHcmFuZHBhISBEb24ndCBiZSBzbyBtZWFuISBIZSBo YXNuJ3QgaGFkIGhpcyBjb2ZmZWUgeWV0LjxiciAvPldoZW4gSSBnbyBzaG9wIGluIFBFV1RFUiBD SVRZLCBJIGhhdmUgdG8gdGFrZSB0aGUgd2luZGluZyB0cmFpbCBpbiBWSVJJRElBTiBGT1JFU1Qu PGJyIC8+WW91IGNhbid0IGdvIHRocm91Z2ggaGVyZSEgVGhpcyBpcyBwcml2YXRlIHByb3BlcnR5 ITxiciAvPllhd24hIEkgbXVzdCBoYXZlIGRvemVkIG9mZiBpbiB0aGUgc3VuLjxiciAvPkkgaGFk IHRoaXMgZHJlYW0gYWJvdXQgYSBEUk9XWkVFIGVhdGluZyBteSBkcmVhbS48YnIgLz5XaGF0J3Mg dGhpcz8gV2hlcmUgZGlkIHRoaXMgVE0gY29tZSBmcm9tPyBUaGlzIGlzIHNwb29reSEgSGVyZSwg eW91IGNhbiBoYXZlIHRoaXMgVE0uIHJlY2VpdmVkIFRNNDIhPGJyIC8+VE00MiBjb250YWlucyBE UkVBTSBFQVRFUi4uLi4uLlNub3JlLi4uPGJyIC8+WW91IGhhdmUgdG9vIG11Y2ggc3R1ZmYgYWxy ZWFkeS48YnIgLz5BaGgsIEkndmUgaGFkIG15IGNvZmZlZSBub3cgYW5kIEkgZmVlbCBncmVhdCEg U3VyZSB5b3UgY2FuIGdvIHRocm91Z2ghIEFyZSB5b3UgaW4gYSBodXJyeT88YnIgLz5JIHNlZSB5 b3UncmUgdXNpbmcgYSAjREVYLiBXaGVuIHlvdSBjYXRjaCBhICNNT04sICNERVggaXMgYXV0b21h dGljYWxseSB1cGRhdGVkLjxiciAvPldoYXQ/IERvbid0IHlvdSBrbm93IGhvdyB0byBjYXRjaCAj TU9OPzxiciAvPkknbGwgc2hvdyB5b3UgaG93IHRvIHRoZW4uPGJyIC8+VGltZSBpcyBtb25leS4u LkdvIGFsb25nIHRoZW4uPGJyIC8+Rmlyc3QsIHlvdSBuZWVkIHRvIHdlYWtlbiB0aGUgdGFyZ2V0 ICNNT04uPGJyIC8+VklSSURJQU4gQ0lUWSBUaGUgRXRlcm5hbGx5IEdyZWVuIFBhcmFkaXNlPGJy IC8+VFJBSU5FUiBUSVBTIENhdGNoICNNT04gYW5kIGV4cGFuZCB5b3VyIGNvbGxlY3Rpb24hIFRo ZSBtb3JlIHlvdSBoYXZlLCB0aGUgZWFzaWVyIGl0IGlzIHRvIGZpZ2h0ITxiciAvPlRSQUlORVIg VElQUyBUaGUgYmF0dGxlIG1vdmVzIG9mICNNT04gYXJlIGxpbWl0ZWQgYnkgdGhlaXIgUE9XRVIg UE9JTlRzLCBQUC4gVG8gcmVwbGVuaXNoIFBQLCByZXN0IHlvdXIgdGlyZWQgI01PTiBhdCBhICNN T04gQ0VOVEVSITxiciAvPlZJUklESUFOIENJVFkgI01PTiBHWU08YnIgLz5UaGUgR1lNJ3MgZG9v cnMgYXJlIGxvY2tlZC4uLjxiciAvPkl0J3MgcnVtb3JlZCB0aGF0IENMRUZBSVJZcyBjYW1lIGZy b20gdGhlIG1vb24hPGJyIC8+VGhleSBhcHBlYXJlZCBhZnRlciBNT09OIFNUT05FIGZlbGwgb24g TVQuTU9PTi48YnIgLz5UaGVyZSBhcmVuJ3QgbWFueSBzZXJpb3VzICNNT050cmFpbmVycyBoZXJl IVRoZXkncmUgYWxsIGxpa2VCVUcgQ0FUQ0hFUnMsYnV0IFBFV1RFUiBHWU0nc0JST0NLIGlzIHRv dGFsbHlpbnRvIGl0IURpZCB5b3UgY2hlY2sgb3V0dGhlIE1VU0VVTT9XZXJlbid0IHRob3NlZm9z c2lscyBmcm9tIE1ULk1PT04gYW1hemluZwA/UmVhbGx5P1lvdSBhYnNvbHV0ZWx5aGF2ZSB0byBn byFJdCdzIHJpZ2h0IGhlcmUhWW91IGhhdmUgdG8gcGF5dG8gZ2V0IGluLCBidXRpdCdzIHdvcnRo IGl0IVNlZSB5b3UgYXJvdW5kIVBzc3NzdCFEbyB5b3Uga25vdyB3aGF0SSdtIGRvaW5nP1RoYXQn cyByaWdodCFJdCdzIGhhcmQgd29yayFJJ20gc3ByYXlpbmcgUkVQRUx0byBrZWVwICNNT05vdXQg b2YgbXkgZ2FyZGVuIVlvdSdyZSBhIHRyYWluZXJyaWdodD8gQlJPQ0snc2xvb2tpbmcgZm9yIG5l d2NoYWxsZW5nZXJzIUZvbGxvdyBtZSFJZiB5b3UgaGF2ZSB0aGVyaWdodCBzdHVmZiwgZ290YWtl IG9uIEJST0NLIVRSQUlORVIgVElQU0FueSAjTU9OIHRoYXR0YWtlcyBwYXJ0IGluYmF0dGxlLCBo b3dldmVyc2hvcnQsIGVhcm5zIEVYUCFOT1RJQ0UhVGhpZXZlcyBoYXZlIGJlZW5zdGVhbGluZyAj TU9OZm9zc2lscyBhdCBNVC5NT09OISBQbGVhc2UgY2FsbFBFV1RFUiBQT0xJQ0V3aXRoIGFueSBp bmZvIVBFV1RFUiBNVVNFVU1PRiBTQ0lFTkNFUEVXVEVSIENJVFkjTU9OIEdZTUxFQURFUjogQlJP Q0tUaGUgUm9jayBTb2xpZCNNT04gVHJhaW5lciFQRVdURVIgQ0lUWUEgU3RvbmUgR3JheUNpdHk6 IFlvISFZb3UncmUgc3RpbGxzdHJ1Z2dsaW5nIGFsb25nYmFjayBoZXJlP0knbSBkb2luZyBncmVh dCFJIGNhdWdodCBhIGJ1bmNob2Ygc3Ryb25nIGFuZHNtYXJ0ICNNT04hSGVyZSwgbGV0IG1lIHNl ZXdoYXQgeW91IGNhdWdodCwhSGV5IVRha2UgaXQgZWFzeSFZb3Ugd29uIGFscmVhZHkhSGVoIVlv dSdyZSBubyBtYXRjaGZvciBteSBnZW5pdXMhOiBIZXksZ3Vlc3Mgd2hhdD9JIHdlbnQgdG8gQklM TCdzYW5kIGdvdCBoaW0gdG9zaG93IG1lIGhpcyByYXJlI01PTiFUaGF0IGFkZGVkIGEgbG90b2Yg cGFnZXMgdG8gbXkjREVYIUFmdGVyIGFsbCwgQklMTCdzd29ybGQgZmFtb3VzIGFzIGEjTUFOSUFD IUhlIGludmVudGVkIHRoZSNNT04gU3RvcmFnZVN5c3RlbSBvbiBQQyFTaW5jZSB5b3UncmUgdXNp bmdoaXMgc3lzdGVtLCBnb3RoYW5rIGhpbSFXZWxsLCBJIGJldHRlcmdldCByb2xsaW5nIVNtZWxs IHlhIGxhdGVyIUhleSEgU3RheSBvdXQhSXQncyBub3QgeW91cnlhcmQhIEh1aD8gTWU/SSdtIGFu IGlubm9jZW50IGJ5c3RhbmRlciEgRG9uJ3QgeW91IGJlbGlldmUgbWU/IHJlY292ZXJlZFRNMjgh CkkgYmV0dGVyIGdldG1vdmluZyEgQnllIQotIApNYWtlIHJvb20gZm9ydGhpcyFJIGNhbid0IHJ1 biB1bnRpbEkgZ2l2ZSBpdCB0byB5b3UhU3RvcCFJIGdpdmUgdXAhIEknbGxsZWF2ZSBxdWlldGx5 IU9LISBJJ2xsIHJldHVybnRoZSBUTSBJIHN0b2xlIVlvdSdyZSBhIHRyYWluZXJ0b28/IENvbGxl Y3RpbmcsZmlnaHRpbmcsIGl0J3MgYXRvdWdoIGxpZmUuVGhhdCBidXNoIGluZnJvbnQgb2YgdGhl IHNob3BpcyBpbiB0aGUgd2F5LlRoZXJlIG1pZ2h0IGJlIGF3YXkgYXJvdW5kLllvdSdyZSBtYWtp bmcgYW5lbmN5Y2xvcGVkaWEgb24jTU9OPyBUaGF0c291bmRzIGFtdXNpbmcuVGhlIHBlb3BsZSBo ZXJld2VyZSByb2JiZWQuSXQncyBvYnZpb3VzIHRoYXRURUFNIFJPQ0tFVCBpc2JlaGluZCB0aGlz IG1vc3RoZWlub3VzIGNyaW1lIUV2ZW4gb3VyIFBPTElDRWZvcmNlIGhhcyB0cm91Ymxld2l0aCB0 aGUgUk9DS0VUcyFPSyEgU0xPV0JSTyFVc2UgU09OSUNCT09NIUNvbWUgb24sIFNMT1dCUk9wYXkg YXR0ZW50aW9uIVNMT1dCUk8gcHVuY2ghTm8hIFlvdSBibGV3IGl0YWdhaW4hU0xPV0JSTywgV0lU SERSQVchTm8hIFRoYXQncyB3cm9uZyFJdCdzIHNvIGhhcmQgdG9jb250cm9sICNNT04hWW91ciAj TU9OJ3NvYmVkaWVuY2UgZGVwZW5kc29uIHlvdXIgYWJpbGl0aWVzYXMgYSB0cmFpbmVyIVNMT1dC Uk8gdG9vayBhc25vb3plLi4uU0xPV0JSTyBpc2xvYWZpbmcgYXJvdW5kLi4uU0xPV0JSTyB0dXJu ZWRhd2F5Li4uU0xPV0JST2lnbm9yZWQgb3JkZXJzLi4uSSB3YW50IGEgYnJpZ2h0cmVkIEJJQ1lD TEUhSSdsbCBrZWVwIGl0IGF0aG9tZSwgc28gaXQgd29uJ3RnZXQgZGlydHkhVGhpcyBpcyBDRVJV TEVBTkNBVkUhIEhvcnJpYmx5c3Ryb25nICNNT05saXZlIGluIHRoZXJlIVRoZSAjTU9OIExFQUdV RWNoYW1waW9uIGlzIHRoZW9ubHkgcGVyc29uIHdob2lzIGFsbG93ZWQgaW4hQ0VSVUxFQU4gQ0lU WUEgTXlzdGVyaW91cyxCbHVlIEF1cmFTdXJyb3VuZHMgSXRUUkFJTkVSIFRJUFNQcmVzc2luZyBC IEJ1dHRvbmR1cmluZyBldm9sdXRpb25jYW5jZWxzIHRoZSB3aG9sZXByb2Nlc3MuR3Jhc3MgYW5k IGNhdmVzaGFuZGxlZCBlYXNpbHkhQklLRSBTSE9QQ0VSVUxFQU4gQ0lUWSNNT04gR1lNTEVBREVS OiBNSVNUWVRoZSBUb21ib3lpc2hNZXJtYWlkIURvIHlvdSBiZWxpZXZlIGluR0hPU1RzP1JlYWxs eT8gU28gdGhlcmVhcmUgYmVsaWV2ZXJzLi4uSGFoYWhhLCBJIGd1ZXNzbm90LlRoYXQgd2hpdGUg aGFuZG9uIHlvdXIgc2hvdWxkZXIsaXQncyBub3QgcmVhbC5UaGlzIHRvd24gaXMga25vd25hcyB0 aGUgZ3JhdmUgc2l0ZW9mICNNT04uTWVtb3JpYWwgc2VydmljZXNhcmUgaGVsZCBpbiNNT04gVE9X RVIuR0hPU1RzIGFwcGVhcmVkaW4gI01PTiBUT1dFUi5JIHRoaW5rIHRoZXkncmV0aGUgc3Bpcml0 cyBvZiNNT04gdGhhdCB0aGVST0NLRVRzIGtpbGxlZC5MQVZFTkRFUiBUT1dOVGhlIE5vYmxlIFB1 cnBsZVRvd25OZXcgU0lMUEggU0NPUEUhTWFrZSB0aGUgSW52aXNpYmxlUGxhaW4gdG8gU2VlIVNJ TFBIIENPLkxBVkVOREVSIFZPTFVOVEVFUiNNT04gSE9VU0VNYXkgdGhlIFNvdWxzIG9mI01PTiBS ZXN0IEVhc3kjTU9OIFRPV0VSV2UncmUgY2FyZWZ1bGFib3V0IHBvbGx1dGlvbiFXZSd2ZSBoZWFy ZCBHUklNRVJtdWx0aXBsaWVzIGludG94aWMgc2x1ZGdlIURpZCB5b3Ugc2VlIFMuUy5BTk5FIG1v b3JlZCBpbnRoZSBoYXJib3I/U28sIFMuUy5BTk5FIGhhc2RlcGFydGVkIVNoZSdsbCBiZSBiYWNr IGluYWJvdXQgYSB5ZWFyLldlbGNvbWUgdG8gUy5TLkFOTkUhV2VsY29tZSB0byBTLlMuQU5ORSFF eGN1c2UgbWUsIGRvIHlvdWhhdmUgYSB0aWNrZXQ/IGZsYXNoZWR0aGUgUy5TLlRJQ0tFVCFHcmVh dCEgV2VsY29tZSB0b1MuUy5BTk5FISBkb2Vzbid0aGF2ZSB0aGUgbmVlZGVkUy5TLlRJQ0tFVC5T b3JyeSFZb3UgbmVlZCBhIHRpY2tldHRvIGdldCBhYm9hcmQuVGhlIHNoaXAgc2V0IHNhaWwuSSdt IHB1dHRpbmcgdXAgYWJ1aWxkaW5nIG9uIHRoaXNwbG90IG9mIGxhbmQuTXkgI01PTiBpc3RhbXBp bmcgdGhlIGxhbmQuTUFDSE9QOiBHdW9oIQBHb2dvZ29oIQotIDxiciAvPkEgTUFDSE9QIGlzc3Rv bXBpbmcgdGhlIGxhbmRmbGF0LlMuUy5BTk5FIGlzIGFmYW1vdXMgbHV4dXJ5Y3J1aXNlIHNoaXAu V2UgdmlzaXQgVkVSTUlMSU9Ob25jZSBhIHllYXIuVkVSTUlMSU9OIENJVFlUaGUgUG9ydCBvZkV4 cXVpc2l0ZSBTdW5zZXRzTk9USUNFIVJPVVRFIDEyIG1heSBiZWJsb2NrZWQgb2ZmIGJ5IGFzbGVl cGluZyAjTU9OLkRldG91ciB0aHJvdWdoUk9DSyBUVU5ORUwgdG9MQVZFTkRFUiBUT1dOLlZFUk1J TElPTiBQT0xJQ0UjTU9OIEZBTiBDTFVCQWxsICNNT04gZmFuc3dlbGNvbWUhVkVSTUlMSU9OIENJ VFkjTU9OIEdZTUxFQURFUjogTFQuU1VSR0VUaGUgTGlnaHRuaW5nIEFtZXJpY2FuIVZFUk1JTElP TiBIQVJCT1JJIGdvdCBteSBLT0ZGSU5HaW4gQ0lOTkFCQVIhSXQncyBuaWNlLCBidXQgaXRicmVh dGhlcyBwb2lzb253aGVuIGl0J3MgYW5ncnkhSGVoZWghIFRoaXMgR1lNaXMgZ3JlYXQhIEl0J3Nm dWxsIG9mIHdvbWVuIVRoZSBHQU1FIENPUk5FUmlzIGJhZCBmb3Igb3VyY2l0eSdzIGltYWdlIU1v YW4hIEkgYmxldyBpdGFsbCBhdCB0aGUgc2xvdHMhSSBrbmV3IEkgc2hvdWxkaGF2ZSBjYXNoZWQg aW4gbXljb2lucyBmb3IgcHJpemVzIUhlbGxvLCB0aGVyZSFJJ3ZlIHNlZW4geW91LGJ1dCBJIG5l dmVyIGhhZCBhY2hhbmNlIHRvIHRhbGshSGVyZSdzIGEgZ2lmdCBmb3Jkcm9wcGluZyBieSEgcmVj ZWl2ZWQKKyBBIE1BQ0hPUCBpc3N0b21waW5nIHRoZSBsYW5kZmxhdC5TLlMuQU5ORSBpcyBhZmFt b3VzIGx1eHVyeWNydWlzZSBzaGlwLldlIHZpc2l0IFZFUk1JTElPTm9uY2UgYSB5ZWFyLlZFUk1J TElPTiBDSVRZVGhlIFBvcnQgb2ZFeHF1aXNpdGUgU3Vuc2V0c05PVElDRSFST1VURSAxMiBtYXkg YmVibG9ja2VkIG9mZiBieSBhc2xlZXBpbmcgI01PTi5EZXRvdXIgdGhyb3VnaFJPQ0sgVFVOTkVM IHRvTEFWRU5ERVIgVE9XTi5WRVJNSUxJT04gUE9MSUNFI01PTiBGQU4gQ0xVQkFsbCAjTU9OIGZh bnN3ZWxjb21lIVZFUk1JTElPTiBDSVRZI01PTiBHWU1MRUFERVI6IExULlNVUkdFVGhlIExpZ2h0 bmluZyBBbWVyaWNhbiFWRVJNSUxJT04gSEFSQk9SSSBnb3QgbXkgS09GRklOR2luIENJTk5BQkFS IUl0J3MgbmljZSwgYnV0IGl0YnJlYXRoZXMgcG9pc29ud2hlbiBpdCdzIGFuZ3J5IUhlaGVoISBU aGlzIEdZTWlzIGdyZWF0ISBJdCdzZnVsbCBvZiB3b21lbiFUaGUgR0FNRSBDT1JORVJpcyBiYWQg Zm9yIG91cmNpdHkncyBpbWFnZSFNb2FuISBJIGJsZXcgaXRhbGwgYXQgdGhlIHNsb3RzIUkga25l dyBJIHNob3VsZGhhdmUgY2FzaGVkIGluIG15Y29pbnMgZm9yIHByaXplcyFIZWxsbywgdGhlcmUh SSd2ZSBzZWVuIHlvdSxidXQgSSBuZXZlciBoYWQgYWNoYW5jZSB0byB0YWxrIUhlcmUncyBhIGdp ZnQgZm9yZHJvcHBpbmcgYnkhCnx8CiEKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxv d3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqCgpUaGlzIHBhZ2UgaXMgYSBjb2xsYWJvcmF0aW9uIGF0dGVtcHQgYXQgY29u c2lzdGVudGx5IHRyYW5zbGF0aW5nIGltcG9ydGFudCB0ZXJtcyBhbmQgbGluZXMgZnJvbSB0aGUg UG9rZW1vbiBnYW1lcy4gVGhlIGRpc2N1c3Npb24gcGFnZSBpcyBbaHR0cHM6Ly9ncm91cHMuZ29v Z2xlLmNvbS9kL3RvcGljL2xvamJhbi9zNDRIN3otNHZ6Zy9kaXNjdXNzaW9ufGhlcmVdCgoKCntt YWtldG9jfQoKCgohR2VuIDEgKFJlZC9CbHVlL1llbGxvdykKCgoKKGluIHByb2dyZXNzKQoKVGhp cyBpcyBhIGRpcmVjdCByaXAgb2YgdGVybXMgZnJvbSB0aGUgUG9rw6ltb24gUmVkIHZpZGVvIGdh bWUsIHRvIGJlIHRyYW5zbGF0ZWQgaW50byBMb2piYW4uIEluc3BpcmVkIGJ5ICgobGFpIHBva2Vt b24uKSksIEkgKG1pJ2UgKChKb2UgQW5kZXJzb24pKSkgaGF2ZSBnb3R0ZW4gYSBST00gZWRpdGlu ZyBlbnZpcm9ubWVudCBzZXQgdXAgdG8gYWN0dWFsbHkgY3JlYXRlIHRoZSBnYW1lLCB0cmFuc2xh dGVkLiBBcyBhIHByb29mIG9mIGNvbmNlcHQsIEkgaGF2ZSBhbHJlYWR5IHRyYW5zbGF0ZWQgbW9z dCBvZiB0aGUgW2h0dHBzOi8vZG9jcy5nb29nbGUuY29tL29wZW4/aWQ9MEI5XzhEc0VyNW9zZ1Ez UmZPVlZET1RkTGNXTXxvcHRpb25zIG1lbnVdLiBUaGlzIHdhcyBub250cml2aWFsLCBhcyBJIGNv bnN0cnVjdGVkIG15IG93biBjb21iaW5hdGlvbiBjaGFyYWN0ZXJzIGZvciBhcG9zdHJvcGhlK3Zv d2VsLiBBbHNvLCBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbW9kaWZ5IHRoZSBzdHJpbmdzIGFu ZCByZWFzc2VtYmxlIHRoZSBST00sIHNvIHRoZSBsZW5ndGhzIG9mIGRpYWxvZ3VlIHN0cmluZ3Mg YXJlIG5vdCBsaW1pdGVkLgoKCgpJJ20gcHV0dGluZyB0aGlzIGhlcmUgaW4gY2FzZSBhbnlvbmUg d291bGQgbGlrZSB0byBhaWQgaW4gdGhlIHRyYW5zbGF0aW9uLCBhbmQgc28gdGhhdCBJIG1heSBm b2N1cyBvbiB0cmFuc2xhdGluZyBkaWFsb2d1ZS4gSSdtIG5vdCBjb3B5aW5nIG92ZXIgdGhlIHBv a8OpbW9uIG5hbWVzIGZyb20gKChsYWkgcG9rZW1vbi4pKSBpbnRvIHRoaXMgcGFnZSB0byBhdm9p ZCBkdXBsaWNhdGlvbiBvZiBlZmZvcnQsIGJ1dCBmb3IgSXRlbXMgYW5kIHN1Y2ggSSBhbSByZXN0 YXRpbmcgdGhlbSBoZXJlIGluIGZ1bGwuIEkgZXhwZWN0ICgobGFpIHBva2Vtb24uKSkgdG8gcmVt YWluIHVzZWZ1bCBhcyBhIGd1aWRlIGZvciB0YWxraW5nIGFib3V0IHBva8OpbW9uLCB3aGVyZWFz IHRoaXMgaXMgbWVyZWx5IGEgcmVwb3NpdG9yeSBvZiB0ZXJtcyBmb3IgdGhlIGdhbWUgdHJhbnNs YXRpb24uIE5hbWluZyBydWxlcyB2YXJ5IGZvciBlYWNoIHRvcGljLgoKCgpIaSwgSSBsaWtlIHRo aXMgcHJvamVjdCBhbmQgSSdkIGxpa2UgdG8gaGVscCBvdXQuIFRoZSB0aG91Z2h0IG9mIG9uZSBk YXkgYmVpbmcgYWJsZSB0byBwbGF5IHRoaXMgZ2FtZSBmdWxseSBpbiBMb2piYW4gaXMgdmVyeSBt b3RpdmF0aW5nLiBJIGNhbiBtYXJrIGFsbCBteSBjb250cmlidXRpb25zIGlmIHlvdSBsaWtlLiAt LSgoc2VscGEnaSkpCgoqIFRoYW5rcyEgSXQncyBiZWVuIHJhdGhlciBtb3RpdmF0aW5nIGZvciBt ZSwgYXMgd2VsbC4gTW9zdCBvZiB0aGUgdHJhbnNsYXRpb25zIHlvdSBzZWUgaGVyZSB3ZXJlIHVu cGxhbm5lZDsgSSBqdXN0IGNvdWxkbid0IGhlbHAgbXlzZWxmISBBbnl3YXksIG5vIG5lZWQgdG8g bWFyayBjb250cmlidXRpb25zOyBJJ20gZW1haWwtd2F0Y2hpbmcgdGhlIHBhZ2UgOikKCgoKISFJ dGVtcwoKCgpfX0NvbmRpdGlvbnMgZm9yIGl0ZW0gd29yZHNfXwoKKiBzZWxicmksIDEyLWNoYXJh Y3RlciBsaW1pdCAoeydhfSBhbmQgb3RoZXIgYXBvc3Ryb3BoZS12b3dlbCBjb21iaW5hdGlvbnMg YXJlIG9uZSBjaGFyYWN0ZXIgZWFjaC4pCgoqIHBhcmFsbGVsIG5hbWUgZW5kaW5nIGZvciBwYXJh bGxlbCBpdGVtcywgc3VjaCBhcyBwb3Rpb25zLCBiYWxscywgaGVhbHMsIGV0Yy4KCiogZm9yIHNo b3J0IG9uZXMsIGZ1bGwgZ2lzbXUgYW5kIHRhbnJ1IGFyZSBwcmVmZXJyZWQgdG8gcmFmc2kgdW5s ZXNzIGl0IHdvdWxkIHJ1aW4gYWZvcmVtZW50aW9uZWQgcGFyYWxsZWxpc20uCgoqIEluLWdhbWUs IHRoZXJlIGV4aXN0cyB0aGUgZ2lzbXUge3Bva21hfSB3aXRoIHJhZnNpIC1wb2stIGZvciBwb2tl bW9uLiBJdCBpcyBkZWZpbmVkIHRoZSBzYW1lIGFzIHRoZSByZWFsIHdvcmRzIHBva21vbmUgLyBk YXNreWRhJ3UuCgoKCnx8X19FbmdsaXNoX198X19zZWxicmlfXwoKTUFTVEVSIEJBTEwgIHwgcm9s cG9reWJvaSAgKHNlbG1hY3lib2kpCgpVTFRSQSBCQUxMICAgfCBjaWJ5cG9reWJvaSAoYmFsY2Fp Ym9pPykKCkdSRUFUIEJBTEwgICB8IHJlbHBva3lib2kgIChiYWxib2kvYmFscG9reWJvaSkKClBP S8OpIEJBTEwgICAgfCBwYXZ5cG9reWJvaSAocG9reWJvaSkKClRPV04gTUFQICAgICB8IHRjYWNh cnR1CgpCSUNZQ0xFICAgICAgfCByZWxzZWx4aSd1CgpTQUZBUkkgQkFMTCAgfCBrbG9wb2t5Ym9p ICAobGkndXJwb2t5Ym9pKQoKUE9Lw6lERVggICAgICB8IHBva3ljYWJyYSAgIChwb2tzdGV0Y2kp CgpNT09OIFNUT05FICAgfCBsdW5yYSByb2tjaQoKQU5USURPVEUgICAgIHwgdmlkdmVsbWlrY2UK CkJVUk4gSEVBTCAgICB8IGZhZ3ZlbG1pa2NlCgpJQ0UgSEVBTCAgICAgfCBiaXN5dmVsbWlrY2UK CkFXQUtFTklORyAgICB8IHNpcHl2ZWxtaWtjZQoKUEFSTFlaIEhFQUwgIHwgZnJhdmVsbWlrY2UK CkZVTEwgUkVTVE9SRSB8IHJvbGthJ29kamEKCk1BWCBQT1RJT04gICB8IGNsdWthJ29kamEKCkhZ UEVSIFBPVElPTiB8IGNpYnlrYSdvZGphCgpTVVBFUiBQT1RJT04gfCByZWxrYSdvZGphCgpQT1RJ T04gICAgICAgfCBwYXZ5a2Enb2RqYQoKQk9VTERFUkJBREdFIHwgcm9rc25pCgpDQVNDQURFQkFE R0UgfCBqYXVzbmkKClRIVU5ERVJCQURHRSB8IGxpZHlzbmkKClJBSU5CT1dCQURHRSB8IAoKU09V TEJBREdFICAgIHwKCk1BUlNIQkFER0UgICB8CgpWT0xDQU5PQkFER0UgfAoKRUFSVEhCQURHRSAg IHwKCkVTQ0FQRSBST1BFICAKClJFUEVMCgpPTEQgQU1CRVIKCkZJUkUgU1RPTkUgICB8IGZhZ3Jp IHJva2NpCgpUSFVOREVSU1RPTkUgfCBsaW5kaSByb2tjaQoKV0FURVIgU1RPTkUgIHwgZGphY3Ug cm9rY2kKCkhQIFVQCgpQUk9URUlOCgpJUk9OCgpDQVJCT1MKCkNBTENJVU0KClJBUkUgQ0FORFkK CkRPTUUgRk9TU0lMCgpIRUxJWCBGT1NTSUwKClNFQ1JFVCBLRVkgICB8IHNlIG1pcHJpIGNraWt1 CgpCSUtFIFZPVUNIRVIKClggQUNDVVJBQ1kKCkxFQUYgU1RPTkUgICB8IHBlemxpIHJva2NpCgpD QVJEIEtFWQoKTlVHR0VUCgpQUCBVUAoKUE9Lw6kgRE9MTCAgICB8IHBva3lmdWtwaQoKRlVMTCBI RUFMICAgIHwgcm9sdmVsbWlrY2UKClJFVklWRSAgICAgICB8IGppJ2V4cnUKCk1BWCBSRVZJVkUg ICB8IHRjZWppJ2V4cnUKCkdVQVJEIFNQRUMuCgpTVVBFUiBSRVBFTAoKTUFYIFJFUEVMCgpESVJF IEhJVAoKQ09JTiAgICAgICAgIHwgc2ljbmkKCkZSRVNIIFdBVEVSICB8IHZpZm5lIGRqYWN1CgpT T0RBIFBPUAoKTEVNT05BREUgICAgIHwgc29kdmEKClMuUy5USUNLRVQgICB8IGJsb3RpIHBpa3Rh CgpHT0xEIFRFRVRIICAKClggQVRUQUNLCgpYIERFRkVORAoKWCBTUEVFRAoKWCBTUEVDSUFMCgpD T0lOIENBU0UgICAgfCBzaSdpcnZhdSAvIHNpY25pIHZhc3J1CgpPQUsncyBQQVJDRUwKCklURU1G SU5ERVIKClNJTFBIIFNDT1BFCgpQT0vDqSBGTFVURSAgIHwgcG9rbWUgZmxhbmkKCkxJRlQgS0VZ CgpFWFAuQUxMCgpPTEQgUk9ECgpHT09EIFJPRAoKU1VQRVIgUk9ECgpQUCBVUAoKRVRIRVIgICAg ICAgIHwgZ3V0eWRqYQoKTUFYIEVUSEVSICAgIHwgY2x1Z3V0eWRqYQoKRUxJWEVSICAgICAgIHwg a2EnZWd1dHlkamEKCk1BWCBFTElYRVIgICB8IGtheHlndXR5ZGphfHwKCiEhIEF0dGFja3MKCgoK X19Db25kaXRpb25zIGZvciBhdHRhY2sgd29yZHNfXwoKKiBzZWxicmksIDEyLWNoYXJhY3RlciBs aW1pdCAoeydhfSBhbmQgb3RoZXIgYXBvc3Ryb3BoZS12b3dlbCBjb21iaW5hdGlvbnMgYXJlIG9u ZSBjaGFyYWN0ZXIgZWFjaC4pCgoqIHBhcmFsbGVsIG5hbWUgZW5kaW5ncyBmb3IgcGFyYWxsZWwg YWN0aW9ucywgc3VjaCBhcyBwdW5jaGVzLCBraWNrcywgZXRjLgoKKiBmb3Igc2hvcnQgbmFtZXMs IGZ1bGwgZ2lzbXUgYXJlIHByZWZlcnJlZCB0byByYWZzaSB1bmxlc3MgaXQgd291bGQgcnVpbiBh Zm9yZW1lbnRpb25lZCBwYXJhbGxlbGlzbQoKKiBJJ20gcGxhbm5pbmcgb24gdXNpbmcgImtvJ2Eg em8ndSBicm9kYSIgZm9yICJbW3Bva2Vtb25dIHVzZWQgW1thdHRhY2tdISIgVGhpcyBnaXZlcyBh IGxvdCBvZiBmcmVlZG9tIGluIHRyYW5zbGF0aW9uLiBUZWNobmljYWxseSwgdGhpcyBldmVuIG1l YW5zIHdlIGNhbiB1c2UgYnJpZGk7IGhvd2V2ZXIsIGR1ZSB0byBjaGFyYWN0ZXIgbGltaXRhdGlv bnMgYW5kIHRoZSB2ZXJzYXRpbGl0eSBvZiB1c2luZyBzZWxicmksIHVzZSBzZWxicmkuCgoqIFNv bWV0aW1lcyB0aGUgc2VsYnJpIG11c3QgYmUgbW9yZSBkZXNjcmlwdGl2ZSB0aGFuIHdoYXQgaXQn cyB0cmFuc2xhdGluZy4gU2VlICJNRVRST05PTUUiIGFuZCBbaHR0cDovL2J1bGJhcGVkaWEuYnVs YmFnYXJkZW4ubmV0L3dpa2kvTWV0cm9ub21lXyhtb3ZlKSNEZXNjcmlwdGlvbnxCdWxiYXBlZGlh XS4KCgoKfHxfX0VuZ2xpc2hfX3xfX3NlbGJyaV9fCgpQT1VORCAgICAgICAgfCB0aWxqdSBkYXJ4 aQoKS0FSQVRFIENIT1AgIHwgZGEnaXJrYXJhdGkKCkRPVUJMRVNMQVAgICB8IHJlbHBpdHlkYSdp CgpDT01FVCBQVU5DSCAgfCBjbWFwbGlueWRhJ2kKCk1FR0EgUFVOQ0ggICB8IGJyYWJyYWRhJ2kK ClBBWSBEQVkgICAgICB8IHBsZWppIGRldHJpCgpGSVJFIFBVTkNIICAgfCBmYWdyaSB4YW5kYSdp CgpJQ0UgUFVOQ0ggICAgfCBiaXNsaSB4YW5kYSdpCgpUSFVOREVSUFVOQ0ggfCBsaW5kaSB4YW5k YSdpCgpTQ1JBVENIICAgICAgfCBzcmFrdQoKVklDRUdSSVAKCkdVSUxMT1RJTkUKClJBWk9SIFdJ TkQKClNXT1JEUyBEQU5DRQoKQ1VUIHwga2F0bmEKCkdVU1QKCldJTkcgQVRUQUNLIHwgbmFsY2kg Z3VudGEKCldISVJMV0lORAoKRkxZIHwgdm9mbGkKCkJJTkQKClNMQU0gfCBtYXJ4YQoKVklORSBX SElQCgpTVE9NUCB8IGxvbGRpIGptYWRhJ2kKCkRPVUJMRSBLSUNLIHwgcmVsam1hZGEnaQoKTUVH QSBLSUNLIHwgYnJhYnJham1hZGEnaQoKSlVNUCBLSUNLIHwgcGxpcGUgam1hZGEnaQoKUk9MTElO RyBLSUNLIHwgZ3Vucm8gam1hZGEnaQoKU0FORC1BVFRBQ0sKCkhFQURCVVRUIHwgc3RlZHUgZGFy eGkKCkhPUk4gQVRUQUNLIHwgamlybmEgZ3VudGEKCkZVUlkgQVRUQUNLIHwgZmVuZ3UgZ3VudGEK CkhPUk4gRFJJTEwKClRBQ0tMRSB8IHhhZG5pIGRhcnhpCgpCT0RZIFNMQU0gfCB4YWRuaSBtYXJ4 YQoKV1JBUAoKVEFLRSBET1dOCgpUSFJBU0gKCkRPVUJMRS1FREdFCgpUQUlMIFdISVAgICB8IHJl YmxhIGJpa3lkYSdpCgpQT0lTT04gU1RJTkcKClRXSU5FRURMRQoKUElOIE1JU1NJTEUKCkxFRVIK CkJJVEUKCkdST1dMICAgICAgIHwgY21vbmkKClJPQVIgICAgICAgIHwgbGF1Y21vCgpTSU5HICAg ICAgICB8IHNhbmdhCgpTVVBFUlNPTklDCgpTT05JQ0JPT00KCkRJU0FCTEUKCkFDSUQKCkVNQkVS CgpGTEFNRVRIUk9XRVIKCk1JU1QgICAgICAgICB8IGphdXJidW1ydQoKV0FURVIgR1VOCgpIWURS TyBQVU1QCgpTVVJGICAgICAgICAgfCBqYWN0YSdvIHBpbG5vCgpJQ0UgQkVBTQoKQkxJWlpBUkQK ClBTWUJFQU0KCkJVQkJMRUJFQU0KCkFVUk9SQSBCRUFNCgpIWVBFUiBCRUFNCgpQRUNLICAgICAg ICAgfCAKCkRSSUxMIFBFQ0sKClNVQk1JU1NJT04KCkxPVyBLSUNLCgpDT1VOVEVSCgpTRUlTTUlD IFRPU1MKClNUUkVOR1RIICAgICB8IGthbXRzYQoKQUJTT1JCCgpNRUdBIERSQUlOCgpMRUVDSCBT RUVECgpHUk9XVEggICAgICAgfCBiYW5ybwoKUkFaT1IgTEVBRgoKU09MQVJCRUFNCgpQT0lTT05Q T1dERVIKClNUVU4gU1BPUkUKClNMRUVQIFBPV0RFUgoKUEVUQUwgREFOQ0UKClNUUklORyBTSE9U CgpEUkFHT04gUkFHRSAgfCBkcmFrb25vIGZlbmd1CgpGSVJFIFNQSU4KClRIVU5ERVJTSE9DSwoK VEhVTkRFUkJPTFQKClRIVU5ERVIgV0FWRQoKVEhVTkRFUgoKUk9DSyBUSFJPVyAgIHwgcm9rY2kg cmVucm8KCkVBUlRIUVVBS0UKCkZJU1NVUkUKCkRJRyAgICAgICAgICB8IGtha3BhCgpUT1hJQyAg ICAgICAgfCB2aW5kdQoKQ09ORlVTSU9OCgpQU1lDSElDCgpIWVBOT1NJUwoKTUVESVRBVEUKCkFH SUxJVFkKClFVSUNLIEFUVEFDSwoKUkFHRQoKVEVMRVBPUlQKCk5JR0hUIFNIQURFCgpNSU1JQwoK U0NSRUVDSAoKRE9VQkxFIFRFQU0KClJFQ09WRVIKCkhBUkRFTgoKTUlOSU1JWkUKClNNT0tFU0NS RUVOCgpDT05GVVNFIFJBWQoKV0lUSERSQVcKCkRFRkVOU0UgQ1VSTAoKQkFSUklFUgoKTElHSFQg U0NSRUVOCgpIQVpFCgpSRUZMRUNUCgpGT0NVUyBFTkVSR1kKCkJJREUKCk1FVFJPTk9NRSAgICB8 IGRlZ2ppIHNsaWx1CgpNSVJST1IgTU9WRQoKU0VMRkRFU1RSVUNUCgpFR0cgQk9NQgoKTElDSwoK U01PRwoKU0xVREdFCgpCT05FIENMVUIKCkZJUkUgQkxBU1QKCldBVEVSRkFMTAoKQ0xBTVAKClNX SUZUCgpTS1VMTCBCQVNICgpTUElLRSBDQU5OT04KCkNPTlNUUklDVAoKQU1ORVNJQQoKS0lORVNJ UwoKU09GVEJPSUxFRAoKSEkgSlVNUCBLSUNLCgpHTEFSRQoKRFJFQU0gRUFURVIKClBPSVNPTiBH QVMKCkJBUlJBR0UKCkxFRUNIIExJRkUKCkxPVkVMWSBLSVNTCgpTS1kgQVRUQUNLICB8IHRzYW5p IGd1bnRhCgpUUkFOU0ZPUk0gICB8IGNlbmJhIAoKQlVCQkxFCgpESVpaWSBQVU5DSAoKU1BPUkUK CkZMQVNICgpQU1lXQVZFCgpTUExBU0ggICAgICB8IGphdXJrYXN5Z2F1CgpBQ0lEIEFSTU9SCgpD UkFCSEFNTUVSCgpFWFBMT1NJT04gICB8IHNwb2phCgpGVVJZIFNXSVBFUwoKQk9ORU1FUkFORwoK UkVTVCAgICAgICAgfCBzdXJsYQoKUk9DSyBTTElERQoKSFlQRVIgRkFORwoKU0hBUlBFTgoKQ09O VkVSU0lPTgoKVFJJIEFUVEFDSwoKU1VQRVIgRkFORwoKU0xBU0gKClNVQlNUSVRVVEUgIHwgYmFz eWdhdQoKU1RSVUdHTEV8fAoKCgohISBEaWFsb2d1ZQoKCgpfX0NvbmRpdGlvbnMgZm9yIERpYWxv Z3VlX18KCiogZnVsbCBicmlkaSwgbm8gY2hhcmFjdGVyIGxpbWl0LCBzaG91bGQgYmUgc3RyYWln aHRmb3J3YXJkCgoqIEknbGwgd29ycnkgYWJvdXQgbGluZSBicmVha3MgZm9yIHlvdSA6KSBQbGVh c2UgcHV0IHsuaX0gaW4sIGhvd2V2ZXIuIERvbid0IGFkZCBpdCBpZiB0aGVyZSdzIG9ubHkgb25l IGJyaWRpLiAtKChKb2UgQW5kZXJzb24pCgoqIHJlcGxhY2UgIiNNT04iIHdpdGgge3Bva21hfQoK CgohISEgUG9rZWRleCBFbnRyaWVzCgoKCnx8X19Qb2tlbW9uX198X19FbmdsaXNoX198X19Mb2pi YW5fXwoKUmh5ZG9uIHwgUHJvdGVjdGVkIGJ5IGFuIGFybW9yLWxpa2UgaGlkZSwgaXQgaXMgY2Fw YWJsZSBvZiBsaXZpbmcgaW4gbW9sdGVuIGxhdmEgb2YgMyw2MDAgZGVncmVlcwoKS2FuZ2Fza2hh biB8IFRoZSBpbmZhbnQgcmFyZWx5IHZlbnR1cmVzIG91dCBvZiBpdHMgbW90aGVyJ3MgcHJvdGVj dGl2ZSBwb3VjaCB1bnRpbCBpdCBpcyAzIHllYXJzIG9sZAoKTmlkb3Jhbk0gfCBTdGlmZmVucyBp dHMgZWFycyB0byBzZW5zZSBkYW5nZXIuIFRoZSBsYXJnZXIgaXRzIGhvcm5zLCB0aGUgbW9yZSBw b3dlcmZ1bCBpdHMgc2VjcmV0ZWQgdmVub20KCkNsZWZhaXJ5IHwgSXRzIG1hZ2ljYWwgYW5kIGN1 dGUgYXBwZWFsIGhhcyBtYW55IGFkbWlyZXJzLiBJdCBpcyByYXJlIGFuZCBmb3VuZCBvbmx5IGlu IGNlcnRhaW4gYXJlYXMKClNwZWFyb3cgfCBFYXRzIGJ1Z3MgaW4gZ3Jhc3N5IGFyZWFzLiBJdCBo YXMgdG8gZmxhcCBpdHMgc2hvcnQgd2luZ3MgYXQgaGlnaCBzcGVlZCB0byBzdGF5IGFpcmJvcm5l CgpWb2x0b3JiIHwgVXN1YWxseSBmb3VuZCBpbiBwb3dlciBwbGFudHMuIEVhc2lseSBtaXN0YWtl biBmb3IgYSAjIEJBTEwsIHRoZXkgaGF2ZSB6YXBwZWQgbWFueSBwZW9wbGUKCk5pZG9raW5nIHwg SXQgdXNlcyBpdHMgcG93ZXJmdWwgdGFpbCBpbiBiYXR0bGUgdG8gc21hc2gsIGNvbnN0cmljdCwg dGhlbiBicmVhayB0aGUgcHJleSdzIGJvbmVzCgpTbG93YnJvIHwgVGhlIFNIRUxMREVSIHRoYXQg aXMgbGF0Y2hlZCBvbnRvIFNMT1dQT0tFJ3MgdGFpbCBpcyBzYWlkIHRvIGZlZWQgb24gdGhlIGhv c3QncyBsZWZ0IG92ZXIgc2NyYXBzCgpJdnlzYXVyIHwgV2hlbiB0aGUgYnVsYiBvbiBpdHMgYmFj ayBncm93cyBsYXJnZSwgaXQgYXBwZWFycyB0byBsb3NlIHRoZSBhYmlsaXR5IHRvIHN0YW5kIG9u IGl0cyBoaW5kIGxlZ3MKCkV4ZWdndXRvciB8IExlZ2VuZCBoYXMgaXQgdGhhdCBvbiByYXJlIG9j Y2FzaW9ucywgb25lIG9mIGl0cyBoZWFkcyB3aWxsIGRyb3Agb2ZmIGFuZCBjb250aW51ZSBvbiBh cyBhbiBFWEVHR0NVVEUKCkxpY2tpdHVuZyB8IEl0cyB0b25ndWUgY2FuIGJlIGV4dGVuZGVkIGxp a2UgYSBjaGFtZWxlb24ncy4gSXQgbGVhdmVzIGEgdGluZ2xpbmcgc2Vuc2F0aW9uIHdoZW4gaXQg bGlja3MgZW5lbWllcwoKRXhlZ2djdXRlIHwgT2Z0ZW4gbWlzdGFrZW4gZm9yIGVnZ3MuIFdoZW4g ZGlzdHVyYmVkLCB0aGV5IHF1aWNrbHkgZ2F0aGVyIGFuZCBhdHRhY2sgaW4gc3dhcm1zCgpHcmlt ZXIgfCBBcHBlYXJzIGluIGZpbHRoeSBhcmVhcy4gVGhyaXZlcyBieSBzdWNraW5nIHVwIHBvbGx1 dGVkIHNsdWRnZSB0aGF0IGlzIHB1bXBlZCBvdXQgb2YgZmFjdG9yaWVzCgpHZW5nYXIgfCBVbmRl ciBhIGZ1bGwgbW9vbiwgdGhpcyAjTU9OIGxpa2VzIHRvIG1pbWljIHRoZSBzaGFkb3dzIG9mIHBl b3BsZSBhbmQgbGF1Z2ggYXQgdGhlaXIgZnJpZ2h0CgpOaWRvcmFuRiB8IEFsdGhvdWdoIHNtYWxs LCBpdHMgdmVub21vdXMgYmFyYnMgcmVuZGVyIHRoaXMgI01PTiBkYW5nZXJvdXMuIFRoZSBmZW1h bGUgaGFzIHNtYWxsZXIgaG9ybnMKCk5pZG9xdWVlbiB8IEl0cyBoYXJkIHNjYWxlcyBwcm92aWRl IHN0cm9uZyBwcm90ZWN0aW9uLiBJdCB1c2VzIGl0cyBoZWZ0eSBidWxrIHRvIGV4ZWN1dGUgcG93 ZXJmdWwgbW92ZXMKCkN1Ym9uZSB8IEJlY2F1c2UgaXQgbmV2ZXIgcmVtb3ZlcyBpdHMgc2t1bGwg aGVsbWV0LCBubyBvbmUgaGFzIGV2ZXIgc2VlbiB0aGlzICNNT04ncyByZWFsIGZhY2UKClJoeWhv cm4gfCBJdHMgbWFzc2l2ZSBib25lcyBhcmUgMTAwMCB0aW1lcyBoYXJkZXIgdGhhbiBodW1hbiBi b25lcy4gSXQgY2FuIGVhc2lseSBrbm9jayBhIHRyYWlsZXIgZmx5aW5nCgpMYXByYXMgfCBBICNN T04gdGhhdCBoYXMgYmVlbiBvdmVyLSBodW50ZWQgYWxtb3N0IHRvIGV4dGluY3Rpb24uIEl0IGNh biBmZXJyeSBwZW9wbGUgYWNyb3NzIHRoZSB3YXRlcgoKQXJjYW5pbmUgfCBBICNNT04gdGhhdCBo YXMgYmVlbiBhZG1pcmVkIHNpbmNlIHRoZSBwYXN0IGZvciBpdHMgYmVhdXR5LiBJdCBydW5zIGFn aWxlbHkgYXMgaWYgb24gd2luZ3MKCk1ldyB8IFNvIHJhcmUgdGhhdCBpdCBpcyBzdGlsbCBzYWlk IHRvIGJlIGEgbWlyYWdlIGJ5IG1hbnkgZXhwZXJ0cy4gT25seSBhIGZldyBwZW9wbGUgaGF2ZSBz ZWVuIGl0IHdvcmxkd2lkZQoKR3lhcmFkb3MgfCBSYXJlbHkgc2VlbiBpbiB0aGUgd2lsZC4gSHVn ZSBhbmQgdmljaW91cywgaXQgaXMgY2FwYWJsZSBvZiBkZXN0cm95aW5nIGVudGlyZSBjaXRpZXMg aW4gYSByYWdlCgpTaGVsbGRlciB8IEl0cyBoYXJkIHNoZWxsIHJlcGVscyBhbnkga2luZCBvZiBh dHRhY2suIEl0IGlzIHZ1bG5lcmFibGUgb25seSB3aGVuIGl0cyBzaGVsbCBpcyBvcGVuCgpUZW50 YWNvb2wgfCBEcmlmdHMgaW4gc2hhbGxvdyBzZWFzLiBBbmdsZXJzIHdobyBob29rIHRoZW0gYnkg YWNjaWRlbnQgYXJlIG9mdGVuIHB1bmlzaGVkIGJ5IGl0cyBzdGluZ2luZyBhY2lkCgpHYXN0bHkg fCBBbG1vc3QgaW52aXNpYmxlLCB0aGlzIGdhc2VvdXMgI01PTiBjbG9ha3MgdGhlIHRhcmdldCBh bmQgcHV0cyBpdCB0byBzbGVlcCB3aXRob3V0IG5vdGljZQoKU2N5dGhlciB8IFdpdGggbmluamEt bGlrZSBhZ2lsaXR5IGFuZCBzcGVlZCwgaXQgY2FuIGNyZWF0ZSB0aGUgaWxsdXNpb24gdGhhdCB0 aGVyZSBpcyBtb3JlIHRoYW4gb25lCgpTdGFyeXUgfCBBbiBlbmlnbWF0aWMgI01PTiB0aGF0IGNh biBlZmZvcnRsZXNzbHkgcmVnZW5lcmF0ZSBhbnkgYXBwZW5kYWdlIGl0IGxvc2VzIGluIGJhdHRs ZQoKQmxhc3RvaXNlIHwgQSBicnV0YWwgI01PTiB3aXRoIHByZXNzdXJpemVkIHdhdGVyIGpldHMg b24gaXRzIHNoZWxsLiBUaGV5IGFyZSB1c2VkIGZvciBoaWdoIHNwZWVkIHRhY2tsZXMKClBpbnNp ciB8IElmIGl0IGZhaWxzIHRvIGNydXNoIHRoZSB2aWN0aW0gaW4gaXRzIHBpbmNlcnMsIGl0IHdp bGwgc3dpbmcgaXQgYXJvdW5kIGFuZCB0b3NzIGl0IGhhcmQKClRhbmdlbGEgfCBUaGUgd2hvbGUg Ym9keSBpcyBzd2F0aGVkIHdpdGggd2lkZSB2aW5lcyB0aGF0IGFyZSBzaW1pbGFyIHRvIHNlYS0g d2VlZC4gSXRzIHZpbmVzIHNoYWtlIGFzIGl0IHdhbGtzCgpHcm93bGl0aGUgfCBWZXJ5IHByb3Rl Y3RpdmUgb2YgaXRzIHRlcnJpdG9yeS4gSXQgd2lsbCBiYXJrIGFuZCBiaXRlIHRvIHJlcGVsIGlu dHJ1ZGVycyBmcm9tIGl0cyBzcGFjZQoKT25peCB8IEFzIGl0IGdyb3dzLCB0aGUgc3RvbmUgcG9y dGlvbnMgb2YgaXRzIGJvZHkgaGFyZGVuIHRvIGJlY29tZSBzaW1pbGFyIHRvIGEgZGlhbW9uZCwg YnV0IGNvbG9yZWQgYmxhY2sKCkZlYXJvdyB8IFdpdGggaXRzIGh1Z2UgYW5kIG1hZ25pZmljZW50 IHdpbmdzLCBpdCBjYW4ga2VlcCBhbG9mdCB3aXRob3V0IGV2ZXIgaGF2aW5nIHRvIGxhbmQgZm9y IHJlc3QKClBpZGdleSB8IEEgY29tbW9uIHNpZ2h0IGluIGZvcmVzdHMgYW5kIHdvb2RzLiBJdCBm bGFwcyBpdHMgd2luZ3MgYXQgZ3JvdW5kIGxldmVsIHRvIGtpY2sgdXAgYmxpbmRpbmcgc2FuZAoK U2xvd3Bva2UgfCBJbmNyZWRpYmx5IHNsb3cgYW5kIGRvcGV5LiBJdCB0YWtlcyA1IHNlY29uZHMg Zm9yIGl0IHRvIGZlZWwgcGFpbiB3aGVuIHVuZGVyIGF0dGFjawoKS2FkYWJyYSB8IEl0IGVtaXRz IHNwZWNpYWwgYWxwaGEgd2F2ZXMgZnJvbSBpdHMgYm9keSB0aGF0IGluZHVjZSBoZWFkYWNoZXMg anVzdCBieSBiZWluZyBjbG9zZSBieQoKR3JhdmVsZXIgfCBSb2xscyBkb3duIHNsb3BlcyB0byBt b3ZlLiBJdCByb2xscyBvdmVyIGFueSBvYnN0YWNsZSB3aXRob3V0IHNsb3dpbmcgb3IgY2hhbmdp bmcgaXRzIGRpcmVjdGlvbgoKQ2hhbnNleSB8IEEgcmFyZSBhbmQgZWx1c2l2ZSAjTU9OIHRoYXQg aXMgc2FpZCB0byBicmluZyBoYXBwaW5lc3MgdG8gdGhvc2Ugd2hvIG1hbmFnZSB0byBnZXQgaXQK Ck1hY2hva2UgfCBJdHMgbXVzY3VsYXIgYm9keSBpcyBzbyBwb3dlcmZ1bCwgaXQgbXVzdCB3ZWFy IGEgcG93ZXIgc2F2ZSBiZWx0IHRvIGJlIGFibGUgdG8gcmVndWxhdGUgaXRzIG1vdGlvbnMKCk1y TWltZSB8IElmIGludGVycnVwdGVkIHdoaWxlIGl0IGlzIG1pbWluZywgaXQgd2lsbCBzbGFwIGFy b3VuZCB0aGUgb2ZmZW5kZXIgd2l0aCBpdHMgYnJvYWQgaGFuZHMKCkhpdG1vbmxlZSB8IFdoZW4g aW4gYSBodXJyeSwgaXRzIGxlZ3MgbGVuZ3RoZW4gcHJvZ3Jlc3NpdmVseS4gSXQgcnVucyBzbW9v dGhseSB3aXRoIGV4dHJhIGxvbmcsIGxvcGluZyBzdHJpZGVzCgpIaXRtb25jaGFuIHwgV2hpbGUg YXBwYXJlbnRseSBkb2luZyBub3RoaW5nLCBpdCBmaXJlcyBwdW5jaGVzIGluIGxpZ2h0bmluZyBm YXN0IHZvbGxleXMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byBzZWUKCkFyYm9rIHwgSXQgaXMgcnVt b3JlZCB0aGF0IHRoZSBmZXJvY2lvdXMgd2FybmluZyBtYXJraW5ncyBvbiBpdHMgYmVsbHkgZGlm ZmVyIGZyb20gYXJlYSB0byBhcmVhCgpQYXJhc2VjdCB8IEEgaG9zdC1wYXJhc2l0ZSBwYWlyIGlu IHdoaWNoIHRoZSBwYXJhc2l0ZSBtdXNocm9vbSBoYXMgdGFrZW4gb3ZlciB0aGUgaG9zdCBidWcu IFByZWZlcnMgZGFtcCBwbGFjZXMKClBzeWR1Y2sgfCBXaGlsZSBsdWxsaW5nIGl0cyBlbmVtaWVz IHdpdGggaXRzIHZhY2FudCBsb29rLCB0aGlzIHdpbHkgI01PTiB3aWxsIHVzZSBwc3ljaG9raW5l dGljIHBvd2VycwoKRHJvd3plZSB8IFB1dHMgZW5lbWllcyB0byBzbGVlcCB0aGVuIGVhdHMgdGhl aXIgZHJlYW1zLiBPY2Nhc2lvbmFsbHkgZ2V0cyBzaWNrIGZyb20gZWF0aW5nIGJhZCBkcmVhbXMK CkdvbGVtIHwgSXRzIGJvdWxkZXItbGlrZSBib2R5IGlzIGV4dHJlbWVseSBoYXJkLiBJdCBjYW4g ZWFzaWx5IHdpdGhzdGFuZCBkeW5hbWl0ZSBibGFzdHMgd2l0aG91dCBkYW1hZ2UKCk1hZ21hciB8 IEl0cyBib2R5IGFsd2F5cyBidXJucyB3aXRoIGFuIG9yYW5nZSBnbG93IHRoYXQgZW5hYmxlcyBp dCB0byBoaWRlIHBlcmZlY3RseSBhbW9uZyBmbGFtZXMKCkVsZWN0YWJ1enogfCBOb3JtYWxseSBm b3VuZCBuZWFyIHBvd2VyIHBsYW50cywgdGhleSBjYW4gd2FuZGVyIGF3YXkgYW5kIGNhdXNlIG1h am9yIGJsYWNrb3V0cyBpbiBjaXRpZXMKCk1hZ25ldG9uIHwgRm9ybWVkIGJ5IHNldmVyYWwgTUFH TkVNSVRFcyBsaW5rZWQgdG9nZXRoZXIuIFRoZXkgZnJlcXVlbnRseSBhcHBlYXIgd2hlbiBzdW5z cG90cyBmbGFyZSB1cAoKS29mZmluZyB8IEJlY2F1c2UgaXQgc3RvcmVzIHNldmVyYWwga2luZHMg b2YgdG94aWMgZ2FzZXMgaW4gaXRzIGJvZHksIGl0IGlzIHByb25lIHRvIGV4cGxvZGluZyB3aXRo b3V0IHdhcm5pbmcKCk1hbmtleSB8IEV4dHJlbWVseSBxdWljayB0byBhbmdlci4gSXQgY291bGQg YmUgZG9jaWxlIG9uZSBtb21lbnQgdGhlbiB0aHJhc2hpbmcgYXdheSB0aGUgbmV4dCBpbnN0YW50 CgpTZWVsIHwgVGhlIHByb3RydWRpbmcgaG9ybiBvbiBpdHMgaGVhZCBpcyB2ZXJ5IGhhcmQuIEl0 IGlzIHVzZWQgZm9yIGJhc2hpbmcgdGhyb3VnaCB0aGljayBpY2UKCkRpZ2xldHQgfCBMaXZlcyBh Ym91dCBvbmUgeWFyZCB1bmRlcmdyb3VuZCB3aGVyZSBpdCBmZWVkcyBvbiBwbGFudCByb290cy4g SXQgc29tZXRpbWVzIGFwcGVhcnMgYWJvdmUgZ3JvdW5kCgpUYXVyb3MgfCBXaGVuIGl0IHRhcmdl dHMgYW4gZW5lbXksIGl0IGNoYXJnZXMgZnVyaW91c2x5IHdoaWxlIHdoaXBwaW5nIGl0cyBib2R5 IHdpdGggaXRzIGxvbmcgdGFpbHMKCkZhcmZldGNoZCB8IFRoZSBzcHJpZyBvZiBncmVlbiBvbmlv bnMgaXQgaG9sZHMgaXMgaXRzIHdlYXBvbi4gSXQgaXMgdXNlZCBtdWNoIGxpa2UgYSBtZXRhbCBz d29yZAoKVmVub25hdCB8IExpdmVzIGluIHRoZSBzaGFkb3dzIG9mIHRhbGwgdHJlZXMgd2hlcmUg aXQgZWF0cyBpbnNlY3RzLiBJdCBpcyBhdHRyYWN0ZWQgYnkgbGlnaHQgYXQgbmlnaHQKCkRyYWdv bml0ZSB8IEFuIGV4dHJlbWVseSByYXJlbHkgc2VlbiBtYXJpbmUgI01PTi4gSXRzIGludGVsbGln ZW5jZSBpcyBzYWlkIHRvIG1hdGNoIHRoYXQgb2YgaHVtYW5zCgpEb2R1byB8IEEgYmlyZCB0aGF0 IG1ha2VzIHVwIGZvciBpdHMgcG9vciBmbHlpbmcgd2l0aCBpdHMgZmFzdCBmb290IHNwZWVkLiBM ZWF2ZXMgZ2lhbnQgZm9vdHByaW50cwoKUG9saXdhZyB8IEl0cyBuZXdseSBncm93biBsZWdzIHBy ZXZlbnQgaXQgZnJvbSBydW5uaW5nLiBJdCBhcHBlYXJzIHRvIHByZWZlciBzd2ltbWluZyB0aGFu IHRyeWluZyB0byBzdGFuZAoKSnlueCB8IEl0IHNlZHVjdGl2ZWx5IHdpZ2dsZXMgaXRzIGhpcHMg YXMgaXQgd2Fsa3MuIEl0IGNhbiBjYXVzZSBwZW9wbGUgdG8gZGFuY2UgaW4gdW5pc29uIHdpdGgg aXQKCk1vbHRyZXMgfCBLbm93biBhcyB0aGUgbGVnZW5kYXJ5IGJpcmQgb2YgZmlyZS4gRXZlcnkg ZmxhcCBvZiBpdHMgd2luZ3MgY3JlYXRlcyBhIGRhenpsaW5nIGZsYXNoIG9mIGZsYW1lcwoKQXJ0 aWN1bm8gfCBBIGxlZ2VuZGFyeSBiaXJkICNNT04gdGhhdCBpcyBzYWlkIHRvIGFwcGVhciB0byBk b29tZWQgcGVvcGxlIHdobyBhcmUgbG9zdCBpbiBpY3kgbW91bnRhaW5zCgpaYXBkb3MgfCBBIGxl Z2VuZGFyeSBiaXJkICNNT04gdGhhdCBpcyBzYWlkIHRvIGFwcGVhciBmcm9tIGNsb3VkcyB3aGls ZSBkcm9wcGluZyBlbm9ybW91cyBsaWdodG5pbmcgYm9sdHMKCkRpdHRvIHwgQ2FwYWJsZSBvZiBj b3B5aW5nIGFuIGVuZW15J3MgZ2VuZXRpYyBjb2RlIHRvIGluc3RhbnRseSB0cmFuc2Zvcm0gaXRz ZWxmIGludG8gYSBkdXBsaWNhdGUgb2YgdGhlIGVuZW15CgpNZW93dGggfCBBZG9yZXMgY2lyY3Vs YXIgb2JqZWN0cy4gV2FuZGVycyB0aGUgc3RyZWV0cyBvbiBhIG5pZ2h0bHkgYmFzaXMgdG8gbG9v ayBmb3IgZHJvcHBlZCBsb29zZSBjaGFuZ2UKCktyYWJieSB8IEl0cyBwaW5jZXJzIGFyZSBub3Qg b25seSBwb3dlcmZ1bCB3ZWFwb25zLCB0aGV5IGFyZSB1c2VkIGZvciBiYWxhbmNlIHdoZW4gd2Fs a2luZyBzaWRld2F5cwoKVnVscGl4IHwgQXQgdGhlIHRpbWUgb2YgYmlydGgsIGl0IGhhcyBqdXN0 IG9uZSB0YWlsLiBUaGUgdGFpbCBzcGxpdHMgZnJvbSBpdHMgdGlwIGFzIGl0IGdyb3dzIG9sZGVy CgpOaW5ldGFsZXMgfCBWZXJ5IHNtYXJ0IGFuZCB2ZXJ5IHZlbmdlZnVsLiBHcmFiYmluZyBvbmUg b2YgaXRzIG1hbnkgdGFpbHMgY291bGQgcmVzdWx0IGluIGEgMTAwMC15ZWFyIGN1cnNlCgpQaWth Y2h1IHwgV2hlbiBzZXZlcmFsIG9mIHRoZXNlICNNT04gZ2F0aGVyLCB0aGVpciBlbGVjdHJpY2l0 eSBjb3VsZCBidWlsZCBhbmQgY2F1c2UgbGlnaHRuaW5nIHN0b3JtcwoKUmFpY2h1IHwgSXRzIGxv bmcgdGFpbCBzZXJ2ZXMgYXMgYSBncm91bmQgdG8gcHJvdGVjdCBpdHNlbGYgZnJvbSBpdHMgb3du IGhpZ2ggdm9sdGFnZSBwb3dlcgoKRHJhdGluaSB8IExvbmcgY29uc2lkZXJlZCBhIG15dGhpY2Fs ICNNT04gdW50aWwgcmVjZW50bHkgd2hlbiBhIHNtYWxsIGNvbG9ueSB3YXMgZm91bmQgbGl2aW5n IHVuZGVyd2F0ZXIKCkRyYWdvbmFpciB8IEEgbXlzdGljYWwgI01PTiB0aGF0IGV4dWRlcyBhIGdl bnRsZSBhdXJhLiBIYXMgdGhlIGFiaWxpdHkgdG8gY2hhbmdlIGNsaW1hdGUgY29uZGl0aW9ucwoK S2FidXRvIHwgQSAjTU9OIHRoYXQgd2FzIHJlc3VycmVjdGVkIGZyb20gYSBmb3NzaWwgZm91bmQg aW4gd2hhdCB3YXMgb25jZSB0aGUgb2NlYW4gZmxvb3IgZW9ucyBhZ28KCkthYnV0b3BzIHwgSXRz IHNsZWVrIHNoYXBlIGlzIHBlcmZlY3QgZm9yIHN3aW0tIG1pbmcuIEl0IHNsYXNoZXMgcHJleSB3 aXRoIGl0cyBjbGF3cyBhbmQgZHJhaW5zIHRoZSBib2R5IGZsdWlkcwoKSG9yc2VhIHwgS25vd24g dG8gc2hvb3QgZG93biBmbHlpbmcgYnVncyB3aXRoIHByZWNpc2lvbiBibGFzdHMgb2YgaW5rIGZy b20gdGhlIHN1cmZhY2Ugb2YgdGhlIHdhdGVyCgpTZWFkcmEgfCBDYXBhYmxlIG9mIHN3aW0tIG1p bmcgYmFja3dhcmRzIGJ5IHJhcGlkbHkgZmxhcHBpbmcgaXRzIHdpbmctbGlrZSBwZWN0b3JhbCBm aW5zIGFuZCBzdG91dCB0YWlsCgpTYW5kc2hyZXcgfCBCdXJyb3dzIGRlZXAgdW5kZXJncm91bmQg aW4gYXJpZCBsb2NhdGlvbnMgZmFyIGZyb20gd2F0ZXIuIEl0IG9ubHkgZW1lcmdlcyB0byBodW50 IGZvciBmb29kCgpTYW5kc2xhc2ggfCBDdXJscyB1cCBpbnRvIGEgc3BpbnkgYmFsbCB3aGVuIHRo cmVhdGVuZWQuIEl0IGNhbiByb2xsIHdoaWxlIGN1cmxlZCB1cCB0byBhdHRhY2sgb3IgZXNjYXBl CgpPbWFueXRlIHwgQWx0aG91Z2ggbG9uZyBleHRpbmN0LCBpbiByYXJlIGNhc2VzLCBpdCBjYW4g YmUgZ2VuZXRpY2FsbHkgcmVzdXJyZWN0ZWQgZnJvbSBmb3NzaWxzCgpPbWFzdGFyIHwgQSBwcmVo aXN0b3JpYyAjTU9OIHRoYXQgZGllZCBvdXQgd2hlbiBpdHMgaGVhdnkgc2hlbGwgbWFkZSBpdCBp bXBvc3NpYmxlIHRvIGNhdGNoIHByZXkKCkppZ2dseXB1ZmYgfCBXaGVuIGl0cyBodWdlIGV5ZXMg bGlnaHQgdXAsIGl0IHNpbmdzIGEgbXlzdGVyaW91c2x5IHNvb3RoaW5nIG1lbG9keSB0aGF0IGx1 bGxzIGl0cyBlbmVtaWVzIHRvIHNsZWVwCgpXaWdnbHl0dWZmIHwgVGhlIGJvZHkgaXMgc29mdCBh bmQgcnViYmVyeS4gV2hlbiBhbmdlcmVkLCBpdCB3aWxsIHN1Y2sgaW4gYWlyIGFuZCBpbmZsYXRl IGl0c2VsZiB0byBhbiBlbm9ybW91cyBzaXplCgpFZXZlZSB8IEl0cyBnZW5ldGljIGNvZGUgaXMg aXJyZWd1bGFyLiBJdCBtYXkgbXV0YXRlIGlmIGl0IGlzIGV4cG9zZWQgdG8gcmFkaWF0aW9uIGZy b20gZWxlbWVudCBTVE9ORXMKCkZsYXJlb24gfCBXaGVuIHN0b3JpbmcgdGhlcm1hbCBlbmVyZ3kg aW4gaXRzIGJvZHksIGl0cyB0ZW1wZXJhdHVyZSBjb3VsZCBzb2FyIHRvIG92ZXIgMTYwMCBkZWdy ZWVzCgpKb2x0ZW9uIHwgSXQgYWNjdW11bGF0ZXMgbmVnYXRpdmUgaW9ucyBpbiB0aGUgYXRtb3Nw aGVyZSB0byBibGFzdCBvdXQgMTAwMDAtIHZvbHQgbGlnaHRuaW5nIGJvbHRzCgpWYXBvcmVvbiB8 IExpdmVzIGNsb3NlIHRvIHdhdGVyLiBJdHMgbG9uZyB0YWlsIGlzIHJpZGdlZCB3aXRoIGEgZmlu IHdoaWNoIGlzIG9mdGVuIG1pc3Rha2VuIGZvciBhIG1lcm1haWQncwoKTWFjaG9wIHwgTG92ZXMg dG8gYnVpbGQgaXRzIG11c2NsZXMuIEl0IHRyYWlucyBpbiBhbGwgc3R5bGVzIG9mIG1hcnRpYWwg YXJ0cyB0byBiZWNvbWUgZXZlbiBzdHJvbmdlcgoKWnViYXQgfCBGb3JtcyBjb2xvbmllcyBpbiBw ZXJwZXR1YWxseSBkYXJrIHBsYWNlcy4gVXNlcyB1bHRyYXNvbmljIHdhdmVzIHRvIGlkZW50aWZ5 IGFuZCBhcHByb2FjaCB0YXJnZXRzCgpFa2FucyB8IE1vdmVzIHNpbGVudGx5IGFuZCBzdGVhbHRo aWx5LiBFYXRzIHRoZSBlZ2dzIG9mIGJpcmRzLCBzdWNoIGFzIFBJREdFWSBhbmQgU1BFQVJPVywg d2hvbGUKClBhcmFzIHwgQnVycm93cyB0byBzdWNrIHRyZWUgcm9vdHMuIFRoZSBtdXNocm9vbXMg b24gaXRzIGJhY2sgZ3JvdyBieSBkcmF3LSBpbmcgbnV0cmllbnRzIGZyb20gdGhlIGJ1ZyBob3N0 CgpQb2xpd2hpcmwgfCBDYXBhYmxlIG9mIGxpdmluZyBpbiBvciBvdXQgb2Ygd2F0ZXIuIFdoZW4g b3V0IG9mIHdhdGVyLCBpdCBzd2VhdHMgdG8ga2VlcCBpdHMgYm9keSBzbGlteQoKUG9saXdyYXRo IHwgQW4gYWRlcHQgc3dpbW1lciBhdCBib3RoIHRoZSBmcm9udCBjcmF3bCBhbmQgYnJlYXN0IHN0 cm9rZS4gRWFzaWx5IG92ZXJ0YWtlcyB0aGUgYmVzdCBodW1hbiBzd2ltbWVycwoKV2VlZGxlIHwg T2Z0ZW4gZm91bmQgaW4gZm9yZXN0cywgZWF0aW5nIGxlYXZlcy4gSXQgaGFzIGEgc2hhcnAgdmVu b21vdXMgc3RpbmdlciBvbiBpdHMgaGVhZAoKS2FrdW5hIHwgQWxtb3N0IGluY2FwYWJsZSBvZiBt b3ZpbmcsIHRoaXMgI01PTiBjYW4gb25seSBoYXJkZW4gaXRzIHNoZWxsIHRvIHByb3RlY3QgaXRz ZWxmIGZyb20gcHJlZGF0b3JzCgpCZWVkcmlsbCB8IEZsaWVzIGF0IGhpZ2ggc3BlZWQgYW5kIGF0 dGFja3MgdXNpbmcgaXRzIGxhcmdlIHZlbm9tb3VzIHN0aW5nZXJzIG9uIGl0cyBmb3JlbGVncyBh bmQgdGFpbAoKRG9kcmlvIHwgVXNlcyBpdHMgdGhyZWUgYnJhaW5zIHRvIGV4ZWN1dGUgY29tcGxl eCBwbGFucy4gV2hpbGUgdHdvIGhlYWRzIHNsZWVwLCBvbmUgaGVhZCBzdGF5cyBhd2FrZQoKUHJp bWVhcGUgfCBBbHdheXMgZnVyaW91cyBhbmQgdGVuYWNpb3VzIHRvIGJvb3QuIEl0IHdpbGwgbm90 IGFiYW5kb24gY2hhc2luZyBpdHMgcXVhcnJ5IHVudGlsIGl0IGlzIGNhdWdodAoKRHVndHJpbyB8 IEEgdGVhbSBvZiBESUdMRVRUIHRyaXBsZXRzLiBJdCB0cmlnZ2VycyBodWdlIGVhcnRocXVha2Vz IGJ5IGJ1cnJvd2luZyA2MCBtaWxlcyB1bmRlcmdyb3VuZAoKVmVub21vdGggfCBUaGUgZHVzdC1s aWtlIHNjYWxlcyBjb3ZlcmluZyBpdHMgd2luZ3MgYXJlIGNvbG9yIGNvZGVkIHRvIGluZGljYXRl IHRoZSBraW5kcyBvZiBwb2lzb24gaXQgaGFzCgpEZXdnb25nIHwgU3RvcmVzIHRoZXJtYWwgZW5l cmd5IGluIGl0cyBib2R5LiBTd2ltcyBhdCBhIHN0ZWFkeSA4IGtub3RzIGV2ZW4gaW4gaW50ZW5z ZWx5IGNvbGQgd2F0ZXJzCgpDYXRlcnBpZSB8IEl0cyBzaG9ydCBmZWV0IGFyZSB0aXBwZWQgd2l0 aCBzdWN0aW9uIHBhZHMgdGhhdCBlbmFibGUgaXQgdG8gdGlyZWxlc3NseSBjbGltYiBzbG9wZXMg YW5kIHdhbGxzCgpNZXRhcG9kIHwgVGhpcyAjTU9OIGlzIHZ1bG5lcmFibGUgdG8gYXR0YWNrIHdo aWxlIGl0cyBzaGVsbCBpcyBzb2Z0LCBleHBvc2luZyBpdHMgd2VhayBhbmQgdGVuZGVyIGJvZHkK CkJ1dHRlcmZyZWUgfCBJbiBiYXR0bGUsIGl0IGZsYXBzIGl0cyB3aW5ncyBhdCBoaWdoIHNwZWVk IHRvIHJlbGVhc2UgaGlnaGx5IHRveGljIGR1c3QgaW50byB0aGUgYWlyCgpNYWNoYW1wIHwgVXNp bmcgaXRzIGhlYXZ5IG11c2NsZXMsIGl0IHRocm93cyBwb3dlcmZ1bCBwdW5jaGVzIHRoYXQgY2Fu IHNlbmQgdGhlIHZpY3RpbSBjbGVhciBvdmVyIHRoZSBob3Jpem9uCgpHb2xkdWNrIHwgT2Z0ZW4g c2VlbiBzd2ltLSBtaW5nIGVsZWdhbnRseSBieSBsYWtlIHNob3Jlcy4gSXQgaXMgb2Z0ZW4gbWlz dGFrZW4gZm9yIHRoZSBKYXBhbmVzZSBtb25zdGVyLCBLYXBwYQoKSHlwbm8gfCBXaGVuIGl0IGxv Y2tzIGV5ZXMgd2l0aCBhbiBlbmVteSwgaXQgd2lsbCB1c2UgYSBtaXggb2YgUFNJIG1vdmVzIHN1 Y2ggYXMgSFlQTk9TSVMgYW5kIENPTkZVU0lPTgoKR29sYmF0IHwgT25jZSBpdCBzdHJpa2VzLCBp dCB3aWxsIG5vdCBzdG9wIGRyYWluaW5nIGVuZXJneSBmcm9tIHRoZSB2aWN0aW0gZXZlbiBpZiBp dCBnZXRzIHRvbyBoZWF2eSB0byBmbHkKCk1ld3R3byB8IEl0IHdhcyBjcmVhdGVkIGJ5IGEgc2Np ZW50aXN0IGFmdGVyIHllYXJzIG9mIGhvcnJpZmljIGdlbmUgc3BsaWNpbmcgYW5kIEROQSBlbmdp bmVlcmluZyBleHBlcmltZW50cwoKU25vcmxheCB8IFZlcnkgbGF6eS4gSnVzdCBlYXRzIGFuZCBz bGVlcHMuIEFzIGl0cyByb3R1bmQgYnVsayBidWlsZHMsIGl0IGJlY29tZXMgc3RlYWRpbHkgbW9y ZSBzbG90aGZ1bAoKTWFnaWthcnAgfCBJbiB0aGUgZGlzdGFudCBwYXN0LCBpdCB3YXMgc29tZXdo YXQgc3Ryb25nZXIgdGhhbiB0aGUgaG9ycmlibHkgd2VhayBkZXNjZW5kYW50cyB0aGF0IGV4aXN0 IHRvZGF5CgpNdWsgfCBUaGlja2x5IGNvdmVyZWQgd2l0aCBhIGZpbHRoeSwgdmlsZSBzbHVkZ2Uu IEl0IGlzIHNvIHRveGljLCBldmVuIGl0cyBmb290cHJpbnRzIGNvbnRhaW4gcG9pc29uCgpLaW5n bGVyIHwgVGhlIGxhcmdlIHBpbmNlciBoYXMgMTAwMDAgaHAgb2YgY3J1c2hpbmcgcG93ZXIuIEhv d2V2ZXIsIGl0cyBodWdlIHNpemUgbWFrZXMgaXQgdW53aWVsZHkgdG8gdXNlCgpDbG95c3RlciB8 IFdoZW4gYXR0YWNrZWQsIGl0IGxhdW5jaGVzIGl0cyBob3JucyBpbiBxdWljayB2b2xsZXlzLiBJ dHMgaW5uYXJkcyBoYXZlIG5ldmVyIGJlZW4gc2VlbgoKRWxlY3Ryb2RlIHwgSXQgc3RvcmVzIGVs ZWN0cmljIGVuZXJneSB1bmRlciB2ZXJ5IGhpZ2ggcHJlc3N1cmUuIEl0IG9mdGVuIGV4cGxvZGVz IHdpdGggbGl0dGxlIG9yIG5vIHByb3ZvY2F0aW9uCgpDbGVmYWJsZSB8IEEgdGltaWQgZmFpcnkg I01PTiB0aGF0IGlzIHJhcmVseSBzZWVuLiBJdCB3aWxsIHJ1biBhbmQgaGlkZSB0aGUgbW9tZW50 IGl0IHNlbnNlcyBwZW9wbGUKCldlZXppbmcgfCBXaGVyZSB0d28ga2luZHMgb2YgcG9pc29uIGdh c2VzIG1lZXQsIDIgS09GRklOR3MgY2FuIGZ1c2UgaW50byBhIFdFRVpJTkcgb3ZlciBtYW55IHll YXJzCgpQZXJzaWFuIHwgQWx0aG91Z2ggaXRzIGZ1ciBoYXMgbWFueSBhZG1pcmVycywgaXQgaXMg dG91Z2ggdG8gcmFpc2UgYXMgYSBwZXQgYmVjYXVzZSBvZiBpdHMgZmlja2xlIG1lYW5uZXNzCgpN YXJvd2FrIHwgVGhlIGJvbmUgaXQgaG9sZHMgaXMgaXRzIGtleSB3ZWFwb24uIEl0IHRocm93cyB0 aGUgYm9uZSBza2lsbGZ1bGx5IGxpa2UgYSBib29tZXJhbmcgdG8gS08gdGFyZ2V0cwoKSGF1bnRl ciB8IEJlY2F1c2Ugb2YgaXRzIGFiaWxpdHkgdG8gc2xpcCB0aHJvdWdoIGJsb2NrIHdhbGxzLCBp dCBpcyBzYWlkIHRvIGJlIGZyb20gYW4tIG90aGVyIGRpbWVuc2lvbgoKQWJyYSB8IFVzaW5nIGl0 cyBhYmlsaXR5IHRvIHJlYWQgbWluZHMsIGl0IHdpbGwgaWRlbnRpZnkgaW1wZW5kaW5nIGRhbmdl ciBhbmQgVEVMRVBPUlQgdG8gc2FmZXR5CgpBbGFrYXphbSB8IEl0cyBicmFpbiBjYW4gb3V0LSBw ZXJmb3JtIGEgc3VwZXItIGNvbXB1dGVyLiBJdHMgaW50ZWxsaWdlbmNlIHF1b3RpZW50IGlzIHNh aWQgdG8gYmUgNSwwMDAKClBpZGdlb3R0byB8IFZlcnkgcHJvdGVjdGl2ZSBvZiBpdHMgc3ByYXds aW5nIHRlcnJpdG9yaWFsIGFyZWEsIHRoaXMgI01PTiB3aWxsIGZpZXJjZWx5IHBlY2sgYXQgYW55 IGludHJ1ZGVyCgpQaWRnZW90IHwgV2hlbiBodW50aW5nLCBpdCBza2ltcyB0aGUgc3VyZmFjZSBv ZiB3YXRlciBhdCBoaWdoIHNwZWVkIHRvIHBpY2sgb2ZmIHVud2FyeSBwcmV5IHN1Y2ggYXMgTUFH SUtBUlAKClN0YXJtaWUgfCBJdHMgY2VudHJhbCBjb3JlIGdsb3dzIHdpdGggdGhlIHNldmVuIGNv bG9ycyBvZiB0aGUgcmFpbmJvdy4gU29tZSBwZW9wbGUgdmFsdWUgdGhlIGNvcmUgYXMgYSBnZW0K CkJ1bGJhc2F1ciB8IEEgc3RyYW5nZSBzZWVkIHdhcyBwbGFudGVkIG9uIGl0cyBiYWNrIGF0IGJp cnRoLiBUaGUgcGxhbnQgc3Byb3V0cyBhbmQgZ3Jvd3Mgd2l0aCB0aGlzICNNT04KClZlbnVzYXVy IHwgVGhlIHBsYW50IGJsb29tcyB3aGVuIGl0IGlzIGFic29yYmluZyBzb2xhciBlbmVyZ3kuIEl0 IHN0YXlzIG9uIHRoZSBtb3ZlIHRvIHNlZWsgc3VubGlnaHQKClRlbnRhY3J1ZWwgfCBUaGUgdGVu dGFjbGVzIGFyZSBub3JtYWxseSBrZXB0IHNob3J0LiBPbiBodW50cywgdGhleSBhcmUgZXh0ZW5k ZWQgdG8gZW5zbmFyZSBhbmQgaW1tb2JpbGl6ZSBwcmV5CgpHb2xkZWVuIHwgSXRzIHRhaWwgZmlu IGJpbGxvd3MgbGlrZSBhbiBlbGVnYW50IGJhbGxyb29tIGRyZXNzLCBnaXZpbmcgaXQgdGhlIG5p Y2tuYW1lIG9mIHRoZSBXYXRlciBRdWVlbgoKU2Vha2luZyB8IEluIHRoZSBhdXR1bW4gc3Bhd25p bmcgc2Vhc29uLCB0aGV5IGNhbiBiZSBzZWVuIHN3aW1taW5nIHBvd2VyLSBmdWxseSB1cCByaXZl cnMgYW5kIGNyZWVrcwoKUG9ueXRhIHwgSXRzIGhvb3ZlcyBhcmUgMTAgdGltZXMgaGFyZGVyIHRo YW4gZGlhbW9uZHMuIEl0IGNhbiB0cmFtcGxlIGFueXRoaW5nIGNvbXBsZXRlbHkgZmxhdCBpbiBs aXR0bGUgdGltZQoKUmFwaWRhc2ggfCBWZXJ5IGNvbXBldGl0aXZlLCB0aGlzICNNT04gd2lsbCBj aGFzZSBhbnl0aGluZyB0aGF0IG1vdmVzIGZhc3QgaW4gdGhlIGhvcGVzIG9mIHJhY2luZyBpdAoK UmF0dGF0YSB8IEJpdGVzIGFueXRoaW5nIHdoZW4gaXQgYXR0YWNrcy4gU21hbGwgYW5kIHZlcnkg cXVpY2ssIGl0IGlzIGEgY29tbW9uIHNpZ2h0IGluIG1hbnkgcGxhY2VzCgpSYXRpY2F0ZSB8IEl0 IHVzZXMgaXRzIHdoaXMtIGtlcnMgdG8gbWFpbnRhaW4gaXRzIGJhbGFuY2UuIEl0IGFwcGFyZW50 bHkgc2xvd3MgZG93biBpZiB0aGV5IGFyZSBjdXQgb2ZmCgpOaWRvcmlubyB8IEFuIGFnZ3Jlc3Np dmUgI01PTiB0aGF0IGlzIHF1aWNrIHRvIGF0dGFjay4gVGhlIGhvcm4gb24gaXRzIGhlYWQgc2Vj cmV0ZXMgYSBwb3dlcmZ1bCB2ZW5vbQoKTmlkb3JpbmEgfCBUaGUgZmVtYWxlJ3MgaG9ybiBkZXZl bG9wcyBzbG93bHkuIFByZWZlcnMgcGh5c2ljYWwgYXR0YWNrcyBzdWNoIGFzIGNsYXdpbmcgYW5k IGJpdGluZwoKR2VvZHVkZSB8IEZvdW5kIGluIGZpZWxkcyBhbmQgbW91bnRhaW5zLiBNaXN0YWtp bmcgdGhlbSBmb3IgYm91bGRlcnMsIHBlb3BsZSBvZnRlbiBzdGVwIG9yIHRyaXAgb24gdGhlbQoK UG9yeWdvbiB8IEEgI01PTiB0aGF0IGNvbnNpc3RzIGVudGlyZWx5IG9mIHByb2dyYW1taW5nIGNv ZGUuIENhcGFibGUgb2YgbW92aW5nIGZyZWVseSBpbiBjeWJlcnNwYWNlCgpBZXJvZGFjdHlsIHwg QSBmZXJvY2lvdXMsIHByZS0gaGlzdG9yaWMgI01PTiB0aGF0IGdvZXMgZm9yIHRoZSBlbmVteSdz IHRocm9hdCB3aXRoIGl0cyBzZXJyYXRlZCBzYXctbGlrZSBmYW5ncwoKTWFnbmVtaXRlIHwgVXNl cyBhbnRpLWdyYXZpdHkgdG8gc3RheSBzdXNwZW5kZWQuIEFwcGVhcnMgd2l0aG91dCB3YXJuaW5n IGFuZCB1c2VzIFRIVU5ERVIgV0FWRSBhbmQgc2ltaWxhciBtb3ZlcwoKQ2hhcm1hbmRlciB8IE9i dmlvdXNseSBwcmVmZXJzIGhvdCBwbGFjZXMuIFdoZW4gaXQgcmFpbnMsIHN0ZWFtIGlzIHNhaWQg dG8gc3BvdXQgZnJvbSB0aGUgdGlwIG9mIGl0cyB0YWlsCgpTcXVpcnRsZSB8IEFmdGVyIGJpcnRo LCBpdHMgYmFjayBzd2VsbHMgYW5kIGhhcmRlbnMgaW50byBhIHNoZWxsLiBQb3dlcmZ1bGx5IHNw cmF5cyBmb2FtIGZyb20gaXRzIG1vdXRoCgpDaGFybWVsZW9uIHwgV2hlbiBpdCBzd2luZ3MgaXRz IGJ1cm5pbmcgdGFpbCwgaXQgZWxldmF0ZXMgdGhlIHRlbXBlcmF0dXJlIHRvIHVuYmVhcmFibHkg aGlnaCBsZXZlbHMKCldhcnRvcnRsZSB8IE9mdGVuIGhpZGVzIGluIHdhdGVyIHRvIHN0YWxrIHVu d2FyeSBwcmV5LiBGb3Igc3dpbW1pbmcgZmFzdCwgaXQgbW92ZXMgaXRzIGVhcnMgdG8gbWFpbnRh aW4gYmFsYW5jZQoKQ2hhcml6YXJkIHwgU3BpdHMgZmlyZSB0aGF0IGlzIGhvdCBlbm91Z2ggdG8g bWVsdCBib3VsZGVycy4gS25vd24gdG8gY2F1c2UgZm9yZXN0IGZpcmVzIHVuaW50ZW50aW9uYWxs eQoKT2RkaXNoIHwgRHVyaW5nIHRoZSBkYXksIGl0IGtlZXBzIGl0cyBmYWNlIGJ1cmllZCBpbiB0 aGUgZ3JvdW5kLiBBdCBuaWdodCwgaXQgd2FuZGVycyBhcm91bmQgc293aW5nIGl0cyBzZWVkcwoK R2xvb20gfCBUaGUgZmx1aWQgdGhhdCBvb3plcyBmcm9tIGl0cyBtb3V0aCBpc24ndCBkcm9vbC4g SXQgaXMgYSBuZWN0YXIgdGhhdCBpcyB1c2VkIHRvIGF0dHJhY3QgcHJleQoKVmlsZXBsdW1lIHwg VGhlIGxhcmdlciBpdHMgcGV0YWxzLCB0aGUgbW9yZSB0b3hpYyBwb2xsZW4gaXQgY29udGFpbnMu IEl0cyBiaWcgaGVhZCBpcyBoZWF2eSBhbmQgaGFyZCB0byBob2xkIHVwCgpCZWxsc3Byb3V0IHwg QSBjYXJuaXZvcm91cyAjTU9OIHRoYXQgdHJhcHMgYW5kIGVhdHMgYnVncy4gSXQgdXNlcyBpdHMg cm9vdCBmZWV0IHRvIHNvYWsgdXAgbmVlZGVkIG1vaXN0dXJlCgpXZWVwaW5iZWxsIHwgSXQgc3Bp dHMgb3V0IFBPSVNPTlBPV0RFUiB0byBpbW1vYmlsaXplIHRoZSBlbmVteSBhbmQgdGhlbiBmaW5p c2hlcyBpdCB3aXRoIGEgc3ByYXkgb2YgQUNJRAoKVmljdHJlZWJlbCB8IFNhaWQgdG8gbGl2ZSBp biBodWdlIGNvbG9uaWVzIGRlZXAgaW4ganVuZ2xlcywgYWx0aG91Z2ggbm8gb25lIGhhcyBldmVy IHJldHVybmVkIGZyb20gdGhlcmUKCnx8CgoKCiEhISBQcm9mZXNzb3IgT2FrIFRleHQKCihUaGlz IGlzIGFsbCBvZiB0aGUgaW50cm8gdGV4dCB0aGF0J3MgYWxyZWFkeSBpbXBsZW1lbnRlZCBpbiB0 aGUgZ2FtZSwgc28gaWYgeW91IG1ha2UgY2hhbmdlcywgb25seSBlZGl0IHRoaXMgc2VjdGlvbiBi eSBpdHNlbGYgdG8gbWFrZSB0aGUgY2hhbmdlbG9nIGVtYWlsIG9idmlvdXMuKQoKCgp8fF9fRW5n bGlzaF9ffF9fTG9qYmFuX18KCkhlbGxvIHRoZXJlISBXZWxjb21lIHRvIHRoZSB3b3JsZCBvZiBQ b2vDqW1vbiEgTXkgbmFtZSBpcyBPQUshIFBlb3BsZSBjYWxsIG1lIHRoZSBQb2vDqW1vbiBQUk9G ISB8IGNvaSAuaSBmaSdpIHRlcmRpIGxvIHBva21hIC5pIG1pJ2UgY2luZHUgLmkgbmEnZSBibyBt aSBtaSB0ZSBjbWVuZSB6byBwb2tjdHUKClRoaXMgd29ybGQgaXMgaW5oYWJpdGVkIGJ5IGNyZWF0 dXJlcyBjYWxsZWQgUG9rw6ltb24hIHwgLmkgbG8gdmkgdGVyZGkga3Ugc2UgeGFianUgbG8gcG9r bWEKCkZvciBzb21lIHBlb3BsZSwgUG9rw6ltb24gYXJlIHBldHMuIE90aGVycyB1c2UgdGhlbSBm b3IgZmlnaHRzLiBNeXNlbGYuLi4gSSBzdHVkeSBQb2vDqW1vbiBhcyBhIHByb2Zlc3Npb24uIHwg LmkgcHkuIGRhbHBlJ28gc28nbyBwcmVudSAuaSBzbydvIGRyYXRhIHB5LiBwaWxubyBsbyBudSBk YW1iYSAuaSBtaSAueSAuaSBtaSB0YWRuaSBiZSBweS4gY28gY3JlamlicmkKCkZpcnN0LCB3aGF0 IGlzIHlvdXIgbmFtZT8gfCAuaSBwYW1haSBtYSBkbyBjbWVuZQoKUmlnaHQhIFNvIHlvdXIgbmFt ZSBpcyA8UGxheWVyPiB8IGplJ2UgLmkgem8gPHBsYXllcj4gY21lbmUgZG8KClRoaXMgaXMgbXkg Z3JhbmRzb24uIEhlJ3MgYmVlbiB5b3VyIHJpdmFsIHNpbmNlIHlvdSB3ZXJlIGEgYmFieS4gLi4u RXJtLCB3aGF0IGlzIGhpcyBuYW1lIGFnYWluPyB8IC5pIHRpIGJlc3liZXJzYSAuaSB0aSBkbyBq aXZuYSBiYSdvIGxvIG51IGRvIGNmaXB1IC5pIC55IC5vaXJvJ2EgbWEgdGkgY21lbmUgLmkKClRo YXQncyByaWdodCEgSSByZW1lbWJlciBub3chIEhpcyBuYW1lIGlzIDxSaXZhbD4hIHwgLmllIG1p IGNhIHJlbW5hIC5pIHpvIDxSaXZhbD4gY21lbmUKCjxQbGF5ZXI+ISBZb3VyIHZlcnkgb3duIFBv a8OpbW9uIGxlZ2VuZCBpcyBhYm91dCB0byB1bmZvbGQhIEEgd29ybGQgb2YgZHJlYW1zIGFuZCBh ZHZlbnR1cmVzIHdpdGggUG9rw6ltb24gYXdhaXRzISBMZXQncyBnbyEgfCAJLmkganUnaSA8cGxh eWVyPiAuaSBmZSBsbyBwb2ttYSByYW5taSBiZSBkbyAuYSdvIGJhemkgcHUnbyBmaW50aSAuaSBs ZSB0ZXJkaSBwZSdhIHBvaSBzZWxzbmUgamUgbnUgY2FwbGkndSBwZSBsbyBwb2ttYSBkZW5wYSAu aSAuZSdvIGNmYWdhdQoKfHwKCgoKISEhIE5vdGlmaWNhdGlvbnMvVW5zb3J0ZWQKCgoKfHxfX0Vu Z2xpc2hfX3xfX0xvamJhbl9fCgpJdCBkb2RnZWQgdGhlIHRocm93biBiYWxsISBUaGlzIHBva2Vt b24gY2FuJ3QgYmUgY2F1Z2h0IHwgbG8gcG9rbWUgY3Ugcml2YmkgdHUnYSBsbyBzZSByZW5ybyBi b2xjaSAuaSBsbyB2YSBwb2ttZSBuYSBrYSdlIHNlIGthdmJ1CgpZb3UgbWlzc2VkIHRoZSBwb2tl bW9uISAgICAgICAgfCBkbyBtYXRyZXJmbGkgbG8gcG9rbWUKCkRhcm4hIFRoZSBwb2tlbW9uIGJy b2tlIGZyZWUhICB8IC5vaSBsbyBwb2ttZSBjdSB0b2xwaWZ5YmknbwoKQXd3ISBJdCBhcHBlYXJl ZCB0byBiZSBjYXVnaHQhIHwgLm9pIHB1IHNpbWx1IGxvIGthIHNlIGthdmJ1CgpTaG9vdCEgSXQg d2FzIHNvIGNsb3NlIHRvbyEgICAgfCBtYWJsYSAuaSBrdSdpIG11dGNlIGppYm5pIGxvIHNlIHNu YWRhID8gbWFibGEgLmkgcHUgdGFpIGppYm5pID8gbWFibGEgLmkga3UnaSBwdSBqaWJuaSBtdXRj ZQoKQWxsIHJpZ2h0ISBbW2tvJ2FdIHdhcyBjYXVnaHQhIHwgdWkgZGFpIFtba28nYV1dIGJhJ28g c2Uga2F2YnUKCltba28nYV0gd2FzIHRyYW5zZmVycmVkIHRvIEJpbGwncyBQQyAgICAgfCBbW2tv J2FdXSBiYSdvIHNlIGJlbmppIGZpIGxvIHNrYW1pIHBlIGxhIC5iaWwuCgpbW2tvJ2FdIHdhcyB0 cmFuc2ZlcnJlZCB0byBzb21lb25lJ3MgUEMgIHwgW1trbydhXV0gYmEnZSBzZSBiZW5qaSBmaSBs byBza2FtaSBwZSB6bydlCgpOZXcgREVYIGRhdGEgd2lsbCBiZSBhZGRlZC4uLiAgfCBsbyBjbmlu byBrZSBwb2tzdGUgZGF0bmkgY3Ugc2Ugam1pbmEKCllvdSBkb24ndCBoYXZlIGFueSBwb2tlbW9u ISAgICB8IGRvIGNsYXh1IGxvIChzYW5qaSkgcG9rbWUKCi0tLS0KCkl0IGNyZWF0ZWQgYSBzdWJz dGl0dXRlICAgICAgICB8IGZpbnRpIGxvIGJhc3RpIAoKW1trbydhXSBoYXMgYSBzdWJzdGl0dXRl ICAgICAgIHwgW1trbydhXV0gc2UgYmFzdGkKCnRvbyB3ZWFrIHRvIG1ha2Ugc3Vic3RpdHV0ZSAg ICB8IGR1a3NlIGxvIGthIHJ1YmxlIGtlaSBsbyBudSBmaW50aSBsbyBiYXN0aQoKLS0tLQoKTm90 IGV2ZW4gYSBuaWJibGUhICAgICAgICAgICAgICAgIHwgbmEgY28nZSBsbyBkbydhIG5haSBjbWFs dSBzcGlzYQoKTG9va3MgbGlrZSB0aGVyZSdzIG5vdGhpbmcgaGVyZS4gIHwgc2ltbHUgbG8ga2Eg bm8gZGEgenZhdGkKCk9oISBJdCdzIGEgYml0ZSEhICAgICAgICAgICAgICAgICB8IHVlIGRhIGJh dGNpCgpHcm91bmQgcm9zZSB1cCBzb21ld2hlcmUhICAgICAgICAgfCBidSd1IGRhIGxvIGxvbGRp IGN1IAoKVGhpcyByZXF1aXJlcyBTVFJFTkdUSCB0byBtb3ZlISAgIHwgZG8gbml0Y3UgbG8ga2Eg dHNhbGkga2VpIGxvIG51IG11dmdhdQoKQWxsIHlvdXIgaXRlbSBuZWVkcyBmdWxmaWxsZWQhICAg IHwgbG8gZG8gZGFrbGkgY3UgY3Vsbm8KCi0tLS0KCkhNIHRlY2huaXF1ZXMgY2FuJ3QgYmUgZGVs ZXRlZCEKCldlbGNvbWUgdG8gb3VyICNNT04gQ0VOVEVSISBXZSBoZWFsIHlvdXIgI01PTiBiYWNr IHRvIHBlcmZlY3QgaGVhbHRoISBTaGFsbCB3ZSBoZWFsIHlvdXIgI01PTj8KCk9LLiBXZSdsbCBu ZWVkeW91ciAjTU9OLgoKVGhhbmsgeW91ISBZb3VyICNNT04gYXJlIGZpZ2h0aW5nIGZpdCEKCldl IGhvcGUgdG8gc2VlIHlvdSBhZ2FpbiEKCi0tLS0KClRoaXMgYXJlYSBpcyByZXNlcnZlZCBmb3Ig MiBmcmllbmRzIHdobyBhcmUgbGlua2VkIGJ5IGNhYmxlLgoKV2VsY29tZSB0byB0aGUgQ2FibGUg Q2x1YiEgUGxlYXNlIGFwcGx5IGhlcmUuIEJlZm9yZSBvcGVuaW5nIHRoZSBsaW5rLCB3ZSBoYXZl IHRvIHNhdmUgdGhlIGdhbWUuIFBsZWFzZSB3YWl0LgoKVGhlIGxpbmsgaGFzIGJlZW4gY2xvc2Vk IGJlY2F1c2Ugb2YgaW5hY3Rpdml0eS4KClBsZWFzZSBjb250YWN0IHlvdXIgZnJpZW5kIGFuZCBj b21lIGFnYWluIQoKUGxlYXNlIGNvbWUgYWdhaW4hCgpXZSdyZSBtYWtpbmcgcHJlcGFyYXRpb25z LiBQbGVhc2Ugd2FpdC4KCi0tLS0KCjw+IHVzZWRTVFJFTkdUSC4KCjw+IGNhbiBtb3ZlIGJvdWxk ZXJzLgoKVGhlIGN1cnJlbnQgaXMgbXVjaCB0b28gZmFzdCEKCkN5Y2xpbmcgaXMgZnVuISBGb3Jn ZXQgU1VSRmluZyEKCkEgYmxpbmRpbmcgRkxBU0ggbGlnaHRzIHRoZSBhcmVhIQoKV2FycCB0byB0 aGUgbGFzdCAjTU9OIENFTlRFUi4KCjw+IGNhbid0IHVzZSBURUxFUE9SVCBub3cuCgo8PiBjYW4n dCBGTFkgaGVyZS4KCk5vdCBoZWFsdGh5IGVub3VnaC4KCk5vISBBIG5ldyBCQURHRSBpcyByZXF1 aXJlZC4KCllvdSBjYW4ndCB1c2UgaXRlbXMgaGVyZS4KCllvdSBjYW4ndCBnZXQgb2ZmIGhlcmUu CgotLS0tCgo8PiBnb3QgPD4hCgpUaGVyZSdzIG5vIG1vcmVyb29tIGZvciAjTU9OIQoKPD4gd2Fz IHNlbnQgdG8gI01PTkJPWCA8PiBvbiBQQyEKClRoZXJlJ3Mgbm8gbW9yZSByb29tIGZvciAjTU9O IQoKVGhlICNNT04gQk9YIGlzIGZ1bGwgYW5kIGNhbid0IGFjY2VwdCBhbnkgbW9yZSEKCkNoYW5n ZSB0aGUgQk9YIGF0IGEgI01PTiBDRU5URVIhCgpUaG9zZSAjIEJBTEwgc2F0IHlvdXIgd2Fpc3Qh CgpZb3UgaGF2ZSAjTU9OIQoKSXQncyBncmVhdCB0aGF0IHlvdSBjYW4gY2FycnkgYW5kIHVzZSAj TU9OIGFueXRpbWUsIGFueXdoZXJlIQoKVGhpcyAjTU9OIEdZTSBpcyBhbHdheXMgY2xvc2VkLgoK SSB3b25kZXIgd2hvIHRoZSBMRUFERVIgaXM/CgpWSVJJRElBTiBHWU0ncyBMRUFERVIgcmV0dXJu ZWQhCgpZb3Ugd2FudCB0byBrbm93IGFib3V0IHRoZSAyIGtpbmRzIG9mIGNhdGVycGlsbGFyICNN T04/CgpPaCwgT0sgdGhlbiEgQ0FURVJQSUUgaGFzIG5vIHBvaXNvbiwgYnV0IFdFRURMRSBkb2Vz LgoKV2F0Y2ggb3V0IGZvciBpdHMgUE9JU09OIFNUSU5HIQoKT2ggR3JhbmRwYSEgRG9uJ3QgYmUg c28gbWVhbiEgSGUgaGFzbid0IGhhZCBoaXMgY29mZmVlIHlldC4KCldoZW4gSSBnbyBzaG9wIGlu IFBFV1RFUiBDSVRZLCBJIGhhdmUgdG8gdGFrZSB0aGUgd2luZGluZyB0cmFpbCBpbiBWSVJJRElB TiBGT1JFU1QuCgpZb3UgY2FuJ3QgZ28gdGhyb3VnaCBoZXJlISBUaGlzIGlzIHByaXZhdGUgcHJv cGVydHkhCgpZYXduISBJIG11c3QgaGF2ZSBkb3plZCBvZmYgaW4gdGhlIHN1bi4KCkkgaGFkIHRo aXMgZHJlYW0gYWJvdXQgYSBEUk9XWkVFIGVhdGluZyBteSBkcmVhbS4KCldoYXQncyB0aGlzPyBX aGVyZSBkaWQgdGhpcyBUTSBjb21lIGZyb20/IFRoaXMgaXMgc3Bvb2t5ISBIZXJlLCB5b3UgY2Fu IGhhdmUgdGhpcyBUTS4gcmVjZWl2ZWQgVE00MiEKClRNNDIgY29udGFpbnMgRFJFQU0gRUFURVIu Li4uLi5Tbm9yZS4uLgoKWW91IGhhdmUgdG9vIG11Y2ggc3R1ZmYgYWxyZWFkeS4KCkFoaCwgSSd2 ZSBoYWQgbXkgY29mZmVlIG5vdyBhbmQgSSBmZWVsIGdyZWF0ISBTdXJlIHlvdSBjYW4gZ28gdGhy b3VnaCEgQXJlIHlvdSBpbiBhIGh1cnJ5PwoKSSBzZWUgeW91J3JlIHVzaW5nIGEgI0RFWC4gV2hl biB5b3UgY2F0Y2ggYSAjTU9OLCAjREVYIGlzIGF1dG9tYXRpY2FsbHkgdXBkYXRlZC4KCldoYXQ/ IERvbid0IHlvdSBrbm93IGhvdyB0byBjYXRjaCAjTU9OPwoKSSdsbCBzaG93IHlvdSBob3cgdG8g dGhlbi4KClRpbWUgaXMgbW9uZXkuLi5HbyBhbG9uZyB0aGVuLgoKRmlyc3QsIHlvdSBuZWVkIHRv IHdlYWtlbiB0aGUgdGFyZ2V0ICNNT04uCgpWSVJJRElBTiBDSVRZIFRoZSBFdGVybmFsbHkgR3Jl ZW4gUGFyYWRpc2UKClRSQUlORVIgVElQUyBDYXRjaCAjTU9OIGFuZCBleHBhbmQgeW91ciBjb2xs ZWN0aW9uISBUaGUgbW9yZSB5b3UgaGF2ZSwgdGhlIGVhc2llciBpdCBpcyB0byBmaWdodCEKClRS QUlORVIgVElQUyBUaGUgYmF0dGxlIG1vdmVzIG9mICNNT04gYXJlIGxpbWl0ZWQgYnkgdGhlaXIg UE9XRVIgUE9JTlRzLCBQUC4gVG8gcmVwbGVuaXNoIFBQLCByZXN0IHlvdXIgdGlyZWQgI01PTiBh dCBhICNNT04gQ0VOVEVSIQoKVklSSURJQU4gQ0lUWSAjTU9OIEdZTQoKVGhlIEdZTSdzIGRvb3Jz IGFyZSBsb2NrZWQuLi4KCkl0J3MgcnVtb3JlZCB0aGF0IENMRUZBSVJZcyBjYW1lIGZyb20gdGhl IG1vb24hCgpUaGV5IGFwcGVhcmVkIGFmdGVyIE1PT04gU1RPTkUgZmVsbCBvbiBNVC5NT09OLgoK VGhlcmUgYXJlbid0IG1hbnkgc2VyaW91cyAjTU9OdHJhaW5lcnMgaGVyZSFUaGV5J3JlIGFsbCBs aWtlQlVHIENBVENIRVJzLGJ1dCBQRVdURVIgR1lNJ3NCUk9DSyBpcyB0b3RhbGx5aW50byBpdCFE aWQgeW91IGNoZWNrIG91dHRoZSBNVVNFVU0/V2VyZW4ndCB0aG9zZWZvc3NpbHMgZnJvbSBNVC5N T09OIGFtYXppbmc/UmVhbGx5P1lvdSBhYnNvbHV0ZWx5aGF2ZSB0byBnbyFJdCdzIHJpZ2h0IGhl cmUhWW91IGhhdmUgdG8gcGF5dG8gZ2V0IGluLCBidXRpdCdzIHdvcnRoIGl0IVNlZSB5b3UgYXJv dW5kIVBzc3NzdCFEbyB5b3Uga25vdyB3aGF0SSdtIGRvaW5nP1RoYXQncyByaWdodCFJdCdzIGhh cmQgd29yayFJJ20gc3ByYXlpbmcgUkVQRUx0byBrZWVwICNNT05vdXQgb2YgbXkgZ2FyZGVuIVlv dSdyZSBhIHRyYWluZXJyaWdodD8gQlJPQ0snc2xvb2tpbmcgZm9yIG5ld2NoYWxsZW5nZXJzIUZv bGxvdyBtZSFJZiB5b3UgaGF2ZSB0aGVyaWdodCBzdHVmZiwgZ290YWtlIG9uIEJST0NLIVRSQUlO RVIgVElQU0FueSAjTU9OIHRoYXR0YWtlcyBwYXJ0IGluYmF0dGxlLCBob3dldmVyc2hvcnQsIGVh cm5zIEVYUCFOT1RJQ0UhVGhpZXZlcyBoYXZlIGJlZW5zdGVhbGluZyAjTU9OZm9zc2lscyBhdCBN VC5NT09OISBQbGVhc2UgY2FsbFBFV1RFUiBQT0xJQ0V3aXRoIGFueSBpbmZvIVBFV1RFUiBNVVNF VU1PRiBTQ0lFTkNFUEVXVEVSIENJVFkjTU9OIEdZTUxFQURFUjogQlJPQ0tUaGUgUm9jayBTb2xp ZCNNT04gVHJhaW5lciFQRVdURVIgQ0lUWUEgU3RvbmUgR3JheUNpdHk6IFlvISFZb3UncmUgc3Rp bGxzdHJ1Z2dsaW5nIGFsb25nYmFjayBoZXJlP0knbSBkb2luZyBncmVhdCFJIGNhdWdodCBhIGJ1 bmNob2Ygc3Ryb25nIGFuZHNtYXJ0ICNNT04hSGVyZSwgbGV0IG1lIHNlZXdoYXQgeW91IGNhdWdo dCwhSGV5IVRha2UgaXQgZWFzeSFZb3Ugd29uIGFscmVhZHkhSGVoIVlvdSdyZSBubyBtYXRjaGZv ciBteSBnZW5pdXMhOiBIZXksZ3Vlc3Mgd2hhdD9JIHdlbnQgdG8gQklMTCdzYW5kIGdvdCBoaW0g dG9zaG93IG1lIGhpcyByYXJlI01PTiFUaGF0IGFkZGVkIGEgbG90b2YgcGFnZXMgdG8gbXkjREVY IUFmdGVyIGFsbCwgQklMTCdzd29ybGQgZmFtb3VzIGFzIGEjTUFOSUFDIUhlIGludmVudGVkIHRo ZSNNT04gU3RvcmFnZVN5c3RlbSBvbiBQQyFTaW5jZSB5b3UncmUgdXNpbmdoaXMgc3lzdGVtLCBn b3RoYW5rIGhpbSFXZWxsLCBJIGJldHRlcmdldCByb2xsaW5nIVNtZWxsIHlhIGxhdGVyIUhleSEg U3RheSBvdXQhSXQncyBub3QgeW91cnlhcmQhIEh1aD8gTWU/SSdtIGFuIGlubm9jZW50IGJ5c3Rh bmRlciEgRG9uJ3QgeW91IGJlbGlldmUgbWU/IHJlY292ZXJlZFRNMjghCgpJIGJldHRlciBnZXRt b3ZpbmchIEJ5ZSEKCk1ha2Ugcm9vbSBmb3J0aGlzIUkgY2FuJ3QgcnVuIHVudGlsSSBnaXZlIGl0 IHRvIHlvdSFTdG9wIUkgZ2l2ZSB1cCEgSSdsbGxlYXZlIHF1aWV0bHkhT0shIEknbGwgcmV0dXJu dGhlIFRNIEkgc3RvbGUhWW91J3JlIGEgdHJhaW5lcnRvbz8gQ29sbGVjdGluZyxmaWdodGluZywg aXQncyBhdG91Z2ggbGlmZS5UaGF0IGJ1c2ggaW5mcm9udCBvZiB0aGUgc2hvcGlzIGluIHRoZSB3 YXkuVGhlcmUgbWlnaHQgYmUgYXdheSBhcm91bmQuWW91J3JlIG1ha2luZyBhbmVuY3ljbG9wZWRp YSBvbiNNT04/IFRoYXRzb3VuZHMgYW11c2luZy5UaGUgcGVvcGxlIGhlcmV3ZXJlIHJvYmJlZC5J dCdzIG9idmlvdXMgdGhhdFRFQU0gUk9DS0VUIGlzYmVoaW5kIHRoaXMgbW9zdGhlaW5vdXMgY3Jp bWUhRXZlbiBvdXIgUE9MSUNFZm9yY2UgaGFzIHRyb3VibGV3aXRoIHRoZSBST0NLRVRzIU9LISBT TE9XQlJPIVVzZSBTT05JQ0JPT00hQ29tZSBvbiwgU0xPV0JST3BheSBhdHRlbnRpb24hU0xPV0JS TyBwdW5jaCFObyEgWW91IGJsZXcgaXRhZ2FpbiFTTE9XQlJPLCBXSVRIRFJBVyFObyEgVGhhdCdz IHdyb25nIUl0J3Mgc28gaGFyZCB0b2NvbnRyb2wgI01PTiFZb3VyICNNT04nc29iZWRpZW5jZSBk ZXBlbmRzb24geW91ciBhYmlsaXRpZXNhcyBhIHRyYWluZXIhU0xPV0JSTyB0b29rIGFzbm9vemUu Li5TTE9XQlJPIGlzbG9hZmluZyBhcm91bmQuLi5TTE9XQlJPIHR1cm5lZGF3YXkuLi5TTE9XQlJP aWdub3JlZCBvcmRlcnMuLi5JIHdhbnQgYSBicmlnaHRyZWQgQklDWUNMRSFJJ2xsIGtlZXAgaXQg YXRob21lLCBzbyBpdCB3b24ndGdldCBkaXJ0eSFUaGlzIGlzIENFUlVMRUFOQ0FWRSEgSG9ycmli bHlzdHJvbmcgI01PTmxpdmUgaW4gdGhlcmUhVGhlICNNT04gTEVBR1VFY2hhbXBpb24gaXMgdGhl b25seSBwZXJzb24gd2hvaXMgYWxsb3dlZCBpbiFDRVJVTEVBTiBDSVRZQSBNeXN0ZXJpb3VzLEJs dWUgQXVyYVN1cnJvdW5kcyBJdFRSQUlORVIgVElQU1ByZXNzaW5nIEIgQnV0dG9uZHVyaW5nIGV2 b2x1dGlvbmNhbmNlbHMgdGhlIHdob2xlcHJvY2Vzcy5HcmFzcyBhbmQgY2F2ZXNoYW5kbGVkIGVh c2lseSFCSUtFIFNIT1BDRVJVTEVBTiBDSVRZI01PTiBHWU1MRUFERVI6IE1JU1RZVGhlIFRvbWJv eWlzaE1lcm1haWQhRG8geW91IGJlbGlldmUgaW5HSE9TVHM/UmVhbGx5PyBTbyB0aGVyZWFyZSBi ZWxpZXZlcnMuLi5IYWhhaGEsIEkgZ3Vlc3Nub3QuVGhhdCB3aGl0ZSBoYW5kb24geW91ciBzaG91 bGRlcixpdCdzIG5vdCByZWFsLlRoaXMgdG93biBpcyBrbm93bmFzIHRoZSBncmF2ZSBzaXRlb2Yg I01PTi5NZW1vcmlhbCBzZXJ2aWNlc2FyZSBoZWxkIGluI01PTiBUT1dFUi5HSE9TVHMgYXBwZWFy ZWRpbiAjTU9OIFRPV0VSLkkgdGhpbmsgdGhleSdyZXRoZSBzcGlyaXRzIG9mI01PTiB0aGF0IHRo ZVJPQ0tFVHMga2lsbGVkLkxBVkVOREVSIFRPV05UaGUgTm9ibGUgUHVycGxlVG93bk5ldyBTSUxQ SCBTQ09QRSFNYWtlIHRoZSBJbnZpc2libGVQbGFpbiB0byBTZWUhU0lMUEggQ08uTEFWRU5ERVIg Vk9MVU5URUVSI01PTiBIT1VTRU1heSB0aGUgU291bHMgb2YjTU9OIFJlc3QgRWFzeSNNT04gVE9X RVJXZSdyZSBjYXJlZnVsYWJvdXQgcG9sbHV0aW9uIVdlJ3ZlIGhlYXJkIEdSSU1FUm11bHRpcGxp ZXMgaW50b3hpYyBzbHVkZ2UhRGlkIHlvdSBzZWUgUy5TLkFOTkUgbW9vcmVkIGludGhlIGhhcmJv cj9TbywgUy5TLkFOTkUgaGFzZGVwYXJ0ZWQhU2hlJ2xsIGJlIGJhY2sgaW5hYm91dCBhIHllYXIu V2VsY29tZSB0byBTLlMuQU5ORSFXZWxjb21lIHRvIFMuUy5BTk5FIUV4Y3VzZSBtZSwgZG8geW91 aGF2ZSBhIHRpY2tldD8gZmxhc2hlZHRoZSBTLlMuVElDS0VUIUdyZWF0ISBXZWxjb21lIHRvUy5T LkFOTkUhIGRvZXNuJ3RoYXZlIHRoZSBuZWVkZWRTLlMuVElDS0VULlNvcnJ5IVlvdSBuZWVkIGEg dGlja2V0dG8gZ2V0IGFib2FyZC5UaGUgc2hpcCBzZXQgc2FpbC5JJ20gcHV0dGluZyB1cCBhYnVp bGRpbmcgb24gdGhpc3Bsb3Qgb2YgbGFuZC5NeSAjTU9OIGlzdGFtcGluZyB0aGUgbGFuZC5NQUNI T1A6IEd1b2ghAEdvZ29nb2ghCgpBIE1BQ0hPUCBpc3N0b21waW5nIHRoZSBsYW5kZmxhdC5TLlMu QU5ORSBpcyBhZmFtb3VzIGx1eHVyeWNydWlzZSBzaGlwLldlIHZpc2l0IFZFUk1JTElPTm9uY2Ug YSB5ZWFyLlZFUk1JTElPTiBDSVRZVGhlIFBvcnQgb2ZFeHF1aXNpdGUgU3Vuc2V0c05PVElDRSFS T1VURSAxMiBtYXkgYmVibG9ja2VkIG9mZiBieSBhc2xlZXBpbmcgI01PTi5EZXRvdXIgdGhyb3Vn aFJPQ0sgVFVOTkVMIHRvTEFWRU5ERVIgVE9XTi5WRVJNSUxJT04gUE9MSUNFI01PTiBGQU4gQ0xV QkFsbCAjTU9OIGZhbnN3ZWxjb21lIVZFUk1JTElPTiBDSVRZI01PTiBHWU1MRUFERVI6IExULlNV UkdFVGhlIExpZ2h0bmluZyBBbWVyaWNhbiFWRVJNSUxJT04gSEFSQk9SSSBnb3QgbXkgS09GRklO R2luIENJTk5BQkFSIUl0J3MgbmljZSwgYnV0IGl0YnJlYXRoZXMgcG9pc29ud2hlbiBpdCdzIGFu Z3J5IUhlaGVoISBUaGlzIEdZTWlzIGdyZWF0ISBJdCdzZnVsbCBvZiB3b21lbiFUaGUgR0FNRSBD T1JORVJpcyBiYWQgZm9yIG91cmNpdHkncyBpbWFnZSFNb2FuISBJIGJsZXcgaXRhbGwgYXQgdGhl IHNsb3RzIUkga25ldyBJIHNob3VsZGhhdmUgY2FzaGVkIGluIG15Y29pbnMgZm9yIHByaXplcyFI ZWxsbywgdGhlcmUhSSd2ZSBzZWVuIHlvdSxidXQgSSBuZXZlciBoYWQgYWNoYW5jZSB0byB0YWxr IUhlcmUncyBhIGdpZnQgZm9yZHJvcHBpbmcgYnkhCgp8fAoKIQoKCgpUTTQxIHRlYWNoZXNTT0ZU Qk9JTEVEIU9ubHkgb25lICNNT05jYW4gdXNlIGl0IVRoYXQgI01PTiBpc0NIQU5TRVkhT2gsIHlv dXIgcGFjayBpc2Z1bGwgb2YgaXRlbXMhVGhpcyBpcyBteSB0cnVzdGVkcGFsLCBQT0xJV1JBVEgh SXQgZXZvbHZlZCBmcm9tUE9MSVdISVJMIHdoZW4gSXVzZWQgV0FURVIgU1RPTkUhUE9MSVdSQVRI OiBSaWJpcmliaXQhCgoKCldoYXQgYXJlIHlvdXN0YXJpbmcgYXQ/S2VlcCBvdXQgb2YgVEVBTVJP Q0tFVCdzIHdheSFUUkFJTkVSIFRJUFNYIEFDQ1VSQUNZIGJvb3N0c3RoZSBhY2N1cmFjeSBvZnRl Y2huaXF1ZXMhRElSRSBISVQgamFja3MgdXB0aGUgbGlrZWxpaG9vZCBvZmNyaXRpY2FsIGhpdHMh R2V0IHlvdXIgaXRlbXMgYXRDRUxBRE9OIERFUFQuU1RPUkUhQ0VMQURPTiBDSVRZVGhlIENpdHkg b2ZSYWluYm93IERyZWFtc0NFTEFET04gQ0lUWSNNT04gR1lNTEVBREVSOiBFUklLQVRoZSBOYXR1 cmUgTG92aW5nUHJpbmNlc3MhQ0VMQURPTiBNQU5TSU9ORmluZCB3aGF0IHlvdW5lZWQgYXQgQ0VM QURPTkRFUFQuIFNUT1JFIVRSQUlORVIgVElQU0dVQVJEIFNQRUMucHJvdGVjdHMgI01PTmFnYWlu c3QgU1BFQ0lBTGF0dGFja3Mgc3VjaCBhc2ZpcmUgYW5kIHdhdGVyIUdldCB5b3VyIGl0ZW1zIGF0 Q0VMQURPTiBERVBULlNUT1JFIUNvaW5zIGV4Y2hhbmdlZGZvciBwcml6ZXMhUFJJWkUgRVhDSEFO R0VST0NLRVQgR0FNRSBDT1JORVJUaGUgcGxheWdyb3VuZGZvciBncm93bi11cHMhRGlkIHlvdSB0 cnkgdGhlU0FGQVJJIEdBTUU/IFNvbWUjTU9OIGNhbiBvbmx5YmUgY2F1Z2h0IHRoZXJlLlNBRkFS SSBaT05FIGhhcyBhem9vIGluIGZyb250IG9mdGhlIGVudHJhbmNlLk91dCBiYWNrIGlzIHRoZVNB RkFSSSBHQU1FIGZvcmNhdGNoaW5nICNNT04uRVJJSzogV2hlcmUnc1NBUkE/IEkgc2FpZCBJJ2Rt ZWV0IGhlciBoZXJlLlRoYXQgaXRlbSBiYWxsIGludGhlcmUgaXMgcmVhbGx5IGEjTU9OLiFGVUNI U0lBIENJVFlCZWhvbGQhIEl0J3NQYXNzaW9uIFBpbmshU0FGQVJJIEdBTUUjTU9OLVUtQ0FUQ0gh U0FGQVJJIFpPTkVXQVJERU4ncyBIT01FI01PTiBQQVJBRElTRVNBRkFSSSBaT05FRlVDSFNJQSBD SVRZI01PTiBHWU1MRUFERVI6IEtPR0FUaGUgUG9pc29ub3VzTmluamEgTWFzdGVyTmFtZTogQ0hB TlNFWUNhdGNoaW5nIG9uZSBpc2FsbCB1cCB0byBjaGFuY2UuTmFtZTogVk9MVE9SQlRoZSB2ZXJ5 IGltYWdlIG9mYSAjIEJBTEwuTmFtZTogS0FOR0FTS0hBTkEgbWF0ZXJuYWwgI01PTnRoYXQgcmFp c2VzIGl0c3lvdW5nIGluIGEgcG91Y2hvbiBpdHMgYmVsbHkuTmFtZTogU0xPV1BPS0VGcmllbmRs eSBhbmQgdmVyeXNsb3cgbW92aW5nLk5hbWU6IExBUFJBU0EuSy5BLiB0aGUga2luZ29mIHRoZSBz ZWFzLk5hbWU6IE9NQU5ZVEVBICNNT04gdGhhdHdhcyByZXN1cnJlY3RlZGZyb20gYSBmb3NzaWwu TmFtZTogS0FCVVRPQSAjTU9OIHRoYXR3YXMgcmVzdXJyZWN0ZWRmcm9tIGEgZm9zc2lsLi4uLlRo ZSBkb29yIGlzbG9ja2VkLi4uQ0lOTkFCQVIgR1lNJ3NCTEFJTkUgaXMgYW4gb2RkbWFuIHdobyBo YXMgbGl2ZWRoZXJlIGZvciBkZWNhZGVzLlNjaWVudGlzdHMgY29uZHVjdGV4cGVyaW1lbnRzIGlu dGhlIGJ1cm5lZCBvdXRidWlsZGluZy5DSU5OQUJBUiBJU0xBTkRUaGUgRmllcnkgVG93biBvZkJ1 cm5pbmcgRGVzaXJlI01PTiBMQUJDSU5OQUJBUiBJU0xBTkQjTU9OIEdZTUxFQURFUjogQkxBSU5F VGhlIEhvdC1IZWFkZWRRdWl6IE1hc3RlciFXaGF0IGRvIHlvdSB3YW50P0dldCBsb3N0IUJPU1Mg c2FpZCBoZSdsbHRha2UgdGhpcyB0b3duIUdldCBvdXQgb2YgdGhld2F5IVNBRkZST04gYmVsb25n c3RvIFRFQU0gUk9DS0VUIUJlaW5nIGV2aWwgbWFrZXNtZSBmZWVsIHNvIGFsaXZlIU93ISBXYXRj aCB3aGVyZXlvdSdyZSB3YWxraW5nIVdpdGggU0lMUEggdW5kZXJjb250cm9sLCB3ZSBjYW5leHBs b2l0ICNNT05hcm91bmQgdGhlIHdvcmxkIVlvdSBiZWF0IFRFQU1ST0NLRVQgYWxsIGFsb25lP1Ro YXQncyBhbWF6aW5nIVllYWghIFRFQU0gUk9DS0VUaXMgZ29uZSFJdCdzIHNhZmUgdG8gZ29vdXQg YWdhaW4hUGVvcGxlIHNob3VsZCBiZWZsb2NraW5nIGJhY2sgdG9TQUZGUk9OIG5vdy5JIGZsZXcg aGVyZSBvbiBteVBJREdFT1Qgd2hlbiBJcmVhZCBhYm91dCBTSUxQSC5JdCdzIGFscmVhZHkgb3Zl cj9JIG1pc3NlZCB0aGVtZWRpYSBhY3Rpb24uUElER0VPVDogQmkgYmliaWkhCgotLS0tCgpJIHNh dyBST0NLRVRCT1NTIGVzY2FwaW5nIFNJTFBIJ3MgYnVpbGRpbmcuCgpJJ20gYSBzZWN1cml0eSBn dWFyZC4gU3VzcGljaW91cyBraWRzIEkgZG9uJ3QgYWxsb3cgaW4hCgouLi5Tbm9yZS4uLkhhaCEg SGUncyB0YWtpbmcgYSBzbm9vemUhCgpTQUZGUk9OIENJVFkgU2hpbmluZywgR29sZGVuIExhbmQg b2YgQ29tbWVyY2UKCkZJR0hUSU5HIERPSk8KClNBRkZST04gQ0lUWQoKI01PTiBHWU0gTEVBREVS OiBTQUJSSU5BIFRoZSBNYXN0ZXIgb2YgUHN5Y2hpYyAjTU9OIQoKVFJBSU5FUiBUSVBTIEZVTEwg SEVBTCBjdXJlcyBhbGwgYWlsbWVudHMgbGlrZSBzbGVlcCBhbmQgYnVybnMuIEl0IGNvc3RzIGEg Yml0IG1vcmUsIGJ1dCBpdCdzIG1vcmUgY29udmVuaWVudC4KClRSQUlORVIgVElQUyBOZXcgR1JF QVQgQkFMTCBvZmZlcnMgaW1wcm92ZWQgY2FwdHVyZSByYXRlcy4gVHJ5IGl0IG9uIHRob3NlIGhh cmQtdG8tY2F0Y2ggI01PTi4KClNJTFBIIENPLiBPRkZJQ0UgQlVJTERJTkcKCk1SLlBTWUNISUMn cyBIT1VTRSAKClNJTFBIJ3MgbGF0ZXN0IHByb2R1Y3QhIFJlbGVhc2UgdG8gYmUgZGV0ZXJtaW5l ZC4uLgoKLS0tLQoKSXQgZG9kZ2VkIHRoZSB0aHJvd24gQkFMTCEKClRoaXMgI01PTiBjYW4ndCBi ZSBjYXVnaHQhCgpZb3UgbWlzc2VkIHRoZSAjTU9OIQoKRGFybiEgVGhlICNNT04gYnJva2UgZnJl ZSEKCkF3dyEgSXQgYXBwZWFyZWQgdG8gYmUgY2F1Z2h0IQoKU2hvb3QhIEl0IHdhcyBzbyBjbG9z ZSB0b28hCgpBbGwgcmlnaHQhIDw+IHdhcyBjYXVnaHQhCgo8PiB3YXMgdHJhbnNmZXJyZWQgdG8g QklMTCdzIFBDIQoKPD4gd2FzIHRyYW5zZmVycmVkIHRvIHNvbWVvbmUncyBQQyEKCk5ldyAjREVY IGRhdGEgd2lsbCBiZSBhZGRlZCBmb3IgPD4hCgotLS0tCgpUaGVyZSdzIG5vIHBsYWNldG8gZ2V0 IG9mZiEKCjw+J3MgPD4gcm9zZS4KCkl0IHdvbid0IGhhdmUgYW55IGVmZmVjdC4KCjw+IHRocmV3 IHNvbWUgQkFJVC4KCjw+IHRocmV3IGEgUk9DSy4KClBsYXllZCB0aGUgI0ZMVVRFLgoKTm93LCB0 aGF0J3MgYSBjYXRjaHkgdHVuZSEKCkFsbCBzbGVlcGluZyAjTU9OIHdva2UgdXAuCgo8PiBwbGF5 ZWQgdGhlIyBGTFVURS4KCi0tLS0KClllcyEgSVRFTUZJTkRFUiBpbmRpY2F0ZXMgdGhlcmUncyBh biBpdGVtIG5lYXJieS4KCk5vcGUhIElURU1GSU5ERVIgaXNuJ3QgcmVzcG9uZGluZy4KClJhaXNl IFBQIG9mIHdoaWNoIHRlY2huaXF1ZT8KClJlc3RvcmUgUFAgb2Ygd2hpY2ggdGVjaG5pcXVlPwoK PD4ncyBQUCBpcyBtYXhlZCBvdXQuCgo8PidzIFBQIGluY3JlYXNlZC4KClBQIHdhcyByZXN0b3Jl ZC4KCkJvb3RlZCB1cCBhIFRNIQoKQm9vdGVkIHVwIGFuIEhNIQoKSXQgY29udGFpbmVkIDw+IQoK VGVhY2ggPD4gdG8gYSAjTU9OPwoKPD4gaXMgbm90IGNvbXBhdGlibGUgd2l0aCA8Pi4KCkl0IGNh bid0IGxlYXJuIDw+LgoKT0FLOiA8PiAhIFRoaXMgaXNuJ3QgdGhlIHRpbWUgdG8gdXNlIHRoYXQh CgpUaGlzIGlzbid0IHlvdXJzIHRvIHVzZSEKCkl0IHdvbid0IGhhdmUgYW55IGVmZmVjdC4KClRo ZSB0cmFpbmVyIGJsb2NrZWQgdGhlIEJBTEwhCgpEb24ndCBiZSBhIHRoaWVmIQoKTm8gY3ljbGlu ZyBhbGxvd2VkIGhlcmUuCgpObyBTVVJGaW5nIG9uIDw+IGhlcmUhCgpUaGUgI01PTiBCT1ggaXMg ZnVsbCEKCkNhbid0IHVzZSB0aGF0IGl0ZW0hCgotLS0tCgpJJ20gbG9va2luZyBmb3IgPD4hCgpX YW5uYSB0cmFkZSBvbmUgZm9yIDw+PwoKQXd3dyEgT2ggd2VsbC4uLgoKV2hhdD8gVGhhdCdzIG5v dCA8PiEKCklmIHlvdSBnZXQgb25lLCBjb21lIGJhY2sgaGVyZSEKCkhleSB0aGFua3MhCgpJc24n dCBteSBvbGQgPD4gZ3JlYXQ/CgpIZWxsbyB0aGVyZSEgRG8geW91IHdhbnQgdG8gdHJhZGUgeW91 ciA8PiBmb3IgPD4/CgpXZWxsLCBpZiB5b3UgZG9uJ3Qgd2FudCB0by4uLgoKSG1tbT8gVGhpcyBp c24ndCA8Pi4KClRoaW5rIG9mIG1lIHdoZW4geW91IGdldCBvbmUuCgpUaGFua3MhIFRoZSA8PiB5 b3UgdHJhZGVkIHRvIG1lIHdlbnQgYW5kIGV2b2x2ZWQhCgpIaSEgRG8geW91IGhhdmUgPD4/CgpX YW50IHRvIHRyYWRlIGl0IGZvciA8Pj8KClRoYXQncyB0b28gYmFkLi4uLgoKVGhpcyBpcyBubyA8 Pi4KCklmIHlvdSBnZXQgb25lLCB0cmFkZSBpdCB3aXRoIG1lIQoKVGhhbmtzIHBhbCEKCkhvdyBp cyBteSBvbGQgPD4gPwoKTXkgPD4gaXMgZG9pbmcgZ3JlYXQhCgpUaGVyZSBpc24ndCBhbnl0aGlu ZyB0byBDVVQhCgpoYWNrZWQgYXdheSB3aXRoIENVVCEKCgoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtp Y2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5m by93aWtpY2hhbmdlcwo=