Re: No curses detected
Luis Pascual Forner <[email protected]> Wed, 22 Mar 2023 12:06:58 +0100
| Newsgroups | gmane.comp.lang.4gl.aubit.general |
|---|---|
| Organization | IVAL informática <http://www.ival.com> |
| Message-ID | <[email protected]> |
WWVzLCBuY3Vyc2VzLWRldmVsICg2NGJpdCkgYW5kIG5kY3Vyc2VzLWRldmVsLTMyYml0IGFyZSBp bnN0YWxsZWQuCgpFbCAyMi8zLzIzIGEgbGFzIDExOjU4LCBNaWtlIEF1YnVyeSBlc2NyaWJpw7M6 Cj4gSXMgdGhlIDY0IGJpdCB2ZXJzaW9uIG9mIHRoZSBuY3Vyc2VzLWRldi9uY3Vyc2VzL2RldmVs IGluc3RhbGxlZCA/Cj4gCj4gT24gV2VkLCAyMiBNYXIgMjAyMyBhdCAxMDo0NiwgTHVpcyBQYXNj dWFsIEZvcm5lciA8bHBhc2N1YWxAaXZhbC5jb20gCj4gPG1haWx0bzpscGFzY3VhbEBpdmFsLmNv bT4+IHdyb3RlOgo+IAo+ICAgICBUaGUgbGlibmN1cnNlczYtMzJiaXQgcGFja2FnZSBpcyBhbHNv IGluc3RhbGxlZCwgYnV0Cj4gICAgIG5jdXJzZXM2LWRldmVsLTMyYml0IGRvZXNuJ3QgZXhpc3Qg KG5jdXJzZXM1LWRldmVsLTMyYml0IGRvZXMgZXhpc3QsCj4gICAgIGFuZAo+ICAgICBpcyBpbnN0 YWxsZWQpCj4gCj4gICAgIEVsIDIyLzMvMjMgYSBsYXMgMTE6MzUsIE1pa2UgQXVidXJ5IGVzY3Jp YmnDszoKPiAgICAgID4KPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8u Li8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgICA+IHNraXBwaW5nIGlu Y29tcGF0aWJsZSAvbGliL2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAg ID4gL2xpYi9saWJuY3Vyc2VzLnNvLjYKPiAgICAgID4KPiAgICAgL3Vzci9saWI2NC9nY2MveDg2 XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4g ICAgICA+ICpjYW5ub3QgZmluZCAvbGliL2xpYm5jdXJzZXMuc28uNjogZmlsZSBpbiB3cm9uZyBm b3JtYXQqCj4gICAgICA+Cj4gICAgICA+Cj4gICAgICA+IFRoZXNlIGxvb2sgbGlrZSBpdCBkb2Vz bid0wqBoYXZlIHRoZSA2NCBiaXQgYmluYXJpZXMsIGJ1dCBtYXliZQo+ICAgICBoYXMgMzIKPiAg ICAgID4gYml0IHZlcnNpb25zID8KPiAgICAgID4KPiAgICAgID4KPiAgICAgID4gT24gV2VkLCAy MiBNYXIgMjAyMyBhdCAxMDozMCwgTHVpcyBQYXNjdWFsIEZvcm5lcgo+ICAgICA8bHBhc2N1YWxA aXZhbC5jb20gPG1haWx0bzpscGFzY3VhbEBpdmFsLmNvbT4KPiAgICAgID4gPG1haWx0bzpscGFz Y3VhbEBpdmFsLmNvbSA8bWFpbHRvOmxwYXNjdWFsQGl2YWwuY29tPj4+IHdyb3RlOgo+ICAgICAg Pgo+ICAgICAgPsKgIMKgIMKgVGhpcyBpcyB0aGUgcGllY2Ugb2YgY29uZmlnLmxvZyByZWZlcnJp bmcgdG8gY3Vyc2VzIChpdCdzIGEKPiAgICAgYml0IGxvbmcpOgo+ICAgICAgPgo+ICAgICAgPsKg IMKgIMKgY29uZmlndXJlOjMwNTYzOiByZXN1bHQ6wqAgWzFtQ2hlY2tpbmcgZm9yIGN1cnNlcyBs aWJyYXJpZXM6IFttCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzA2MTA6IGNoZWNraW5nIGZv ciBtYWluIGluIC1sbmN1cnNlcwo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNjMwOiBnY2Mg LW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWIgCj4gICAgIC1ML3Vzci9sb2NhbC9saWIKPiAg ICAgID7CoCDCoCDCoC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbG5jdXJzZXPCoCDCoD4mNQo+ICAg ICAgPiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4u Ly4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5n IGluY29tcGF0aWJsZSAvbGliL2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGluZyBmb3IKPiAg ICAgID7CoCDCoCDCoC9saWIvbGlibmN1cnNlcy5zby42Cj4gICAgICA+ICAgCj4gICAgICDCoC91 c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2Ut bGludXgvYmluL2xkOgo+ICAgICAgPsKgIMKgIMKgY2Fubm90IGZpbmQgL2xpYi9saWJuY3Vyc2Vz LnNvLjY6IGZpbGUgaW4gd3JvbmcgZm9ybWF0Cj4gICAgICA+ICAgCj4gICAgICDCoC91c3IvbGli NjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgv YmluL2xkOgo+ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGlibmN1 cnNlcy5zby42IHdoZW4gc2VhcmNoaW5nIGZvcgo+ICAgICAgPsKgIMKgIMKgL2xpYi9saWJuY3Vy c2VzLnNvLjYKPiAgICAgID4gICAKPiAgICAgIMKgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2Ut bGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgICA+wqAg wqAgwqBza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGlidGluZm8uc28gd2hlbiBzZWFy Y2hpbmcgZm9yCj4gICAgIC1sdGluZm8KPiAgICAgID4gICAKPiAgICAgIMKgL3Vzci9saWI2NC9n Y2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4v bGQ6Cj4gICAgICA+wqAgwqAgwqBza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGlidGlu Zm8uYSB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgLWx0aW5mbwo+ICAgICAgPiAgIAo+ICAgICAg wqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1z dXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5nIGluY29tcGF0aWJsZSAv bGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgICA+wqAgwqAgwqBsaWJn Y2Nfcy5zby4xCj4gICAgICA+wqAgwqAgwqBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEg ZXhpdCBzdGF0dXMKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDYzMDogJD8gPSAxCj4gICAg ICA+wqAgwqAgwqBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgID7CoCDCoCDC oHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJh dWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJ VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUCj4gICAgICJhdWJpdDRnbC1kaXNjdXNz QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlz dHMuc291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKgIMKgIMKgPG1haWx0bzphdWJpdDRnbC1kaXNj dXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NA bGlzdHMuc291cmNlZm9yZ2UubmV0Pj4iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9V X0lOVCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9TWVNFWElUU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5F VF9UQ1BfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJH TVAgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9QQ1JFX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfWkxJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlJFQURM SU5FIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU9EQkMg MAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T UUxFWFRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtf VkVSU0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAw Cj4gICAgICA+wqAgwqAgwqB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgICA+wqAgwqAg wqB8Cj4gICAgICA+wqAgwqAgwqB8Cj4gICAgICA+wqAgwqAgwqB8IGludAo+ICAgICAgPsKgIMKg IMKgfCBtYWluICh2b2lkKQo+ICAgICAgPsKgIMKgIMKgfCB7Cj4gICAgICA+wqAgwqAgwqB8IHJl dHVybiBtYWluICgpOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgOwo+ICAgICAgPsKgIMKgIMKgfMKg IMKgcmV0dXJuIDA7Cj4gICAgICA+wqAgwqAgwqB8IH0KPiAgICAgID7CoCDCoCDCoGNvbmZpZ3Vy ZTozMDY0MDogcmVzdWx0OiBubwo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNjUxOiBjaGVj a2luZyBmb3Igd2lubnN0ciBpbiAtbG5jdXJzZXMKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZToz MDY3NDogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9j YWwvbGliCj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzwqAg wqA+JjUKPiAgICAgID4gICAKPiAgICAgIMKgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGlu dXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgICA+wqAgwqAg wqBza2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9saWJuY3Vyc2VzLnNvLjYgd2hlbiBzZWFyY2hp bmcgZm9yCj4gICAgICA+wqAgwqAgwqAvbGliL2xpYm5jdXJzZXMuc28uNgo+ICAgICAgPiAgIAo+ ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4 Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoGNhbm5vdCBmaW5kIC9saWIv bGlibmN1cnNlcy5zby42OiBmaWxlIGluIHdyb25nIGZvcm1hdAo+ICAgICAgPiAgIAo+ICAgICAg wqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1z dXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5nIGluY29tcGF0aWJsZSAv bGliL2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgID7CoCDCoCDCoC9s aWIvbGlibmN1cnNlcy5zby42Cj4gICAgICA+ICAgCj4gICAgICDCoC91c3IvbGliNjQvZ2NjL3g4 Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC91c3IvbGliL2xpYnRpbmZvLnNv IHdoZW4gc2VhcmNoaW5nIGZvcgo+ICAgICAtbHRpbmZvCj4gICAgICA+ICAgCj4gICAgICDCoC91 c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2Ut bGludXgvYmluL2xkOgo+ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC91c3Iv bGliL2xpYnRpbmZvLmEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIC1sdGluZm8KPiAgICAgID4g ICAKPiAgICAgIMKgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8u Li94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgICA+wqAgwqAgwqBza2lwcGluZyBpbmNv bXBhdGlibGUgL2xpYi9saWJnY2Nfcy5zby4xIHdoZW4gc2VhcmNoaW5nIGZvcgo+ICAgICAgPsKg IMKgIMKgbGliZ2NjX3Muc28uMQo+ICAgICAgPsKgIMKgIMKgY29sbGVjdDI6IGVycm9yOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzA2NzQ6ICQ/ ID0gMQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAg ICA+wqAgwqAgwqB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVAo+ICAgICAiYXViaXQ0 Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1k aXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4KPiAgICAgID7CoCDCoCDCoDxtYWlsdG86YXVi aXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRn bC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4+Igo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRSAiQXVi aXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVERCX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX05FVElORVRfVENQX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFlZVEVYVF9QT0lO VEVSIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfTElCR01QIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlNT TCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9a TElCIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9MSUJSRUFETElORSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUz IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTElURTNfSCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX0lPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfT0RCQ0lO U1RfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLX1ZF UlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9SUENMSUIgMAo+ICAgICAgPsKgIMKgIMKgfCAvKiBlbmQgY29uZmRlZnMuaC7CoCAqLwo+ICAg ICAgPsKgIMKgIMKgfAo+ICAgICAgPsKgIMKgIMKgfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KPiAgICAgID7CoCDCoCDCoHzCoCDCoCBV c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK PiAgICAgID7CoCDCoCDCoHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwKPiAgICAgYXBwbHkuwqAgKi8KPiAgICAgID7CoCDCoCDCoHwgY2hh ciB3aW5uc3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfCBpbnQKPiAgICAgID7CoCDCoCDCoHwgbWFp biAodm9pZCkKPiAgICAgID7CoCDCoCDCoHwgewo+ICAgICAgPsKgIMKgIMKgfCByZXR1cm4gd2lu bnN0ciAoKTsKPiAgICAgID7CoCDCoCDCoHzCoCDCoDsKPiAgICAgID7CoCDCoCDCoHzCoCDCoHJl dHVybiAwOwo+ICAgICAgPsKgIMKgIMKgfCB9Cj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzA2 ODQ6IHJlc3VsdDogbm8KPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDY5NDogY2hlY2tpbmcg Zm9yIHdpbm5zdHIgaW4gLWxjdXJzZXMKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDcxNzog Z2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9jYWwvbGli Cj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWxjdXJzZXPCoCDCoD4mNQo+ ICAgICAgPiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4u Ly4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoGNhbm5v dCBmaW5kIC1sY3Vyc2VzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgICA+ICAgCj4g ICAgICDCoC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2 XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRp YmxlIC9saWIvbGliZ2NjX3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgID7CoCDCoCDC oGxpYmdjY19zLnNvLjEKPiAgICAgID7CoCDCoCDCoGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNzE3OiAkPyA9IDEK PiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICAgPsKg IMKgIMKgfCAvKiBjb25mZGVmcy5oICovCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJBdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi JEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQKPiAgICAgImF1Yml0NGdsLWRp c2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vz c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Cj4gICAgICA+wqAgwqAgwqA8bWFpbHRvOmF1Yml0NGds LWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlz Y3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+PiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGds Igo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFNURENfSEVBREVSUyAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX1VfSU5UIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9O RVRJTkVUX1RDUF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X0xJQkdNUCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1BDUkVfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQiAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElC UkVBRExJTkUgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9J T0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX1NRTEVYVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0gg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X0dUS19WRVJTSU9OIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9O IDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUSyAwCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUlBD TElCIDAKPiAgICAgID7CoCDCoCDCoHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAgID7C oCDCoCDCoHwKPiAgICAgID7CoCDCoCDCoHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgICA+wqAgwqAgwqB8wqAgwqAgVXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAg ICA+wqAgwqAgwqB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsCj4gICAgIGFwcGx5LsKgICovCj4gICAgICA+wqAgwqAgwqB8IGNoYXIgd2lu bnN0ciAoKTsKPiAgICAgID7CoCDCoCDCoHwgaW50Cj4gICAgICA+wqAgwqAgwqB8IG1haW4gKHZv aWQpCj4gICAgICA+wqAgwqAgwqB8IHsKPiAgICAgID7CoCDCoCDCoHwgcmV0dXJuIHdpbm5zdHIg KCk7Cj4gICAgICA+wqAgwqAgwqB8wqAgwqA7Cj4gICAgICA+wqAgwqAgwqB8wqAgwqByZXR1cm4g MDsKPiAgICAgID7CoCDCoCDCoHwgfQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNzI3OiBy ZXN1bHQ6IG5vCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzA3NDU6IHJlc3VsdDogeWVzIC0g Zm91bmQKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc0NzogY2hlY2tpbmcgRm9yIGFueSBs aWJuY3Vyc2VzIGxpYnJhcnkgb24gdGhlCj4gICAgIHN5c3RlbQo+ICAgICAgPsKgIMKgIMKgY29u ZmlndXJlOjMwNzU3OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIG12YWRkX3djaG5z dHIKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcg LU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9jYWwvbGliCj4gICAgICA+wqAgwqAgwqAtTC91 c3IvbGliIGNvbmZ0ZXN0LmPCoCA+JjUKPiAgICAgID4gICAKPiAgICAgIMKgL3Vzci9saWI2NC9n Y2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4v bGQ6Cj4gICAgICA+wqAgwqAgwqBza2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9saWJnY2Nfcy5z by4xIHdoZW4gc2VhcmNoaW5nIGZvcgo+ICAgICAgPsKgIMKgIMKgbGliZ2NjX3Muc28uMQo+ICAg ICAgPiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4u Ly4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5n IGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAg ICA+wqAgwqAgwqBsaWJnY2Nfcy5zby4xCj4gICAgICA+ICAgCj4gICAgICDCoC91c3IvbGliNjQv Z2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmlu L2xkOgo+ICAgICAgPsKgIMKgIMKgL3RtcC9jY0hiV0diOC5vOiBpbiBmdW5jdGlvbiBgbWFpbic6 Cj4gICAgICA+wqAgwqAgwqAvb3B0L2F1Yml0NGdsc3JjL2NvbmZ0ZXN0LmM6NzA6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8KPiAgICAgYG12YWRkX3djaG5zdHInCj4gICAgICA+wqAgwqAgwqBjb2xs ZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKPiAgICAgID7CoCDCoCDCoGNv bmZpZ3VyZTozMDc4NzogJD8gPSAxCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKPiAgICAgID7CoCDCoCDCoHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJ T04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUCj4gICAgICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8 bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKg IMKgIMKgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAg ICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pj4iCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBWRVJTSU9O ICIxLjYuMSIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRExG Q05fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9VX0lOVCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9TWVNfVUlPX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0VO RE1BSUwgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfR01QX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlog MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJ Ql9ERUYgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMSVRF M19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfTElCT0RCQyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VO SVhPREJDIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9H VEsgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgICA+wqAgwqAgwqB8IC8qIGVuZCBjb25m ZGVmcy5oLsKgICovCj4gICAgICA+wqAgwqAgwqB8Cj4gICAgICA+wqAgwqAgwqB8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICAg PsKgIMKgIMKgfMKgIMKgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIEdDQwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbAo+ICAgICBhcHBseS7CoCAqLwo+ICAg ICAgPsKgIMKgIMKgfCBjaGFyIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8IGlu dAo+ICAgICAgPsKgIMKgIMKgfCBtYWluICh2b2lkKQo+ICAgICAgPsKgIMKgIMKgfCB7Cj4gICAg ICA+wqAgwqAgwqB8IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfMKg IMKgOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgcmV0dXJuIDA7Cj4gICAgICA+wqAgwqAgwqB8IH0K PiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8y wqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9jYWwvbGliCj4gICAgICA+wqAgwqAgwqAtTC91c3Iv bGliIGNvbmZ0ZXN0LmMgLWwvbGliL2xpYm5jdXJzZXMuc28uNSBvdGhlci1saWJzwqAgwqA+JjUK PiAgICAgID7CoCDCoCDCoGdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCj4gICAgICA+ wqAgwqAgwqBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgID7CoCDCoCDCoHwg LyogY29uZmRlZnMuaCAqLwo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi QXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJp dDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9W RVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUCj4gICAgICJhdWJpdDRnbC1kaXNjdXNzQGxp c3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMu c291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKgIMKgIMKgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNz QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlz dHMuc291cmNlZm9yZ2UubmV0Pj4iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lO VCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T WVNFWElUU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9ORVRJTkVUX0lOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9U Q1BfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJHTVAg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9Q Q1JFX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfWkxJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfUERGIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5F IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NBUE9EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxF WFRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVS U0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfUlBDR0VOIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4g ICAgICA+wqAgwqAgwqB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgICA+wqAgwqAgwqB8 Cj4gICAgICA+wqAgwqAgwqB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICAgPsKgIMKgIMKgfMKgIMKgIFVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICAgPsKgIMKg IMKgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbAo+ICAgICBhcHBseS7CoCAqLwo+ICAgICAgPsKgIMKgIMKgfCBjaGFyIG12YWRkX3djaG5z dHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8IGludAo+ICAgICAgPsKgIMKgIMKgfCBtYWluICh2b2lk KQo+ICAgICAgPsKgIMKgIMKgfCB7Cj4gICAgICA+wqAgwqAgwqB8IHJldHVybiBtdmFkZF93Y2hu c3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgcmV0 dXJuIDA7Cj4gICAgICA+wqAgwqAgwqB8IH0KPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4 NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9jYWwv bGliCj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliL2xpYm5jdXJz ZXMuc28uNS45IG90aGVyLWxpYnPCoCDCoD4mNQo+ICAgICAgPsKgIMKgIMKgZ2NjOiBlcnJvcjog b3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+ICAgICAgPsKgIMKgIMKgY29u ZmlndXJlOjMwNzg3OiAkPyA9IDEKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgo+ICAgICAgPsKgIMKgIMKgfCAvKiBjb25mZGVmcy5oICovCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lP Ti4kQVVCSVRfQlVJTEQiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQKPiAgICAgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxt YWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Cj4gICAgICA+wqAg wqAgwqA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAg IDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+PiIKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFZFUlNJT04g IjEuNi4xIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1VfSU5UIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX1NZU19VSU9fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TRU5E TUFJTCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9HTVBfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCWiAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElC X0RFRiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfTElCU1FMSVRFMyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxJVEUz X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9MSUJPREJDIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5J WE9EQkMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dU SyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgID7CoCDCoCDCoHwgLyogZW5kIGNvbmZk ZWZzLmguwqAgKi8KPiAgICAgID7CoCDCoCDCoHwKPiAgICAgID7CoCDCoCDCoHwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgICA+ wqAgwqAgwqB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy biB0eXBlIG9mIGEgR0NDCj4gICAgICA+wqAgwqAgwqB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsCj4gICAgIGFwcGx5LsKgICovCj4gICAg ICA+wqAgwqAgwqB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgID7CoCDCoCDCoHwgaW50 Cj4gICAgICA+wqAgwqAgwqB8IG1haW4gKHZvaWQpCj4gICAgICA+wqAgwqAgwqB8IHsKPiAgICAg ID7CoCDCoCDCoHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8wqAg wqA7Cj4gICAgICA+wqAgwqAgwqB8wqAgwqByZXR1cm4gMDsKPiAgICAgID7CoCDCoCDCoHwgfQo+ ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29uZnRlc3TCoCAtZyAtTzLC oCAtTC9saWIgCj4gICAgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgID7CoCDCoCDCoC1ML3Vzci9s aWIgY29uZnRlc3QuYyAtbC9saWIvbGlibmN1cnNlcy5zby42IG90aGVyLWxpYnPCoCDCoD4mNQo+ ICAgICAgPsKgIMKgIMKgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNzg3OiAkPyA9IDEKPiAgICAgID7C oCDCoCDCoGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICAgPsKgIMKgIMKgfCAv KiBjb25mZGVmcy5oICovCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJB dWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0 NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZF UlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQKPiAgICAgImF1Yml0NGdsLWRpc2N1c3NAbGlz dHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5z b3VyY2Vmb3JnZS5uZXQ+Cj4gICAgICA+wqAgwqAgwqA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NA bGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0 cy5zb3VyY2Vmb3JnZS5uZXQ+PiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1RESU9fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VfSU5U IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZ U0VYSVRTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X05FVElORVRfSU5fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RD UF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQkdNUCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BD UkVfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9aTElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9QREYgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfU0FQT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTEVY VF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfUEdPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUS19WRVJT SU9OIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUSyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9SUENHRU4gMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAg ICAgID7CoCDCoCDCoHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAgID7CoCDCoCDCoHwK PiAgICAgID7CoCDCoCDCoHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgICA+wqAgwqAgwqB8wqAgwqAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgICA+wqAgwqAg wqB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0 aWxsCj4gICAgIGFwcGx5LsKgICovCj4gICAgICA+wqAgwqAgwqB8IGNoYXIgbXZhZGRfd2NobnN0 ciAoKTsKPiAgICAgID7CoCDCoCDCoHwgaW50Cj4gICAgICA+wqAgwqAgwqB8IG1haW4gKHZvaWQp Cj4gICAgICA+wqAgwqAgwqB8IHsKPiAgICAgID7CoCDCoCDCoHwgcmV0dXJuIG12YWRkX3djaG5z dHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8wqAgwqA7Cj4gICAgICA+wqAgwqAgwqB8wqAgwqByZXR1 cm4gMDsKPiAgICAgID7CoCDCoCDCoHwgfQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNzg3 OiBnY2MgLW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWIgCj4gICAgIC1ML3Vzci9sb2NhbC9s aWIKPiAgICAgID7CoCDCoCDCoC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWIvbGlibmN1cnNl cy5zby42LjEgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgICA+wqAgwqAgwqBnY2M6IGVycm9yOiBv dGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgICA+wqAgwqAgwqBjb25m aWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6Cj4gICAgICA+wqAgwqAgwqB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9O LiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VAo+ICAgICAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1h aWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4KPiAgICAgID7CoCDC oCDCoDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAg PG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4+Igo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgVkVSU0lPTiAi MS42LjEiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0RMRkNO X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfU1lTX1VJT19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVERCX0ggMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NFTkRN QUlMIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX0dNUF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJaIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUJf REVGIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTElURTNf SCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X0xJQk9EQkMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VTklY T0RCQyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RL IDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICAgPsKgIMKgIMKgfCAvKiBlbmQgY29uZmRl ZnMuaC7CoCAqLwo+ICAgICAgPsKgIMKgIMKgfAo+ICAgICAgPsKgIMKgIMKgfCAvKiBPdmVycmlk ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KPiAgICAgID7C oCDCoCDCoHzCoCDCoCBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKPiAgICAgID7CoCDCoCDCoHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwKPiAgICAgYXBwbHkuwqAgKi8KPiAgICAg ID7CoCDCoCDCoHwgY2hhciBtdmFkZF93Y2huc3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfCBpbnQK PiAgICAgID7CoCDCoCDCoHwgbWFpbiAodm9pZCkKPiAgICAgID7CoCDCoCDCoHwgewo+ICAgICAg PsKgIMKgIMKgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgID7CoCDCoCDCoHzCoCDC oDsKPiAgICAgID7CoCDCoCDCoHzCoCDCoHJldHVybiAwOwo+ICAgICAgPsKgIMKgIMKgfCB9Cj4g ICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKg IC1ML2xpYiAKPiAgICAgLUwvdXNyL2xvY2FsL2xpYgo+ICAgICAgPsKgIMKgIMKgLUwvdXNyL2xp YiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMuc28uNSBvdGhlci1saWJzwqAgwqA+JjUK PiAgICAgID7CoCDCoCDCoGdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCj4gICAgICA+ wqAgwqAgwqBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgID7CoCDCoCDCoHwg LyogY29uZmRlZnMuaCAqLwo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi QXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJp dDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9W RVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUCj4gICAgICJhdWJpdDRnbC1kaXNjdXNzQGxp c3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMu c291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKgIMKgIMKgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNz QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlz dHMuc291cmNlZm9yZ2UubmV0Pj4iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lO VCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T WVNFWElUU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9ORVRJTkVUX0lOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9U Q1BfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJHTVAg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9Q Q1JFX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfWkxJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfUERGIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5F IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NBUE9EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxF WFRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVS U0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfUlBDR0VOIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4g ICAgICA+wqAgwqAgwqB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgICA+wqAgwqAgwqB8 Cj4gICAgICA+wqAgwqAgwqB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICAgPsKgIMKgIMKgfMKgIMKgIFVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICAgPsKgIMKg IMKgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbAo+ICAgICBhcHBseS7CoCAqLwo+ICAgICAgPsKgIMKgIMKgfCBjaGFyIG12YWRkX3djaG5z dHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8IGludAo+ICAgICAgPsKgIMKgIMKgfCBtYWluICh2b2lk KQo+ICAgICAgPsKgIMKgIMKgfCB7Cj4gICAgICA+wqAgwqAgwqB8IHJldHVybiBtdmFkZF93Y2hu c3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgcmV0 dXJuIDA7Cj4gICAgICA+wqAgwqAgwqB8IH0KPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4 NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9jYWwv bGliCj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliNjQvbGlibmN1 cnNlcy5zby41Ljkgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgICA+wqAgwqAgwqBnY2M6IGVycm9y OiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgICA+wqAgwqAgwqBj b25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6Cj4gICAgICA+wqAgwqAgwqB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJT SU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVAo+ICAgICAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAg PG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4KPiAgICAgID7C oCDCoCDCoDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAg ICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4+Igo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgVkVSU0lP TiAiMS42LjEiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfU1lTX1VJT19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVERCX0gg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NF TkRNQUlMIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX0dNUF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJa IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pM SUJfREVGIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTElU RTNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX0xJQk9EQkMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9V TklYT0RCQyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf R1RLIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICAgPsKgIMKgIMKgfCAvKiBlbmQgY29u ZmRlZnMuaC7CoCAqLwo+ICAgICAgPsKgIMKgIMKgfAo+ICAgICAgPsKgIMKgIMKgfCAvKiBPdmVy cmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KPiAgICAg ID7CoCDCoCDCoHzCoCDCoCBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgID7CoCDCoCDCoHzCoCDCoCBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwKPiAgICAgYXBwbHkuwqAgKi8KPiAg ICAgID7CoCDCoCDCoHwgY2hhciBtdmFkZF93Y2huc3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfCBp bnQKPiAgICAgID7CoCDCoCDCoHwgbWFpbiAodm9pZCkKPiAgICAgID7CoCDCoCDCoHwgewo+ICAg ICAgPsKgIMKgIMKgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgID7CoCDCoCDCoHzC oCDCoDsKPiAgICAgID7CoCDCoCDCoHzCoCDCoHJldHVybiAwOwo+ICAgICAgPsKgIMKgIMKgfCB9 Cj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1P MsKgIC1ML2xpYiAKPiAgICAgLUwvdXNyL2xvY2FsL2xpYgo+ICAgICAgPsKgIMKgIMKgLUwvdXNy L2xpYiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMuc28uNiBvdGhlci1saWJzwqAgwqA+ JjUKPiAgICAgID7CoCDCoCDCoGdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCj4gICAg ICA+wqAgwqAgwqBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgID7CoCDCoCDC oHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJh dWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJ VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUCj4gICAgICJhdWJpdDRnbC1kaXNjdXNz QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlz dHMuc291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKgIMKgIMKgPG1haWx0bzphdWJpdDRnbC1kaXNj dXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NA bGlzdHMuc291cmNlZm9yZ2UubmV0Pj4iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9V X0lOVCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9TWVNFWElUU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5F VF9UQ1BfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJH TVAgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9QQ1JFX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfWkxJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlJFQURM SU5FIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU9EQkMg MAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T UUxFWFRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtf VkVSU0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAw Cj4gICAgICA+wqAgwqAgwqB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgICA+wqAgwqAg wqB8Cj4gICAgICA+wqAgwqAgwqB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICAgPsKgIMKgIMKgfMKgIMKgIFVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICAgPsKg IMKgIMKgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbAo+ICAgICBhcHBseS7CoCAqLwo+ICAgICAgPsKgIMKgIMKgfCBjaGFyIG12YWRkX3dj aG5zdHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8IGludAo+ICAgICAgPsKgIMKgIMKgfCBtYWluICh2 b2lkKQo+ICAgICAgPsKgIMKgIMKgfCB7Cj4gICAgICA+wqAgwqAgwqB8IHJldHVybiBtdmFkZF93 Y2huc3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKg cmV0dXJuIDA7Cj4gICAgICA+wqAgwqAgwqB8IH0KPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZToz MDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9j YWwvbGliCj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliNjQvbGli bmN1cnNlcy5zby42LjEgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgICA+wqAgwqAgwqBnY2M6IGVy cm9yOiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgICA+wqAgwqAg wqBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6Cj4gICAgICA+wqAgwqAgwqB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9W RVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVAo+ICAgICAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAg ICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4KPiAgICAg ID7CoCDCoCDCoDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQK PiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4+Igo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgVkVS U0lPTiAiMS42LjEiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X0RMRkNOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRVJSX0gg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1lTX1VJT19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVERC X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X1NFTkRNQUlMIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlBDUkUg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9M SUJaIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X1pMSUJfREVGIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NR TElURTNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX0xJQk9EQkMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9VTklYT0RCQyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfR1RLIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICAgPsKgIMKgIMKgfCAvKiBlbmQg Y29uZmRlZnMuaC7CoCAqLwo+ICAgICAgPsKgIMKgIMKgfAo+ICAgICAgPsKgIMKgIMKgfCAvKiBP dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KPiAg ICAgID7CoCDCoCDCoHzCoCDCoCBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgID7CoCDCoCDCoHzCoCDCoCBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwKPiAgICAgYXBwbHkuwqAgKi8K PiAgICAgID7CoCDCoCDCoHwgY2hhciBtdmFkZF93Y2huc3RyICgpOwo+ICAgICAgPsKgIMKgIMKg fCBpbnQKPiAgICAgID7CoCDCoCDCoHwgbWFpbiAodm9pZCkKPiAgICAgID7CoCDCoCDCoHwgewo+ ICAgICAgPsKgIMKgIMKgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgID7CoCDCoCDC oHzCoCDCoDsKPiAgICAgID7CoCDCoCDCoHzCoCDCoHJldHVybiAwOwo+ICAgICAgPsKgIMKgIMKg fCB9Cj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25mdGVzdMKgIC1n IC1PMsKgIC1ML2xpYiAKPiAgICAgLUwvdXNyL2xvY2FsL2xpYgo+ICAgICAgPsKgIMKgIMKgLUwv dXNyL2xpYiBjb25mdGVzdC5jIC1sL3Vzci9saWIvbGlibmN1cnNlcy5zbyBvdGhlci1saWJzwqAg wqA+JjUKPiAgICAgID7CoCDCoCDCoGdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCj4g ICAgICA+wqAgwqAgwqBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgID7CoCDC oCDCoHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJhdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRB VUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUCj4gICAgICJhdWJpdDRnbC1kaXNj dXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NA bGlzdHMuc291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKgIMKgIMKgPG1haWx0bzphdWJpdDRnbC1k aXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1 c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pj4iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9VX0lOVCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9TWVNFWElUU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVU SU5FVF9UQ1BfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9M SUJHTVAgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICAgPsKg IMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9QQ1JFX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlJF QURMSU5FIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU9E QkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9TUUxFWFRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9H VEtfVkVSU0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAw Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1JQQ0xJ QiAwCj4gICAgICA+wqAgwqAgwqB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgICA+wqAg wqAgwqB8Cj4gICAgICA+wqAgwqAgwqB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICAgPsKgIMKgIMKgfMKgIMKgIFVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICAg PsKgIMKgIMKgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3 b3VsZCBzdGlsbAo+ICAgICBhcHBseS7CoCAqLwo+ICAgICAgPsKgIMKgIMKgfCBjaGFyIG12YWRk X3djaG5zdHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8IGludAo+ICAgICAgPsKgIMKgIMKgfCBtYWlu ICh2b2lkKQo+ICAgICAgPsKgIMKgIMKgfCB7Cj4gICAgICA+wqAgwqAgwqB8IHJldHVybiBtdmFk ZF93Y2huc3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgOwo+ICAgICAgPsKgIMKgIMKgfMKg IMKgcmV0dXJuIDA7Cj4gICAgICA+wqAgwqAgwqB8IH0KPiAgICAgID7CoCDCoCDCoGNvbmZpZ3Vy ZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3Iv bG9jYWwvbGliCj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvdXNyL2xp Yi9uY3Vyc2VzNS9saWJuY3Vyc2VzLnNvCj4gICAgIG90aGVyLWxpYnPCoCDCoD4mNQo+ICAgICAg PsKgIMKgIMKgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNzg3OiAkPyA9IDEKPiAgICAgID7CoCDCoCDC oGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICAgPsKgIMKgIMKgfCAvKiBjb25m ZGVmcy5oICovCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRn bCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04u JEFVQklUX0JVSUxEIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJB dWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQKPiAgICAgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291 cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQ+Cj4gICAgICA+wqAgwqAgwqA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMu c291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3Vy Y2Vmb3JnZS5uZXQ+PiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfU1RESU9fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBMVF9P QkpESVIgIi5saWJzLyIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAg ICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX0VSUl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU0VYSVRT X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVElO RVRfSU5fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9JS1NFTUVMIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BDUkVfSCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElC X0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9QREYgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf U0FQT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1NRTF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfUEdPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX0dUSyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9S UENHRU4gMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgID7C oCDCoCDCoHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAgID7CoCDCoCDCoHwKPiAgICAg ID7CoCDCoCDCoHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCj4gICAgICA+wqAgwqAgwqB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgICA+wqAgwqAgwqB8wqAg wqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsCj4g ICAgIGFwcGx5LsKgICovCj4gICAgICA+wqAgwqAgwqB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsK PiAgICAgID7CoCDCoCDCoHwgaW50Cj4gICAgICA+wqAgwqAgwqB8IG1haW4gKHZvaWQpCj4gICAg ICA+wqAgwqAgwqB8IHsKPiAgICAgID7CoCDCoCDCoHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7 Cj4gICAgICA+wqAgwqAgwqB8wqAgwqA7Cj4gICAgICA+wqAgwqAgwqB8wqAgwqByZXR1cm4gMDsK PiAgICAgID7CoCDCoCDCoHwgfQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMwNzg3OiBnY2Mg LW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWIgCj4gICAgIC1ML3Vzci9sb2NhbC9saWIKPiAg ICAgID7CoCDCoCDCoC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC91c3IvbGliNjQvbGlibmN1cnNl cy5zbyBvdGhlci1saWJzwqAgwqA+JjUKPiAgICAgID7CoCDCoCDCoGdjYzogZXJyb3I6IG90aGVy LWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3Vy ZTozMDc4NzogJD8gPSAxCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKPiAgICAgID7CoCDCoCDCoHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFV QklUX0JVSUxEIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUCj4g ICAgICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRv OmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKgIMKgIMKg PG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFp bHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pj4iCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQ QUNLQUdFICJBdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBWRVJTSU9OICIxLjYu MSIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9VX0lOVCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9T WVNfVUlPX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg WVlURVhUX1BPSU5URVIgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf R01QX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IEhBVkVfTElCU1NMIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1pMSUIgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X0xJQlNRTElURTMgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElC T0RCQyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgICA+wqAg wqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9PREJDSU5TVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVhPREJD IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgID7CoCDCoCDCoHwg I2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgICA+wqAgwqAgwqB8IC8qIGVuZCBjb25mZGVmcy5o LsKgICovCj4gICAgICA+wqAgwqAgwqB8Cj4gICAgICA+wqAgwqAgwqB8IC8qIE92ZXJyaWRlIGFu eSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICAgPsKgIMKg IMKgfMKgIMKgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw ZSBvZiBhIEdDQwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbAo+ICAgICBhcHBseS7CoCAqLwo+ICAgICAgPsKg IMKgIMKgfCBjaGFyIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8IGludAo+ICAg ICAgPsKgIMKgIMKgfCBtYWluICh2b2lkKQo+ICAgICAgPsKgIMKgIMKgfCB7Cj4gICAgICA+wqAg wqAgwqB8IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwo+ICAgICAgPsKgIMKgIMKgfMKgIMKgOwo+ ICAgICAgPsKgIMKgIMKgfMKgIMKgcmV0dXJuIDA7Cj4gICAgICA+wqAgwqAgwqB8IH0KPiAgICAg ID7CoCDCoCDCoGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwv bGliIAo+ICAgICAtTC91c3IvbG9jYWwvbGliCj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNv bmZ0ZXN0LmMgLWwvdXNyL2xpYjY0L25jdXJzZXM1L2xpYm5jdXJzZXMuc28KPiAgICAgID7CoCDC oCDCoG90aGVyLWxpYnPCoCDCoD4mNQo+ICAgICAgPsKgIMKgIMKgZ2NjOiBlcnJvcjogb3RoZXIt bGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJl OjMwNzg3OiAkPyA9IDEKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgo+ICAgICAgPsKgIMKgIMKgfCAvKiBjb25mZGVmcy5oICovCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVC SVRfQlVJTEQiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQKPiAg ICAgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86 YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Cj4gICAgICA+wqAgwqAgwqA8 bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWls dG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+PiIKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBB Q0tBR0UgIkF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4x Igo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgICA+wqAgwqAg wqB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X1VfSU5UIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZ U19VSU9fSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBZ WVRFWFRfUE9JTlRFUiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9H TVBfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUg SEFWRV9MSUJTU0wgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfWkxJQiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAx Cj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf TElCU1FMSVRFMyAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8 ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJP REJDIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX09EQkNJTlNUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX0dUS19WRVJTSU9OIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dUSyAwCj4g ICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgID7CoCDCoCDCoHwgLyogZW5kIGNvbmZkZWZzLmgu wqAgKi8KPiAgICAgID7CoCDCoCDCoHwKPiAgICAgID7CoCDCoCDCoHwgLyogT3ZlcnJpZGUgYW55 IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgICA+wqAgwqAg wqB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCj4gICAgICA+wqAgwqAgwqB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsCj4gICAgIGFwcGx5LsKgICovCj4gICAgICA+wqAg wqAgwqB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgID7CoCDCoCDCoHwgaW50Cj4gICAg ICA+wqAgwqAgwqB8IG1haW4gKHZvaWQpCj4gICAgICA+wqAgwqAgwqB8IHsKPiAgICAgID7CoCDC oCDCoHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgICA+wqAgwqAgwqB8wqAgwqA7Cj4g ICAgICA+wqAgwqAgwqB8wqAgwqByZXR1cm4gMDsKPiAgICAgID7CoCDCoCDCoHwgfQo+ICAgICAg PsKgIMKgIMKgY29uZmlndXJlOjMwODA3OiByZXN1bHQ6IG5vCj4gICAgICA+wqAgwqAgwqBjb25m aWd1cmU6MzA4MzY6IHJlc3VsdDogRm91bmQgbm90aGluZyB3aXRoIEFDIFNFQVJDSCBMSUJTIGlu Cj4gICAgICA+wqAgwqAgwqAvbGliL2xpYm5jdXJzZXMuc28uNQo+ICAgICAgPsKgIMKgIMKgL2xp Yi9saWJuY3Vyc2VzLnNvLjUuOQo+ICAgICAgPsKgIMKgIMKgL2xpYi9saWJuY3Vyc2VzLnNvLjYK PiAgICAgID7CoCDCoCDCoC9saWIvbGlibmN1cnNlcy5zby42LjEKPiAgICAgID7CoCDCoCDCoC9s aWI2NC9saWJuY3Vyc2VzLnNvLjUKPiAgICAgID7CoCDCoCDCoC9saWI2NC9saWJuY3Vyc2VzLnNv LjUuOQo+ICAgICAgPsKgIMKgIMKgL2xpYjY0L2xpYm5jdXJzZXMuc28uNgo+ICAgICAgPsKgIMKg IMKgL2xpYjY0L2xpYm5jdXJzZXMuc28uNi4xCj4gICAgICA+wqAgwqAgwqAvdXNyL2xpYi9saWJu Y3Vyc2VzLnNvCj4gICAgICA+wqAgwqAgwqAvdXNyL2xpYi9uY3Vyc2VzNS9saWJuY3Vyc2VzLnNv Cj4gICAgICA+wqAgwqAgwqAvdXNyL2xpYjY0L2xpYm5jdXJzZXMuc28KPiAgICAgID7CoCDCoCDC oC91c3IvbGliNjQvbmN1cnNlczUvbGlibmN1cnNlcy5zbwo+ICAgICAgPsKgIMKgIMKgY29uZmln dXJlOjMxMDc3OiBjaGVja2luZyBmb3IgY3Vyc2VzLmgKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3Vy ZTozMTA3NzogZ2NjIC1jwqAgLWcgLU8ywqAgY29uZnRlc3QuYyA+JjUKPiAgICAgID7CoCDCoCDC oGNvbmZpZ3VyZTozMTA3NzogJD8gPSAwCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzEwNzc6 IHJlc3VsdDogeWVzCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzEwODM6IGNoZWNraW5nIGZv ciBuY3Vyc2VzLmgKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMTA4MzogZ2NjIC1jwqAgLWcg LU8ywqAgY29uZnRlc3QuYyA+JjUKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMTA4MzogJD8g PSAwCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzEwODM6IHJlc3VsdDogeWVzCj4gICAgICA+ wqAgwqAgwqBjb25maWd1cmU6MzEwODk6IGNoZWNraW5nIGZvciBuY3Vyc2VzL25jdXJzZXMuaAo+ ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMxMDg5OiBnY2MgLWPCoCAtZyAtTzLCoCBjb25mdGVz dC5jID4mNQo+ICAgICAgPsKgIMKgIMKgY29uZmlndXJlOjMxMDg5OiAkPyA9IDAKPiAgICAgID7C oCDCoCDCoGNvbmZpZ3VyZTozMTA4OTogcmVzdWx0OiB5ZXMKPiAgICAgID7CoCDCoCDCoGNvbmZp Z3VyZTozMTA5NTogY2hlY2tpbmcgZm9yIGN1cnNlcy9jdXJzZXMuaAo+ICAgICAgPsKgIMKgIMKg Y29uZmlndXJlOjMxMDk1OiBnY2MgLWPCoCAtZyAtTzLCoCBjb25mdGVzdC5jID4mNQo+ICAgICAg PsKgIMKgIMKgY29uZnRlc3QuYzo5MzoxMDogZmF0YWwgZXJyb3I6IGN1cnNlcy9jdXJzZXMuaDog Tm8gc3VjaCBmaWxlIG9yCj4gICAgICA+wqAgwqAgwqBkaXJlY3RvcnkKPiAgICAgID7CoCDCoCDC oCDCoCAjaW5jbHVkZSA8Y3Vyc2VzL2N1cnNlcy5oPgo+ICAgICAgPsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgXn5+fn5+fn5+fn5+fn5+fn4KPiAgICAgID7CoCDCoCDCoGNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzEwOTU6ICQ/ID0gMQo+ICAgICAg PsKgIMKgIMKgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAgICA+wqAgwqAgwqB8 IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkF1Yml0NGdsIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXVi aXQ0Z2wiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRf VkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVAo+ICAgICAiYXViaXQ0Z2wtZGlzY3Vzc0Bs aXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3Rz LnNvdXJjZWZvcmdlLm5ldD4KPiAgICAgID7CoCDCoCDCoDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vz c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxp c3RzLnNvdXJjZWZvcmdlLm5ldD4+Igo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICAg PsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVm aW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVV9J TlQgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICAgPsKgIMKg IMKgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf U1lTRVhJVFNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKPiAgICAgID7CoCDC oCDCoHwgI2RlZmluZSBIQVZFX05FVERCX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhB VkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX05FVElORVRf VENQX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfTElCR01Q IDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgID7CoCDCoCDC oHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVf UENSRV9IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgICA+ wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBI QVZFX1pMSUJfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAg ID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgID7CoCDCoCDCoHwgI2Rl ZmluZSBIQVZFX1BERiAwCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElO RSAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgID7C oCDCoCDCoHwgI2RlZmluZSBIQVZFX1NRTElURTNfSCAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZp bmUgSEFWRV9TQVBPREJDIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0lPREJDIDAK PiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfU1FM RVhUX0ggMQo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAg ICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCj4gICAgICA+wqAgwqAgwqB8ICNk ZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLX1ZF UlNJT04gMAo+ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAg ICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgID7CoCDCoCDCoHwgI2RlZmlu ZSBIQVZFX1JQQ0dFTiAxCj4gICAgICA+wqAgwqAgwqB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ ICAgICAgPsKgIMKgIMKgfCAjZGVmaW5lIEhBVkVfQ1VSU0VTX0ggMQo+ICAgICAgPsKgIMKgIMKg fCAjZGVmaW5lIEhBVkVfTkNVUlNFU19IIDEKPiAgICAgID7CoCDCoCDCoHwgI2RlZmluZSBIQVZF X05DVVJTRVNfTkNVUlNFU19IIDEKPiAgICAgID7CoCDCoCDCoHwgLyogZW5kIGNvbmZkZWZzLmgu wqAgKi8KPiAgICAgID7CoCDCoCDCoHwgI2luY2x1ZGUgPHN0ZGRlZi5oPgo+ICAgICAgPsKgIMKg IMKgfCAjaWZkZWYgSEFWRV9TVERJT19ICj4gICAgICA+wqAgwqAgwqB8ICMgaW5jbHVkZSA8c3Rk aW8uaD4KPiAgICAgID7CoCDCoCDCoHwgI2VuZGlmCj4gICAgICA+wqAgwqAgwqB8ICNpZmRlZiBI QVZFX1NURExJQl9ICj4gICAgICA+wqAgwqAgwqB8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cj4gICAg ICA+wqAgwqAgwqB8ICNlbmRpZgo+ICAgICAgPsKgIMKgIMKgfCAjaWZkZWYgSEFWRV9TVFJJTkdf SAo+ICAgICAgPsKgIMKgIMKgfCAjIGluY2x1ZGUgPHN0cmluZy5oPgo+ICAgICAgPsKgIMKgIMKg fCAjZW5kaWYKPiAgICAgID7CoCDCoCDCoHwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAo+ICAgICAg PsKgIMKgIMKgfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+Cj4gICAgICA+wqAgwqAgwqB8ICNlbmRp Zgo+ICAgICAgPsKgIMKgIMKgfCAjaWZkZWYgSEFWRV9TVERJTlRfSAo+ICAgICAgPsKgIMKgIMKg fCAjIGluY2x1ZGUgPHN0ZGludC5oPgo+ICAgICAgPsKgIMKgIMKgfCAjZW5kaWYKPiAgICAgID7C oCDCoCDCoHwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICj4gICAgICA+wqAgwqAgwqB8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPgo+ICAgICAgPsKgIMKgIMKgfCAjZW5kaWYKPiAgICAgID7CoCDCoCDCoHwg I2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKPiAgICAgID7CoCDCoCDCoHwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4KPiAgICAgID7CoCDCoCDCoHwgI2VuZGlmCj4gICAgICA+wqAgwqAgwqB8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKPiAgICAgID7CoCDCoCDCoHwgIyBpbmNsdWRlIDxzeXMvc3RhdC5o Pgo+ICAgICAgPsKgIMKgIMKgfCAjZW5kaWYKPiAgICAgID7CoCDCoCDCoHwgI2lmZGVmIEhBVkVf VU5JU1REX0gKPiAgICAgID7CoCDCoCDCoHwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KPiAgICAgID7C oCDCoCDCoHwgI2VuZGlmCj4gICAgICA+wqAgwqAgwqB8ICNpbmNsdWRlIDxjdXJzZXMvY3Vyc2Vz Lmg+Cj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzEwOTU6IHJlc3VsdDogbm8KPiAgICAgID7C oCDCoCDCoGNvbmZpZ3VyZTozMTEzNjogY2hlY2tpbmcgZm9yIG1haW4gaW4gLWxmb3JtCj4gICAg ICA+wqAgwqAgwqBjb25maWd1cmU6MzExNTY6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKgIC1M L2xpYiAKPiAgICAgLUwvdXNyL2xvY2FsL2xpYgo+ICAgICAgPsKgIMKgIMKgLUwvdXNyL2xpYiBj b25mdGVzdC5jIC1sZm9ybcKgIMKgPiY1Cj4gICAgICA+ICAgCj4gICAgICDCoC91c3IvbGliNjQv Z2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmlu L2xkOgo+ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC91c3IvbGliL2xpYmZv cm0uc28gd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIC1sZm9ybQo+ICAgICAgPiAgIAo+ICAgICAg wqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1z dXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5nIGluY29tcGF0aWJsZSAv dXNyL2xpYi9saWJmb3JtLmEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIC1sZm9ybQo+ICAgICAg PiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4u Ly4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5nIGlu Y29tcGF0aWJsZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgICA+ wqAgwqAgwqBsaWJnY2Nfcy5zby4xCj4gICAgICA+ICAgCj4gICAgICDCoC91c3IvbGliNjQvZ2Nj L3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xk Ogo+ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGliZ2NjX3Muc28u MSB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgID7CoCDCoCDCoGxpYmdjY19zLnNvLjEKPiAgICAg ID7CoCDCoCDCoGNvbmZpZ3VyZTozMTE1NjogJD8gPSAwCj4gICAgICA+wqAgwqAgwqBjb25maWd1 cmU6MzExNjY6IHJlc3VsdDogeWVzCj4gICAgICA+wqAgwqAgwqBjb25maWd1cmU6MzExNzc6IGNo ZWNraW5nIGZvciBtYWluIGluIC1scGFuZWwKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMTE5 NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliIAo+ICAgICAtTC91c3IvbG9jYWwv bGliCj4gICAgICA+wqAgwqAgwqAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWxwYW5lbMKgIC1sZm9y bcKgID4mNQo+ICAgICAgPiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1s aW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDC oCDCoHNraXBwaW5nIGluY29tcGF0aWJsZSAvdXNyL2xpYi9saWJwYW5lbC5zbyB3aGVuIHNlYXJj aGluZyBmb3IKPiAgICAgLWxwYW5lbAo+ICAgICAgPiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2dj Yy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9s ZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5nIGluY29tcGF0aWJsZSAvdXNyL2xpYi9saWJwYW5l bC5hIHdoZW4gc2VhcmNoaW5nIGZvcgo+ICAgICAtbHBhbmVsCj4gICAgICA+ICAgCj4gICAgICDC oC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1 c2UtbGludXgvYmluL2xkOgo+ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC91 c3IvbGliL2xpYmZvcm0uc28gd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIC1sZm9ybQo+ICAgICAg PiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4u Ly4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDCoHNraXBwaW5nIGlu Y29tcGF0aWJsZSAvdXNyL2xpYi9saWJmb3JtLmEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIC1s Zm9ybQo+ICAgICAgPiAgIAo+ICAgICAgwqAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51 eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgID7CoCDCoCDC oHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcg Zm9yCj4gICAgICA+wqAgwqAgwqBsaWJnY2Nfcy5zby4xCj4gICAgICA+ICAgCj4gICAgICDCoC91 c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2Ut bGludXgvYmluL2xkOgo+ICAgICAgPsKgIMKgIMKgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIv bGliZ2NjX3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgID7CoCDCoCDCoGxpYmdjY19z LnNvLjEKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMTE5NzogJD8gPSAwCj4gICAgICA+wqAg wqAgwqBjb25maWd1cmU6MzEyMDc6IHJlc3VsdDogeWVzCj4gICAgICA+wqAgwqAgwqBjb25maWd1 cmU6MzEyNDA6IHJlc3VsdDoKPiAgICAgID7CoCDCoCDCoGNvbmZpZ3VyZTozMTI0MjogcmVzdWx0 OsKgIFsxbUNoZWNraW5nIGZvciBQRGN1cnNlcy9YY3Vyc2VzOiBbbQo+ICAgICAgPgo+ICAgICAg Pgo+ICAgICAgPsKgIMKgIMKgRWwgMjIvMy8yMyBhIGxhcyAxMToyMSwgTWlrZSBBdWJ1cnkgZXNj cmliacOzOgo+ICAgICAgPsKgIMKgIMKgID4gQ2FuIHlvdSBzZW5kIHRoZSByZWxldmFudCBwb3J0 aW9uIG9mIHRoZSBjb25maWcubG9nID8KPiAgICAgID7CoCDCoCDCoCA+Cj4gICAgICA+wqAgwqAg wqAgPiBJZiBpdHMgbm90IGZpbmRpbmcgdGhlIG5jdXJzZXMgZGV2ZWwgbGlicmFyeSAtIGl0IG1p Z2h0IGJlCj4gICAgIHRoYXQKPiAgICAgID7CoCDCoCDCoGl0IGp1c3QKPiAgICAgID7CoCDCoCDC oCA+IG5lZWRzIGEgbnVkZ2UgYXMgdG8gd2hlcmUgaXQgaXMgbG9jYXRlZC4uCj4gICAgICA+wqAg wqAgwqAgPgo+ICAgICAgPsKgIMKgIMKgID4gT24gV2VkLCAyMiBNYXIgMjAyMyBhdCAxMDoxOCwg THVpcyBQYXNjdWFsIEZvcm5lcgo+ICAgICAgPsKgIMKgIMKgPGxwYXNjdWFsQGl2YWwuY29tIDxt YWlsdG86bHBhc2N1YWxAaXZhbC5jb20+Cj4gICAgIDxtYWlsdG86bHBhc2N1YWxAaXZhbC5jb20g PG1haWx0bzpscGFzY3VhbEBpdmFsLmNvbT4+Cj4gICAgICA+wqAgwqAgwqAgPiA8bWFpbHRvOmxw YXNjdWFsQGl2YWwuY29tIDxtYWlsdG86bHBhc2N1YWxAaXZhbC5jb20+Cj4gICAgIDxtYWlsdG86 bHBhc2N1YWxAaXZhbC5jb20gPG1haWx0bzpscGFzY3VhbEBpdmFsLmNvbT4+Pj4gd3JvdGU6Cj4g ICAgICA+wqAgwqAgwqAgPgo+ICAgICAgPsKgIMKgIMKgID7CoCDCoCDCoERlYXIgQXViaXQ0R0wg dGVhbSwKPiAgICAgID7CoCDCoCDCoCA+Cj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgSSBoYXZl IGNvbXBpbGVkIGF1Yml0NGdsIG9uIG9wZW5TVVNFIExlYXAgMTUuNC4gVGhlCj4gICAgICA+wqAg wqAgwqBjb21waWxhdGlvbiB3YXMKPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqBzdWNjZXNzZnVs LCBidXQgdGhlIGN1cnNlcyBsaWJyYXJpZXMgYXJlIG5vdCBkZXRlY3RlZCwKPiAgICAgZXZlbgo+ ICAgICAgPsKgIMKgIMKgdGhvdWdoIEkKPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqBoYXZlIGFs bCB0aGUgZGlzdHJpYnV0aW9uJ3MgbmN1cnNlcyBwYWNrYWdlcyBpbnN0YWxsZWQ6Cj4gICAgICA+ wqAgwqAgwqBsaWJuY3Vyc2VzNSwKPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqBsaWJuY3Vyc2Vz NS0zMmJpdCwgbGlibmN1cnNlczYsIGxpYm5jdXJzZXM2LTMyYml0LAo+ICAgICBuY3Vyc2VzLWRl dmVsLAo+ICAgICAgPsKgIMKgIMKgID7CoCDCoCDCoG5jdXJzZXM1LWRldmVsIGFuZCBuY3Vyc2Vz NS1kZXZlbC0zMmJpdC4KPiAgICAgID7CoCDCoCDCoCA+Cj4gICAgICA+wqAgwqAgwqAgPsKgIMKg IMKgVGhlIG91dHB1dCBvZiBjb25maWd1cmUgaXM6Cj4gICAgICA+wqAgwqAgwqAgPgo+ICAgICAg PsKgIMKgIMKgID7CoCDCoCDCoENoZWNraW5nIGZvciBjdXJzZXMgbGlicmFyaWVzOgo+ICAgICAg PsKgIMKgIMKgID7CoCDCoCDCoGNoZWNraW5nIGZvciBtYWluIGluIC1sbmN1cnNlcy4uLiBubwo+ ICAgICAgPsKgIMKgIMKgID7CoCDCoCDCoGNoZWNraW5nIGZvciB3aW5uc3RyIGluIC1sbmN1cnNl cy4uLiBubwo+ICAgICAgPsKgIMKgIMKgID7CoCDCoCDCoGNoZWNraW5nIGZvciB3aW5uc3RyIGlu IC1sY3Vyc2VzLi4uIG5vCj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgeWVzIC0gZm91bmQKPiAg ICAgID7CoCDCoCDCoCA+wqAgwqAgwqBjaGVja2luZyBGb3IgYW55IGxpYm5jdXJzZXMgbGlicmFy eSBvbiB0aGUgc3lzdGVtLi4uCj4gICAgIGNoZWNraW5nIGZvcgo+ICAgICAgPsKgIMKgIMKgID7C oCDCoCDCoGxpYnJhcnkgY29udGFpbmluZyBtdmFkZF93Y2huc3RyLi4uIG5vCj4gICAgICA+wqAg wqAgwqAgPsKgIMKgIMKgRGlkIG5vdCBmaW5kIGl0Cj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKg Rm91bmQgbm90aGluZyB3aXRoIEFDIFNFQVJDSCBMSUJTIGluIC9saWIvbGlibmN1cnNlcy5zby41 Cj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgL2xpYi9saWJuY3Vyc2VzLnNvLjUuOQo+ICAgICAg PsKgIMKgIMKgID7CoCDCoCDCoC9saWIvbGlibmN1cnNlcy5zby42Cj4gICAgICA+wqAgwqAgwqAg PsKgIMKgIMKgL2xpYi9saWJuY3Vyc2VzLnNvLjYuMQo+ICAgICAgPsKgIMKgIMKgID7CoCDCoCDC oC9saWI2NC9saWJuY3Vyc2VzLnNvLjUKPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqAvbGliNjQv bGlibmN1cnNlcy5zby41LjkKPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqAvbGliNjQvbGlibmN1 cnNlcy5zby42Cj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgL2xpYjY0L2xpYm5jdXJzZXMuc28u Ni4xCj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgL3Vzci9saWIvbGlibmN1cnNlcy5zbwo+ICAg ICAgPsKgIMKgIMKgID7CoCDCoCDCoC91c3IvbGliL25jdXJzZXM1L2xpYm5jdXJzZXMuc28KPiAg ICAgID7CoCDCoCDCoCA+wqAgwqAgwqAvdXNyL2xpYjY0L2xpYm5jdXJzZXMuc28KPiAgICAgID7C oCDCoCDCoCA+wqAgwqAgwqAvdXNyL2xpYjY0L25jdXJzZXM1L2xpYm5jdXJzZXMuc28KPiAgICAg ID7CoCDCoCDCoCA+wqAgwqAgwqBjaGVja2luZyBmb3IgY3Vyc2VzLmguLi4geWVzCj4gICAgICA+ wqAgwqAgwqAgPsKgIMKgIMKgY2hlY2tpbmcgZm9yIG5jdXJzZXMuaC4uLiB5ZXMKPiAgICAgID7C oCDCoCDCoCA+wqAgwqAgwqBjaGVja2luZyBmb3IgbmN1cnNlcy9uY3Vyc2VzLmguLi4geWVzCj4g ICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgY2hlY2tpbmcgZm9yIGN1cnNlcy9jdXJzZXMuaC4uLiBu bwo+ICAgICAgPsKgIMKgIMKgID7CoCDCoCDCoGNoZWNraW5nIGZvciBtYWluIGluIC1sZm9ybS4u LiB5ZXMKPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqBjaGVja2luZyBmb3IgbWFpbiBpbiAtbHBh bmVsLi4uIHllcwo+ICAgICAgPsKgIMKgIMKgID4KPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqBX aGF0IEkgY2FuIGRvPwo+ICAgICAgPsKgIMKgIMKgID4KPiAgICAgID7CoCDCoCDCoCA+wqAgwqAg wqBUaGFua3MgaW4gYWR2YW5jZQo+ICAgICAgPsKgIMKgIMKgID4KPiAgICAgID7CoCDCoCDCoCA+ Cj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiAgICAgID7CoCDCoCDCoCA+wqAgwqAgwqBBdWJpdDRnbC1kaXNj dXNzIG1haWxpbmcgbGlzdAo+ICAgICAgPsKgIMKgIMKgID4gQXViaXQ0Z2wtZGlzY3Vzc0BsaXN0 cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzpBdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNv dXJjZWZvcmdlLm5ldD4KPiAgICAgID7CoCDCoCDCoDxtYWlsdG86QXViaXQ0Z2wtZGlzY3Vzc0Bs aXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzpBdWJpdDRnbC1kaXNjdXNzQGxpc3Rz LnNvdXJjZWZvcmdlLm5ldD4+Cj4gICAgICA+wqAgwqAgwqAgPsKgIMKgIMKgPG1haWx0bzpBdWJp dDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOkF1Yml0NGds LWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pgo+ICAgICAgPsKgIMKgIMKgPG1haWx0bzpB dWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOkF1Yml0 NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pj4+Cj4gICAgICA+wqAgwqAgwqAgPgo+ ICAgICBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJpdDRn bC1kaXNjdXNzCj4gICAgIDxodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0 aW5mby9hdWJpdDRnbC1kaXNjdXNzPgo+ICAgICAgPiAgIAo+ICAgICAgwqA8aHR0cHM6Ly9saXN0 cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vYXViaXQ0Z2wtZGlzY3Vzcwo+ICAgICA8 aHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vYXViaXQ0Z2wtZGlz Y3Vzcz4+Cj4gICAgICA+wqAgwqAgwqAgPgo+ICAgICAgPiAgICAgCj4gICAgICDCoDxodHRwczov L2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJpdDRnbC1kaXNjdXNzCj4g ICAgIDxodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJpdDRn bC1kaXNjdXNzPgo+ICAgICAgPiAgIAo+ICAgICAgwqA8aHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3Jn ZS5uZXQvbGlzdHMvbGlzdGluZm8vYXViaXQ0Z2wtZGlzY3Vzcwo+ICAgICA8aHR0cHM6Ly9saXN0 cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vYXViaXQ0Z2wtZGlzY3Vzcz4+Pgo+ICAg ICAgPsKgIMKgIMKgID4KPiAgICAgID4KPiAKPiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICAgIC9F c3RlIG1lbnNhamUgeSBsb3MgZmljaGVyb3MgYW5leG9zIHNvbiBjb25maWRlbmNpYWxlcyB5IGNv bnRpZW5lbgo+ICAgICBpbmZvcm1hY2nDs24gcmVzZXJ2YWRhIGRlIGxhIGVtcHJlc2EgcXVlIG5v IHB1ZWRlIHNlciBkaWZ1bmRpZGEuIFNpIHVzdGVkCj4gICAgIGhhIHJlY2liaWRvIGVzdGUgY29y cmVvIHBvciBlcnJvciwgbGUgcm9nYW1vcyBxdWUgbG8gZWxpbWluZSBkZSBzdQo+ICAgICBzaXN0 ZW1hIHkgYXZpc2UgYWwgcmVtaXRlbnRlIG1lZGlhbnRlIHJlZW52w61vIGEgc3UgZGlyZWNjacOz bgo+ICAgICBlbGVjdHLDs25pY2E7IG5vIGRlYmVyw6EgY29waWFyIGVsIG1lbnNhamUgbmkgZGl2 dWxnYXIgc3UgY29udGVuaWRvIGEKPiAgICAgbmluZ3VuYSBwZXJzb25hLgo+ICAgICAvCj4gICAg IC8KPiAgICAgLwo+ICAgICAvU3UgZGlyZWNjacOzbiBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvIGp1 bnRvIGEgc3VzIGRhdG9zIHBlcnNvbmFsZXMgZm9ybWFuCj4gICAgIHBhcnRlIGRlIHVuIGZpY2hl cm8gdGl0dWxhcmlkYWQgZGUgSVZBTCBpbmZvcm3DoXRpY2EsIGN1eWEgZmluYWxpZGFkIGVzCj4g ICAgIGxhIGRlIG1hbnRlbmVyIGVsIGNvbnRhY3RvIGNvbiBVZC4gRGUgYWN1ZXJkbyBjb24gbGEg TGV5IE9yZ8OhbmljYQo+ICAgICAzLzIwMTgsIGRlIDUgZGUgZGljaWVtYnJlLCBkZSBQcm90ZWNj acOzbiBkZSBEYXRvcyBQZXJzb25hbGVzIHkgZ2FyYW50w61hCj4gICAgIGRlIGxvcyBkZXJlY2hv cyBkaWdpdGFsZXMsIHVzdGVkIHB1ZWRlIGVqZXJjaXRhciBzdXMgZGVyZWNob3MgZGUgYWNjZXNv LAo+ICAgICByZWN0aWZpY2FjacOzbiwgY2FuY2VsYWNpw7NuIHksIGVuIHN1IGNhc28sIG9wb3Np Y2nDs24gZW52aWFuZG8gdW5hCj4gICAgIHNvbGljaXR1ZCBwb3IgZXNjcml0bywgYWNvbXBhw7Fh ZGEgZGUgdW5hIGZvdG9jb3BpYSBkZSBzdSBETkkgZGlyaWdpZGEgYToKPiAgICAgQy8gQ29tcHJv bWlzbyBkZSBDYXNwZSwgMS1QdGEuMiAoNDYwMDcpIFZhbGVuY2lhLiAvCj4gCj4gCj4gICAgIF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gICAgIEF1Yml0 NGdsLWRpc2N1c3MgbWFpbGluZyBsaXN0Cj4gICAgIEF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291 cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86QXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQ+Cj4gICAgIGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3Rp bmZvL2F1Yml0NGdsLWRpc2N1c3MKPiAgICAgPGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0 L2xpc3RzL2xpc3RpbmZvL2F1Yml0NGdsLWRpc2N1c3M+Cj4gCgotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KL0Vz dGUgbWVuc2FqZSB5IGxvcyBmaWNoZXJvcyBhbmV4b3Mgc29uIGNvbmZpZGVuY2lhbGVzIHkgY29u dGllbmVuCmluZm9ybWFjacOzbiByZXNlcnZhZGEgZGUgbGEgZW1wcmVzYSBxdWUgbm8gcHVlZGUg c2VyIGRpZnVuZGlkYS4gU2kgdXN0ZWQKaGEgcmVjaWJpZG8gZXN0ZSBjb3JyZW8gcG9yIGVycm9y LCBsZSByb2dhbW9zIHF1ZSBsbyBlbGltaW5lIGRlIHN1CnNpc3RlbWEgeSBhdmlzZSBhbCByZW1p dGVudGUgbWVkaWFudGUgcmVlbnbDrW8gYSBzdSBkaXJlY2Npw7NuCmVsZWN0csOzbmljYTsgbm8g ZGViZXLDoSBjb3BpYXIgZWwgbWVuc2FqZSBuaSBkaXZ1bGdhciBzdSBjb250ZW5pZG8gYQpuaW5n dW5hIHBlcnNvbmEuCi8KLwovCi9TdSBkaXJlY2Npw7NuIGRlIGNvcnJlbyBlbGVjdHLDs25pY28g anVudG8gYSBzdXMgZGF0b3MgcGVyc29uYWxlcyBmb3JtYW4KcGFydGUgZGUgdW4gZmljaGVybyB0 aXR1bGFyaWRhZCBkZSBJVkFMIGluZm9ybcOhdGljYSwgY3V5YSBmaW5hbGlkYWQgZXMKbGEgZGUg bWFudGVuZXIgZWwgY29udGFjdG8gY29uIFVkLiBEZSBhY3VlcmRvIGNvbiBsYSBMZXkgT3Jnw6Fu aWNhCjMvMjAxOCwgZGUgNSBkZSBkaWNpZW1icmUsIGRlIFByb3RlY2Npw7NuIGRlIERhdG9zIFBl cnNvbmFsZXMgeSBnYXJhbnTDrWEKZGUgbG9zIGRlcmVjaG9zIGRpZ2l0YWxlcywgdXN0ZWQgcHVl ZGUgZWplcmNpdGFyIHN1cyBkZXJlY2hvcyBkZSBhY2Nlc28sCnJlY3RpZmljYWNpw7NuLCBjYW5j ZWxhY2nDs24geSwgZW4gc3UgY2Fzbywgb3Bvc2ljacOzbiBlbnZpYW5kbyB1bmEKc29saWNpdHVk IHBvciBlc2NyaXRvLCBhY29tcGHDsWFkYSBkZSB1bmEgZm90b2NvcGlhIGRlIHN1IEROSSBkaXJp Z2lkYSBhOgpDLyBDb21wcm9taXNvIGRlIENhc3BlLCAxLVB0YS4yICg0NjAwNykgVmFsZW5jaWEu IC8KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBdWJp dDRnbC1kaXNjdXNzIG1haWxpbmcgbGlzdApBdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZv cmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJp dDRnbC1kaXNjdXNzCg==