From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gFfnf-0002Qr-96 for qemu-devel@nongnu.org; Thu, 25 Oct 2018 09:36:37 -0400 Received: from mail-sn1nam01on0115.outbound.protection.outlook.com ([104.47.32.115]:22704 helo=NAM01-SN1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gFfTE-0008SR-KJ for qemu-devel@nongnu.org; Thu, 25 Oct 2018 09:14:42 -0400 From: Stefan Markovic Date: Thu, 25 Oct 2018 13:14:23 +0000 Message-ID: <2ed60994-94e7-2316-1da7-364fbc11008a@wavecomp.com> References: <1540457346-30999-1-git-send-email-aleksandar.markovic@rt-rk.com> <1540457346-30999-4-git-send-email-aleksandar.markovic@rt-rk.com> In-Reply-To: <1540457346-30999-4-git-send-email-aleksandar.markovic@rt-rk.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v2 3/3] target/mips: Add disassembler support for nanoMIPS List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aleksandar Markovic , "qemu-devel@nongnu.org" Cc: "aurelien@aurel32.net" , Aleksandar Markovic , Petar Jovanovic DQpPbiAyNS4xMC4xOC4gMTA6NDksIEFsZWtzYW5kYXIgTWFya292aWMgd3JvdGU6DQo+IEZyb206 IEFsZWtzYW5kYXIgTWFya292aWMgPGFtYXJrb3ZpY0B3YXZlY29tcC5jb20+DQo+DQo+IEFkZCBk aXNhc3NlbWJsZXIgc3VwcG9ydCBmb3IgbmFub01JUFMuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IE1h dHRoZXcgRm9ydHVuZSA8bWF0dGhldy5mb3J0dW5lQG1pcHMuY29tPg0KPiBTaWduZWQtb2ZmLWJ5 OiBBbGVrc2FuZGFyIE1hcmtvdmljIDxhbWFya292aWNAd2F2ZWNvbXAuY29tPg0KPiAtLS0NCj4g ICBNQUlOVEFJTkVSUyAgICAgICAgICAgfCAgICAgMiArDQo+ICAgY29uZmlndXJlICAgICAgICAg ICAgIHwgICAgIDMgKw0KPiAgIGRpc2FzL01ha2VmaWxlLm9ianMgICB8ICAgICAxICsNCj4gICBk aXNhcy9uYW5vbWlwcy5jcHAgICAgfCAyMjI0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysNCj4gICBkaXNhcy9uYW5vbWlwcy5oICAgICAgfCAgMTA5OSAr KysNCj4gICBpbmNsdWRlL2Rpc2FzL2JmZC5oICAgfCAgICAgMSArDQo+ICAgaW5jbHVkZS9leGVj L3BvaXNvbi5oIHwgICAgIDEgKw0KPiAgIHRhcmdldC9taXBzL2NwdS5jICAgICB8ICAgIDEzICst DQo+ICAgOCBmaWxlcyBjaGFuZ2VkLCAyMzM2MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQ0KPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkaXNhcy9uYW5vbWlwcy5jcHANCj4gICBjcmVhdGUg bW9kZSAxMDA2NDQgZGlzYXMvbmFub21pcHMuaA0KDQoNCkkgcmVjb21tZW5kIGZ1cnRoZXIgY2xl YW51cCBpbiBmdXR1cmUgdmVyc2lvbnMuDQoNCk90aGVyd2lzZToNCg0KUmV2aWV3ZWQtYnk6IFN0 ZWZhbiBNYXJrb3ZpYyA8c21hcmtvdmljQHdhdmVjb21wLmNvbT4NCg0KDQo+IGRpZmYgLS1naXQg YS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTDQo+IGluZGV4IDQwNjcyYzQuLmQ3OTRiZDcgMTAw NjQ0DQo+IC0tLSBhL01BSU5UQUlORVJTDQo+ICsrKyBiL01BSU5UQUlORVJTDQo+IEBAIC0yMDIs NiArMjAyLDggQEAgRjogaW5jbHVkZS9ody9pbnRjL21pcHNfZ2ljLmgNCj4gICBGOiBpbmNsdWRl L2h3L3RpbWVyL21pcHNfZ2ljdGltZXIuaA0KPiAgIEY6IHRlc3RzL3RjZy9taXBzLw0KPiAgIEY6 IGRpc2FzL21pcHMuYw0KPiArRjogZGlzYXMvbmFub21pcHMuaA0KPiArRjogZGlzYXMvbmFub21p cHMuY3BwDQo+ICAgDQo+ICAgTW94aWUNCj4gICBNOiBBbnRob255IEdyZWVuIDxncmVlbkBtb3hp ZWxvZ2ljLmNvbT4NCj4gZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQ0KPiBpbmRl eCAxZWUwOWJkLi4xYzQ3M2NlIDEwMDc1NQ0KPiAtLS0gYS9jb25maWd1cmUNCj4gKysrIGIvY29u ZmlndXJlDQo+IEBAIC03MjY0LDYgKzcyNjQsOSBAQCBmb3IgaSBpbiAkQVJDSCAkVEFSR0VUX0JB U0VfQVJDSCA7IGRvDQo+ICAgICA7Ow0KPiAgICAgbWlwcyopDQo+ICAgICAgIGRpc2FzX2NvbmZp ZyAiTUlQUyINCj4gKyAgICBpZiB0ZXN0IC1uICIke2N4eH0iOyB0aGVuDQo+ICsgICAgICBkaXNh c19jb25maWcgIk5BTk9NSVBTIg0KPiArICAgIGZpDQo+ICAgICA7Ow0KPiAgICAgbW94aWUqKQ0K PiAgICAgICBkaXNhc19jb25maWcgIk1PWElFIg0KPiBkaWZmIC0tZ2l0IGEvZGlzYXMvTWFrZWZp bGUub2JqcyBiL2Rpc2FzL01ha2VmaWxlLm9ianMNCj4gaW5kZXggMjEzYmUyZi4uM2MxY2RjZSAx MDA2NDQNCj4gLS0tIGEvZGlzYXMvTWFrZWZpbGUub2Jqcw0KPiArKysgYi9kaXNhcy9NYWtlZmls ZS5vYmpzDQo+IEBAIC0xNCw2ICsxNCw3IEBAIGNvbW1vbi1vYmotJChDT05GSUdfSTM4Nl9ESVMp ICs9IGkzODYubw0KPiAgIGNvbW1vbi1vYmotJChDT05GSUdfTTY4S19ESVMpICs9IG02OGsubw0K PiAgIGNvbW1vbi1vYmotJChDT05GSUdfTUlDUk9CTEFaRV9ESVMpICs9IG1pY3JvYmxhemUubw0K PiAgIGNvbW1vbi1vYmotJChDT05GSUdfTUlQU19ESVMpICs9IG1pcHMubw0KPiArY29tbW9uLW9i ai0kKENPTkZJR19OQU5PTUlQU19ESVMpICs9IG5hbm9taXBzLm8NCj4gICBjb21tb24tb2JqLSQo Q09ORklHX05JT1MyX0RJUykgKz0gbmlvczIubw0KPiAgIGNvbW1vbi1vYmotJChDT05GSUdfTU9Y SUVfRElTKSArPSBtb3hpZS5vDQo+ICAgY29tbW9uLW9iai0kKENPTkZJR19QUENfRElTKSArPSBw cGMubw0KPiBkaWZmIC0tZ2l0IGEvZGlzYXMvbmFub21pcHMuY3BwIGIvZGlzYXMvbmFub21pcHMu Y3BwDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAuLjEyMzhjMmYNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysgYi9kaXNhcy9uYW5vbWlwcy5jcHANCj4gQEAgLTAsMCArMSwy MjI0MiBAQA0KPiArLyoNCj4gKyAqICBTb3VyY2UgZmlsZSBmb3IgbmFub01JUFMgZGlzYXNzZW1i bGVyIGNvbXBvbmVudCBvZiBRRU1VDQo+ICsgKg0KPiArICogIENvcHlyaWdodCAoQykgMjAxOCAg V2F2ZSBDb21wdXRpbmcNCj4gKyAqICBDb3B5cmlnaHQgKEMpIDIwMTggIE1hdHRoZXcgRm9ydHVu ZSA8bWF0dGhldy5mb3J0dW5lQG1pcHMuY29tPg0KPiArICogIENvcHlyaWdodCAoQykgMjAxOCAg QWxla3NhbmRhciBNYXJrb3ZpYyA8YWxla3NhbmRhci5tYXJrb3ZpY0B3YXZlY29tcC5jb20+DQo+ ICsgKg0KPiArICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ICsgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4gKyAqICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcg0KPiArICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICsgKg0K PiArICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLA0KPiArICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQo+ICsgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KPiArICogIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ICsgKg0KPiArICogIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlDQo+ICsgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KPiArICovDQo+ICsNCj4gK2V4dGVybiAiQyIgew0K PiArI2luY2x1ZGUgInFlbXUvb3NkZXAuaCINCj4gKyNpbmNsdWRlICJkaXNhcy9iZmQuaCINCj4g K30NCj4gKw0KPiArI2luY2x1ZGUgPGNzdHJpbmc+DQo+ICsjaW5jbHVkZSA8c3RkZXhjZXB0Pg0K PiArI2luY2x1ZGUgPHNzdHJlYW0+DQo+ICsjaW5jbHVkZSA8c3RkaW8uaD4NCj4gKyNpbmNsdWRl IDxzdGRhcmcuaD4NCj4gKw0KPiArI2luY2x1ZGUgIm5hbm9taXBzLmgiDQo+ICsNCj4gKyNkZWZp bmUgSU1HQVNTRVJUT05DRSh0ZXN0KQ0KPiArDQo+ICsNCj4gK2ludCBuYW5vbWlwc19kaXMoY2hh ciAqYnVmLA0KPiArICAgICAgICAgICAgICAgICB1bnNpZ25lZCBhZGRyZXNzLA0KPiArICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBzaG9ydCBvbmUsDQo+ICsgICAgICAgICAgICAgICAgIHVuc2ln bmVkIHNob3J0IHR3bywNCj4gKyAgICAgICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgdGhyZWUp DQo+ICt7DQo+ICsgICAgc3RkOjpzdHJpbmcgZGlzYXNtOw0KPiArICAgIHVpbnQxNiBiaXRzWzNd ID0ge29uZSwgdHdvLCB0aHJlZX07DQo+ICsNCj4gKyAgICBOTUQ6OlRBQkxFX0VOVFJZX1RZUEUg dHlwZTsNCj4gKyAgICBOTUQgZChhZGRyZXNzLCBOTUQ6OkFMTF9BVFRSSUJVVEVTKTsNCj4gKyAg ICBpbnQgc2l6ZSA9IGQuRGlzYXNzZW1ibGUoYml0cywgZGlzYXNtLCB0eXBlKTsNCj4gKw0KPiAr ICAgIHN0cmNweShidWYsIGRpc2FzbS5jX3N0cigpKTsNCj4gKyAgICByZXR1cm4gc2l6ZTsNCj4g K30NCj4gKw0KPiAraW50IHByaW50X2luc25fbmFub21pcHMoYmZkX3ZtYSBtZW1hZGRyLCBzdHJ1 Y3QgZGlzYXNzZW1ibGVfaW5mbyAqaW5mbykNCj4gK3sNCj4gKyAgICBpbnQgc3RhdHVzOw0KPiAr ICAgIGJmZF9ieXRlIGJ1ZmZlclsyXTsNCj4gKyAgICB1aW50MTZfdCBpbnNuMSA9IDAsIGluc24y ID0gMCwgaW5zbjMgPSAwOw0KPiArICAgIGNoYXIgYnVmWzIwMF07DQo+ICsNCj4gKyAgICBpbmZv LT5ieXRlc19wZXJfY2h1bmsgPSAyOw0KPiArICAgIGluZm8tPmRpc3BsYXlfZW5kaWFuID0gaW5m by0+ZW5kaWFuOw0KPiArICAgIGluZm8tPmluc25faW5mb192YWxpZCA9IDE7DQo+ICsgICAgaW5m by0+YnJhbmNoX2RlbGF5X2luc25zID0gMDsNCj4gKyAgICBpbmZvLT5kYXRhX3NpemUgPSAwOw0K PiArICAgIGluZm8tPmluc25fdHlwZSA9IGRpc19ub25icmFuY2g7DQo+ICsgICAgaW5mby0+dGFy Z2V0ID0gMDsNCj4gKyAgICBpbmZvLT50YXJnZXQyID0gMDsNCj4gKw0KPiArICAgIHN0YXR1cyA9 ICgqaW5mby0+cmVhZF9tZW1vcnlfZnVuYykobWVtYWRkciwgYnVmZmVyLCAyLCBpbmZvKTsNCj4g KyAgICBpZiAoc3RhdHVzICE9IDApIHsNCj4gKyAgICAgICAgKCppbmZvLT5tZW1vcnlfZXJyb3Jf ZnVuYykoc3RhdHVzLCBtZW1hZGRyLCBpbmZvKTsNCj4gKyAgICAgICAgcmV0dXJuIC0xOw0KPiAr ICAgIH0NCj4gKw0KPiArICAgIGlmIChpbmZvLT5lbmRpYW4gPT0gQkZEX0VORElBTl9CSUcpIHsN Cj4gKyAgICAgICAgaW5zbjEgPSBiZmRfZ2V0YjE2KGJ1ZmZlcik7DQo+ICsgICAgfSBlbHNlIHsN Cj4gKyAgICAgICAgaW5zbjEgPSBiZmRfZ2V0bDE2KGJ1ZmZlcik7DQo+ICsgICAgfQ0KPiArICAg ICgqaW5mby0+ZnByaW50Zl9mdW5jKShpbmZvLT5zdHJlYW0sICIlMDR4ICIsIGluc24xKTsNCj4g Kw0KPiArICAgIC8qIEhhbmRsZSAzMi1iaXQgb3Bjb2Rlcy4gICovDQo+ICsgICAgaWYgKChpbnNu MSAmIDB4MTAwMCkgPT0gMCkgew0KPiArICAgICAgICBzdGF0dXMgPSAoKmluZm8tPnJlYWRfbWVt b3J5X2Z1bmMpKG1lbWFkZHIgKyAyLCBidWZmZXIsIDIsIGluZm8pOw0KPiArICAgICAgICBpZiAo c3RhdHVzICE9IDApIHsNCj4gKyAgICAgICAgICAgICgqaW5mby0+bWVtb3J5X2Vycm9yX2Z1bmMp KHN0YXR1cywgbWVtYWRkciArIDIsIGluZm8pOw0KPiArICAgICAgICAgICAgcmV0dXJuIC0xOw0K PiArICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgaWYgKGluZm8tPmVuZGlhbiA9PSBCRkRfRU5E SUFOX0JJRykgew0KPiArICAgICAgICAgICAgaW5zbjIgPSBiZmRfZ2V0YjE2KGJ1ZmZlcik7DQo+ ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICBpbnNuMiA9IGJmZF9nZXRsMTYoYnVm ZmVyKTsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICAoKmluZm8tPmZwcmludGZfZnVuYykoaW5m by0+c3RyZWFtLCAiJTA0eCAiLCBpbnNuMik7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgICAg KCppbmZvLT5mcHJpbnRmX2Z1bmMpKGluZm8tPnN0cmVhbSwgIiAgICAgIik7DQo+ICsgICAgfQ0K PiArICAgIC8qIEhhbmRsZSA0OC1iaXQgb3Bjb2Rlcy4gICovDQo+ICsgICAgaWYgKChpbnNuMSA+ PiAxMCkgPT0gMHgxOCkgew0KPiArICAgICAgICBzdGF0dXMgPSAoKmluZm8tPnJlYWRfbWVtb3J5 X2Z1bmMpKG1lbWFkZHIgKyA0LCBidWZmZXIsIDIsIGluZm8pOw0KPiArICAgICAgICBpZiAoc3Rh dHVzICE9IDApIHsNCj4gKyAgICAgICAgICAgICgqaW5mby0+bWVtb3J5X2Vycm9yX2Z1bmMpKHN0 YXR1cywgbWVtYWRkciArIDQsIGluZm8pOw0KPiArICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiAr ICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgaWYgKGluZm8tPmVuZGlhbiA9PSBCRkRfRU5ESUFO X0JJRykgew0KPiArICAgICAgICAgICAgaW5zbjMgPSBiZmRfZ2V0YjE2KGJ1ZmZlcik7DQo+ICsg ICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICBpbnNuMyA9IGJmZF9nZXRsMTYoYnVmZmVy KTsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICAoKmluZm8tPmZwcmludGZfZnVuYykoaW5mby0+ c3RyZWFtLCAiJTA0eCAiLCBpbnNuMyk7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgKCpp bmZvLT5mcHJpbnRmX2Z1bmMpKGluZm8tPnN0cmVhbSwgIiAgICAgIik7DQo+ICsgICAgfQ0KPiAr DQo+ICsgICAgaW50IGxlbmd0aCA9IG5hbm9taXBzX2RpcyhidWYsIG1lbWFkZHIsIGluc24xLCBp bnNuMiwgaW5zbjMpOw0KPiArDQo+ICsgICAgLyogRklYTUU6IFNob3VsZCBwcm9iYWJseSB1c2Ug YSBoYXNoIHRhYmxlIG9uIHRoZSBtYWpvciBvcGNvZGUgaGVyZS4gICovDQo+ICsNCj4gKyAgICAo KmluZm8tPmZwcmludGZfZnVuYykgKGluZm8tPnN0cmVhbSwgIiVzIiwgYnVmKTsNCj4gKyAgICBp ZiAobGVuZ3RoID4gMCkgew0KPiArICAgICAgICByZXR1cm4gbGVuZ3RoIC8gODsNCj4gKyAgICB9 DQo+ICsNCj4gKyAgICBpbmZvLT5pbnNuX3R5cGUgPSBkaXNfbm9uaW5zbjsNCj4gKw0KPiArICAg IHJldHVybiBpbnNuMyA/IDYgOiBpbnNuMiA/IDQgOiAyOw0KPiArfQ0KPiArDQo+ICsNCj4gK25h bWVzcGFjZSBpbWcNCj4gK3sNCj4gKyAgICBhZGRyZXNzIGFkZHIzMihhZGRyZXNzIGEpDQo+ICsg ICAgew0KPiArICAgICAgICByZXR1cm4gYTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBmb3JtYXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pDQo+ICsgICAgew0KPiArICAgICAg ICBjaGFyIGJ1ZmZlclsyNTZdOw0KPiArICAgICAgICB2YV9saXN0IGFyZ3M7DQo+ICsgICAgICAg IHZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7DQo+ICsgICAgICAgIGludCBlcnIgPSB2c3ByaW50Zihi dWZmZXIsIGZvcm1hdCwgYXJncyk7DQo+ICsgICAgICAgIGlmIChlcnIgPCAwKSB7DQo+ICsgICAg ICAgICAgICBwZXJyb3IoYnVmZmVyKTsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICB2YV9lbmQo YXJncyk7DQo+ICsgICAgICAgIHJldHVybiBidWZmZXI7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgZm9ybWF0KGNvbnN0IGNoYXIgKmZvcm1hdCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgc3RkOjpzdHJpbmcgcykNCj4gKyAgICB7DQo+ICsgICAgICAgIGNoYXIgYnVmZmVy WzI1Nl07DQo+ICsNCj4gKyAgICAgICAgc3ByaW50ZihidWZmZXIsIGZvcm1hdCwgcy5jX3N0cigp KTsNCj4gKw0KPiArICAgICAgICByZXR1cm4gYnVmZmVyOw0KPiArICAgIH0NCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIGZvcm1hdChjb25zdCBjaGFyICpmb3JtYXQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIHN0ZDo6c3RyaW5nIHMxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICBzdGQ6 OnN0cmluZyBzMikNCj4gKyAgICB7DQo+ICsgICAgICAgIGNoYXIgYnVmZmVyWzI1Nl07DQo+ICsN Cj4gKyAgICAgICAgc3ByaW50ZihidWZmZXIsIGZvcm1hdCwgczEuY19zdHIoKSwgczIuY19zdHIo KSk7DQo+ICsNCj4gKyAgICAgICAgcmV0dXJuIGJ1ZmZlcjsNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmb3JtYXQoY29uc3QgY2hhciAqZm9ybWF0LA0KPiArICAgICAgICAgICAg ICAgICAgICAgICBzdGQ6OnN0cmluZyBzMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3Rk OjpzdHJpbmcgczIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6c3RyaW5nIHMzKQ0K PiArICAgIHsNCj4gKyAgICAgICAgY2hhciBidWZmZXJbMjU2XTsNCj4gKw0KPiArICAgICAgICBz cHJpbnRmKGJ1ZmZlciwgZm9ybWF0LCBzMS5jX3N0cigpLCBzMi5jX3N0cigpLCBzMy5jX3N0cigp KTsNCj4gKw0KPiArICAgICAgICByZXR1cm4gYnVmZmVyOw0KPiArICAgIH0NCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIGZvcm1hdChjb25zdCBjaGFyICpmb3JtYXQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIHN0ZDo6c3RyaW5nIHMxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICBzdGQ6 OnN0cmluZyBzMiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgczMsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6c3RyaW5nIHM0KQ0KPiArICAgIHsNCj4gKyAg ICAgICAgY2hhciBidWZmZXJbMjU2XTsNCj4gKw0KPiArICAgICAgICBzcHJpbnRmKGJ1ZmZlciwg Zm9ybWF0LCBzMS5jX3N0cigpLCBzMi5jX3N0cigpLCBzMy5jX3N0cigpLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzNC5jX3N0cigpKTsNCj4gKw0KPiArICAgICAgICByZXR1 cm4gYnVmZmVyOw0KPiArICAgIH0NCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZvcm1hdChjb25z dCBjaGFyICpmb3JtYXQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6c3RyaW5nIHMx LA0KPiArICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyBzMiwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgczMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg IHN0ZDo6c3RyaW5nIHM0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyBz NSkNCj4gKyAgICB7DQo+ICsgICAgICAgIGNoYXIgYnVmZmVyWzI1Nl07DQo+ICsNCj4gKyAgICAg ICAgc3ByaW50ZihidWZmZXIsIGZvcm1hdCwgczEuY19zdHIoKSwgczIuY19zdHIoKSwgczMuY19z dHIoKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgczQuY19zdHIoKSwgczUu Y19zdHIoKSk7DQo+ICsNCj4gKyAgICAgICAgcmV0dXJuIGJ1ZmZlcjsNCj4gKyAgICB9DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmb3JtYXQoY29uc3QgY2hhciAqZm9ybWF0LA0KPiArICAgICAg ICAgICAgICAgICAgICAgICB1aW50NjQgZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3Rk OjpzdHJpbmcgczIpDQo+ICsgICAgew0KPiArICAgICAgICBjaGFyIGJ1ZmZlclsyNTZdOw0KPiAr DQo+ICsgICAgICAgIHNwcmludGYoYnVmZmVyLCBmb3JtYXQsIGQsIHMyLmNfc3RyKCkpOw0KPiAr DQo+ICsgICAgICAgIHJldHVybiBidWZmZXI7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgZm9ybWF0KGNvbnN0IGNoYXIgKmZvcm1hdCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgc3RkOjpzdHJpbmcgczEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NCBkLA0K PiArICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyBzMikNCj4gKyAgICB7DQo+ICsg ICAgICAgIGNoYXIgYnVmZmVyWzI1Nl07DQo+ICsNCj4gKyAgICAgICAgc3ByaW50ZihidWZmZXIs IGZvcm1hdCwgczEuY19zdHIoKSwgZCwgczIuY19zdHIoKSk7DQo+ICsNCj4gKyAgICAgICAgcmV0 dXJuIGJ1ZmZlcjsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmb3JtYXQoY29u c3QgY2hhciAqZm9ybWF0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyBz MSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgczIsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ2NCBkKQ0KPiArICAgIHsNCj4gKyAgICAgICAgY2hhciBidWZm ZXJbMjU2XTsNCj4gKw0KPiArICAgICAgICBzcHJpbnRmKGJ1ZmZlciwgZm9ybWF0LCBzMS5jX3N0 cigpLCBzMi5jX3N0cigpLCBkKTsNCj4gKw0KPiArICAgICAgICByZXR1cm4gYnVmZmVyOw0KPiAr ICAgIH0NCj4gKw0KPiArICAgIGNoYXIgYXNfY2hhcihpbnQgYykNCj4gKyAgICB7DQo+ICsgICAg ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjaGFyPihjKTsNCj4gKyAgICB9DQo+ICt9Ow0KPiArDQo+ ICsNCj4gK3N0ZDo6c3RyaW5nIHRvX3N0cmluZyhpbWc6OmFkZHJlc3MgYSkNCj4gK3sNCj4gKyAg ICBjaGFyIGJ1ZmZlclsyNTZdOw0KPiArICAgIHNwcmludGYoYnVmZmVyLCAiMHglMDhsbHgiLCBh KTsNCj4gKyAgICByZXR1cm4gYnVmZmVyOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBleHRy YWN0X2JpdHModWludDY0IGRhdGEsIHVpbnQzMiBiaXRfb2Zmc2V0LCB1aW50MzIgYml0X3NpemUp DQo+ICt7DQo+ICsgICAgcmV0dXJuIChkYXRhIDw8ICg2NCAtIChiaXRfc2l6ZSArIGJpdF9vZmZz ZXQpKSkgPj4gKDY0IC0gYml0X3NpemUpOw0KPiArfQ0KPiArDQo+ICsNCj4gK2ludDY0IHNpZ25f ZXh0ZW5kKGludDY0IGRhdGEsIGludCBtc2IpDQo+ICt7DQo+ICsgICAgdWludDY0IHNoaWZ0ID0g NjMgLSBtc2I7DQo+ICsgICAgcmV0dXJuIChkYXRhIDw8IHNoaWZ0KSA+PiBzaGlmdDsNCj4gK30N Cj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpyZW51bWJlcl9yZWdpc3RlcnModWludDY0IGluZGV4 LCB1aW50NjQgKnJlZ2lzdGVyX2xpc3QsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZV90IHJlZ2lzdGVyX2xpc3Rfc2l6ZSkNCj4gK3sNCj4gKyAgICBpZiAoaW5kZXggPCBy ZWdpc3Rlcl9saXN0X3NpemUpIHsNCj4gKyAgICAgICAgcmV0dXJuIHJlZ2lzdGVyX2xpc3RbaW5k ZXhdOw0KPiArICAgIH0NCj4gKw0KPiArICAgIHRocm93IHN0ZDo6cnVudGltZV9lcnJvcihpbWc6 OmZvcm1hdCgNCj4gKyAgICAgICAgICAgICAgICAgICAiSW52YWxpZCByZWdpc3RlciBtYXBwaW5n IGluZGV4ICVkLCBzaXplIG9mIGxpc3QgPSAlZCIsDQo+ICsgICAgICAgICAgICAgICAgICAgaW5k ZXgsIHJlZ2lzdGVyX2xpc3Rfc2l6ZSkpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiB0 aGVzZSBmdW5jdGlvbnMgc2hvdWxkIGJlIGRlY29kZSBmdW5jdGlvbnMgYnV0IHRoZSBqc29uIGRv ZXMgbm90IGhhdmUNCj4gKyAqIGRlY29kZSBzZWN0aW9ucyBzbyB0aGV5IGFyZSBiYXNlZCBvbiB0 aGUgZW5jb2RlLCB0aGUgZXF1aXZhbGVudCBkZWNvZGUNCj4gKyAqIGZ1bmN0aW9ucyBuZWVkIHdy aXRpbmcgZXZlbnR1YWxseS4NCj4gKyAqLw0KPiArdWludDY0IE5NRDo6ZW5jb2RlX2dwcjModWlu dDY0IGQpDQo+ICt7DQo+ICsgICAgc3RhdGljIHVpbnQ2NCByZWdpc3Rlcl9saXN0W10gPSB7IDE2 LCAxNywgMTgsIDE5LCAgNCwgIDUsICA2LCAgNyB9Ow0KPiArICAgIHJldHVybiByZW51bWJlcl9y ZWdpc3RlcnMoZCwgcmVnaXN0ZXJfbGlzdCwNCj4gKyAgICAgICAgICAgICAgIHNpemVvZihyZWdp c3Rlcl9saXN0KSAvIHNpemVvZihyZWdpc3Rlcl9saXN0WzBdKSk7DQo+ICt9DQo+ICsNCj4gKw0K PiArdWludDY0IE5NRDo6ZW5jb2RlX2dwcjNfc3RvcmUodWludDY0IGQpDQo+ICt7DQo+ICsgICAg c3RhdGljIHVpbnQ2NCByZWdpc3Rlcl9saXN0W10gPSB7ICAwLCAxNywgMTgsIDE5LCAgNCwgIDUs ICA2LCAgNyB9Ow0KPiArICAgIHJldHVybiByZW51bWJlcl9yZWdpc3RlcnMoZCwgcmVnaXN0ZXJf bGlzdCwNCj4gKyAgICAgICAgICAgICAgIHNpemVvZihyZWdpc3Rlcl9saXN0KSAvIHNpemVvZihy ZWdpc3Rlcl9saXN0WzBdKSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZW5jb2Rl X3JkMV9mcm9tX3JkKHVpbnQ2NCBkKQ0KPiArew0KPiArICAgIHN0YXRpYyB1aW50NjQgcmVnaXN0 ZXJfbGlzdFtdID0geyAgNCwgIDUgfTsNCj4gKyAgICByZXR1cm4gcmVudW1iZXJfcmVnaXN0ZXJz KGQsIHJlZ2lzdGVyX2xpc3QsDQo+ICsgICAgICAgICAgICAgICBzaXplb2YocmVnaXN0ZXJfbGlz dCkgLyBzaXplb2YocmVnaXN0ZXJfbGlzdFswXSkpOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2 NCBOTUQ6OmVuY29kZV9ncHI0X3plcm8odWludDY0IGQpDQo+ICt7DQo+ICsgICAgc3RhdGljIHVp bnQ2NCByZWdpc3Rlcl9saXN0W10gPSB7ICA4LCAgOSwgMTAsICAwLCAgNCwgIDUsICA2LCAgNywN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYsIDE3LCAxOCwgMTks IDIwLCAyMSwgMjIsIDIzIH07DQo+ICsgICAgcmV0dXJuIHJlbnVtYmVyX3JlZ2lzdGVycyhkLCBy ZWdpc3Rlcl9saXN0LA0KPiArICAgICAgICAgICAgICAgc2l6ZW9mKHJlZ2lzdGVyX2xpc3QpIC8g c2l6ZW9mKHJlZ2lzdGVyX2xpc3RbMF0pKTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1E OjplbmNvZGVfZ3ByNCh1aW50NjQgZCkNCj4gK3sNCj4gKyAgICBzdGF0aWMgdWludDY0IHJlZ2lz dGVyX2xpc3RbXSA9IHsgIDgsICA5LCAxMCwgMTEsICA0LCAgNSwgIDYsICA3LA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAy MiwgMjMgfTsNCj4gKyAgICByZXR1cm4gcmVudW1iZXJfcmVnaXN0ZXJzKGQsIHJlZ2lzdGVyX2xp c3QsDQo+ICsgICAgICAgICAgICAgICBzaXplb2YocmVnaXN0ZXJfbGlzdCkgLyBzaXplb2YocmVn aXN0ZXJfbGlzdFswXSkpOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmVuY29kZV9y ZDJfcmVnMSh1aW50NjQgZCkNCj4gK3sNCj4gKyAgICBzdGF0aWMgdWludDY0IHJlZ2lzdGVyX2xp c3RbXSA9IHsgIDQsICA1LCAgNiwgIDcgfTsNCj4gKyAgICByZXR1cm4gcmVudW1iZXJfcmVnaXN0 ZXJzKGQsIHJlZ2lzdGVyX2xpc3QsDQo+ICsgICAgICAgICAgICAgICBzaXplb2YocmVnaXN0ZXJf bGlzdCkgLyBzaXplb2YocmVnaXN0ZXJfbGlzdFswXSkpOw0KPiArfQ0KPiArDQo+ICsNCj4gK3Vp bnQ2NCBOTUQ6OmVuY29kZV9yZDJfcmVnMih1aW50NjQgZCkNCj4gK3sNCj4gKyAgICBzdGF0aWMg dWludDY0IHJlZ2lzdGVyX2xpc3RbXSA9IHsgIDUsICA2LCAgNywgIDggfTsNCj4gKyAgICByZXR1 cm4gcmVudW1iZXJfcmVnaXN0ZXJzKGQsIHJlZ2lzdGVyX2xpc3QsDQo+ICsgICAgICAgICAgICAg ICBzaXplb2YocmVnaXN0ZXJfbGlzdCkgLyBzaXplb2YocmVnaXN0ZXJfbGlzdFswXSkpOw0KPiAr fQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmNvcHkodWludDY0IGQpDQo+ICt7DQo+ICsgICAg cmV0dXJuIGQ7DQo+ICt9DQo+ICsNCj4gKw0KPiAraW50NjQgTk1EOjpjb3B5KGludDY0IGQpDQo+ ICt7DQo+ICsgICAgcmV0dXJuIGQ7DQo+ICt9DQo+ICsNCj4gKw0KPiAraW50NjQgTk1EOjpuZWdf Y29weSh1aW50NjQgZCkNCj4gK3sNCj4gKyAgICByZXR1cm4gMGxsIC0gZDsNCj4gK30NCj4gKw0K PiArDQo+ICtpbnQ2NCBOTUQ6Om5lZ19jb3B5KGludDY0IGQpDQo+ICt7DQo+ICsgICAgcmV0dXJu IC1kOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qIHN0cmFuZ2Ugd3JhcHBlciBhcm91bmQgIGdwcjMg Ki8NCj4gK3VpbnQ2NCBOTUQ6OmVuY29kZV9yczNfYW5kX2NoZWNrX3JzM19nZV9ydDModWludDY0 IGQpDQo+ICt7DQo+ICtyZXR1cm4gZW5jb2RlX2dwcjMoZCk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr Lyogc3RyYW5nZSB3cmFwcGVyIGFyb3VuZCAgZ3ByMyAqLw0KPiArdWludDY0IE5NRDo6ZW5jb2Rl X3JzM19hbmRfY2hlY2tfcnMzX2x0X3J0Myh1aW50NjQgZCkNCj4gK3sNCj4gKyAgICByZXR1cm4g ZW5jb2RlX2dwcjMoZCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyogbm9wIC0gZG9uZSBieSBleHRy YWN0aW9uIGZ1bmN0aW9uICovDQo+ICt1aW50NjQgTk1EOjplbmNvZGVfc19mcm9tX2FkZHJlc3Mo dWludDY0IGQpDQo+ICt7DQo+ICsgICAgcmV0dXJuIGQ7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyog bm9wIC0gZG9uZSBieSBleHRyYWN0aW9uIGZ1bmN0aW9uICovDQo+ICt1aW50NjQgTk1EOjplbmNv ZGVfdV9mcm9tX2FkZHJlc3ModWludDY0IGQpDQo+ICt7DQo+ICsgICAgcmV0dXJuIGQ7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyogbm9wIC0gZG9uZSBieSBleHRyYWN0aW9uIGZ1bmN0aW9uICovDQo+ ICt1aW50NjQgTk1EOjplbmNvZGVfc19mcm9tX3NfaGkodWludDY0IGQpDQo+ICt7DQo+ICsgICAg cmV0dXJuIGQ7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZW5jb2RlX2NvdW50M19m cm9tX2NvdW50KHVpbnQ2NCBkKQ0KPiArew0KPiArICAgIElNR0FTU0VSVE9OQ0UoZCA8IDgpOw0K PiArICAgIHJldHVybiBkID09IDB1bGwgPyA4dWxsIDogZDsNCj4gK30NCj4gKw0KPiArDQo+ICt1 aW50NjQgTk1EOjplbmNvZGVfc2hpZnQzX2Zyb21fc2hpZnQodWludDY0IGQpDQo+ICt7DQo+ICsg ICAgSU1HQVNTRVJUT05DRShkIDwgOCk7DQo+ICsgICAgcmV0dXJuIGQgPT0gMHVsbCA/IDh1bGwg OiBkOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qIHNwZWNpYWwgdmFsdWUgZm9yIGxvYWQgbGl0ZXJh bCAqLw0KPiAraW50NjQgTk1EOjplbmNvZGVfZXVfZnJvbV9zX2xpMTYodWludDY0IGQpDQo+ICt7 DQo+ICsgICAgSU1HQVNTRVJUT05DRShkIDwgMTI4KTsNCj4gKyAgICByZXR1cm4gZCA9PSAxMjcg PyAtMSA6IChpbnQ2NClkOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmVuY29kZV9t c2JkX2Zyb21fc2l6ZSh1aW50NjQgZCkNCj4gK3sNCj4gKyAgICBJTUdBU1NFUlRPTkNFKGQgPCAz Mik7DQo+ICsgICAgcmV0dXJuIGQgKyAxOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6 OmVuY29kZV9ldV9mcm9tX3VfYW5kaTE2KHVpbnQ2NCBkKQ0KPiArew0KPiArICAgIElNR0FTU0VS VE9OQ0UoZCA8IDE2KTsNCj4gKyAgICBpZiAoZCA9PSAxMikgew0KPiArICAgICAgICByZXR1cm4g MHgwMGZmdWxsOw0KPiArICAgIH0NCj4gKyAgICBpZiAoZCA9PSAxMykgew0KPiArICAgICAgICBy ZXR1cm4gMHhmZmZmdWxsOw0KPiArICAgIH0NCj4gKyAgICByZXR1cm4gZDsNCj4gK30NCj4gKw0K PiArDQo+ICt1aW50NjQgTk1EOjplbmNvZGVfbXNiZF9mcm9tX3Bvc19hbmRfc2l6ZSh1aW50NjQg ZCkNCj4gK3sNCj4gKyAgICBJTUdBU1NFUlRPTkNFKDApOw0KPiArICAgIHJldHVybiBkOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qIHNhdmUxNiAvIHJlc3RvcmUxNiAgID8/Pz8gKi8NCj4gK3VpbnQ2 NCBOTUQ6OmVuY29kZV9ydDFfZnJvbV9ydCh1aW50NjQgZCkNCj4gK3sNCj4gKyAgICByZXR1cm4g ZCA/IDMxIDogMzA7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyogPyAqLw0KPiArdWludDY0IE5NRDo6 ZW5jb2RlX2xzYl9mcm9tX3Bvc19hbmRfc2l6ZSh1aW50NjQgZCkNCj4gK3sNCj4gKyAgICByZXR1 cm4gZDsNCj4gK30NCj4gKw0KPiArDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OnNhdmVfcmVzdG9yZV9s aXN0KHVpbnQ2NCBydCwgdWludDY0IGNvdW50LCB1aW50NjQgZ3ApDQo+ICt7DQo+ICsgICAgc3Rk OjpzdHJpbmcgc3RyOw0KPiArDQo+ICsgICAgZm9yICh1aW50NjQgY291bnRlciA9IDA7IGNvdW50 ZXIgIT0gY291bnQ7IGNvdW50ZXIrKykgew0KPiArICAgICAgICBib29sIHVzZV9ncCA9IGdwICYm IChjb3VudGVyID09IGNvdW50IC0gMSk7DQo+ICsgICAgICAgIHVpbnQ2NCB0aGlzX3J0ID0gdXNl X2dwID8gMjggOiAoKHJ0ICYgMHgxMCkgfCAocnQgKyBjb3VudGVyKSkgJiAweDFmOw0KPiArICAg ICAgICBzdHIgKz0gaW1nOjpmb3JtYXQoIiwlcyIsIEdQUih0aGlzX3J0KSk7DQo+ICsgICAgfQ0K PiArDQo+ICsgICAgcmV0dXJuIHN0cjsNCj4gK30NCj4gKw0KPiArDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkdQUih1aW50NjQgcmVnKQ0KPiArew0KPiArICAgIHN0YXRpYyBjb25zdCBjaGFyICpncHJf cmVnWzMyXSA9IHsNCj4gKyAgICAgICAgInplcm8iLCAiYXQiLCAgICJ2MCIsICAgInYxIiwgICAi YTAiLCAgICJhMSIsICAgImEyIiwgICAiYTMiLA0KPiArICAgICAgICAiYTQiLCAgICJhNSIsICAg ImE2IiwgICAiYTciLCAgICJyMTIiLCAgInIxMyIsICAicjE0IiwgICJyMTUiLA0KPiArICAgICAg ICAiczAiLCAgICJzMSIsICAgInMyIiwgICAiczMiLCAgICJzNCIsICAgInM1IiwgICAiczYiLCAg ICJzNyIsDQo+ICsgICAgICAgICJyMjQiLCAgInIyNSIsICAiazAiLCAgICJrMSIsICAgImdwIiwg ICAic3AiLCAgICJmcCIsICAgInJhIg0KPiArICAgIH07DQo+ICsNCj4gKyAgICBpZiAocmVnIDwg MzIpIHsNCj4gKyAgICAgICAgcmV0dXJuIGdwcl9yZWdbcmVnXTsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICB0aHJvdyBzdGQ6OnJ1bnRpbWVfZXJyb3IoaW1nOjpmb3JtYXQoIkludmFsaWQgR1BSIHJl Z2lzdGVyIGluZGV4ICVkIiwgcmVnKSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpGUFIodWludDY0IHJlZykNCj4gK3sNCj4gKyAgICBzdGF0aWMgY29uc3QgY2hhciAqZnBy X3JlZ1szMl0gPSB7DQo+ICsgICAgICAgICJmMCIsICAiZjEiLCAgImYyIiwgICJmMyIsICAiZjQi LCAgImY1IiwgICJmNiIsICAiZjciLA0KPiArICAgICAgICAiZjgiLCAgImY5IiwgICJmMTAiLCAi ZjExIiwgImYxMiIsICJmMTMiLCAiZjE0IiwgImYxNSIsDQo+ICsgICAgICAgICJmMTYiLCAiZjE3 IiwgImYxOCIsICJmMTkiLCAiZjIwIiwgImYyMSIsICJmMjIiLCAiZjIzIiwNCj4gKyAgICAgICAg ImYyNCIsICJmMjUiLCAiZjI2IiwgImYyNyIsICJmMjgiLCAiZjI5IiwgImYzMCIsICJmMzEiDQo+ ICsgICAgfTsNCj4gKw0KPiArICAgIGlmIChyZWcgPCAzMikgew0KPiArICAgICAgICByZXR1cm4g ZnByX3JlZ1tyZWddOw0KPiArICAgIH0NCj4gKw0KPiArICAgIHRocm93IHN0ZDo6cnVudGltZV9l cnJvcihpbWc6OmZvcm1hdCgiSW52YWxpZCBGUFIgcmVnaXN0ZXIgaW5kZXggJWQiLCByZWcpKTsN Cj4gK30NCj4gKw0KPiArDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFDKHVpbnQ2NCByZWcpDQo+ICt7 DQo+ICsgICAgc3RhdGljIGNvbnN0IGNoYXIgKmFjX3JlZ1s0XSA9IHsNCj4gKyAgICAgICAgImFj MCIsICAiYWMxIiwgICJhYzIiLCAgImFjMyINCj4gKyAgICB9Ow0KPiArDQo+ICsgICAgaWYgKHJl ZyA8IDQpIHsNCj4gKyAgICAgICAgcmV0dXJuIGFjX3JlZ1tyZWddOw0KPiArICAgIH0NCj4gKw0K PiArICAgIHRocm93IHN0ZDo6cnVudGltZV9lcnJvcihpbWc6OmZvcm1hdCgiSW52YWxpZCBBQyBy ZWdpc3RlciBpbmRleCAlZCIsIHJlZykpOw0KPiArfQ0KPiArDQo+ICsNCj4gK3N0ZDo6c3RyaW5n IE5NRDo6SU1NRURJQVRFKHVpbnQ2NCB2YWx1ZSkNCj4gK3sNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIjB4JXgiLCB2YWx1ZSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArc3RkOjpzdHJpbmcgTk1E OjpJTU1FRElBVEUoaW50NjQgdmFsdWUpDQo+ICt7DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCIlZCIsIHZhbHVlKTsNCj4gK30NCj4gKw0KPiArDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNQUih1 aW50NjQgcmVnKQ0KPiArew0KPiArICAgIC8qIG5lZWRzIG1vcmUgd29yayAqLw0KPiArICAgIHJl dHVybiBpbWc6OmZvcm1hdCgiQ1AlZCIsIHJlZyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArc3RkOjpz dHJpbmcgTk1EOjpBRERSRVNTKHVpbnQ2NCB2YWx1ZSwgaW50IGluc3RydWN0aW9uX3NpemUpDQo+ ICt7DQo+ICsgICAgLyogdG9rZW4gZm9yIHN0cmluZyByZXBsYWNlICovDQo+ICsgICAgLyogY29u c3QgY2hhciBUT0tFTl9SRVBMQUNFID0gKGNoYXIpMHhhMjsgKi8NCj4gKyAgICBpbWc6OmFkZHJl c3MgYWRkcmVzcyA9IG1fcGMgKyB2YWx1ZSArIGluc3RydWN0aW9uX3NpemU7DQo+ICsgICAgLyog c3ltYm9sIHJlcGxhY2VtZW50ICovDQo+ICsgICAgLyogcmV0dXJuIGltZzo6YXNfY2hhcihUT0tF Tl9SRVBMQUNFKSArIHRvX3N0cmluZyhhZGRyZXNzKTsgKi8NCj4gKyAgICByZXR1cm4gdG9fc3Ry aW5nKGFkZHJlc3MpOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3Rfb3Bf Y29kZV92YWx1ZShjb25zdCB1aW50MTYgKiBkYXRhLCBpbnQgc2l6ZSkNCj4gK3sNCj4gKyAgICBz d2l0Y2ggKHNpemUpIHsNCj4gKyAgICBjYXNlIDE2Og0KPiArICAgICAgICByZXR1cm4gZGF0YVsw XTsNCj4gKyAgICBjYXNlIDMyOg0KPiArICAgICAgICByZXR1cm4gKCh1aW50NjQpZGF0YVswXSA8 PCAxNikgfCBkYXRhWzFdOw0KPiArICAgIGNhc2UgNDg6DQo+ICsgICAgICAgIHJldHVybiAoKHVp bnQ2NClkYXRhWzBdIDw8IDMyKSB8ICgodWludDY0KWRhdGFbMV0gPDwgMTYpIHwgZGF0YVsyXTsN Cj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgICByZXR1cm4gZGF0YVswXTsNCj4gKyAgICB9DQo+ ICt9DQo+ICsNCj4gKw0KPiAraW50IE5NRDo6RGlzYXNzZW1ibGUoY29uc3QgdWludDE2ICogZGF0 YSwgc3RkOjpzdHJpbmcgJiBkaXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICBOTUQ6OlRBQkxF X0VOVFJZX1RZUEUgJiB0eXBlKQ0KPiArew0KPiArICAgIHJldHVybiBEaXNhc3NlbWJsZShkYXRh LCBkaXMsIHR5cGUsIE1BSk9SLCAyKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogUmVj dXJzZSB0aHJvdWdoIHRhYmxlcyB1bnRpbCB0aGUgaW5zdHJ1Y3Rpb24gaXMgZm91bmQgdGhlbiBy ZXR1cm4NCj4gKyAqIHRoZSBzdHJpbmcgYW5kIHNpemUNCj4gKyAqDQo+ICsgKiBpbnB1dHM6DQo+ ICsgKiAgICAgIHBvaW50ZXIgdG8gYSB3b3JkIHN0cmVhbSwNCj4gKyAqICAgICAgZGlzYXNzZW1i ZXIgdGFibGUgYW5kIHNpemUNCj4gKyAqIHJldHVybnM6DQo+ICsgKiAgICAgIGluc3RydWN0aW9u IHNpemUgICAgLSBuZWdhdGl2ZSBpcyBlcnJvcg0KPiArICogICAgICBkaXNhc3NlbWJseSBzdHJp bmcgIC0gb24gZXJyb3Igd2lsbCBjb25zdGFpbiBlcnJvciBzdHJpbmcNCj4gKyAqLw0KPiAraW50 IE5NRDo6RGlzYXNzZW1ibGUoY29uc3QgdWludDE2ICogZGF0YSwgc3RkOjpzdHJpbmcgJiBkaXMs DQo+ICsgICAgICAgICAgICAgICAgICAgICBOTUQ6OlRBQkxFX0VOVFJZX1RZUEUgJiB0eXBlLCBj b25zdCBQb29sICp0YWJsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgIGludCB0YWJsZV9zaXpl KQ0KPiArew0KPiArICAgIHRyeQ0KPiArICAgIHsNCj4gKyAgICAgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCB0YWJsZV9zaXplOyBpKyspIHsNCj4gKyAgICAgICAgICAgIHVpbnQ2NCBvcF9jb2RlID0g ZXh0cmFjdF9vcF9jb2RlX3ZhbHVlKGRhdGEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0YWJsZVtpXS5pbnN0cnVjdGlvbnNfc2l6ZSk7DQo+ICsgICAgICAgICAgICBpZiAo KG9wX2NvZGUgJiB0YWJsZVtpXS5tYXNrKSA9PSB0YWJsZVtpXS52YWx1ZSkgew0KPiArICAgICAg ICAgICAgICAgIC8qIHBvc3NpYmxlIG1hdGNoICovDQo+ICsgICAgICAgICAgICAgICAgY29uZGl0 aW9uYWxfZnVuY3Rpb24gY29uZCA9IHRhYmxlW2ldLmNvbmRpdGlvbjsNCj4gKyAgICAgICAgICAg ICAgICBpZiAoKGNvbmQgPT0gMCkgfHwgKHRoaXMtPipjb25kKShvcF9jb2RlKSkgew0KPiArICAg ICAgICAgICAgICAgICAgICB0cnkNCj4gKyAgICAgICAgICAgICAgICAgICAgew0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKHRhYmxlW2ldLnR5cGUgPT0gcG9vbCkgew0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBEaXNhc3NlbWJsZShkYXRhLCBkaXMsIHR5cGUs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxl W2ldLm5leHRfdGFibGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRhYmxlW2ldLm5leHRfdGFibGVfc2l6ZSk7DQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICB9IGVsc2UgaWYgKCh0YWJsZVtpXS50eXBlID09IGluc3RydWN0aW9uKSB8fA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGFibGVbaV0udHlwZSA9PSBjYWxs X2luc3RydWN0aW9uKSB8fA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo dGFibGVbaV0udHlwZSA9PSBicmFuY2hfaW5zdHJ1Y3Rpb24pIHx8DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICh0YWJsZVtpXS50eXBlID09IHJldHVybl9pbnN0cnVjdGlv bikpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRhYmxlW2ldLmF0dHJp YnV0ZXMgIT0gMCkgJiYNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1fcmVx dWVzdGVkX2luc3RydWN0aW9uX2NhdGVnb3JpZXMgJg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFibGVbaV0uYXR0cmlidXRlcykgPT0gMCkgew0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKiBmYWlsZWQgZHVlIHRvIGluc3RydWN0aW9uIGhhdmluZw0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKiBhbiBBU0UgYXR0cmlidXRlIGFuZCB0aGUgcmVxdWVzdGVkIHZl cnNpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogbm90IGhhdmluZyB0 aGF0IGF0dHJpYnV0ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzID0gIkFTRSBhdHRyaWJ1dGUgbWlz c21hdGNoIjsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC01Ow0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkaXNhc3NlbWJseV9mdW5jdGlvbiBkaXNfZm4gPSB0YWJsZVtpXS5kaXNhc3NlbWJs eTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlzX2ZuID09IDApIHsNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzID0gImRpc2Fzc2VtYmxlciBmYWls dXJlIC0gYmFkIHRhYmxlIGVudHJ5IjsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIC02Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gdGFibGVbaV0udHlwZTsNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkaXMgPSAodGhpcy0+KmRpc19mbikob3BfY29kZSk7DQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlW2ldLmluc3RydWN0aW9uc19z aXplOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkaXMgPSAicmVzZXJ2ZWQgaW5zdHJ1Y3Rpb24iOw0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMjsNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIH0NCj4gKyAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAgICBj YXRjaCAoc3RkOjpydW50aW1lX2Vycm9yICYgZSkNCj4gKyAgICAgICAgICAgICAgICAgICAgew0K PiArICAgICAgICAgICAgICAgICAgICAgICAgZGlzID0gZS53aGF0KCk7DQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gLTM7ICAgICAgICAgIC8qIHJ1bnRpbWUgZXJyb3IgKi8NCj4g KyAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAg ICAgIH0NCj4gKyAgICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBjYXRjaCAoc3RkOjpleGNlcHRp b24gJiBlKQ0KPiArICAgIHsNCj4gKyAgICAgICAgZGlzID0gZS53aGF0KCk7DQo+ICsgICAgICAg IHJldHVybiAtNDsgICAgICAgICAgLyogcnVudGltZSBlcnJvciAqLw0KPiArICAgIH0NCj4gKw0K PiArICAgIGRpcyA9ICJmYWlsZWQgdG8gZGlzYXNzZW1ibGUiOw0KPiArICAgIHJldHVybiAtMTsg ICAgICAvKiBmYWlsZWQgdG8gZGlzYXNzZW1ibGUgICAgICAgICovDQo+ICt9DQo+ICsNCj4gKw0K PiArdWludDY0IE5NRDo6ZXh0cmFjdF9jb2RlXzE4X3RvXzAodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9i aXRzKGluc3RydWN0aW9uLCAwLCAxOSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiAr DQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3Rfc2hpZnQzXzJfMV8wKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4 dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMyk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiAr fQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfdWlsM2lsM2JzOUZtc2IxMSh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1 ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDMsIDkpIDw8IDM7DQo+ICsgICAgcmV0dXJu IHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfY291bnRfM18y XzFfMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsN Cj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDAsIDQpOw0KPiArICAg IHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X3J0 ejNfOV84XzcodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9 IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCA3LCAzKTsNCj4g KyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl91 aWwxaWwxYnMxN0Ztc2IxNyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDEs IDE3KSA8PCAxOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICtpbnQ2 NCBOTUQ6OmV4dHJfc2lsMTFpbDBiczEwVG1zYjkodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIGludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5z dHJ1Y3Rpb24sIDExLCAxMCk7DQo+ICsgICAgdmFsdWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgOSk7 DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK2ludDY0IE5NRDo6ZXh0 cl9zaWwwaWwxMWJzMV9pbDFpbDFiczEwVG1zYjExKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICBpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGlu c3RydWN0aW9uLCAwLCAxKSA8PCAxMTsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5z dHJ1Y3Rpb24sIDEsIDEwKSA8PCAxOw0KPiArICAgIHZhbHVlID0gc2lnbl9leHRlbmQodmFsdWUs IDExKTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5N RDo6ZXh0cmFjdF91XzEwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg dmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTAs IDEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1E OjpleHRyYWN0X3J0ejRfMjdfMjZfMjVfMjNfMjJfMjEodWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRz KGluc3RydWN0aW9uLCAyMSwgMyk7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3Ry dWN0aW9uLCAyNSwgMSkgPDwgMzsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4g Kw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9zYV8xNV8xNF8xM18xMl8xMSh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBl eHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCA1KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAg dmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCA1KTsNCj4gKyAgICByZXR1cm4g dmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl9zaGlmdHhpbDdpbDFi czRGbXNiNCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0g MDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDcsIDQpIDw8IDE7 DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4 dHJhY3RfaGludF8yNV8yNF8yM18yMl8yMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1 Y3Rpb24sIDIxLCA1KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiAr dWludDY0IE5NRDo6ZXh0cmFjdF9jb3VudDNfMTRfMTNfMTIodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9i aXRzKGluc3RydWN0aW9uLCAxMiwgMyk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiAr DQo+ICsNCj4gK2ludDY0IE5NRDo6ZXh0cl9zaWwwaWwzMWJzMV9pbDJpbDIxYnMxMF9pbDEyaWwx MmJzOVRtc2IzMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgaW50NjQgdmFsdWUg PSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMSkgPDwg MzE7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAyLCAxMCkgPDwg MjE7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAxMiwgOSkgPDwg MTI7DQo+ICsgICAgdmFsdWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgMzEpOw0KPiArICAgIHJldHVy biB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICtpbnQ2NCBOTUQ6OmV4dHJfc2lsMGlsN2JzMV9p bDFpbDFiczZUbXNiNyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgaW50NjQgdmFs dWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMSkg PDwgNzsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDEsIDYpIDw8 IDE7DQo+ICsgICAgdmFsdWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgNyk7DQo+ICsgICAgcmV0dXJu IHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfdTJfMTBfOSh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAg ICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDksIDIpOw0KPiArICAgIHJldHVy biB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X2NvZGVfMjVf MjRfMjNfMjJfMjFfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3Ry dWN0aW9uLCAxNiwgMTApOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ ICt1aW50NjQgTk1EOjpleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJh Y3RfYml0cyhpbnN0cnVjdGlvbiwgMTYsIDUpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30N Cj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3VpbDFpbDFiczJGbXNiMih1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8 PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDEsIDIpIDw8IDE7DQo+ICsgICAgcmV0dXJuIHZh bHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3Rfc3RyaXBlXzYodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAg dmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCA2LCAxKTsNCj4gKyAgICByZXR1cm4g dmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl94aWwxN2lsMGJzMUZt c2IwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0K PiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTcsIDEpOw0KPiArICAg IHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3hpbDJp bDBiczFfaWwxNWlsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlv biwgMiwgMSk7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAxNSwg MSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6 OmV4dHJhY3RfYWNfMTNfMTIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAx NCwgMik7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBO TUQ6OmV4dHJhY3Rfc2hpZnRfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRz KGluc3RydWN0aW9uLCAxNiwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfcmRsXzI1XzI0KHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3Rf Yml0cyhpbnN0cnVjdGlvbiwgMjQsIDEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4g Kw0KPiArDQo+ICtpbnQ2NCBOTUQ6OmV4dHJfc2lsMGlsMTBiczFfaWwxaWwxYnM5VG1zYjEwKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAg dmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCAxKSA8PCAxMDsNCj4gKyAgICB2 YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDEsIDkpIDw8IDE7DQo+ICsgICAgdmFs dWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgMTApOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30N Cj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X2V1XzZfNV80XzNfMl8xXzAodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFs dWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCA3KTsNCj4gKyAgICByZXR1cm4gdmFs dWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9zaGlmdF81XzRfM18y XzFfMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsN Cj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDAsIDYpOw0KPiArICAg IHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3hpbDEw aWwwYnM2Rm1zYjUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1 ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAxMCwgNik7 DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4 dHJhY3RfY291bnRfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0 aW9uLCAxNiwgNCk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3Vp bnQ2NCBOTUQ6OmV4dHJhY3RfY29kZV8yXzFfMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5z dHJ1Y3Rpb24sIDAsIDMpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ ICt1aW50NjQgTk1EOjpleHRyX3hpbDEwaWwwYnM0X2lsMjJpbDBiczRGbXNiMyh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8 PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDEwLCA0KTsNCj4gKyAgICB2YWx1ZSB8PSBleHRy YWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDIyLCA0KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9 DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNf Ml8xXzAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7 DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCAxMik7DQo+ICsg ICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3Rf cnNfNF8zXzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFs dWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgNSk7 DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4 dHJfdWlsM2lsM2JzMThGbXNiMjAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9u LCAzLCAxOCkgPDwgMzsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiAr dWludDY0IE5NRDo6ZXh0cl94aWwxMmlsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0 cyhpbnN0cnVjdGlvbiwgMTIsIDEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0K PiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3VpbDBpbDJiczRGbXNiNSh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRy YWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDAsIDQpIDw8IDI7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0K PiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfY29mdW5fMjVfMjRfMjModWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAg dmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAzLCAyMyk7DQo+ICsgICAgcmV0dXJu IHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfdWlsMGlsMmJzM0Zt c2I0KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0K PiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMykgPDwgMjsNCj4g KyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl94 aWwxMGlsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg dmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTAs IDEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1E OjpleHRyYWN0X3JkM18zXzJfMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24s IDEsIDMpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQg Tk1EOjpleHRyYWN0X3NhXzE1XzE0XzEzXzEyKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0 cnVjdGlvbiwgMTIsIDQpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ ICt1aW50NjQgTk1EOjpleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJh Y3RfYml0cyhpbnN0cnVjdGlvbiwgMjEsIDUpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30N Cj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X3J1XzdfNl81XzRfMyh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8 PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDMsIDUpOw0KPiArICAgIHJldHVybiB2YWx1ZTsN Cj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3hpbDIxaWwwYnM1Rm1zYjQodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAg dmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAyMSwgNSk7DQo+ICsgICAgcmV0dXJu IHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfeGlsOWlsMGJzM0Zt c2IyKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0K PiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgOSwgMyk7DQo+ICsgICAg cmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfdV8x N190b18wKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAw Ow0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMTgpOw0KPiAr ICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3hp bDE0aWwwYnMxX2lsMTVpbDBiczFGbXNiMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1 Y3Rpb24sIDE0LCAxKTsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24s IDE1LCAxKTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0 IE5NRDo6ZXh0cmFjdF9yc3o0XzRfMl8xXzAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3Ry dWN0aW9uLCAwLCAzKTsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24s IDQsIDEpIDw8IDM7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3Vp bnQ2NCBOTUQ6OmV4dHJfeGlsMjRpbDBiczFGbXNiMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMo aW5zdHJ1Y3Rpb24sIDI0LCAxKTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4g Kw0KPiAraW50NjQgTk1EOjpleHRyX3NpbDBpbDIxYnMxX2lsMWlsMWJzMjBUbXNiMjEodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1 ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDAsIDEpIDw8IDIxOw0KPiArICAgIHZhbHVl IHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMSwgMjApIDw8IDE7DQo+ICsgICAgdmFsdWUg PSBzaWduX2V4dGVuZCh2YWx1ZSwgMjEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4g Kw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X29wXzI1X3RvXzModWludDY0IGluc3RydWN0 aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0 cmFjdF9iaXRzKGluc3RydWN0aW9uLCAzLCAyMyk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiAr fQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfcnM0XzRfMl8xXzAodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUg fD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCAzKTsNCj4gKyAgICB2YWx1ZSB8PSBleHRy YWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDQsIDEpIDw8IDM7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0K PiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfYml0XzIzXzIyXzIxKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZh bHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMjEsIDMpOw0KPiArICAgIHJldHVybiB2 YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X3J0XzQxXzQwXzM5 XzM4XzM3KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAw Ow0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMzcsIDUpOw0KPiAr ICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICtpbnQ2NCBOTUQ6OmV4dHJhY3Rf c2hpZnRfMjFfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IGludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rp b24sIDE2LCA2KTsNCj4gKyAgICB2YWx1ZSA9IHNpZ25fZXh0ZW5kKHZhbHVlLCA1KTsNCj4gKyAg ICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl94aWw2 aWwwYnMzX2lsMTBpbDBiczFGbXNiMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rp b24sIDYsIDMpOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTAs IDEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1E OjpleHRyYWN0X3JkMl8zXzgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAz LCAxKSA8PCAxOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgOCwg MSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6 OmV4dHJfeGlsMTZpbDBiczVGbXNiNCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rp b24sIDE2LCA1KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWlu dDY0IE5NRDo6ZXh0cmFjdF9jb2RlXzE3X3RvXzAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGlu c3RydWN0aW9uLCAwLCAxOCk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsN Cj4gK3VpbnQ2NCBOTUQ6OmV4dHJfeGlsMGlsMGJzMTJGbXNiMTEodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFj dF9iaXRzKGluc3RydWN0aW9uLCAwLCAxMik7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0K PiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3Rfc2l6ZV8yMF8xOV8xOF8xN18xNih1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2 YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDE2LCA1KTsNCj4gKyAgICByZXR1cm4g dmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiAraW50NjQgTk1EOjpleHRyX3NpbDJpbDJiczZfaWwx NWlsOGJzMVRtc2I4KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCB2YWx1 ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAyLCA2KSA8 PCAyOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTUsIDEpIDw8 IDg7DQo+ICsgICAgdmFsdWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgOCk7DQo+ICsgICAgcmV0dXJu IHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfdV8xNV90b18w KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiAr ICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMTYpOw0KPiArICAgIHJl dHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFs dWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTYsIDUp Ow0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICtpbnQ2NCBOTUQ6OmV4 dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMxVG1zYjgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIGludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5z dHJ1Y3Rpb24sIDAsIDgpOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlv biwgMTUsIDEpIDw8IDg7DQo+ICsgICAgdmFsdWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgOCk7DQo+ ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJh Y3Rfc3R5cGVfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0 aW9uLCAxNiwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3Vp bnQ2NCBOTUQ6OmV4dHJhY3RfcnRsXzExKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVj dGlvbiwgOSwgMSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3Vp bnQ2NCBOTUQ6OmV4dHJhY3RfaHNfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9i aXRzKGluc3RydWN0aW9uLCAxNiwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiAr DQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfeGlsMTBpbDBiczFfaWwxNGlsMGJzMkZtc2IxKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAg IHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTAsIDEpOw0KPiArICAgIHZhbHVl IHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTQsIDIpOw0KPiArICAgIHJldHVybiB2YWx1 ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X3NlbF8xM18xMl8xMSh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAg ICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCAzKTsNCj4gKyAgICByZXR1 cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9sc2JfNF8z XzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAw Ow0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgNSk7DQo+ICsg ICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfeGls MTRpbDBiczJGbXNiMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZh bHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDE0LCAy KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6 ZXh0cmFjdF9ncF8yKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFs dWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMiwgMSk7 DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4 dHJhY3RfcnQzXzlfOF83KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg dmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgNywg Myk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6 OmV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3Ry dWN0aW9uLCAyMSwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4g K3VpbnQ2NCBOTUQ6OmV4dHJhY3RfdV8xN18xNl8xNV8xNF8xM18xMl8xMSh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBl eHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCA3KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9jc18yMF8xOV8xOF8xN18xNih1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAg ICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDE2LCA1KTsNCj4gKyAgICByZXR1 cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl94aWwxNmlsMGJz MTBGbXNiOSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0g MDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDE2LCAxMCk7DQo+ ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJh Y3RfcnQ0XzlfN182XzUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2 YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCA1LCAz KTsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDksIDEpIDw8IDM7 DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4 dHJhY3RfbXNidF8xMF85XzhfN182KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlv biwgNiwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2 NCBOTUQ6OmV4dHJfdWlsMGlsMmJzNkZtc2I3KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0 cnVjdGlvbiwgMCwgNikgPDwgMjsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4g Kw0KPiArdWludDY0IE5NRDo6ZXh0cl94aWwxN2lsMGJzOUZtc2I4KHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJh Y3RfYml0cyhpbnN0cnVjdGlvbiwgMTcsIDkpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30N Cj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X3NhXzE1XzE0XzEzKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9 IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTMsIDMpOw0KPiArICAgIHJldHVybiB2YWx1ZTsN Cj4gK30NCj4gKw0KPiArDQo+ICtpbnQ2NCBOTUQ6OmV4dHJfc2lsMGlsMTRiczFfaWwxaWwxYnMx M1Rtc2IxNCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgaW50NjQgdmFsdWUgPSAw Ow0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMSkgPDwgMTQ7 DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAxLCAxMykgPDwgMTsN Cj4gKyAgICB2YWx1ZSA9IHNpZ25fZXh0ZW5kKHZhbHVlLCAxNCk7DQo+ICsgICAgcmV0dXJuIHZh bHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfcnMzXzZfNV80KHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAg IHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgNCwgMyk7DQo+ICsgICAgcmV0dXJu IHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfdWlsMGlsMzJiczMy Rm1zYjYzKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAw Ow0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMzIpIDw8IDMy Ow0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpl eHRyYWN0X3NoaWZ0XzEwXzlfOF83XzYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0 aW9uLCA2LCA1KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWlu dDY0IE5NRDo6ZXh0cmFjdF9jc18yNV8yNF8yM18yMl8yMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2Jp dHMoaW5zdHJ1Y3Rpb24sIDIxLCA1KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsN Cj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9zaGlmdHhfMTFfMTBfOV84XzdfNih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1 ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDYsIDYpOw0KPiArICAgIHJldHVybiB2YWx1 ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X3J0XzlfOF83XzZfNSh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAg ICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDUsIDUpOw0KPiArICAgIHJldHVy biB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyYWN0X29wXzI1XzI0 XzIzXzIyXzIxKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUg PSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMjEsIDUpOw0K PiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRy X3VpbDBpbDJiczdGbXNiOCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDAs IDcpIDw8IDI7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2 NCBOTUQ6OmV4dHJhY3RfYml0XzE2XzE1XzE0XzEzXzEyXzExKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3Rf Yml0cyhpbnN0cnVjdGlvbiwgMTEsIDYpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4g Kw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3hpbDEwaWwwYnMxX2lsMTFpbDBiczVGbXNiNCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAg ICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDEwLCAxKTsNCj4gKyAgICB2YWx1 ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCA1KTsNCj4gKyAgICByZXR1cm4gdmFs dWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9tYXNrXzIwXzE5XzE4 XzE3XzE2XzE1XzE0KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFs dWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTQsIDcp Ow0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpl eHRyYWN0X2V1XzNfMl8xXzAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAw LCA0KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5N RDo6ZXh0cl91aWw0aWw0YnM0Rm1zYjcodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0 aW9uLCA0LCA0KSA8PCA0Ow0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ ICtpbnQ2NCBOTUQ6OmV4dHJfc2lsM2lsM2JzNV9pbDE1aWw4YnMxVG1zYjgodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBl eHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDMsIDUpIDw8IDM7DQo+ICsgICAgdmFsdWUgfD0gZXh0 cmFjdF9iaXRzKGluc3RydWN0aW9uLCAxNSwgMSkgPDwgODsNCj4gKyAgICB2YWx1ZSA9IHNpZ25f ZXh0ZW5kKHZhbHVlLCA4KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0K PiArdWludDY0IE5NRDo6ZXh0cmFjdF9mdF8xNV8xNF8xM18xMl8xMSh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRy YWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCA1KTsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9 DQo+ICsNCj4gKw0KPiAraW50NjQgTk1EOjpleHRyX3NpbDBpbDE2YnMxNl9pbDE2aWwwYnMxNlRt c2IzMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgaW50NjQgdmFsdWUgPSAwOw0K PiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgMTYpIDw8IDE2Ow0K PiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTYsIDE2KTsNCj4gKyAg ICB2YWx1ZSA9IHNpZ25fZXh0ZW5kKHZhbHVlLCAzMSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0K PiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfdV8yMF8xOV8xOF8xN18xNl8x NV8xNF8xMyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0g MDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDEzLCA4KTsNCj4g KyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl94 aWwxNWlsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg dmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMTUs IDEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1E OjpleHRyX3hpbDExaWwwYnM1Rm1zYjQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0 aW9uLCAxMSwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3Vp bnQ2NCBOTUQ6OmV4dHJfdWlsMmlsMmJzMTZGbXNiMTcodWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRz KGluc3RydWN0aW9uLCAyLCAxNikgPDwgMjsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1 ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCA1KTsNCj4gKyAgICByZXR1cm4gdmFs dWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cmFjdF9jMHNfMjBfMTlfMThf MTdfMTYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7 DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAxNiwgNSk7DQo+ICsg ICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3Rf Y29kZV8xXzAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9 IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCAyKTsNCj4g KyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiAraW50NjQgTk1EOjpleHRyX3Np bDBpbDI1YnMxX2lsMWlsMWJzMjRUbXNiMjUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIGludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1 Y3Rpb24sIDAsIDEpIDw8IDI1Ow0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVj dGlvbiwgMSwgMjQpIDw8IDE7DQo+ICsgICAgdmFsdWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgMjUp Ow0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpl eHRyX3hpbDBpbDBiczNfaWw0aWwwYnMxRm1zYjIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGlu c3RydWN0aW9uLCAwLCAzKTsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rp b24sIDQsIDEpOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50 NjQgTk1EOjpleHRyYWN0X3VfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgdmFsdWUgPSAwOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlv biwgMCwgMik7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2 NCBOTUQ6OmV4dHJfdWlsM2lsM2JzMV9pbDhpbDJiczFGbXNiMyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0 X2JpdHMoaW5zdHJ1Y3Rpb24sIDMsIDEpIDw8IDM7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9i aXRzKGluc3RydWN0aW9uLCA4LCAxKSA8PCAyOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30N Cj4gKw0KPiArDQo+ICt1aW50NjQgTk1EOjpleHRyX3hpbDlpbDBiczNfaWwxNmlsMGJzNUZtc2I0 KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiAr ICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgOSwgMyk7DQo+ICsgICAgdmFs dWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAxNiwgNSk7DQo+ICsgICAgcmV0dXJuIHZh bHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfZmRfMTBfOV84Xzdf Nih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4g KyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCA1KTsNCj4gKyAgICBy ZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl94aWw2aWww YnMzRm1zYjIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9 IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCA2LCAzKTsNCj4g KyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl91 aWwwaWwyYnM1Rm1zYjYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2 YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCA1 KSA8PCAyOw0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICt1aW50NjQg Tk1EOjpleHRyYWN0X3J0ejRfOV83XzZfNSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1 Y3Rpb24sIDUsIDMpOw0KPiArICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwg OSwgMSkgPDwgMzsNCj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWlu dDY0IE5NRDo6ZXh0cmFjdF9zZWxfMTVfMTRfMTNfMTJfMTEodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9i aXRzKGluc3RydWN0aW9uLCAxMSwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVlOw0KPiArfQ0KPiAr DQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJhY3RfY3RfMjVfMjRfMjNfMjJfMjEodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUg fD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAyMSwgNSk7DQo+ICsgICAgcmV0dXJuIHZhbHVl Ow0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfeGlsMTFpbDBiczFGbXNiMCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0gMDsNCj4gKyAg ICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDExLCAxKTsNCj4gKyAgICByZXR1 cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl91aWwyaWwyYnMx OUZtc2IyMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHZhbHVlID0g MDsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDIsIDE5KSA8PCAy Ow0KPiArICAgIHJldHVybiB2YWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICtpbnQ2NCBOTUQ6OmV4 dHJhY3Rfc180XzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCB2 YWx1ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCAwLCAz KTsNCj4gKyAgICB2YWx1ZSB8PSBleHRyYWN0X2JpdHMoaW5zdHJ1Y3Rpb24sIDQsIDEpIDw8IDM7 DQo+ICsgICAgdmFsdWUgPSBzaWduX2V4dGVuZCh2YWx1ZSwgMyk7DQo+ICsgICAgcmV0dXJuIHZh bHVlOw0KPiArfQ0KPiArDQo+ICsNCj4gK3VpbnQ2NCBOTUQ6OmV4dHJfdWlsMGlsMWJzNEZtc2I0 KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgdmFsdWUgPSAwOw0KPiAr ICAgIHZhbHVlIHw9IGV4dHJhY3RfYml0cyhpbnN0cnVjdGlvbiwgMCwgNCkgPDwgMTsNCj4gKyAg ICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArdWludDY0IE5NRDo6ZXh0cl94aWw5 aWwwYnMyRm1zYjEodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB2YWx1 ZSA9IDA7DQo+ICsgICAgdmFsdWUgfD0gZXh0cmFjdF9iaXRzKGluc3RydWN0aW9uLCA5LCAyKTsN Cj4gKyAgICByZXR1cm4gdmFsdWU7DQo+ICt9DQo+ICsNCj4gKw0KPiArDQo+ICtib29sIE5NRDo6 QURESVVfMzJfX2NvbmQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dCA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHJldHVy biBydCAhPSAwOw0KPiArfQ0KPiArDQo+ICsNCj4gK2Jvb2wgTk1EOjpBRERJVV9SUzVfX2NvbmQo dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydCA9IGV4dHJhY3RfcnRf OV84XzdfNl81KGluc3RydWN0aW9uKTsNCj4gKyAgICByZXR1cm4gcnQgIT0gMDsNCj4gK30NCj4g Kw0KPiArDQo+ICtib29sIE5NRDo6QkFMUlNDX2NvbmQodWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCBydCA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHJldHVybiBydCAhPSAwOw0KPiArfQ0KPiArDQo+ICsNCj4gK2Jvb2wgTk1E OjpCRVFDXzE2X19jb25kKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg cnMzID0gZXh0cmFjdF9yczNfNl81XzQoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydDMg PSBleHRyYWN0X3J0M185XzhfNyhpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHUgPSBleHRy X3VpbDBpbDFiczRGbXNiNChpbnN0cnVjdGlvbik7DQo+ICsgICAgcmV0dXJuIHJzMyA8IHJ0MyAm JiB1ICE9IDA7DQo+ICt9DQo+ICsNCj4gKw0KPiArYm9vbCBOTUQ6OkJORUNfMTZfX2NvbmQodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCByczMgPSBleHRyYWN0X3JzM182 XzVfNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0MyA9IGV4dHJhY3RfcnQzXzlfOF83 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdSA9IGV4dHJfdWlsMGlsMWJzNEZtc2I0KGlu c3RydWN0aW9uKTsNCj4gKyAgICByZXR1cm4gcnMzID49IHJ0MyAmJiB1ICE9IDA7DQo+ICt9DQo+ ICsNCj4gKw0KPiArYm9vbCBOTUQ6Ok1PVkVfY29uZCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0ID0gZXh0cmFjdF9ydF85XzhfN182XzUoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHJldHVybiBydCAhPSAwOw0KPiArfQ0KPiArDQo+ICsNCj4gK2Jvb2wgTk1EOjpQMTZf QlIxX2NvbmQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB1ID0gZXh0 cl91aWwwaWwxYnM0Rm1zYjQoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHJldHVybiB1ICE9IDA7DQo+ ICt9DQo+ICsNCj4gKw0KPiArYm9vbCBOTUQ6OlBSRUZfUzlfX2NvbmQodWludDY0IGluc3RydWN0 aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBoaW50ID0gZXh0cmFjdF9oaW50XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICByZXR1cm4gaGludCAhPSAzMTsNCj4gK30NCj4gKw0K PiArDQo+ICtib29sIE5NRDo6UFJFRkVfY29uZCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IGhpbnQgPSBleHRyYWN0X2hpbnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHJldHVybiBoaW50ICE9IDMxOw0KPiArfQ0KPiArDQo+ICsNCj4gK2Jvb2wg Tk1EOjpTTFRVX2NvbmQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy ZCA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHJldHVy biByZCAhPSAwOw0KPiArfQ0KPiArDQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFCUy5EIGZkLCBm cyAtIEZsb2F0aW5nIFBvaW50IEFic29sdXRlIFZhbHVlDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAxMDAwMSAgICAgMDAwMDAgICAgICAgICAgMDAwMTAxDQo+ICsgKiAgICBmbXQgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgZnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgICAg ICBmZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFCU19EKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0 X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihj b3B5KGZkX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFCUy5EICVz LCAlcyIsIGZkLCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFCUy5TIGZkLCBm cyAtIEZsb2F0aW5nIFBvaW50IEFic29sdXRlIFZhbHVlDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAxMDAwMSAgICAgMDAwMDAgICAgICAgICAgMDAwMTAxDQo+ICsgKiAgICBmbXQgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgZmQgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgICAg ICBmcyAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFCU19TKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0 X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihj b3B5KGZkX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFCUy5TICVz LCAlcyIsIGZkLCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFCU1FfUy5QSCBy dCwgcnMgLSBGaW5kIEFic29sdXRlIFZhbHVlIG9mIFR3byBGcmFjdGlvbmFsIEhhbGZ3b3Jkcw0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgMDAwMTAwMDEwMDEx MTExMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFCU1FfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBQlNRX1MuUEggJXMsICVzIiwgcnQs IHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUJTUV9TLlFCIHJ0LCBycyAtIEZp bmQgQWJzb2x1dGUgVmFsdWUgb2YgRm91ciBGcmFjdGlvbmFsIEJ5dGUgVmFsdWVzDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAwMDAwMDAwMTAwMTExMTExDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6QUJTUV9TX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFCU1FfUy5RQiAlcywgJXMiLCBydCwgcnMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgMDAxMDAwMDEwMDExMTExMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFCU1Ff U19XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkFCU1FfUy5XICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAwMDEw MDAwMTAwMTExMTExDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QUNMUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IGJpdF92YWx1ZSA9IGV4dHJhY3RfYml0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwwYnM4X2lsMTVpbDhi czFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBi aXQgPSBJTU1FRElBVEUoY29weShiaXRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0g SU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQUNMUiAlcywg JXMoJXMpIiwgYml0LCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAwMDEwMDAwMTAwMTExMTEx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6QUREKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBREQgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBREQuRCBmZCwgZnMsIGZ0IC0gRmxvYXRpbmcgUG9p bnQgQWRkDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAxMDAwMSAgICAgICAgICAgICAg ICAgICAgMDAwMTAxDQo+ICsgKiAgICBmbXQgLS0tLS0NCj4gKyAqICAgICAgICAgIGZ0IC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIGZzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgICAgICAg ZmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERfRCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0g ZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQ Uihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBREQuRCAlcywgJXMsICVz IiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERC5TIGZkLCBm cywgZnQgLSBGbG9hdGluZyBQb2ludCBBZGQNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDEwMDAxICAgICAgICAgICAgICAgICAgICAwMDAxMDENCj4gKyAqICAgIGZtdCAtLS0tLQ0KPiAr ICogICAgICAgICAgZnQgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgZnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgICAgICBmZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkFERF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUg PSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIkFERC5TICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgIDAw MTAwMDAxMDAxMTExMTENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERJVV8zMl8odWludDY0IGluc3RydWN0 aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNf MjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzE1 X3RvXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBRERJVSAlcywgJXMsICVzIiwg cnQsIHJzLCB1KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAg IDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgIDAwMTAwMDAxMDAxMTExMTENCj4gKyAqICAg ICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpBRERJVV80OF8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfNDFfNDBfMzlfMzhfMzcoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDE2YnMxNl9pbDE2aWwwYnMxNlRtc2IzMShp bnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQURESVUgJXMsICVzIiwgcnQsIHMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgMDAxMDAwMDEwMDExMTExMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFERElV X0dQNDhfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzQxXzQwXzM5XzM4XzM3KGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBz X3ZhbHVlID0gZXh0cl9zaWwwaWwxNmJzMTZfaWwxNmlsMGJzMTZUbXNiMzEoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkFERElVICVzLCAkJWQsICVzIiwgcnQsIDI4LCBzKTsNCj4g K30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgIDAwMTAwMDAxMDAxMTExMTENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERJVV9H UF9CXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVf dmFsdWUgPSBleHRyYWN0X3VfMTdfdG9fMChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9 IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiQURESVUgJXMsICQlZCwgJXMiLCBydCwgMjgsIHUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgMDAx MDAwMDEwMDExMTExMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFERElVX0dQX1dfKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJfdWlsMmls MmJzMTlGbXNiMjAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29w eSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFERElVICVzLCAk JWQsICVzIiwgcnQsIDI4LCB1KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgIDAwMTAwMDAxMDAxMTExMTEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqLw0KPiAr c3RkOjpzdHJpbmcgTk1EOjpBRERJVV9ORUdfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVf NF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShuZWdfY29w eSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFERElVICVzLCAl cywgJXMiLCBydCwgcnMsIHUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgMDAxMDAwMDEwMDExMTExMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OkFERElVX1IxX1NQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDBpbDJiczZGbXNiNyhpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlfOF83KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0MyA9IEdQUihlbmNvZGVfZ3ByMyhydDNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBRERJVSAlcywgJCVkLCAlcyIsIHJ0Mywg MjksIHUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgMDAxMDAwMDEwMDExMTExMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkFERElVX1IyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHVf dmFsdWUgPSBleHRyX3VpbDBpbDJiczNGbXNiNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlfOF83KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgcnMzX3ZhbHVlID0gZXh0cmFjdF9yczNfNl81XzQoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQzID0gR1BSKGVuY29kZV9ncHIzKHJ0M192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJzMyA9IEdQUihlbmNvZGVfZ3ByMyhyczNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJBRERJVSAlcywgJXMsICVzIiwgcnQzLCByczMsIHUpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERJVVtSUzVdIHJ0LCBzNSAtIEFkZCBTaWduZWQgV29y ZCBhbmQgU2V0IENhcnJ5IEJpdA0KPiArICoNCj4gKyAqICA1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMTAwMTAwICAgICAgMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICAgcyAt IC0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFERElVX1JTNV8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfOV84Xzdf Nl81KGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cmFjdF9zXzRfMl8x XzAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFERElVICVzLCAlcyIsIHJ0LCBz KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERJVVBDXzMyXyh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18y Ml8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMjFi czFfaWwxaWwxYnMyMFRtc2IyMShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IEFERFJF U1MoZW5jb2RlX3NfZnJvbV9hZGRyZXNzKHNfdmFsdWUpLCA0KTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiQURESVVQQyAlcywgJXMiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6QURESVVQQ180OF8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfNDFfNDBfMzlfMzhfMzcoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDE2YnMxNl9pbDE2aWwwYnMxNlRtc2Iz MShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0 X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IEFERFJFU1MoZW5jb2RlX3NfZnJvbV9h ZGRyZXNzKHNfdmFsdWUpLCA2KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQURE SVVQQyAlcywgJXMiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFEu UEggcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIEhhbGZ3b3JkIFZlY3RvcnMNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMDAwMDExMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERRX1BIKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0 XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBl eHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBRERR LlBIICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICogQUREUV9TLlBIIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBIYWxmd29yZCBWZWN0b3Jz DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDEwMDAw MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QURE UV9TX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJBRERRX1MuUEggJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKiBBRERRX1MuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29y ZHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDEx MDAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpB RERRX1NfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiQUREUV9TLlcgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKiBBRERRSC5QSCByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgSGFs ZndvcmQgVmVjdG9ycyBBbmQgU2hpZnQgUmlnaHQNCj4gKyAqICAgICAgICAgICAgICAgICAgICAg ICB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIDAwMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6QUREUUhfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29w eShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFERFFILlBIICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0 KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5QSCByZCwgcnQsIHJzIC0g QWRkIEZyYWN0aW9uYWwgSGFsZndvcmQgVmVjdG9ycyBBbmQgU2hpZnQgUmlnaHQNCj4gKyAqICAg ICAgICAgICAgICAgICAgICAgICAgIHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMTAwMDEwMDExMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERRSF9SX1BIKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBRERRSF9SLlBI ICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICog QUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmln aHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OkFERFFIX1JfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihj b3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQUREUUhfUi5XICVzLCAlcywgJXMiLCByZCwgcnMs IHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUguVyByZCwgcnQsIHJzIC0g QWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMTAwMTAwMDEx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERRSF9X KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFs dWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g Kw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJBRERRSC5XICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICogQUREU0MgcmQsIHJ0LCBycyAtIEFkZCBTaWduZWQgV29yZCBhbmQgU2V0IENhcnJ5 IEJpdA0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkFERFNDKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJBRERTQyAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqIEFERFVbMTZdIHJkMywgcnMzLCBydDMgLQ0KPiArICoNCj4gKyAqICA1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMTAxMTAwICAgICAgICAgMA0KPiArICogICAgcnQzIC0tLQ0K PiArICogICAgICAgcnMzIC0tLQ0KPiArICogICAgICAgICAgcmQzIC0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OkFERFVfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnQzX3ZhbHVlID0gZXh0cmFjdF9ydDNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCByczNfdmFsdWUgPSBleHRyYWN0X3JzM182XzVfNChpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJkM192YWx1ZSA9IGV4dHJhY3RfcmQzXzNfMl8xKGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0MyA9IEdQUihlbmNvZGVfZ3ByMyhydDNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyByczMgPSBHUFIoZW5jb2RlX2dwcjMocnMzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcmQzID0gR1BSKGVuY29kZV9ncHIzKHJkM192YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBRERVICVzLCAlcywgJXMiLCByZDMsIHJz MywgcnQzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERVXzMyXyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9y ZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQUREVSAlcywgJXMs ICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QUREVV80WDRfKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnM0X3ZhbHVlID0gZXh0cmFj dF9yczRfNF8yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0NF92YWx1ZSA9IGV4 dHJhY3RfcnQ0XzlfN182XzUoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnM0ID0gR1BSKGVuY29kZV9ncHI0KHJzNF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 NCA9IEdQUihlbmNvZGVfZ3ByNChydDRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiQUREVSAlcywgJXMiLCByczQsIHJ0NCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqIEFERFUuUEggcmQsIHJ0LCBycyAtIFVuc2lnbmVkIEFkZCBJbnRlZ2VyIEhhbGZ3b3Jk cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDEw MDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFE RFVfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy ZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkFERFUuUEggJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKiBBRERVLlFCIHJkLCBydCwgcnMgLSBVbnNpZ25lZCBBZGQgUXVhZCBCeXRl IFZlY3RvcnMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgMDAwMTEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpBRERVX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJBRERVLlFCICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKg0KPiArICogQUREVV9TLlBIIHJkLCBydCwgcnMgLSBVbnNpZ25lZCBBZGQg SW50ZWdlciBIYWxmd29yZHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgMTAxMDAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpBRERVX1NfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29w eShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFERFVfUy5QSCAlcywgJXMsICVzIiwgcmQsIHJzLCBy dCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFVfUy5RQiByZCwgcnQsIHJzIC0g VW5zaWduZWQgQWRkIFF1YWQgQnl0ZSBWZWN0b3JzDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIDEwMDExMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QUREVV9TX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBRERVX1MuUUIgJXMsICVzLCAl cyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERVSC5RQiBy ZCwgcnQsIHJzIC0gVW5zaWduZWQgQWRkIFZlY3RvciBRdWFkLUJ5dGVzIEFuZCBSaWdodCBTaGlm dA0KPiArICogICAgICAgICAgICAgICAgICAgICAgIHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAxMDEwMDExMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBRERVSF9RQih1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQURE VUguUUIgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKiBBRERVSF9SLlFCIHJkLCBydCwgcnMgLSBVbnNpZ25lZCBBZGQgVmVjdG9yIFF1YWQtQnl0 ZXMgQW5kIFJpZ2h0IFNoaWZ0DQo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICB0byBIYWx2 ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIDEwMTAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6QUREVUhfUl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJl dHVybiBpbWc6OmZvcm1hdCgiQUREVUhfUi5RQiAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ ICt9DQo+ICsNCj4gKy8qDQo+ICsgKiBBRERXQyByZCwgcnQsIHJzIC0gQWRkIFdvcmQgd2l0aCBD YXJyeSBCaXQNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTEwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpBRERXQyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiQUREV0MgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OkFMVUlQQyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMzFiczFfaWwyaWwyMWJzMTBfaWwxMmls MTJiczlUbXNiMzEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29k ZV9zX2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkFMVUlQQyAlcywgJSVwY3JlbF9oaSglcykiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqIEFORFsxNl0gcnQzLCByczMgLQ0KPiArICoNCj4gKyAqICA1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMTAxMTAwDQo+ICsgKiAgICBydDMgLS0tDQo+ICsgKiAgICAgICBy czMgLS0tDQo+ICsgKiAgICAgICAgICAgZXUgLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkFORF8xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydDNf dmFsdWUgPSBleHRyYWN0X3J0M185XzhfNyhpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz M192YWx1ZSA9IGV4dHJhY3RfcnMzXzZfNV80KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJ0MyA9IEdQUihlbmNvZGVfZ3ByMyhydDNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyByczMgPSBHUFIoZW5jb2RlX2dwcjMocnMzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICBy ZXR1cm4gaW1nOjpmb3JtYXQoIkFORCAlcywgJXMiLCByczMsIHJ0Myk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6QU5EXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJk X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiQU5EICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICogQU5ESSBydCwgcnMsIHUgLQ0KPiArICoNCj4gKyAqICA1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMTAxMTAwDQo+ICsgKiAgICBydDMgLS0tDQo+ICsgKiAg ICAgICByczMgLS0tDQo+ICsgKiAgICAgICAgICAgZXUgLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OkFORElfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnQzX3ZhbHVlID0gZXh0cmFjdF9ydDNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByczNfdmFsdWUgPSBleHRyYWN0X3JzM182XzVfNChpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGV1X3ZhbHVlID0gZXh0cmFjdF9ldV8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0MyA9IEdQUihlbmNvZGVfZ3ByMyhydDNfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyByczMgPSBHUFIoZW5jb2RlX2dwcjMocnMzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgZXUgPSBJTU1FRElBVEUoZW5jb2RlX2V1X2Zyb21fdV9hbmRpMTYoZXVf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQU5ESSAlcywgJXMsICVz IiwgcnQzLCByczMsIGV1KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpBTkRJXzMyXyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBl eHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIkFOREkgJXMsICVzLCAlcyIsIHJ0LCBycywgdSk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6QVBQRU5EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg cnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgc2FfdmFsdWUgPSBleHRyYWN0X3NhXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgc2EgPSBJTU1FRElBVEUoY29weShzYV92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJBUFBFTkQgJXMsICVzLCAlcyIsIHJ0LCBycywgc2EpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkFTRVQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBiaXRfdmFsdWUgPSBleHRyYWN0X2JpdF8yM18yMl8yMShpbnN0cnVjdGlv bik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMxVG1z YjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYml0ID0g SU1NRURJQVRFKGNvcHkoYml0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVE SUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkFTRVQgJXMsICVzKCVz KSIsIGJpdCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkJBTENfMTZfKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwx MGJzMV9pbDFpbDFiczlUbXNiMTAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcyA9IEFERFJFU1MoZW5jb2RlX3NfZnJvbV9hZGRyZXNzKHNfdmFsdWUpLCAyKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQkFMQyAlcyIsIHMpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OkJBTENfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2 NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwyNWJzMV9pbDFpbDFiczI0VG1zYjI1KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRk cmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJBTEMg JXMiLCBzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCQUxSU0ModWludDY0IGluc3RydWN0 aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNf MjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQkFMUlNDICVzLCAl cyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QkJFUVpDKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYml0X3ZhbHVlID0gZXh0cmFj dF9iaXRfMTZfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFs dWUgPSBleHRyX3NpbDBpbDExYnMxX2lsMWlsMWJzMTBUbXNiMTEoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIGJpdCA9IElNTUVESUFURShjb3B5KGJpdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJCRVFaQyAlcywgJXMsICVzIiwgcnQsIGJp dCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QkJORVpDKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYml0X3ZhbHVlID0gZXh0cmFjdF9iaXRf MTZfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBl eHRyX3NpbDBpbDExYnMxX2lsMWlsMWJzMTBUbXNiMTEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIGJpdCA9IElNTUVESUFURShjb3B5KGJpdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJCTkVaQyAlcywgJXMsICVzIiwgcnQsIGJpdCwgcyk7 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QkNfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwxMGJzMV9pbDFpbDFiczlUbXNi MTAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IEFERFJFU1MoZW5j b2RlX3NfZnJvbV9hZGRyZXNzKHNfdmFsdWUpLCAyKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiQkMgJXMiLCBzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCQ18zMl8odWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBp bDI1YnMxX2lsMWlsMWJzMjRUbXNiMjUoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgcyA9IEFERFJFU1MoZW5jb2RlX3NfZnJvbV9hZGRyZXNzKHNfdmFsdWUpLCA0KTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQkMgJXMiLCBzKTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpCQzFFUVpDKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2 NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwxNGJzMV9pbDFpbDFiczEzVG1zYjE0KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2FkZHJl c3Moc192YWx1ZSksIDQpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJCQzFFUVpD ICVzLCAlcyIsIGZ0LCBzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCQzFORVpDKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwx NGJzMV9pbDFpbDFiczEzVG1zYjE0KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFs dWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBzID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2FkZHJlc3Moc192YWx1ZSksIDQpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJCQzFORVpDICVzLCAlcyIsIGZ0LCBzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpCQzJFUVpDKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwxNGJzMV9pbDFpbDFiczEzVG1zYjE0KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgY3RfdmFsdWUgPSBleHRyYWN0X2N0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGN0ID0gQ1BSKGNv cHkoY3RfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gQUREUkVTUyhlbmNvZGVfc19m cm9tX2FkZHJlc3Moc192YWx1ZSksIDQpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJCQzJFUVpDICVzLCAlcyIsIGN0LCBzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAw MDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCQzJO RVpDKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0 cl9zaWwwaWwxNGJzMV9pbDFpbDFiczEzVG1zYjE0KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgY3RfdmFsdWUgPSBleHRyYWN0X2N0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g Kw0KPiArICAgIHN0ZDo6c3RyaW5nIGN0ID0gQ1BSKGNvcHkoY3RfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBzID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2FkZHJlc3Moc192YWx1ZSksIDQp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJCQzJORVpDICVzLCAlcyIsIGN0LCBz KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCRVFDXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICt7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDBpbDFiczRGbXNiNChpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlfOF83KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnMzX3ZhbHVlID0gZXh0cmFjdF9yczNfNl81XzQo aW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnMzID0gR1BSKGVuY29kZV9y czNfYW5kX2NoZWNrX3JzM19sdF9ydDMocnMzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg cnQzID0gR1BSKGVuY29kZV9ncHIzKHJ0M192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUg PSBBRERSRVNTKGVuY29kZV91X2Zyb21fYWRkcmVzcyh1X3ZhbHVlKSwgMik7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkJFUUMgJXMsICVzLCAlcyIsIHJzMywgcnQzLCB1KTsNCj4g K30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCRVFDXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMTRiczFfaWwxaWwx YnMxM1Rtc2IxNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9z X2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIkJFUUMgJXMsICVzLCAlcyIsIHJzLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6QkVRSUModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0 IHNfdmFsdWUgPSBleHRyX3NpbDBpbDExYnMxX2lsMWlsMWJzMTBUbXNiMTEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzE3XzE2XzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhz X3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJFUUlDICVzLCAl cywgJXMiLCBydCwgdSwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QkVRWkNfMTZfKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWww aWw3YnMxX2lsMWlsMWJzNlRtc2I3KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnQzX3Zh bHVlID0gZXh0cmFjdF9ydDNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgcnQzID0gR1BSKGVuY29kZV9ncHIzKHJ0M192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgMik7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJFUVpDICVzLCAlcyIsIHJ0Mywgcyk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6QkdFQyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlv bik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMTRiczFfaWwxaWwxYnMxM1Rt c2IxNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9 IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21f YWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJH RUMgJXMsICVzLCAlcyIsIHJzLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEw MDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QkdF SUModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFs dWUgPSBleHRyX3NpbDBpbDExYnMxX2lsMWlsMWJzMTBUbXNiMTEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzE3XzE2XzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhzX3ZhbHVl KSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJHRUlDICVzLCAlcywgJXMi LCBydCwgdSwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QkdFSVVDKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWww aWwxMWJzMV9pbDFpbDFiczEwVG1zYjExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92 YWx1ZSA9IGV4dHJhY3RfdV8xN18xNl8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBzID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2FkZHJlc3Moc192YWx1ZSksIDQpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJCR0VJVUMgJXMsICVzLCAlcyIsIHJ0LCB1LCBzKTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCR0VVQyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMTRiczFfaWwxaWwx YnMxM1Rtc2IxNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9z X2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIkJHRVVDICVzLCAlcywgJXMiLCBycywgcnQsIHMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkJMVEModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0 IHNfdmFsdWUgPSBleHRyX3NpbDBpbDE0YnMxX2lsMWlsMWJzMTNUbXNiMTQoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBzID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2FkZHJlc3Moc192YWx1ZSks IDQpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJCTFRDICVzLCAlcywgJXMiLCBy cywgcnQsIHMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkJMVElDKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwx MWJzMV9pbDFpbDFiczEwVG1zYjExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1 ZSA9IGV4dHJhY3RfdV8xN18xNl8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBz ID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2FkZHJlc3Moc192YWx1ZSksIDQpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJCTFRJQyAlcywgJXMsICVzIiwgcnQsIHUsIHMpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkJMVElVQyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMTFiczFfaWwxaWwxYnMx MFRtc2IxMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3Vf MTdfMTZfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1F RElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IEFERFJFU1MoZW5j b2RlX3NfZnJvbV9hZGRyZXNzKHNfdmFsdWUpLCA0KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiQkxUSVVDICVzLCAlcywgJXMiLCBydCwgdSwgcyk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6QkxUVUModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDE0YnMxX2lsMWlsMWJzMTNUbXNiMTQoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShy c192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBzID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2FkZHJlc3Moc192 YWx1ZSksIDQpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJCTFRVQyAlcywgJXMs ICVzIiwgcnMsIHJ0LCBzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCTkVDXzE2Xyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDBp bDFiczRGbXNiNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJh Y3RfcnQzXzlfOF83KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnMzX3ZhbHVlID0gZXh0 cmFjdF9yczNfNl81XzQoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnMz ID0gR1BSKGVuY29kZV9yczNfYW5kX2NoZWNrX3JzM19nZV9ydDMocnMzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQzID0gR1BSKGVuY29kZV9ncHIzKHJ0M192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHUgPSBBRERSRVNTKGVuY29kZV91X2Zyb21fYWRkcmVzcyh1X3ZhbHVlKSwg Mik7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJORUMgJXMsICVzLCAlcyIsIHJz MywgcnQzLCB1KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAg IDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAg ICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAg cmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpCTkVDXzMyXyh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8y NF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2ls MGlsMTRiczFfaWwxaWwxYnMxM1Rtc2IxNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBB RERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICBy ZXR1cm4gaW1nOjpmb3JtYXQoIkJORUMgJXMsICVzLCAlcyIsIHJzLCBydCwgcyk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAg IDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAw MCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAg ICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6Qk5FSUModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDExYnMxX2lsMWlsMWJzMTBUbXNi MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzE3XzE2 XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRF KGNvcHkodV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9z X2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIkJORUlDICVzLCAlcywgJXMiLCBydCwgdSwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6Qk5FWkNfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3Zh bHVlID0gZXh0cl9zaWwwaWw3YnMxX2lsMWlsMWJzNlRtc2I3KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcnQzX3ZhbHVlID0gZXh0cmFjdF9ydDNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQzID0gR1BSKGVuY29kZV9ncHIzKHJ0M192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhzX3Zh bHVlKSwgMik7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJORVpDICVzLCAlcyIs IHJ0Mywgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6QlBPU0dFMzJDKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwxNGJzMV9p bDFpbDFiczEzVG1zYjE0KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHMg PSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVzcyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkJQT1NHRTMyQyAlcyIsIHMpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OkJSRUFLXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IGNvZGVfdmFsdWUgPSBleHRyYWN0X2NvZGVfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgY29kZSA9IElNTUVESUFURShjb3B5KGNvZGVfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQlJFQUsgJXMiLCBjb2RlKTsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKg0KPiArICogQlJFQUsgY29kZSAtIEJyZWFrLiBDYXVzZSBhIEJyZWFrcG9p bnQgZXhjZXB0aW9uDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6QlJFQUtfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgY29kZV92YWx1ZSA9IGV4dHJhY3RfY29kZV8xOF90b18wKGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIGNvZGUgPSBJTU1FRElBVEUoY29weShjb2RlX3ZhbHVlKSk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJSRUFLICVzIiwgY29kZSk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAg IDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAw MCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAg ICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6QlJTQyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkJSU0MgJXMiLCBycyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6Q0FDSEUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0 IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgb3BfdmFsdWUgPSBleHRyYWN0X29wXzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIG9wID0gSU1NRURJQVRF KGNvcHkob3BfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHko c192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ0FDSEUgJXMsICVzKCVzKSIsIG9wLCBz LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q0FDSEVFKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwwYnM4X2lsMTVpbDhi czFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IG9wX3ZhbHVlID0gZXh0cmFjdF9v cF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBvcCA9IElNTUVESUFURShjb3B5KG9wX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9 IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNB Q0hFRSAlcywgJXMoJXMpIiwgb3AsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDEx MTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpD RUlMX0xfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVl ID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJDRUlMLkwuRCAlcywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OkNFSUxfTF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICBy ZXR1cm4gaW1nOjpmb3JtYXQoIkNFSUwuTC5TICVzLCAlcyIsIGZ0LCBmcyk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6Q0VJTF9XX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ0VJTC5XLkQgJXMsICVzIiwgZnQsIGZzKTsNCj4g K30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDRUlMX1dfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5 KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDRUlMLlcuUyAlcywgJXMiLCBmdCwg ZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNGQzEodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ0ZDMSAlcywgJXMiLCBydCwg Y3MpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNGQzIodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ0ZDMiAlcywgJXMiLCBydCwg Y3MpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNMQVNTX0QodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBG UFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ0xBU1MuRCAlcywgJXMi LCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNMQVNTX1ModWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3Rf ZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg ZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNv cHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ0xBU1MuUyAl cywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNMTyh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8y NF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIo Y29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTE8gJXMs ICVzIiwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTFoodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ0xaICVzLCAl cyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX0FGX0QodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBf OV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0g ZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMg PSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHko ZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ01QLkFGLkQgJXMs ICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9BRl9T KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRy YWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9 IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNN UC5BRi5TICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg eDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpDTVBfRVFfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3Zh bHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJDTVAuRVEuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6Q01QX0VRX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5FUS5QSCAlcywgJXMiLCBycywgcnQpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9FUV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIo Y29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5FUS5TICVzLCAlcywgJXMiLCBmZCwgZnMs IGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTVBfTEVfRCh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0 X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihj b3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuTEUuRCAlcywgJXMsICVz IiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiAr ICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEw OTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsg KiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAg ICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX0xFX1BIKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0 XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9 IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNN UC5MRS5QSCAlcywgJXMiLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAw MDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9M RV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBl eHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1 ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBm dCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQo IkNNUC5MRS5TICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpDTVBfTFRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZk X3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJDTVAuTFQuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6Q01QX0xUX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5MVC5QSCAlcywgJXMiLCBycywgcnQpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9MVF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBG UFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5MVC5TICVzLCAlcywgJXMiLCBmZCwg ZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTVBfTkVfRCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85Xzhf N182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRy YWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQ Uihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuTkUuRCAlcywgJXMs ICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX05FX1ModWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3Rf ZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0 cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3Zh bHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBS KGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ01QLk5F LlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg Kg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTEx MDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNN UF9PUl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUg PSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192 YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIkNNUC5PUi5EICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpDTVBfT1JfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJDTVAuT1IuUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAg IDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAw MCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAg ICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NBRl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29w eShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TQUYuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBm dCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NBRl9TKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3Rf ZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg ZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNv cHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TQUYuUyAlcywgJXMsICVz IiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiAr ICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEw OTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsg KiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAg ICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NFUV9EKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2Zk XzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJh Y3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1 ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihj b3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TRVEu RCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEw MDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01Q X1NFUV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUg PSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192 YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIkNNUC5TRVEuUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6Q01QX1NMRV9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIkNNUC5TTEUuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NMRV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIo Y29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TTEUuUyAlcywgJXMsICVzIiwgZmQsIGZz LCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NMVF9EKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83 XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJh Y3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBS KGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TTFQuRCAlcywgJXMs ICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NMVF9TKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0 X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4 dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92 YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQ Uihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5T TFQuUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgx MTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6 Q01QX1NORV9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFs dWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkNNUC5TTkUuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6Q01QX1NORV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICBy ZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TTkUuUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NPUl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBG UFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TT1IuRCAlcywgJXMsICVzIiwgZmQs IGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NPUl9TKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlf OF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4 dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0g RlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0 X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TT1IuUyAlcywg JXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NVRVFf RCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0 cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUg PSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQg PSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJD TVAuU1VFUS5EICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpDTVBfU1VFUV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg ZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIkNNUC5TVUVRLlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TVUxFX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihj b3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ01QLlNVTEUuRCAlcywgJXMsICVzIiwgZmQsIGZz LCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NVTEVfUyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85Xzhf N182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRy YWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQ Uihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuU1VMRS5TICVzLCAl cywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTVBfU1VMVF9E KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRy YWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9 IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNN UC5TVUxULkQgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkNNUF9TVUxUX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBm ZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiQ01QLlNVTFQuUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAg IDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAw MCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAg ICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NVTl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29w eShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5TVU4uRCAlcywgJXMsICVzIiwgZmQsIGZzLCBm dCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QX1NVTkVfRCh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0 X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihj b3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuU1VORS5EICVzLCAlcywg JXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTVBfU1VORV9TKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0 X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4 dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92 YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQ Uihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5T VU5FLlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkNNUF9TVU5fUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3Zh bHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJDTVAuU1VOLlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OkNNUF9VRVFfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuVUVRLkQgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VRVFfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0g RlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZz X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuVUVRLlMgJXMsICVzLCAlcyIsIGZk LCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VTEVfRCh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85 XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2Zz XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBl eHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9 IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShm dF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuVUxFLkQgJXMs ICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VTEVf Uyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0 cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUg PSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQg PSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJD TVAuVUxFLlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkNNUF9VTFRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZk X3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJDTVAuVUxULkQgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OkNNUF9VTFRfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHko ZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVAuVUxULlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAg IDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4g KyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0t DQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0K PiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VTl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQg PSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHko ZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7 DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUC5VTi5EICVzLCAlcywgJXMiLCBm ZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAg IDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAg ICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAg cmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTVBfVU5FX0QodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBf OV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0g ZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMg PSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHko ZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ01QLlVORS5EICVz LCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTVBfVU5F X1ModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4 dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVl ID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0 ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi Q01QLlVORS5TICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpDTVBfVU5fUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZk X3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJDTVAuVU4uUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6Q01QR0RVX0VRX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BS KGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAr DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVBHRFUuRVEuUUIgJXMsICVzLCAlcyIsIHJk LCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNNUEdEVV9MRV9RQih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3Zh bHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ01QR0RV LkxFLlFCICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg eDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpDTVBHRFVfTFRfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIkNNUEdEVS5MVC5RQiAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QR1VfRVFfUUIodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNNUEdVLkVRLlFCICVzLCAlcywg JXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDTVBHVV9MRV9RQih1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVl ID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi Q01QR1UuTEUuUUIgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OkNNUEdVX0xUX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJDTVBHVS5MVC5RQiAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QVV9FUV9RQih1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8y MShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVBVLkVRLlFCICVzLCAl cyIsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QVV9MRV9RQih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJDTVBV LkxFLlFCICVzLCAlcyIsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAw MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6Q01QVV9M VF9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJDTVBVLkxULlFCICVzLCAlcyIsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6Q09QMl8xKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgY29m dW5fdmFsdWUgPSBleHRyYWN0X2NvZnVuXzI1XzI0XzIzKGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGNvZnVuID0gSU1NRURJQVRFKGNvcHkoY29mdW5fdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ09QMl8xICVzIiwgY29mdW4pOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OkNUQzEodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1RDMSAlcywgJXMiLCBydCwgY3MpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OkNUQzIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1RDMiAlcywgJXMiLCBydCwgY3MpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OkNWVF9EX0wodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1ZULkQuTCAlcywgJXMiLCBmdCwgZnMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNWVF9EX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29w eShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1ZULkQuUyAlcywgJXMiLCBmdCwg ZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNWVF9EX1codWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBG UFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1ZULkQuVyAlcywgJXMi LCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNWVF9MX0QodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3Rf ZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg ZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNv cHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1ZULkwuRCAl cywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNWVF9MX1ModWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4 dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0g RlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1ZU LkwuUyAlcywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNWVF9TX0Qo dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJh Y3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1 ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiQ1ZULlMuRCAlcywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg Kg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTEx MDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkNW VF9TX0wodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiQ1ZULlMuTCAlcywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkNWVF9TX1BMKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNf dmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIkNWVC5TLlBMICVzLCAlcyIsIGZ0LCBmcyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6Q1ZUX1NfUFUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiAr ICAgIHJldHVybiBpbWc6OmZvcm1hdCgiQ1ZULlMuUFUgJXMsICVzIiwgZnQsIGZzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpDVlRfU19XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNWVC5TLlcgJXMsICVzIiwgZnQsIGZzKTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDVlRfV19EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNv cHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNWVC5XLkQgJXMsICVzIiwgZnQs IGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpDVlRfV19TKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0g RlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZz X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkNWVC5XLlMgJXMsICVz IiwgZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAg IDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAg ICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAg cmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpEQURESVVfNDhfKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzQx XzQwXzM5XzM4XzM3KGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9z aWwwaWwxNmJzMTZfaWwxNmlsMGJzMTZUbXNiMzEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkRBRERJVSAlcywgJXMiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgx MTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6 REFERElVX05FR18odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKG5lZ19jb3B5KHVfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiREFERElVICVzLCAlcywgJXMiLCBydCwgcnMs IHUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRBRERJVV9VMTJfKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8x MV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElN TUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi REFERElVICVzLCAlcywgJXMiLCBydCwgcnMsIHUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkRBREQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy ZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkRBREQgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OkRBRERVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJEQUREVSAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6RENMTyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEQ0xPICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6RENMWih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEQ0xaICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6RERJVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJk X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiRERJViAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6RERJVlUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIo Y29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRESVZVICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0 KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpERVJFVCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgKHZvaWQpaW5zdHJ1Y3Rpb247DQo+ICsNCj4gKyAgICByZXR1cm4gIkRFUkVU ICI7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6REVYVE0odWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBtc2JkX3ZhbHVlID0gZXh0cmFjdF9tc2J0XzEw XzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBsc2JfdmFsdWUgPSBleHRyYWN0 X2xzYl80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4 dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBsc2IgPSBJTU1FRElBVEUo Y29weShsc2JfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBtc2JkID0gSU1NRURJQVRFKGVu Y29kZV9tc2JkX2Zyb21fc2l6ZShtc2JkX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIkRFWFRNICVzLCAlcywgJXMsICVzIiwgcnQsIHJzLCBsc2IsIG1zYmQpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRFWFQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBtc2JkX3ZhbHVlID0gZXh0cmFjdF9tc2J0XzEwXzlfOF83XzYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBsc2JfdmFsdWUgPSBleHRyYWN0X2xzYl80XzNf Ml8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBsc2IgPSBJTU1FRElBVEUoY29weShsc2Jf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBtc2JkID0gSU1NRURJQVRFKGVuY29kZV9tc2Jk X2Zyb21fc2l6ZShtc2JkX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQo IkRFWFQgJXMsICVzLCAlcywgJXMiLCBydCwgcnMsIGxzYiwgbXNiZCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6REVYVFUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBtc2JkX3ZhbHVlID0gZXh0cmFjdF9tc2J0XzEwXzlfOF83XzYoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBsc2JfdmFsdWUgPSBleHRyYWN0X2xzYl80XzNfMl8xXzAoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBsc2IgPSBJTU1FRElBVEUoY29weShsc2JfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBtc2JkID0gSU1NRURJQVRFKGVuY29kZV9tc2JkX2Zyb21fc2l6 ZShtc2JkX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRFWFRVICVz LCAlcywgJXMsICVzIiwgcnQsIHJzLCBsc2IsIG1zYmQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkRJTlNNKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgbXNiZF92YWx1ZSA9IGV4dHJhY3RfbXNidF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgbHNiX3ZhbHVlID0gZXh0cmFjdF9sc2JfNF8zXzJfMV8wKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcG9zID0gSU1NRURJQVRFKGVuY29kZV9sc2JfZnJvbV9wb3NfYW5kX3Np emUobHNiX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2l6ZSA9IElNTUVESUFURShlbmNv ZGVfbHNiX2Zyb21fcG9zX2FuZF9zaXplKG1zYmRfdmFsdWUpKTsNCj4gKyAgICAvKiAhISEhISEh ISEhIC0gbm8gY29udmVyc2lvbiBmdW5jdGlvbiAqLw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJESU5TTSAlcywgJXMsICVzLCAlcyIsIHJ0LCBycywgcG9zLCBzaXplKTsNCj4gKyAg ICAvKiBoYW5kIGVkaXRlZCAqLw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRJTlModWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBtc2JkX3ZhbHVlID0g ZXh0cmFjdF9tc2J0XzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBsc2Jf dmFsdWUgPSBleHRyYWN0X2xzYl80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBw b3MgPSBJTU1FRElBVEUoZW5jb2RlX2xzYl9mcm9tX3Bvc19hbmRfc2l6ZShsc2JfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBzaXplID0gSU1NRURJQVRFKGVuY29kZV9sc2JfZnJvbV9wb3Nf YW5kX3NpemUobXNiZF92YWx1ZSkpOw0KPiArICAgIC8qICEhISEhISEhISEgLSBubyBjb252ZXJz aW9uIGZ1bmN0aW9uICovDQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRJTlMgJXMs ICVzLCAlcywgJXMiLCBydCwgcnMsIHBvcywgc2l6ZSk7DQo+ICsgICAgLyogaGFuZCBlZGl0ZWQg Ki8NCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpESU5TVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IG1zYmRfdmFsdWUgPSBleHRyYWN0X21zYnRfMTBf OV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGxzYl92YWx1ZSA9IGV4dHJhY3Rf bHNiXzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHBvcyA9IElNTUVESUFURShl bmNvZGVfbHNiX2Zyb21fcG9zX2FuZF9zaXplKGxzYl92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHNpemUgPSBJTU1FRElBVEUoZW5jb2RlX2xzYl9mcm9tX3Bvc19hbmRfc2l6ZShtc2JkX3Zh bHVlKSk7DQo+ICsgICAgLyogISEhISEhISEhISAtIG5vIGNvbnZlcnNpb24gZnVuY3Rpb24gKi8N Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRElOU1UgJXMsICVzLCAlcywgJXMiLCBy dCwgcnMsIHBvcywgc2l6ZSk7DQo+ICsgICAgLyogaGFuZCBlZGl0ZWQgKi8NCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpESSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkRJICVzIiwgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkRJVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiRElWICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpESVZfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZz X3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJESVYuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6RElWX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiRElWLlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OkRJVlUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShy ZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkRJVlUgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRMU0EodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1Ml92YWx1ZSA9IGV4dHJhY3RfdTJfMTBfOShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihj b3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyB1MiA9IElNTUVESUFURShjb3B5KHUyX3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkRMU0EgJXMsICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0LCB1 Mik7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RExVSV80OF8odWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfNDFfNDBfMzlfMzhf MzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cl91aWwwaWwzMmJz MzJGbXNiNjMoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1 X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRMVUkgJXMsICVzIiwg cnQsIHUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRNRkMwKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYzBzX3ZhbHVlID0gZXh0cmFjdF9jMHNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzZWxfdmFsdWUgPSBl eHRyYWN0X3NlbF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYzBz ID0gQ1BSKGNvcHkoYzBzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2VsID0gSU1NRURJ QVRFKGNvcHkoc2VsX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRN RkMwICVzLCAlcywgJXMiLCBydCwgYzBzLCBzZWwpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkRNRkMxKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIkRNRkMxICVzLCAlcyIsIHJ0LCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6RE1GQzIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjc192YWx1 ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiRE1GQzIgJXMsICVzIiwgcnQsIGNzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpETUZHQzAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBjMHNfdmFsdWUgPSBleHRyYWN0X2Mwc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHNlbF92YWx1ZSA9IGV4dHJhY3Rfc2VsXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBjMHMgPSBDUFIoY29weShjMHNfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBzZWwgPSBJTU1FRElBVEUoY29weShzZWxfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRE1GR0MwICVzLCAlcywgJXMiLCBydCwgYzBzLCBz ZWwpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRNT0QodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRNT0QgJXMsICVzLCAlcyIsIHJk LCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRNT0RVKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3Jk XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9 IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJETU9EVSAlcywgJXMs ICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RE1UQzAodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBjMHNfdmFsdWUgPSBl eHRyYWN0X2Mwc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNl bF92YWx1ZSA9IGV4dHJhY3Rfc2VsXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBjMHMgPSBDUFIoY29weShjMHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBz ZWwgPSBJTU1FRElBVEUoY29weShzZWxfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiRE1UQzAgJXMsICVzLCAlcyIsIHJ0LCBjMHMsIHNlbCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6RE1UQzEodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiRE1UQzEgJXMsICVzIiwgcnQsIGZzKTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpETVRDMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IGNzX3ZhbHVlID0gZXh0cmFjdF9jc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgY3MgPSBDUFIoY29weShjc192YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJETVRDMiAlcywgJXMiLCBydCwgY3MpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OkRNVEdDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGMwc192YWx1ZSA9IGV4dHJhY3RfYzBzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2VsX3ZhbHVlID0gZXh0cmFjdF9zZWxfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGMwcyA9IENQUihjb3B5KGMwc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNlbCA9IElNTUVESUFURShjb3B5KHNlbF92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJETVRHQzAgJXMsICVzLCAlcyIs IHJ0LCBjMHMsIHNlbCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiAr ICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEw OTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsg KiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAg ICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RE1UKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRE1UICVz IiwgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRNVUgodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJh Y3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BS KGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRNVUggJXMsICVzLCAlcyIs IHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAq ICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4 NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICog ICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAg ICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRNVUhVKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJETVVIVSAlcywg JXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RE1VTCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRE1V TCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEw MDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RE1V TFUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92 YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIkRNVUxVICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpEUEFfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9y bWF0KCJEUEEuVy5QSCAlcywgJXMsICVzIiwgYWMsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6RFBBUV9TQV9MX1codWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiRFBBUV9TQS5MLlcgJXMsICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OkRQQVFfU19XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShh Y192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkRQQVFfUy5XLlBIICVzLCAlcywgJXMiLCBhYywgcnMsIHJ0 KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpEUEFRWF9TQV9XX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2Fj XzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGFj ID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7 DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRQQVFYX1NBLlcuUEggJXMsICVzLCAl cyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRQQVFYX1NfV19QSCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVl ID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEUEFRWF9TLlcu UEggJXMsICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg Kg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTEx MDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRQ QVVfSF9RQkwodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi RFBBVS5ILlFCTCAlcywgJXMsICVzIiwgYWMsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6RFBBVV9IX1FCUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJEUEFVLkguUUJSICVzLCAlcywgJXMiLCBhYywgcnMsIHJ0KTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpEUEFYX1dfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiRFBBWC5XLlBIICVzLCAlcywgJXMiLCBhYywgcnMsIHJ0KTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpEUFNfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJEUFMuVy5QSCAlcywgJXMsICVzIiwgYWMsIHJzLCBydCk7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RFBTUV9TQV9MX1codWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhj b3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRFBTUV9TQS5MLlcgJXMsICVzLCAlcyIsIGFjLCBy cywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRQU1FfU19XX1BIKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0 X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRQU1FfUy5XLlBIICVzLCAlcywg JXMiLCBhYywgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpEUFNRWF9TQV9XX1BI KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFs dWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRQU1FYX1NB LlcuUEggJXMsICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkRQU1FYX1NfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9y bWF0KCJEUFNRWF9TLlcuUEggJXMsICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OkRQU1VfSF9RQkwodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiRFBTVS5ILlFCTCAlcywgJXMsICVzIiwgYWMsIHJzLCBydCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6RFBTVV9IX1FCUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHko YWNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEUFNVLkguUUJSICVzLCAlcywgJXMiLCBhYywgcnMsIHJ0 KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpEUFNYX1dfUEgodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNf MTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBB Qyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRFBTWC5XLlBIICVzLCAlcywgJXMiLCBhYywg cnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogRFJPVFIgLQ0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRST1RSKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1 XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBl eHRyYWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3Zh bHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNoaWZ0ID0g SU1NRURJQVRFKGNvcHkoc2hpZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiRFJPVFIgJXMsICVzLCAlcyIsIHJ0LCBycywgc2hpZnQpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKiBEUk9UUlszMl0gLQ0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAx MG8wMDAgICAgICAgICAgMTEwMHh4eDAxMTANCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAg ICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICBzaGlmdCAtLS0tLQ0K PiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRST1RSMzIodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRf NF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2hpZnQgPSBJTU1FRElBVEUoY29w eShzaGlmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEUk9UUjMy ICVzLCAlcywgJXMiLCBydCwgcnMsIHNoaWZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDEx MTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpE Uk9UUlYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy ZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkRST1RSViAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6RFJPVFgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdHhfdmFsdWUgPSBleHRyYWN0X3NoaWZ0eF8xMV8xMF85 XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2hpZnQgPSBJTU1FRElBVEUoY29weShz aGlmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNoaWZ0eCA9IElNTUVESUFURShjb3B5 KHNoaWZ0eF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEUk9UWCAl cywgJXMsICVzLCAlcyIsIHJ0LCBycywgc2hpZnQsIHNoaWZ0eCk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqIERTTEwgLQ0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAxMG8wMDAg ICAgICAgICAgMTEwMHh4eDAwMDANCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICBzaGlmdCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRTTEwodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8w KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2hpZnQgPSBJTU1FRElBVEUoY29weShzaGlmdF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEU0xMICVzLCAlcywgJXMi LCBydCwgcnMsIHNoaWZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogRFNMTFszMl0g LQ0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAxMG8wMDAgICAgICAgICAgMTEwMHh4eDAw MDANCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgICAgICAgICBzaGlmdCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkRTTEwzMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5KHNoaWZ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRTTEwzMiAlcywgJXMsICVzIiwgcnQsIHJzLCBzaGlm dCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RFNMTFYodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRTTExWICVzLCAlcywgJXMiLCBy ZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogRFNSQSAtDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDEwbzAwMCAgICAgICAgICAxMTAweHh4MDEwMA0KPiArICog ICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAg ICAgICAgICAgIHNoaWZ0IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RFNSQSh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNoaWZ0X3Zh bHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBz aGlmdCA9IElNTUVESUFURShjb3B5KHNoaWZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIkRTUkEgJXMsICVzLCAlcyIsIHJ0LCBycywgc2hpZnQpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKiBEU1JBWzMyXSAtDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDEwbzAwMCAgICAgICAgICAxMTAweHh4MDEwMA0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0IC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RFNSQTMyKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3No aWZ0XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNoaWZ0ID0gSU1NRURJQVRF KGNvcHkoc2hpZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRFNS QTMyICVzLCAlcywgJXMiLCBydCwgcnMsIHNoaWZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg eDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpEU1JBVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiRFNSQVYgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKiBEU1JMIC0NCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMTBvMDAw ICAgICAgICAgIDExMDB4eHgwMTAwDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpEU1JMKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzRfM18yXzFf MChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNoaWZ0ID0gSU1NRURJQVRFKGNvcHkoc2hpZnRf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRFNSTCAlcywgJXMsICVz IiwgcnQsIHJzLCBzaGlmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIERTUkxbMzJd IC0NCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMTBvMDAwICAgICAgICAgIDExMDB4eHgw MDEwDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgICAgICAgICAgc2hpZnQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpEU1JMMzIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgc2hpZnQgPSBJTU1FRElBVEUoY29weShzaGlmdF92YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEU1JMMzIgJXMsICVzLCAlcyIsIHJ0LCBycywgc2hp ZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkRTUkxWKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJEU1JMViAlcywgJXMsICVzIiwg cmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RFNVQih1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9y ZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRFNVQiAlcywgJXMs ICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RFNVQlUodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkRTVUJV ICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAw MDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpEVlBF KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiRFZQRSAlcyIsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpEVlAodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJE VlAgJXMiLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RUhCKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICAodm9pZClpbnN0cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVy biAiRUhCICI7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RUkodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJFSSAlcyIsIHJ0KTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpFTVQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJFTVQgJXMiLCBydCk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAg IDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAw MCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAg ICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6RVJFVCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg KHZvaWQpaW5zdHJ1Y3Rpb247DQo+ICsNCj4gKyAgICByZXR1cm4gIkVSRVQgIjsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAw ICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAg ICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiAr c3RkOjpzdHJpbmcgTk1EOjpFUkVUTkModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg ICh2b2lkKWluc3RydWN0aW9uOw0KPiArDQo+ICsgICAgcmV0dXJuICJFUkVUTkMgIjsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpFVlAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAr DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJFVlAgJXMiLCBydCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6RVZQRSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkVWUEUgJXMiLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6RVhUKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgbXNiZF92YWx1ZSA9IGV4dHJhY3RfbXNidF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgbHNiX3ZhbHVlID0gZXh0cmFjdF9sc2JfNF8zXzJfMV8wKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgbHNiID0gSU1NRURJQVRFKGNvcHkobHNiX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgbXNiZCA9IElNTUVESUFURShlbmNvZGVfbXNiZF9mcm9tX3NpemUobXNiZF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJFWFQgJXMsICVzLCAlcywg JXMiLCBydCwgcnMsIGxzYiwgbXNiZCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAw MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RVhURCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNoaWZ0X3Zh bHVlID0gZXh0cmFjdF9zaGlmdF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNo aWZ0ID0gSU1NRURJQVRFKGNvcHkoc2hpZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiRVhURCAlcywgJXMsICVzLCAlcyIsIHJkLCBycywgcnQsIHNoaWZ0KTsNCj4g K30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpFWFREMzIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfMTBfOV84 XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5KHNoaWZ0 X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkVYVEQzMiAlcywgJXMs ICVzLCAlcyIsIHJkLCBycywgcnQsIHNoaWZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDEx MTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpF WFRQRFAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBh Y192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBz aXplX3ZhbHVlID0gZXh0cmFjdF9zaXplXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g Kw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBz aXplID0gSU1NRURJQVRFKGNvcHkoc2l6ZV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJFWFRQRFAgJXMsICVzLCAlcyIsIHJ0LCBhYywgc2l6ZSk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6RVhUUERQVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJFWFRQRFBWICVzLCAlcywgJXMiLCBydCwgYWMsIHJzKTsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAw ICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAg ICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiAr c3RkOjpzdHJpbmcgTk1EOjpFWFRQKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgc2l6ZV92YWx1ZSA9IGV4dHJhY3Rfc2l6ZV8yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgc2l6ZSA9IElNTUVESUFURShjb3B5KHNpemVfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRVhUUCAlcywgJXMsICVzIiwgcnQsIGFjLCBzaXpl KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpFWFRQVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJFWFRQViAlcywgJXMsICVzIiwgcnQsIGFjLCBycyk7 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RVhUUl9SU19XKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0 XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBl eHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHko YWNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5KHNo aWZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkVYVFJfUlMuVyAl cywgJXMsICVzIiwgcnQsIGFjLCBzaGlmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEw MDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RVhU Ul9SX1codWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBz aGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHNoaWZ0ID0gSU1NRURJQVRFKGNvcHkoc2hpZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiRVhUUl9SLlcgJXMsICVzLCAlcyIsIHJ0LCBhYywgc2hpZnQpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkVYVFJfU19IKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0 X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5KHNoaWZ0X3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkVYVFJfUy5IICVzLCAlcywg JXMiLCBydCwgYWMsIHNoaWZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpFWFRSX1codWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1 ZSA9IGV4dHJhY3Rfc2hpZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNoaWZ0ID0g SU1NRURJQVRFKGNvcHkoc2hpZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiRVhUUi5XICVzLCAlcywgJXMiLCBydCwgYWMsIHNoaWZ0KTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpFWFRSVl9SU19XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIkVYVFJWX1JTLlcgJXMsICVzLCAlcyIsIHJ0LCBhYywgcnMpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OkVYVFJWX1JfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0 X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJFWFRSVl9SLlcgJXMsICVzLCAlcyIsIHJ0LCBhYywgcnMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkVYVFJWX1NfSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJFWFRSVl9TLkggJXMsICVzLCAlcyIsIHJ0LCBhYywg cnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkVYVFJWX1codWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNf MTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRVhUUlYuVyAlcywgJXMsICVzIiwgcnQsIGFj LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEVYVFcgLSBFeHRyYWN0IFdvcmQN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgICAgICAw MTExMTENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgICBzaGlmdCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkVYVFcodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRf MTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFj dF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNv cHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5 KHNoaWZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkVYVFcgJXMs ICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0LCBzaGlmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6RkxPT1JfTF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNf dmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIkZMT09SLkwuRCAlcywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OkZMT09SX0xfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJGTE9PUi5MLlMgJXMsICVzIiwgZnQsIGZzKTsNCj4g K30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpGTE9PUl9XX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29w eShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiRkxPT1IuVy5EICVzLCAlcyIsIGZ0 LCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6RkxPT1JfV19TKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0 XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0 ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkZMT09SLlcuUyAl cywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkZPUksodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkZPUksgJXMs ICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkhZUENBTEwo dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjb2RlX3ZhbHVlID0gZXh0 cmFjdF9jb2RlXzE3X3RvXzAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg Y29kZSA9IElNTUVESUFURShjb3B5KGNvZGVfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiSFlQQ0FMTCAlcyIsIGNvZGUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkhZUENBTExfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgY29k ZV92YWx1ZSA9IGV4dHJhY3RfY29kZV8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3Rk OjpzdHJpbmcgY29kZSA9IElNTUVESUFURShjb3B5KGNvZGVfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiSFlQQ0FMTCAlcyIsIGNvZGUpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OklOUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IG1zYmRfdmFsdWUgPSBleHRyYWN0X21zYnRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGxzYl92YWx1ZSA9IGV4dHJhY3RfbHNiXzRfM18yXzFfMChpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0 X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHBvcyA9IElNTUVESUFURShlbmNvZGVfbHNiX2Zyb21fcG9zX2Fu ZF9zaXplKGxzYl92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNpemUgPSBJTU1FRElBVEUo ZW5jb2RlX2xzYl9mcm9tX3Bvc19hbmRfc2l6ZShtc2JkX3ZhbHVlKSk7DQo+ICsgICAgLyogISEh ISEhISEhISAtIG5vIGNvbnZlcnNpb24gZnVuY3Rpb24gKi8NCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiSU5TICVzLCAlcywgJXMsICVzIiwgcnQsIHJzLCBwb3MsIHNpemUpOw0KPiAr ICAgIC8qIGhhbmQgZWRpdGVkICovDQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6SU5TVih1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJJ TlNWICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6SVJFVCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgKHZvaWQpaW5zdHJ1Y3Rpb247DQo+ICsNCj4g KyAgICByZXR1cm4gIklSRVQgIjsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpKQUxSQ18xNl8o dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfOV84XzdfNl81KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi SkFMUkMgJCVkLCAlcyIsIDMxLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAw MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6SkFMUkNf MzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkpBTFJDICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgx MTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6 SkFMUkNfSEIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiSkFMUkMuSEIgJXMsICVzIiwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpKUkModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfOV84XzdfNl81KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiSlJDICVzIiwgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAw MDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxCXzE2 Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRy YWN0X3VfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnQzX3ZhbHVlID0gZXh0cmFj dF9ydDNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByczNfdmFsdWUgPSBleHRy YWN0X3JzM182XzVfNChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydDMg PSBHUFIoZW5jb2RlX2dwcjMocnQzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElN TUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyByczMgPSBHUFIoZW5j b2RlX2dwcjMocnMzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxC ICVzLCAlcyglcykiLCBydDMsIHUsIHJzMyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEw MDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TEJf R1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92 YWx1ZSA9IGV4dHJhY3RfdV8xN190b18wKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0g SU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJMQiAlcywgJXMoJCVkKSIsIHJ0LCB1LCAyOCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgx MTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6 TEJfUzlfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBz X3ZhbHVlID0gZXh0cl9zaWwwaWwwYnM4X2lsMTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIkxCICVzLCAlcyglcykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OkxCX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8x XzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29w eSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMQiAlcywgJXMoJXMpIiwgcnQsIHUs IHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMQkUodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwx NWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1N RURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTEJFICVzLCAlcygl cykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxCVV8xNl8odWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzFf MChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlf OF83KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnMzX3ZhbHVlID0gZXh0cmFjdF9yczNf Nl81XzQoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQzID0gR1BSKGVu Y29kZV9ncHIzKHJ0M192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUo Y29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMzID0gR1BSKGVuY29kZV9ncHIz KHJzM192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMQlUgJXMsICVz KCVzKSIsIHJ0MywgdSwgcnMzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMQlVfR1BfKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9 IGV4dHJhY3RfdV8xN190b18wKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJ QVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMQlUg JXMsICVzKCQlZCkiLCBydCwgdSwgMjgpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAw MDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxCVV9T OV8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFs dWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiTEJVICVzLCAlcyglcykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OkxCVV9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8w KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHko dV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTEJVICVzLCAlcyglcykiLCBydCwgdSwg cnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxCVUUodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwx NWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1N RURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTEJVRSAlcywgJXMo JXMpIiwgcnQsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMQlVYKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1 XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRy YWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMQlVYICVz LCAlcyglcykiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMQlgodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9 IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy c192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9 IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxC WCAlcywgJXMoJXMpIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEw MDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TERf R1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92 YWx1ZSA9IGV4dHJfdWlsM2lsM2JzMThGbXNiMjAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkxEICVzLCAlcygkJWQpIiwgcnQsIHUsIDI4KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpMRF9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGlu dDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiTEQgJXMsICVzKCVzKSIsIHJ0LCBzLCBycyk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAg IDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAw MCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAg ICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6TERfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRf M18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy dCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFU RShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxEICVzLCAlcyglcykiLCBy dCwgdSwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxEQzFfR1BfKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJfdWls MmlsMmJzMTZGbXNiMTcoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQg PSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUo Y29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxEQzEgJXMs ICVzKCQlZCkiLCBmdCwgdSwgMjgpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxEQzFfUzlf KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9z aWwwaWwwYnM4X2lsMTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0 X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIkxEQzEgJXMsICVzKCVzKSIsIGZ0LCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6TERDMV9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8w KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBS KGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHko dV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTERDMSAlcywgJXMoJXMpIiwgZnQsIHUs IHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMREMxWFModWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJh Y3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BS KGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxEQzFYUyAlcywgJXMoJXMp IiwgZnQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiAr ICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEw OTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsg KiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAg ICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TERDMVgodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJh Y3RfZnRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxEQzFYICVz LCAlcyglcykiLCBmdCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMREMyKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWww aWwwYnM4X2lsMTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGN0X3Zh bHVlID0gZXh0cmFjdF9jdF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBjdCA9IENQUihjb3B5KGN0X3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkxEQzIgJXMsICVzKCVzKSIsIGN0LCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6TERNKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgY291bnQzX3ZhbHVlID0gZXh0cmFjdF9jb3VudDNfMTRfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNv cHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBjb3VudDMgPSBJTU1FRElBVEUoZW5jb2RlX2NvdW50M19mcm9tX2Nv dW50KGNvdW50M192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMRE0g JXMsICVzKCVzKSwgJXMiLCBydCwgcywgcnMsIGNvdW50Myk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6TERQQ180OF8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfNDFfNDBfMzlfMzhfMzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDE2YnMxNl9pbDE2aWwwYnMxNlRtc2IzMShpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IEFERFJFU1MoZW5jb2RlX3NfZnJvbV9hZGRyZXNz KHNfdmFsdWUpLCA2KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTERQQyAlcywg JXMiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TERYKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3Jk XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9 IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMRFggJXMsICVzKCVz KSIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxEWFModWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxEWFMgJXMs ICVzKCVzKSIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxIXzE2Xyh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3Vp bDFpbDFiczJGbXNiMihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4 dHJhY3RfcnQzXzlfOF83KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnMzX3ZhbHVlID0g ZXh0cmFjdF9yczNfNl81XzQoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnQzID0gR1BSKGVuY29kZV9ncHIzKHJ0M192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUg PSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMzID0gR1BS KGVuY29kZV9ncHIzKHJzM192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJMSCAlcywgJXMoJXMpIiwgcnQzLCB1LCByczMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkxIX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHVfdmFsdWUgPSBleHRyX3VpbDFpbDFiczE3Rm1zYjE3KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJMSCAlcywgJXMoJCVkKSIsIHJ0LCB1LCAyOCk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6TEhfUzlfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg cnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAg ICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwwYnM4X2lsMTVpbDhiczFUbXNiOChpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0 X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxIICVzLCAlcyglcykiLCBydCwgcywgcnMpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxIX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZf NV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJh Y3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1F RElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShy c192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMSCAlcywgJXMoJXMp IiwgcnQsIHUsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMSEUodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBp bDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTEhF ICVzLCAlcyglcykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAw MDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxIVV8x Nl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0 cl91aWwxaWwxYnMyRm1zYjIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydDNfdmFsdWUg PSBleHRyYWN0X3J0M185XzhfNyhpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzM192YWx1 ZSA9IGV4dHJhY3RfcnMzXzZfNV80KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJ0MyA9IEdQUihlbmNvZGVfZ3ByMyhydDNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzMyA9 IEdQUihlbmNvZGVfZ3ByMyhyczNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiTEhVICVzLCAlcyglcykiLCBydDMsIHUsIHJzMyk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6TEhVX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDFpbDFiczE3Rm1zYjE3KGluc3RydWN0aW9uKTsNCj4g Kw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJMSFUgJXMsICVzKCQlZCkiLCBydCwgdSwgMjgpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OkxIVV9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHko c192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTEhVICVzLCAlcyglcykiLCBydCwgcywg cnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxIVV9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8x MF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTEhV ICVzLCAlcyglcykiLCBydCwgdSwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAw MDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxIVUUo dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUg PSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiTEhVRSAlcywgJXMoJXMpIiwgcnQsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpMSFVYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJMSFVYICVzLCAlcyglcykiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpMSFVYUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJk X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiTEhVWFMgJXMsICVzKCVzKSIsIHJkLCBycywgcnQpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxIWFModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIo Y29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxIWFMgJXMsICVzKCVzKSIsIHJkLCBycywgcnQp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAg IDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4g KyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0t DQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0K PiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxIWCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9 IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShy c192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTEhYICVzLCAlcyglcykiLCByZCwgcnMs IHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMSV8xNl8odWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBldV92YWx1ZSA9IGV4dHJhY3RfZXVfNl81XzRfM18yXzFf MChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlf OF83KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0MyA9IEdQUihlbmNv ZGVfZ3ByMyhydDNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBldSA9IElNTUVESUFURShl bmNvZGVfZXVfZnJvbV9zX2xpMTYoZXVfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiTEkgJXMsICVzIiwgcnQzLCBldSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgx MTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6 TElfNDhfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzQxXzQwXzM5XzM4XzM3KGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBz X3ZhbHVlID0gZXh0cl9zaWwwaWwxNmJzMTZfaWwxNmlsMGJzMTZUbXNiMzEoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIkxJICVzLCAlcyIsIHJ0LCBzKTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpMTCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg aW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMmlsMmJzNl9pbDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMTCAlcywgJXMoJXMpIiwgcnQsIHMsIHJzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpMTEQodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDNpbDNiczVfaWwxNWlsOGJzMVRtc2I4 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHko c192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTExEICVzLCAlcyglcykiLCBydCwgcywg cnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxMRFAodWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydV92YWx1ZSA9IGV4dHJhY3RfcnVfN182XzVf NF8zKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydSA9IEdQUihjb3B5KHJ1 X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMTERQICVzLCAlcywgKCVzKSIsIHJ0LCBy dSwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxMRSh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8y MShpbnN0cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMmlsMmJzNl9p bDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4 dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJ TU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMTEUgJXMsICVz KCVzKSIsIHJ0LCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TExXUCh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ1X3ZhbHVlID0gZXh0 cmFjdF9ydV83XzZfNV80XzMoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9 IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3Rk OjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ1 ID0gR1BSKGNvcHkocnVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxMV1AgJXMsICVz LCAoJXMpIiwgcnQsIHJ1LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TExXUEUodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydV92YWx1ZSA9 IGV4dHJhY3RfcnVfN182XzVfNF8zKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBydSA9IEdQUihjb3B5KHJ1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIo Y29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMTFdQRSAl cywgJXMsICglcykiLCBydCwgcnUsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAw MDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMU0Eo dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1 ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCB1Ml92YWx1ZSA9IGV4dHJhY3RfdTJfMTBfOShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1MiA9IElNTUVESUFU RShjb3B5KHUyX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxTQSAl cywgJXMsICVzLCAlcyIsIHJkLCBycywgcnQsIHUyKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg eDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpMVUkodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNf dmFsdWUgPSBleHRyX3NpbDBpbDMxYnMxX2lsMmlsMjFiczEwX2lsMTJpbDEyYnM5VG1zYjMxKGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMVUkgJXMsICUlaGkoJXMpIiwgcnQsIHMp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAg IDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4g KyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0t DQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0K PiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxXXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDBpbDJiczRGbXNiNShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlfOF83KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnMzX3ZhbHVlID0gZXh0cmFjdF9yczNfNl81XzQoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQzID0gR1BSKGVuY29kZV9ncHIz KHJ0M192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMzID0gR1BSKGVuY29kZV9ncHIzKHJzM192YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMVyAlcywgJXMoJXMpIiwgcnQz LCB1LCByczMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxXXzRYNF8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCByczRfdmFsdWUgPSBleHRyYWN0X3JzNF80XzJf MV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnQ0X3ZhbHVlID0gZXh0cmFjdF9ydDRf OV83XzZfNShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDNp bDNiczFfaWw4aWwyYnMxRm1zYjMoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcnQ0ID0gR1BSKGVuY29kZV9ncHI0KHJ0NF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnM0ID0g R1BSKGVuY29kZV9ncHI0KHJzNF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9y bWF0KCJMVyAlcywgJXMoJXMpIiwgcnQ0LCB1LCByczQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OkxXX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHVfdmFsdWUgPSBleHRyX3VpbDJpbDJiczE5Rm1zYjIwKGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJMVyAlcywgJXMoJCVkKSIsIHJ0LCB1LCAyOCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6TFdfR1AxNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCB1X3ZhbHVlID0gZXh0cl91aWwwaWwyYnM3Rm1zYjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBydDNfdmFsdWUgPSBleHRyYWN0X3J0M185XzhfNyhpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydDMgPSBHUFIoZW5jb2RlX2dwcjMocnQzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKw0KPiAr ICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTFcgJXMsICVzKCQlZCkiLCBydDMsIHUsIDI4KTsNCj4g K30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMV19TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJz MVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRF KGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTFcgJXMsICVzKCVzKSIsIHJ0 LCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TFdfU1BfKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzlfOF83XzZf NShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDBpbDJiczVG bXNiNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTFcgJXMsICVzKCQlZCkiLCBy dCwgdSwgMjkpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxXX1UxMl8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91 XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy c192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJMVyAlcywgJXMoJXMpIiwgcnQsIHUsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDEx MTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpM V0MxX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVl ID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHVfdmFsdWUgPSBleHRyX3VpbDJpbDJiczE2Rm1zYjE3KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJMV0MxICVzLCAlcygkJWQpIiwgZnQsIHUsIDI4KTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpMV0MxX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgaW50 NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29w eShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAr DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMV0MxICVzLCAlcyglcykiLCBmdCwgcywgcnMp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAg IDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4g KyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0t DQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0K PiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxXQzFfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICt7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBf OV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg dSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIkxXQzEg JXMsICVzKCVzKSIsIGZ0LCB1LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAw MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TFdDMVgo dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1 ZSA9IGV4dHJhY3RfZnRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy dCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQo IkxXQzFYICVzLCAlcyglcykiLCBmdCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg eDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpMV0MxWFModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rp b24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIkxXQzFYUyAlcywgJXMoJXMpIiwgZnQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6TFdDMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgaW50NjQg c192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBjdF92YWx1ZSA9IGV4dHJhY3RfY3RfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgY3QgPSBDUFIoY29weShj dF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMV0MyICVzLCAlcyglcykiLCBjdCwgcywgcnMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxXRSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMx VG1zYjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUo Y29weShzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMV0UgJXMsICVzKCVzKSIsIHJ0 LCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TFdNKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgY291bnQzX3ZhbHVlID0gZXh0cmFjdF9j b3VudDNfMTRfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRy X3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBjb3VudDMgPSBJ TU1FRElBVEUoZW5jb2RlX2NvdW50M19mcm9tX2NvdW50KGNvdW50M192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMV00gJXMsICVzKCVzKSwgJXMiLCBydCwgcywgcnMs IGNvdW50Myk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TFdQQ180OF8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfNDFfNDBf MzlfMzhfMzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBp bDE2YnMxNl9pbDE2aWwwYnMxNlRtc2IzMShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9 IEFERFJFU1MoZW5jb2RlX3NfZnJvbV9hZGRyZXNzKHNfdmFsdWUpLCA2KTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiTFdQQyAlcywgJXMiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6TFdVX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDJpbDJiczE2Rm1zYjE3KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMV1UgJXMsICVzKCQlZCkiLCBydCwgdSwgMjgpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxXVV9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJz MVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRF KGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTFdVICVzLCAlcyglcykiLCBy dCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OkxXVV9VMTJfKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3Rf dV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiTFdVICVzLCAlcyglcykiLCBydCwgdSwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4 MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OkxXVVgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy ZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIkxXVVggJXMsICVzKCVzKSIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OkxXVVhTKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJMV1VYUyAlcywgJXMoJXMpIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6TFdYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJMV1ggJXMsICVzKCVzKSIsIHJkLCBycywgcnQpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OkxXWFNfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgcmQzX3ZhbHVlID0gZXh0cmFjdF9yZDNfM18yXzEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBydDNfdmFsdWUgPSBleHRyYWN0X3J0M185XzhfNyhpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJzM192YWx1ZSA9IGV4dHJhY3RfcnMzXzZfNV80KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkMyA9IEdQUihlbmNvZGVfZ3ByMyhyZDNfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyByczMgPSBHUFIoZW5jb2RlX2dwcjMocnMzX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQzID0gSU1NRURJQVRFKGVuY29kZV9ncHIzKHJ0M192 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJMV1hTICVzLCAlcyglcyki LCByZDMsIHJzMywgcnQzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpMV1hTXzMyXyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTFdY UyAlcywgJXMoJXMpIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEw MDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TUFE RF9EU1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg YWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9 IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1B REQgJXMsICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg Kg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTEx MDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1B RERGX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiTUFEREYuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5n IE5NRDo6TUFEREZfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZz X3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJNQURERi5TICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpNQUREVV9EU1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIk1BRERVICVzLCAlcywgJXMiLCBhYywgcnMsIHJ0KTsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAw ICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAg ICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiAr c3RkOjpzdHJpbmcgTk1EOjpNQVFfU19XX1BITCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJNQVFfUy5XLlBITCAlcywgJXMsICVzIiwgYWMsIHJzLCBydCk7 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TUFRX1NfV19QSFIodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNf MTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBB Qyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTUFRX1MuVy5QSFIgJXMsICVzLCAlcyIsIGFj LCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1BUV9TQV9XX1BITCh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0 cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNQVFfU0EuVy5QSEwgJXMs ICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1BUV9TQV9X X1BIUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFj X3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNQVFf U0EuVy5QSFIgJXMsICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6Ok1BWF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFs dWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIk1BWC5EICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpNQVhfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZz X3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGlt Zzo6Zm9ybWF0KCJNQVguUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6TUFYQV9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIk1BWEEuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAg IDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAw MCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAg ICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4g K3N0ZDo6c3RyaW5nIE5NRDo6TUFYQV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83 XzYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShm ZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIk1BWEEuUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TUZDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGMwc192YWx1ZSA9IGV4dHJhY3RfYzBzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2VsX3ZhbHVlID0gZXh0cmFjdF9zZWxf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGMwcyA9IENQUihjb3B5 KGMwc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNlbCA9IElNTUVESUFURShjb3B5KHNl bF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNRkMwICVzLCAlcywg JXMiLCBydCwgYzBzLCBzZWwpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1GQzEodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4 dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0g RlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTUZD MSAlcywgJXMiLCBydCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1GQzIodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3Nf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNzID0g Q1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTUZD MiAlcywgJXMiLCBydCwgY3MpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1GR0MwKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0 XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYzBzX3ZhbHVlID0g ZXh0cmFjdF9jMHNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBz ZWxfdmFsdWUgPSBleHRyYWN0X3NlbF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgYzBzID0gQ1BSKGNvcHkoYzBzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg c2VsID0gSU1NRURJQVRFKGNvcHkoc2VsX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIk1GR0MwICVzLCAlcywgJXMiLCBydCwgYzBzLCBzZWwpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6Ok1GSEMwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgYzBzX3ZhbHVlID0gZXh0cmFjdF9jMHNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzZWxfdmFsdWUgPSBleHRyYWN0X3NlbF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYzBzID0gQ1BSKGNvcHkoYzBzX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2VsID0gSU1NRURJQVRFKGNvcHkoc2VsX3ZhbHVlKSk7 DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1GSEMwICVzLCAlcywgJXMiLCBydCwg YzBzLCBzZWwpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1GSEMxKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2Zz XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1GSEMxICVzLCAl cyIsIHJ0LCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TUZIQzIodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNv cHkoY3NfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTUZIQzIgJXMs ICVzIiwgcnQsIGNzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNRkhHQzAodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBjMHNfdmFsdWUgPSBleHRy YWN0X2Mwc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNlbF92 YWx1ZSA9IGV4dHJhY3Rfc2VsXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBjMHMgPSBDUFIoY29weShjMHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzZWwg PSBJTU1FRElBVEUoY29weShzZWxfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiTUZIR0MwICVzLCAlcywgJXMiLCBydCwgYzBzLCBzZWwpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6Ok1GSElfRFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIk1GSEkgJXMsICVzIiwgcnQsIGFjKTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpNRkhUUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGMwc192YWx1ZSA9IGV4dHJhY3RfYzBzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgc2VsX3ZhbHVlID0gZXh0cmFjdF9zZWxfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzEwKGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBjMHMgPSBJTU1FRElBVEUoY29weShjMHNfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHNlbCA9IElNTUVESUFURShjb3B5KHNlbF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJNRkhUUiAlcywgJXMsICVzLCAlcyIsIHJ0LCBjMHMsIHUsIHNl bCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TUZMT19EU1BfKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEz XzEyKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTUZMTyAlcywgJXMiLCBydCwgYWMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1GVFIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBjMHNfdmFsdWUgPSBleHRyYWN0X2Mwc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNlbF92YWx1ZSA9IGV4dHJhY3Rfc2Vs XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4 dHJhY3RfdV8xMChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYzBzID0gSU1NRURJQVRFKGNv cHkoYzBzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzZWwgPSBJTU1FRElBVEUoY29weShzZWxfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTUZUUiAlcywgJXMsICVzLCAl cyIsIHJ0LCBjMHMsIHUsIHNlbCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TUlOX0QodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3Rf ZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9 IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm ZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBS KGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTUlOLkQg JXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAw MDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1JTl9T KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRy YWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFs dWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9 IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1J Ti5TICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDEx MTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpN SU5BX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiTUlOQS5EICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpNSU5BX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192 YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiTUlOQS5TICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpNT0QodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIk1PRCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6TU9EU1VCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNT0RTVUIgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1PRFUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBH UFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1PRFUgJXMsICVzLCAlcyIsIHJkLCBycywg cnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1PVl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBS KGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1PVi5EICVzLCAlcyIsIGZ0 LCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TU9WX1ModWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBG UFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTU9WLlMgJXMsICVzIiwg ZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNT1ZFX0JBTEModWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCByZDFfdmFsdWUgPSBleHRyYWN0X3JkbF8yNV8y NChpbnN0cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMjFiczFf aWwxaWwxYnMyMFRtc2IyMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0ejRfdmFsdWUg PSBleHRyYWN0X3J0ejRfMjdfMjZfMjVfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcmQxID0gR1BSKGVuY29kZV9yZDFfZnJvbV9yZChyZDFfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydHo0ID0gR1BSKGVuY29kZV9ncHI0X3plcm8ocnR6NF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBBRERSRVNTKGVuY29kZV9zX2Zyb21fYWRkcmVz cyhzX3ZhbHVlKSwgNCk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1PVkUuQkFM QyAlcywgJXMsICVzIiwgcmQxLCBydHo0LCBzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDEx MTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpN T1ZFUCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJzejRfdmFsdWUg PSBleHRyYWN0X3JzejRfNF8yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0ejRf dmFsdWUgPSBleHRyYWN0X3J0ejRfOV83XzZfNShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJkMl92YWx1ZSA9IGV4dHJhY3RfcmQyXzNfOChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGQ6OnN0cmluZyByZDIgPSBHUFIoZW5jb2RlX3JkMl9yZWcxKHJkMl92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJlMiA9IEdQUihlbmNvZGVfcmQyX3JlZzIocmQyX3ZhbHVlKSk7DQo+ICsg ICAgLyogISEhISEhISEhISAtIG5vIGNvbnZlcnNpb24gZnVuY3Rpb24gKi8NCj4gKyAgICBzdGQ6 OnN0cmluZyByc3o0ID0gR1BSKGVuY29kZV9ncHI0X3plcm8ocnN6NF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ejQgPSBHUFIoZW5jb2RlX2dwcjRfemVybyhydHo0X3ZhbHVlKSk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1PVkVQICVzLCAlcywgJXMsICVzIiwgcmQy LCByZTIsIHJzejQsIHJ0ejQpOw0KPiArICAgIC8qIGhhbmQgZWRpdGVkICovDQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6TU9WRVBfUkVWXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHJzNF92YWx1ZSA9IGV4dHJhY3RfcnM0XzRfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBydDRfdmFsdWUgPSBleHRyYWN0X3J0NF85XzdfNl81KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcmQyX3ZhbHVlID0gZXh0cmFjdF9yZDJfM184KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzNCA9IEdQUihlbmNvZGVfZ3ByNChyczRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydDQgPSBHUFIoZW5jb2RlX2dwcjQocnQ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcmQyID0gR1BSKGVuY29kZV9yZDJfcmVnMShyZDJfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyByczIgPSBHUFIoZW5jb2RlX3JkMl9yZWcyKHJkMl92 YWx1ZSkpOw0KPiArICAgIC8qICEhISEhISEhISEgLSBubyBjb252ZXJzaW9uIGZ1bmN0aW9uICov DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1PVkVQICVzLCAlcywgJXMsICVzIiwg cnM0LCBydDQsIHJkMiwgcnMyKTsNCj4gKyAgICAvKiBoYW5kIGVkaXRlZCAqLw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFs IFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TU9WRSh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF85XzhfN182XzUo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfNF8zXzJf MV8wKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7 DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1PVkUgJXMsICVzIiwgcnQsIHJzKTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQg RnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1PVk4odWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1PVk4g JXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBB RERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdo dCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6TU9WWih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJk X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiTU9WWiAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0 aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNU1VCX0RTUF8odWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4 dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4 dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVNVQiAlcywgJXMsICVz IiwgYWMsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyBy ZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZl IFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpNU1VCRl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNf dmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rp b24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIk1TVUJGLkQgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdv cmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TVNVQkZfUyh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0 cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihj b3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNU1VCRi5TICVzLCAlcywgJXMi LCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJk LCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUg UmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6Ok1TVUJVX0RTUF8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiTVNVQlUgJXMsICVzLCAlcyIsIGFjLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFu ZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TVRDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGMwc192YWx1ZSA9IGV4dHJhY3RfYzBzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2VsX3ZhbHVlID0gZXh0cmFjdF9z ZWxfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGMwcyA9IENQUihj b3B5KGMwc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNlbCA9IElNTUVESUFURShjb3B5 KHNlbF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNVEMwICVzLCAl cywgJXMiLCBydCwgYzBzLCBzZWwpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERR SF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0 byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6TVRDMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJNVEMxICVzLCAlcyIsIHJ0LCBmcyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29y ZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVEMyKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgY3NfdmFsdWUgPSBleHRyYWN0X2NzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBjcyA9IENQUihjb3B5KGNzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1UQzIgJXMsICVzIiwgcnQs IGNzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMg LSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAw MTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1UR0Mw KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYzBzX3Zh bHVlID0gZXh0cmFjdF9jMHNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBzZWxfdmFsdWUgPSBleHRyYWN0X3NlbF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgYzBzID0gQ1BSKGNvcHkoYzBzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgc2VsID0gSU1NRURJQVRFKGNvcHkoc2VsX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIk1UR0MwICVzLCAlcywgJXMiLCBydCwgYzBzLCBzZWwpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlv bmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TVRIQzAodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBjMHNfdmFsdWUgPSBleHRyYWN0 X2Mwc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNlbF92YWx1 ZSA9IGV4dHJhY3Rfc2VsXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBjMHMgPSBDUFIoY29weShjMHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzZWwgPSBJ TU1FRElBVEUoY29weShzZWxfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiTVRIQzAgJXMsICVzLCAlcyIsIHJ0LCBjMHMsIHNlbCk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5k IFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVEhDMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNVEhDMSAlcywgJXMiLCBydCwgZnMp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFk ZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TVRIQzIodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3Rf Y3NfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3Rk OjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNz ID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi TVRIQzIgJXMsICVzIiwgcnQsIGNzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQURE UUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQg dG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6Ok1USEdDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGMwc192YWx1ZSA9IGV4dHJhY3RfYzBzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2VsX3ZhbHVlID0gZXh0cmFjdF9zZWxfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGMwcyA9IENQUihjb3B5KGMwc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNlbCA9IElNTUVESUFURShjb3B5KHNlbF92YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNVEhHQzAgJXMsICVzLCAlcyIsIHJ0 LCBjMHMsIHNlbCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwg cnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJl c3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg MDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpNVEhJX0RTUF8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBhY192 YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9y bWF0KCJNVEhJICVzLCAlcyIsIHJzLCBhYyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq IEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJp Z2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAw ICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAg ICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiAr c3RkOjpzdHJpbmcgTk1EOjpNVEhMSVAodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJNVEhMSVAgJXMsICVzIiwgcnMsIGFjKTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3Jk cyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1USFRSKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYzBzX3ZhbHVlID0gZXh0cmFjdF9jMHNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzZWxfdmFsdWUgPSBleHRy YWN0X3NlbF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFs dWUgPSBleHRyYWN0X3VfMTAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGMwcyA9IElNTUVE SUFURShjb3B5KGMwc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUo Y29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2VsID0gSU1NRURJQVRFKGNvcHko c2VsX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1USFRSICVzLCAl cywgJXMsICVzIiwgcnQsIGMwcywgdSwgc2VsKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQg UmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6Ok1UTE9fRFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIk1UTE8gJXMsICVzIiwgcnMsIGFjKTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBX b3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1UVFIodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBjMHNfdmFsdWUgPSBleHRyYWN0X2Mwc18y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNlbF92YWx1ZSA9IGV4 dHJhY3Rfc2VsXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92 YWx1ZSA9IGV4dHJhY3RfdV8xMChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYzBzID0gSU1N RURJQVRFKGNvcHkoYzBzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFU RShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzZWwgPSBJTU1FRElBVEUoY29w eShzZWxfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVRUUiAlcywg JXMsICVzLCAlcyIsIHJ0LCBjMHMsIHUsIHNlbCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0 IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpNVUgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29w eShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1VSCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZy YWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVUhVKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1 XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRy YWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJNVUhVICVz LCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQURE UUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQg dG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6Ok1VTF8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShy ZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIk1VTCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0 aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVUxfNFg0Xyh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJzNF92YWx1ZSA9IGV4dHJhY3RfcnM0 XzRfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBydDRfdmFsdWUgPSBleHRyYWN0 X3J0NF85XzdfNl81KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzNCA9 IEdQUihlbmNvZGVfZ3ByNChyczRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydDQgPSBH UFIoZW5jb2RlX2dwcjQocnQ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIk1VTCAlcywgJXMiLCByczQsIHJ0NCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq IEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJp Z2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAw ICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAg ICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiAr c3RkOjpzdHJpbmcgTk1EOjpNVUxfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182 KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJNVUwuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0 aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVUxfUEgodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1VTC5QSCAl cywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFE RFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0 IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpNVUxfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5 KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiAr ICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVVMX1MuUEggJXMsICVzLCAlcyIsIHJkLCBycywgcnQp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFk ZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TVVMX1ModWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3Rf ZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9 IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm ZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBS KGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVVMLlMg JXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBB RERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdo dCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6TVVMRVFfU19XX1BITCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQ Uihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVVMRVFfUy5XLlBITCAlcywgJXMsICVzIiwg cmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwg cnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJl c3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg MDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpNVUxFUV9TX1dfUEhSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQg cnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJNVUxFUV9TLlcuUEhSICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQg RnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1VTEVVX1NfUEhf UUJMKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRf dmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9y bWF0KCJNVUxFVV9TLlBILlFCTCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwg V29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVUxFVV9TX1BIX1FCUih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3Zh bHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVVMRVVf Uy5QSC5RQlIgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBT aGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TVVMUV9SU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy ZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVVMUV9SUy5QSCAlcywgJXMsICVz IiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyBy ZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZl IFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpNVUxRX1JTX1codWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIk1VTFFfUlMuVyAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0 aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVUxRX1NfUEgodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1VTFFf Uy5QSCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0 IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpNVUxRX1NfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQ Uihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVVMUV9TLlcgJXMsICVzLCAlcyIsIHJkLCBy cywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBy cyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRz DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEw MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6TVVM U0FfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJN VUxTQS5XLlBIICVzLCAlcywgJXMiLCBhYywgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQg U2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1VTFNBUV9TX1dfUEgodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNf MTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBB Qyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTVVMU0FRX1MuVy5QSCAlcywgJXMsICVzIiwg YWMsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwg cnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJl c3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg MDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpNVUxUX0RTUF8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiTVVMVCAlcywgJXMsICVzIiwgYWMsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNo aWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpNVUxUVV9EU1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29w eShhY192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1VTFRVICVzLCAlcywgJXMiLCBhYywgcnMsIHJ0KTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQg RnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok1VTFUodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk1VTFUg JXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBB RERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdo dCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6TkVHX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiAr ICAgIHJldHVybiBpbWc6OmZvcm1hdCgiTkVHLkQgJXMsICVzIiwgZnQsIGZzKTsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25h bCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok5FR19TKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0 XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0 ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk5FRy5TICVzLCAl cyIsIGZ0LCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwg cnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJl c3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg MDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpOT1BfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICAodm9pZClpbnN0cnVj dGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiTk9QICI7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNo aWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAg ICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAg MDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiAr ICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq Lw0KPiArc3RkOjpzdHJpbmcgTk1EOjpOT1BfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICAodm9pZClpbnN0cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiTk9QICI7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZy YWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpOT1IodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk5PUiAlcywg JXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFI X1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRv IEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpOT1RfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnQzX3ZhbHVlID0gZXh0cmFjdF9ydDNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByczNfdmFsdWUgPSBleHRyYWN0X3JzM182XzVfNChpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyBydDMgPSBHUFIoZW5jb2RlX2dwcjMocnQzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMzID0gR1BSKGVuY29kZV9ncHIzKHJzM192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJOT1QgJXMsICVzIiwgcnQzLCByczMpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlv bmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6T1JfMTZfKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnQzX3ZhbHVlID0gZXh0cmFjdF9ydDNfOV84 XzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByczNfdmFsdWUgPSBleHRyYWN0X3JzM182 XzVfNChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByczMgPSBHUFIoZW5j b2RlX2dwcjMocnMzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQzID0gR1BSKGVuY29k ZV9ncHIzKHJ0M192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJPUiAl cywgJXMiLCByczMsIHJ0Myk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1Iu VyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhh bHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpPUl8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIk9SICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBX b3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6Ok9SSSh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8y MShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBf OV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElB VEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIk9SSSAl cywgJXMsICVzIiwgcnQsIHJzLCB1KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQURE UUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQg dG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OlBBQ0tSTF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5 KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiAr ICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUEFDS1JMLlBIICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0 KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBB ZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlBBVVNFKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICAodm9pZClpbnN0cnVjdGlvbjsNCj4gKw0K PiArICAgIHJldHVybiAiUEFVU0UgIjsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQURE UUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQg dG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OlBJQ0tfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShy ZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIlBJQ0suUEggJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBG cmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UElDS19RQih1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUElD Sy5RQiAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0 IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpQUkVDRVFfV19QSEwodWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUFJFQ0VRLlcuUEhMICVzLCAlcyIs IHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQs IHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3Vs dHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0 MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAw MTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4g KyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpQ UkVDRVFfV19QSFIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiUFJFQ0VRLlcuUEhSICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwg V29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpQUkVDRVFVX1BIX1FCTEEodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4 dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUFJF Q0VRVS5QSC5RQkxBICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0 IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpQUkVDRVFVX1BIX1FCTCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJQUkVDRVFVLlBILlFCTCAlcywg JXMiLCBydCwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQs IHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBS ZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6UFJFQ0VRVV9QSF9RQlJBKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIlBSRUNFUVUuUEguUUJSQSAlcywgJXMiLCBydCwgcnMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBG cmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UFJFQ0VRVV9QSF9R QlIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiUFJFQ0VRVS5QSC5RQlIgJXMsICVzIiwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBB bmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAg IDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4g KyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0t DQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0K PiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlBSRUNFVV9QSF9RQkxBKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlBSRUNFVS5QSC5R QkxBICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFI X1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRv IEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpQUkVDRVVfUEhfUUJMKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlBSRUNFVS5QSC5RQkwgJXMsICVzIiwgcnQsIHJz KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBB ZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlBSRUNFVV9Q SF9RQlJBKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIlBSRUNFVS5QSC5RQlJBICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29y ZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpQUkVDRVVfUEhfUUJSKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlBSRUNFVS5Q SC5RQlIgJXMsICVzIiwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQURE UUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQg dG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OlBSRUNSX1FCX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNv cHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJQUkVDUi5RQi5QSCAlcywgJXMsICVzIiwgcmQsIHJz LCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UFJFQ1JfU1JBX1BIX1codWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzYV92YWx1ZSA9IGV4dHJh Y3Rfc2FfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzYSA9IElNTUVE SUFURShjb3B5KHNhX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlBS RUNSX1NSQS5QSC5XICVzLCAlcywgJXMiLCBydCwgcnMsIHNhKTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpQUkVDUl9TUkFfUl9QSF9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgc2FfdmFsdWUgPSBleHRyYWN0X3NhXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNv cHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2EgPSBJTU1FRElBVEUoY29weShzYV92YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJQUkVDUl9TUkFfUi5QSC5XICVzLCAlcywg JXMiLCBydCwgcnMsIHNhKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpQUkVDUlFfUEhfVyh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVl ID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi UFJFQ1JRLlBILlcgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OlBSRUNSUV9RQl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJk X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiUFJFQ1JRLlFCLlBIICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0 KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpQUkVDUlFfUlNfUEhfVyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9y ZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUFJFQ1JRX1JTLlBI LlcgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg Kg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTEx MDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlBS RUNSUVVfU19RQl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiUFJFQ1JRVV9TLlFCLlBIICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpQUkVGX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMxVG1z YjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBoaW50X3ZhbHVlID0gZXh0cmFjdF9oaW50 XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIGhpbnQgPSBJTU1FRElBVEUoY29weShoaW50X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQo IlBSRUYgJXMsICVzKCVzKSIsIGhpbnQsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg eDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpQUkVGX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBoaW50 X3ZhbHVlID0gZXh0cmFjdF9oaW50XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGhpbnQgPSBJTU1F RElBVEUoY29weShoaW50X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFU RShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlBSRUYgJXMsICVzKCVzKSIs IGhpbnQsIHUsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpQUkVGRSh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9p bDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBoaW50X3ZhbHVlID0g ZXh0cmFjdF9oaW50XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIGhpbnQgPSBJTU1FRElBVEUoY29weShoaW50X3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIlBSRUZFICVzLCAlcyglcykiLCBoaW50LCBzLCBycyk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6UFJFUEVORCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHNhX3ZhbHVlID0gZXh0cmFjdF9zYV8xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNvcHkoc2FfdmFsdWUpKTsNCj4g Kw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUFJFUEVORCAlcywgJXMsICVzIiwgcnQsIHJz LCBzYSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UkFERFVfV19RQih1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy dCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJSQUREVS5XLlFC ICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UkREU1AodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBtYXNrX3ZhbHVlID0g ZXh0cmFjdF9tYXNrXzIwXzE5XzE4XzE3XzE2XzE1XzE0KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBtYXNrID0gSU1NRURJQVRFKGNvcHkobWFza192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJSRERTUCAlcywgJXMiLCBydCwgbWFzayk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6UkRIV1IodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBoc192YWx1ZSA9IGV4dHJhY3RfaHNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBzZWxfdmFsdWUgPSBleHRyYWN0X3NlbF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgaHMgPSBDUFIoY29weShoc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHNlbCA9IElNTUVESUFURShjb3B5KHNlbF92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJSREhXUiAlcywgJXMsICVzIiwgcnQsIGhzLCBzZWwpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlJEUEdQUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJSRFBHUFIgJXMsICVzIiwgcnQsIHJz KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAg ICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0t LQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0N Cj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpSRUNJUF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBS KGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJFQ0lQLkQgJXMsICVzIiwg ZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpSRUNJUF9TKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0 XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0 ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJFQ0lQLlMgJXMs ICVzIiwgZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpSRVBMX1BIKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1 XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9z aWwxMWlsMGJzMTBUbXNiOShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy dCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFU RShjb3B5KHNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUkVQTC5Q SCAlcywgJXMiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UkVQTF9RQih1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBl eHRyYWN0X3VfMjBfMTlfMThfMTdfMTZfMTVfMTRfMTMoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIlJFUEwuUUIgJXMsICVzIiwgcnQsIHUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OlJFUExWX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIlJFUExWLlBIICVzLCAlcyIsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6UkVQTFZfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiAr ICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUkVQTFYuUUIgJXMsICVzIiwgcnQsIHJzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpSRVNUT1JFXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IGNvdW50X3ZhbHVlID0gZXh0cmFjdF9jb3VudF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDNp bDNiczlGbXNiMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBncF92YWx1ZSA9IGV4dHJh Y3RfZ3BfMihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJ QVRFKGNvcHkodV92YWx1ZSkpOw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUkVTVE9SRSAl cyVzIiwgdSwNCj4gKyAgICAgICAgICAgICAgIHNhdmVfcmVzdG9yZV9saXN0KHJ0X3ZhbHVlLCBj b3VudF92YWx1ZSwgZ3BfdmFsdWUpKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpSRVNUT1JF X0pSQ18xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjb3VudF92 YWx1ZSA9IGV4dHJhY3RfY291bnRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJ0MV92YWx1ZSA9IGV4dHJhY3RfcnRsXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg dV92YWx1ZSA9IGV4dHJfdWlsNGlsNGJzNEZtc2I3KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJSRVNUT1JFLkpSQyAlcyVzIiwgdSwNCj4gKyAgICAgICAgc2F2ZV9yZXN0 b3JlX2xpc3QoZW5jb2RlX3J0MV9mcm9tX3J0KHJ0MV92YWx1ZSksIGNvdW50X3ZhbHVlLCAwKSk7 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UkVTVE9SRV9KUkNfMzJfKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgY291bnRfdmFsdWUgPSBleHRyYWN0X2NvdW50XzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9 IGV4dHJfdWlsM2lsM2JzOUZtc2IxMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGdwX3Zh bHVlID0gZXh0cmFjdF9ncF8yKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJSRVNUT1JFLkpSQyAlcyVzIiwgdSwNCj4gKyAgICAgICAgICAgICAgIHNhdmVfcmVzdG9yZV9s aXN0KHJ0X3ZhbHVlLCBjb3VudF92YWx1ZSwgZ3BfdmFsdWUpKTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpSRVNUT1JFRih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0 IGNvdW50X3ZhbHVlID0gZXh0cmFjdF9jb3VudF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDNpbDNiczlGbXNiMTEoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBjb3VudCA9IElNTUVESUFURShjb3B5KGNvdW50X3ZhbHVlKSk7 DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJFU1RPUkVGICVzLCAlcyIsIHUsIGNv dW50KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpSSU5UX0QodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBG UFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiUklOVC5EICVzLCAlcyIs IGZ0LCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6UklOVF9TKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0 XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0 ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJJTlQuUyAlcywg JXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAq ICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4 NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICog ICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAg ICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlJPVFIodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJh Y3Rfc2hpZnRfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2hpZnQgPSBJTU1F RElBVEUoY29weShzaGlmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJST1RSICVzLCAlcywgJXMiLCBydCwgcnMsIHNoaWZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpST1RSVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiUk9UUlYgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OlJPVFgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8wKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnR4X3ZhbHVlID0gZXh0cl9zaGlmdHhpbDdpbDFiczRG bXNiNChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHN0cmlwZV92YWx1ZSA9IGV4dHJhY3Rf c3RyaXBlXzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5 KHNoaWZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2hpZnR4ID0gSU1NRURJQVRFKGNv cHkoc2hpZnR4X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc3RyaXBlID0gSU1NRURJQVRF KGNvcHkoc3RyaXBlX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJP VFggJXMsICVzLCAlcywgJXMsICVzIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcnQsIHJz LCBzaGlmdCwgc2hpZnR4LCBzdHJpcGUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAw MDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlJPVU5E X0xfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0g ZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0 X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJST1VORC5MLkQgJXMsICVzIiwgZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpST1VORF9MX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJl dHVybiBpbWc6OmZvcm1hdCgiUk9VTkQuTC5TICVzLCAlcyIsIGZ0LCBmcyk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIHgxMTEwMDAwMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6Uk9VTkRfV19EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsN Cj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJPVU5ELlcuRCAlcywgJXMiLCBmdCwgZnMpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICB4MTExMDAwMDEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlJPVU5EX1dfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihj b3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJST1VORC5XLlMgJXMsICVzIiwg ZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpSU1FSVF9EKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0 XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0 ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJTUVJULkQgJXMs ICVzIiwgZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgeDExMTAwMDAxMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpSU1FSVF9TKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRy YWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQ Uihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlJTUVJU LlMgJXMsICVzIiwgZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTQVZFXzE2Xyh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGNvdW50X3ZhbHVlID0gZXh0 cmFjdF9jb3VudF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnQxX3ZhbHVl ID0gZXh0cmFjdF9ydGxfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0g ZXh0cl91aWw0aWw0YnM0Rm1zYjcoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIlNBVkUgJXMlcyIsIHUsDQo+ICsgICAgICAgIHNhdmVfcmVzdG9yZV9saXN0KGVuY29kZV9y dDFfZnJvbV9ydChydDFfdmFsdWUpLCBjb3VudF92YWx1ZSwgMCkpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OlNBVkVfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgY291bnRfdmFsdWUgPSBleHRyYWN0X2NvdW50XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJfdWlsM2lsM2JzOUZtc2IxMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGdwX3ZhbHVlID0gZXh0cmFjdF9ncF8yKGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3Zh bHVlKSk7DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTQVZFICVzJXMiLCB1LA0KPiArICAg ICAgICAgICAgICAgc2F2ZV9yZXN0b3JlX2xpc3QocnRfdmFsdWUsIGNvdW50X3ZhbHVlLCBncF92 YWx1ZSkpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNBVkVGKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgY291bnRfdmFsdWUgPSBleHRyYWN0X2NvdW50XzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJfdWlsM2ls M2JzOUZtc2IxMShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1N RURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGNvdW50ID0gSU1NRURJ QVRFKGNvcHkoY291bnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi U0FWRUYgJXMsICVzIiwgdSwgY291bnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAw MTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNCXzE2 Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0ejNfdmFsdWUgPSBl eHRyYWN0X3J0ejNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0g ZXh0cmFjdF91XzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzM192YWx1ZSA9IGV4 dHJhY3RfcnMzXzZfNV80KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0 ejMgPSBHUFIoZW5jb2RlX2dwcjNfc3RvcmUocnR6M192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMz ID0gR1BSKGVuY29kZV9ncHIzKHJzM192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJTQiAlcywgJXMoJXMpIiwgcnR6MywgdSwgcnMzKTsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICog IDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAg ICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMg LS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJp bmcgTk1EOjpTQl9HUF8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzE3X3RvXzAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIlNCICVzLCAlcygkJWQpIiwgcnQsIHUsIDI4KTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpTQl9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0IgJXMsICVzKCVzKSIsIHJ0LCBzLCBycyk7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0JfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84Xzdf Nl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElN TUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNCICVzLCAlcygl cykiLCBydCwgdSwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNCRSh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8y NF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2ls MGlsMGJzOF9pbDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJT QkUgJXMsICVzKCVzKSIsIHJ0LCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAx MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0JY KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFs dWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g Kw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJTQlggJXMsICVzKCVzKSIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAw MTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OlNDKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3Zh bHVlID0gZXh0cl9zaWwyaWwyYnM2X2lsMTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIlNDICVzLCAlcyglcykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OlNDRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg aW50NjQgc192YWx1ZSA9IGV4dHJfc2lsM2lsM2JzNV9pbDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTQ0QgJXMsICVzKCVzKSIsIHJ0LCBzLCBycyk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0NEUCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHJ1X3ZhbHVlID0gZXh0cmFjdF9ydV83XzZfNV80XzMoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ1ID0gR1BSKGNvcHkocnVfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIlNDRFAgJXMsICVzLCAoJXMpIiwgcnQsIHJ1LCBycyk7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0NFKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwyaWwyYnM2X2lsMTVpbDhiczFU bXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9 IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShj b3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNDRSAlcywgJXMoJXMpIiwgcnQs IHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTQ1dQKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnVfdmFsdWUgPSBleHRyYWN0X3J1Xzdf Nl81XzRfMyhpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy dCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnUgPSBHUFIoY29w eShydV92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0NXUCAlcywgJXMsICglcykiLCBy dCwgcnUsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAg IDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAg ICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAg cmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTQ1dQRSh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ1X3ZhbHVlID0gZXh0cmFjdF9y dV83XzZfNV80XzMoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJh Y3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ1ID0gR1BS KGNvcHkocnVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNDV1BFICVzLCAlcywgKCVz KSIsIHJ0LCBydSwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNEX0dQXyh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRy X3VpbDNpbDNiczE4Rm1zYjIwKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJ QVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTRCAl cywgJXMoJCVkKSIsIHJ0LCB1LCAyOCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAx MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0RfUzlf KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVl ID0gZXh0cl9zaWwwaWwwYnM4X2lsMTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIlNEICVzLCAlcyglcykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OlNEX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAr DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTRCAlcywgJXMoJXMpIiwgcnQsIHUsIHJzKTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTREJCUF8xNl8odWludDY0IGluc3RydWN0aW9uKQ0K PiArew0KPiArICAgIHVpbnQ2NCBjb2RlX3ZhbHVlID0gZXh0cmFjdF9jb2RlXzJfMV8wKGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGNvZGUgPSBJTU1FRElBVEUoY29weShj b2RlX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNEQkJQICVzIiwg Y29kZSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAg ICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIx MA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQg LS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0t LS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0RCQlBfMzJfKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgY29kZV92YWx1ZSA9IGV4dHJhY3RfY29kZV8xOF90 b18wKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGNvZGUgPSBJTU1FRElB VEUoY29weShjb2RlX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNE QkJQICVzIiwgY29kZSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiAr ICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEw OTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsg KiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAg ICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0RDMV9HUF8odWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0 cl91aWwyaWwyYnMxNkZtc2IxNyhpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVE SUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0RD MSAlcywgJXMoJCVkKSIsIGZ0LCB1LCAyOCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAx MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0RD MV9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0IHNfdmFsdWUgPSBl eHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiU0RDMSAlcywgJXMoJXMpIiwgZnQsIHMsIHJzKTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpTREMxX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNf Ml8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZnQg PSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUo Y29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTREMxICVzLCAlcyglcykiLCBm dCwgdSwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAg MyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1 NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAg IHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICBy ZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNEQzFYKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIz XzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0 XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9 IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTREMxWCAlcywgJXMo JXMpIiwgZnQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0RDMVhTKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0 XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBl eHRyYWN0X2Z0XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTREMx WFMgJXMsICVzKCVzKSIsIGZ0LCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg Kg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAw MTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNE QzIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4 dHJhY3RfY3NfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFs dWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiU0RDMiAlcywgJXMoJXMpIiwgY3MsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpTRE0odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBjb3VudDNfdmFsdWUgPSBleHRyYWN0X2NvdW50M18xNF8xM18xMihpbnN0cnVjdGlv bik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMxVG1z YjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29w eShzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIGNvdW50MyA9IElNTUVESUFURShlbmNvZGVfY291bnQzX2Zy b21fY291bnQoY291bnQzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQo IlNETSAlcywgJXMoJXMpLCAlcyIsIHJ0LCBzLCBycywgY291bnQzKTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpTRFBDXzQ4Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF80MV80MF8zOV8zOF8zNyhpbnN0cnVjdGlvbik7DQo+ ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMTZiczE2X2lsMTZpbDBiczE2VG1zYjMx KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gQUREUkVTUyhlbmNvZGVfc19mcm9tX2Fk ZHJlc3Moc192YWx1ZSksIDYpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTRFBD ICVzLCAlcyIsIHJ0LCBzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTRFhTKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1 XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRy YWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIo Y29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTRFhTICVz LCAlcyglcykiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDEx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTRFgodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9 IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy c192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9 IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNE WCAlcywgJXMoJXMpIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAx MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0VC KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIlNFQiAlcywgJXMiLCBydCwgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0K PiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAw MTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNFSCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJTRUggJXMsICVzIiwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDEx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTRUxfRCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFj dF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVl ID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBG UFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTRUwu RCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAq DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAx MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0VM X1ModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4 dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92 YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3Rk OjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0 ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi U0VMLlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAw MTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OlNFTEVRWl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFs dWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIlNFTEVRWi5EICVzLCAlcywgJXMiLCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpTRUxFUVpfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJTRUxFUVouUyAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0VMTkVaX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBf OV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihj b3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0VMTkVaLkQgJXMsICVzLCAlcyIsIGZkLCBmcywg ZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAg ICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTAN Cj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0t LS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0t LQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNFTE5FWl9TKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRy YWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg ZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNv cHkoZnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVl KSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNFTE5FWi5TICVzLCAlcywgJXMi LCBmZCwgZnMsIGZ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTRVFJKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3Rf dV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9 IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiU0VRSSAlcywgJXMsICVzIiwgcnQsIHJzLCB1KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg MDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpTSF8xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydHozX3Zh bHVlID0gZXh0cmFjdF9ydHozXzlfOF83KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92 YWx1ZSA9IGV4dHJfdWlsMWlsMWJzMkZtc2IyKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnMzX3ZhbHVlID0gZXh0cmFjdF9yczNfNl81XzQoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcnR6MyA9IEdQUihlbmNvZGVfZ3ByM19zdG9yZShydHozX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyByczMgPSBHUFIoZW5jb2RlX2dwcjMocnMzX3ZhbHVlKSk7DQo+ICsNCj4gKyAg ICByZXR1cm4gaW1nOjpmb3JtYXQoIlNIICVzLCAlcyglcykiLCBydHozLCB1LCByczMpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNIX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyX3VpbDFpbDFiczE3Rm1zYjE3KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTSCAlcywgJXMoJCVkKSIsIHJ0LCB1LCAy OCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hfUzlfKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwwYnM4X2ls MTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElN TUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNIICVzLCAlcygl cykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNIX1UxMl8odWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0 cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJTSCAlcywgJXMoJXMpIiwgcnQsIHUsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpTSEUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0 IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJl dHVybiBpbWc6OmZvcm1hdCgiU0hFICVzLCAlcyglcykiLCBydCwgcywgcnMpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKiBTSElMTyBhYywgc2hpZnQgLSBTaGlmdCBhbiBBY2N1bXVsYXRv ciBWYWx1ZSBMZWF2aW5nIHRoZSBSZXN1bHQgaW4gdGhlIFNhbWUNCj4gKyAqICAgICAgICAgICAg ICAgICAgICAgQWNjdW11bGF0b3INCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAw eHh4eCAgICAgICAgeHh4eDAwMDAwMTExMDENCj4gKyAqICAgICAgc2hpZnQgLS0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIGFjIC0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hJTE8o dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0IHNoaWZ0X3ZhbHVlID0gZXh0 cmFjdF9zaGlmdF8yMV8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5KHNoaWZ0X3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIlNISUxPICVzLCAlcyIsIGFjLCBzaGlmdCk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqIFNISUxPViBhYywgcnMgLSBWYXJpYWJsZSBTaGlmdCBvZiBBY2N1bXVsYXRv ciBWYWx1ZSBMZWF2aW5nIHRoZSBSZXN1bHQgaW4NCj4gKyAqICAgICAgICAgICAgICAgICAgIHRo ZSBTYW1lIEFjY3VtdWxhdG9yDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMHh4 eHh4ICAgICAgIDAxMDAxMDAxMTExMTExDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICog ICAgICAgICAgICAgICBhYyAtLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNISUxPVih1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVl ID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhj b3B5KGFjX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNISUxPViAl cywgJXMiLCBhYywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBTSExMLlBIIHJ0 LCBycywgc2EgLSBTaGlmdCBMZWZ0IExvZ2ljYWwgVmVjdG9yIFBhaXIgSGFsZndvcmRzDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgMDAxMTEwMTEwMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHNhIC0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTSExMX1BIKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg c2FfdmFsdWUgPSBleHRyYWN0X3NhXzE1XzE0XzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2EgPSBJ TU1FRElBVEUoY29weShzYV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJTSExMLlBIICVzLCAlcywgJXMiLCBydCwgcnMsIHNhKTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICogU0hMTC5RQiBydCwgcnMsIHNhIC0gU2hpZnQgTGVmdCBMb2dpY2FsIFZlY3RvciBR dWFkIEJ5dGVzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAx MDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAg ICAwMTAwMDAxMTExMTExDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0t LS0tDQo+ICsgKiAgICAgICAgICAgICAgIHNhIC0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OlNITExfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBzYV92YWx1ZSA9IGV4dHJhY3Rfc2FfMTVfMTRfMTMoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBzYSA9IElNTUVESUFURShjb3B5KHNhX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIlNITEwuUUIgJXMsICVzLCAlcyIsIHJ0LCBycywgc2EpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKiBTSExMX1MuUEggcnQsIHJzLCBzYSAtIFNoaWZ0IExlZnQgTG9n aWNhbCBWZWN0b3IgUGFpciBIYWxmd29yZHMgKHNhdHVyYXRlZCkNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAwMDExMTAxMTAxMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgc2Eg LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNITExfU19QSCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNhX3ZhbHVlID0g ZXh0cmFjdF9zYV8xNV8xNF8xM18xMihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNv cHkoc2FfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0hMTF9TLlBI ICVzLCAlcywgJXMiLCBydCwgcnMsIHNhKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEw MDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTSExM X1NfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNh X3ZhbHVlID0gZXh0cmFjdF9zYV8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHNhID0gSU1NRURJQVRFKGNvcHkoc2FfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiU0hMTF9TLlcgJXMsICVzLCAlcyIsIHJ0LCBycywgc2EpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OlNITExWX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNv cHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTSExMVi5QSCAlcywgJXMsICVzIiwgcmQsIHJ0LCBy cyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hMTFZfUUIodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJh Y3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNITExWLlFCICVzLCAlcywg JXMiLCByZCwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMy MTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4g KyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAg ICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTSExMVl9TX1BIKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJT SExMVl9TLlBIICVzLCAlcywgJXMiLCByZCwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEw OTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAg ICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0t LS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcg Tk1EOjpTSExMVl9TX1codWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIlNITExWX1MuVyAlcywgJXMsICVzIiwgcmQsIHJ0LCBycyk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hSQV9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHNhX3ZhbHVlID0gZXh0cmFjdF9zYV8xNV8xNF8xM18xMihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNvcHkoc2FfdmFsdWUpKTsN Cj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0hSQS5QSCAlcywgJXMsICVzIiwgcnQs IHJzLCBzYSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hSQV9RQih1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNhX3ZhbHVlID0gZXh0cmFjdF9z YV8xNV8xNF8xMyhpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIo Y29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNvcHko c2FfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0hSQS5RQiAlcywg JXMsICVzIiwgcnQsIHJzLCBzYSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hSQV9SX1BI KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2FfdmFs dWUgPSBleHRyYWN0X3NhXzE1XzE0XzEzXzEyKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2Eg PSBJTU1FRElBVEUoY29weShzYV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9y bWF0KCJTSFJBX1IuUEggJXMsICVzLCAlcyIsIHJ0LCBycywgc2EpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OlNIUkFfUl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHNhX3ZhbHVlID0gZXh0cmFjdF9zYV8xNV8xNF8xMyhpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNvcHkoc2FfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiU0hSQV9SLlFCICVzLCAlcywgJXMiLCBydCwgcnMsIHNhKTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTSFJBX1JfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNhX3ZhbHVlID0gZXh0cmFjdF9zYV8xNV8xNF8x M18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy dCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNvcHkoc2Ff dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0hSQV9SLlcgJXMsICVz LCAlcyIsIHJ0LCBycywgc2EpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNIUkFWX1BIKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJT SFJBVi5QSCAlcywgJXMsICVzIiwgcmQsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6U0hSQVZfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIlNIUkFWLlFCICVzLCAlcywgJXMiLCByZCwgcnQsIHJzKTsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAg MQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAw ICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAg ICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiAr c3RkOjpzdHJpbmcgTk1EOjpTSFJBVl9SX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BS KGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAr DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTSFJBVl9SLlBIICVzLCAlcywgJXMiLCByZCwg cnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTSFJBVl9SX1FCKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy dCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTSFJBVl9SLlFC ICVzLCAlcywgJXMiLCByZCwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEw MDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTSFJB Vl9SX1codWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBy ZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIlNIUkFWX1IuVyAlcywgJXMsICVzIiwgcmQsIHJ0LCBycyk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6U0hSTF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHNhX3ZhbHVlID0gZXh0cmFjdF9zYV8xNV8xNF8xM18xMihpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNvcHkoc2FfdmFsdWUpKTsNCj4gKw0KPiAr ICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0hSTC5QSCAlcywgJXMsICVzIiwgcnQsIHJzLCBzYSk7 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hSTF9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNhX3ZhbHVlID0gZXh0cmFjdF9zYV8xNV8xNF8x MyhpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNhID0gSU1NRURJQVRFKGNvcHkoc2FfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0hSTC5RQiAlcywgJXMsICVzIiwg cnQsIHJzLCBzYSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0hSTFZfUEgodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNIUkxWLlBI ICVzLCAlcywgJXMiLCByZCwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEw MDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTSFJM Vl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJk X3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiU0hSTFYuUUIgJXMsICVzLCAlcyIsIHJkLCBydCwgcnMpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OlNIWCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiU0hYICVzLCAlcyglcykiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpTSFhTKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJTSFhTICVzLCAlcyglcykiLCByZCwgcnMsIHJ0KTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpTSUdSSUUodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBjb2RlX3ZhbHVlID0gZXh0cmFjdF9jb2RlXzE4X3RvXzAoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgY29kZSA9IElNTUVESUFURShjb3B5KGNvZGVfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0lHUklFICVzIiwgY29kZSk7 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0N Cj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0xMXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHNoaWZ0M192YWx1ZSA9IGV4dHJhY3Rfc2hpZnQzXzJfMV8wKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnQzX3ZhbHVlID0gZXh0cmFjdF9ydDNfOV84Xzco aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByczNfdmFsdWUgPSBleHRyYWN0X3JzM182XzVf NChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydDMgPSBHUFIoZW5jb2Rl X2dwcjMocnQzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMzID0gR1BSKGVuY29kZV9n cHIzKHJzM192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHNoaWZ0MyA9IElNTUVESUFURShl bmNvZGVfc2hpZnQzX2Zyb21fc2hpZnQoc2hpZnQzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIlNMTCAlcywgJXMsICVzIiwgcnQzLCByczMsIHNoaWZ0Myk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAg ICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAw MTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAq ICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8N Cj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0xMXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8x XzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5KHNoaWZ0 X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNMTCAlcywgJXMsICVz IiwgcnQsIHJzLCBzaGlmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0xMVih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3Zh bHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0xMViAl cywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAx MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0xUKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJT TFQgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg Kg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQz MjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAw MTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiAr ICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNM VEkodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3Zh bHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJTTFRJICVzLCAlcywgJXMiLCBydCwgcnMsIHUpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OlNMVElVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJf MV8wKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0xUSVUgJXMsICVzLCAlcyIsIHJ0 LCBycywgdSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U0xUVSh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18y Ml8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRf dmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU0xUVSAlcywgJXMsICVz IiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ICsgKg0KPiAr ICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEw OTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsg KiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAg ICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U09WKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29w eShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTT1YgJXMsICVz LCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNQRUNJQUwyKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgb3BfdmFsdWUgPSBleHRyYWN0 X29wXzI1X3RvXzMoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgb3AgPSBJ TU1FRElBVEUoY29weShvcF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0 KCJTUEVDSUFMMiAlcyIsIG9wKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoNCj4gKyAq DQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDExMDEN Cj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAg ICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTUVJUX0QodWlu dDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3Rf ZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmdF92YWx1ZSA9 IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3Rk OjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIGZz ID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi U1FSVC5EICVzLCAlcyIsIGZ0LCBmcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAx MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1FSVF9T KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRy YWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFs dWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIlNRUlQuUyAlcywgJXMiLCBmdCwgZnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg KiBTUkEgcmQsIHJ0LCBzYSAtIFNoaWZ0IFdvcmQgUmlnaHQgQXJpdGhtZXRpYw0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDAwMDAwMDAwMCAgICAgICAgICAgICAgIDAwMDAxMQ0KPiAr ICogICAgICAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgICAgICBzYSAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OlNSQSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBzaGlmdCA9IElNTUVESUFURShjb3B5KHNoaWZ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICBy ZXR1cm4gaW1nOjpmb3JtYXQoIlNSQSAlcywgJXMsICVzIiwgcnQsIHJzLCBzaGlmdCk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIFNSQVYgcmQsIHJ0LCBycyAtIFNoaWZ0IFdvcmQgUmln aHQgQXJpdGhtZXRpYyBWYXJpYWJsZQ0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICAwMDAwMDAwMDExMQ0KPiArICogICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OlNSQVYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29w eShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNSQVYgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICAwMDAwMDAwMDExMQ0KPiArICogICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNSTF8xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIHVpbnQ2NCBzaGlmdDNfdmFsdWUgPSBleHRyYWN0X3NoaWZ0M18yXzFfMChpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlfOF83KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnMzX3ZhbHVlID0gZXh0cmFjdF9yczNfNl81XzQo aW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnQzID0gR1BSKGVuY29kZV9n cHIzKHJ0M192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzMyA9IEdQUihlbmNvZGVfZ3By MyhyczNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzaGlmdDMgPSBJTU1FRElBVEUoZW5j b2RlX3NoaWZ0M19mcm9tX3NoaWZ0KHNoaWZ0M192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJTUkwgJXMsICVzLCAlcyIsIHJ0MywgcnMzLCBzaGlmdDMpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OlNSTF8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8w KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgc2hpZnQgPSBJTU1FRElBVEUoY29weShzaGlmdF92 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTUkwgJXMsICVzLCAlcyIs IHJ0LCBycywgc2hpZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNSTFYodWludDY0IGlu c3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNSTFYgJXMs ICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKg0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNVQih1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1VC ICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICoN Cj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIx MDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEw MDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAq ICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTVUJf RCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0 cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3Zh bHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQg PSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJT VUIuRCAlcywgJXMsICVzIiwgZmQsIGZzLCBmdCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAx MDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6 U1VCX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiU1VCLlMgJXMsICVzLCAlcyIsIGZkLCBmcywgZnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q DQo+ICsgKg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OlNVQlFfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4g aW1nOjpmb3JtYXQoIlNVQlEuUEggJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKiBTVUJRSC5QSCByZCwgcnQsIHJzIC0gU3VidHJhY3QgRnJhY3Rp b25hbCBIYWxmd29yZCBWZWN0b3JzIEFuZCBTaGlmdCBSaWdodA0KPiArICogICAgICAgICAgICAg ICAgICAgICAgICAgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNVQlFfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy ZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1VCUV9TLlBIICVzLCAlcywgJXMi LCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogU1VCUUguUEggcmQs IHJ0LCBycyAtIFN1YnRyYWN0IEZyYWN0aW9uYWwgSGFsZndvcmQgVmVjdG9ycyBBbmQgU2hpZnQg UmlnaHQNCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgIHRvIEhhbHZlIFJlc3VsdHMNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDEwMDEwMDEx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTVUJRX1Nf Vyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiU1VCUV9TLlcgJXMsICVzLCAlcyIsIHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qDQo+ICsgKiBTVUJRSC5QSCByZCwgcnQsIHJzIC0gU3VidHJhY3QgRnJhY3Rpb25hbCBIYWxm d29yZCBWZWN0b3JzIEFuZCBTaGlmdCBSaWdodA0KPiArICogICAgICAgICAgICAgICAgICAgICAg ICAgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICAwMTAwMTAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OlNVQlFIX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNv cHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTVUJRSC5QSCAlcywgJXMsICVzIiwgcmQsIHJzLCBy dCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIFNVQlFILlBIIHJkLCBydCwgcnMgLSBT dWJ0cmFjdCBGcmFjdGlvbmFsIEhhbGZ3b3JkIFZlY3RvcnMgQW5kIFNoaWZ0IFJpZ2h0DQo+ICsg KiAgICAgICAgICAgICAgICAgICAgICAgICB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICog ICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDAxMDAxMTAxDQo+ICsgKiAg ICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAg IHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1VCUUhfUl9QSCh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3Zh bHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAg ICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1VCUUhf Ui5QSCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqIFNVQlFIX1IuUEggcmQsIHJ0LCBycyAtIFN1YnRyYWN0IEZyYWN0aW9uYWwgSGFsZndvcmQg VmVjdG9ycyBBbmQgU2hpZnQgUmlnaHQNCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAg dG8gSGFsdmUgUmVzdWx0cyAocm91bmRpbmcpDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIDExMDAxMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsg Ki8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1VCUUhfUl9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJk ID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTVUJRSF9SLlcgJXMsICVzLCAlcyIs IHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBTVUJRSC5XIHJkLCBy cywgcnQgLSBTdWJ0cmFjdCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2 ZQ0KPiArICogICAgICAgICAgICAgICAgICAgICAgICBSZXN1bHRzDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAxMDEwMDAxMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1VCUUhfVyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9y ZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1VCUUguVyAlcywg JXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFI X1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRv IEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiAr ICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAg ICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAg cnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpz dHJpbmcgTk1EOjpTVUJVXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IHJkM192YWx1ZSA9IGV4dHJhY3RfcmQzXzNfMl8xKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcnQzX3ZhbHVlID0gZXh0cmFjdF9ydDNfOV84XzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByczNfdmFsdWUgPSBleHRyYWN0X3JzM182XzVfNChpbnN0cnVjdGlvbik7DQo+ICsN Cj4gKyAgICBzdGQ6OnN0cmluZyByZDMgPSBHUFIoZW5jb2RlX2dwcjMocmQzX3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnMzID0gR1BSKGVuY29kZV9ncHIzKHJzM192YWx1ZSkpOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIHJ0MyA9IEdQUihlbmNvZGVfZ3ByMyhydDNfdmFsdWUpKTsNCj4gKw0K PiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1VCVSAlcywgJXMsICVzIiwgcmQzLCByczMsIHJ0 Myk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0g QWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDEx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTVUJVXzMy Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiU1VCVSAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoN Cj4gKyAqIFNVQlUuUEggcmQsIHJzLCBydCAtIFN1YnRyYWN0IFVuc2lnbmVkIEludGVnZXIgSGFs ZndvcmRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IDAxMTAwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6U1VCVV9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBp bWc6OmZvcm1hdCgiU1VCVS5QSCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqIFNVQlUuUUIgcmQsIHJzLCBydCAtIFN1YnRyYWN0IFVuc2lnbmVk IFF1YWQgQnl0ZSBWZWN0b3INCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgMDEwMTEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpTVUJVX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTVUJVLlFCICVzLCAlcywgJXMiLCByZCwgcnMsIHJ0KTsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogU1VCVV9TLlBIIHJkLCBycywgcnQgLSBTdWJ0 cmFjdCBVbnNpZ25lZCBJbnRlZ2VyIEhhbGZ3b3JkcyAoc2F0dXJhdGluZykNCj4gKyAqDQo+ICsg KiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMTExMDAwMDExMDENCj4gKyAq ICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAg ICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTVUJVX1NfUEgodWludDY0 IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNVQlVf Uy5QSCAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqIFNVQlVfUy5RQiByZCwgcnMsIHJ0IC0gU3VidHJhY3QgVW5zaWduZWQgUXVhZCBCeXRlIFZl Y3RvciAoc2F0dXJhdGluZykNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0K PiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAg ICAgICAgICAgICAgMTEwMTEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAg ICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3Rk OjpzdHJpbmcgTk1EOjpTVUJVX1NfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29w eShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4g KyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNVQlVfUy5RQiAlcywgJXMsICVzIiwgcmQsIHJzLCBy dCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIFNVQlVILlFCIHJkLCBycywgcnQgLSBT dWJ0cmFjdCBVbnNpZ25lZCBCeXRlcyBBbmQgUmlnaHQgU2hpZnQgdG8gSGFsdmUNCj4gKyAqICAg ICAgICAgICAgICAgICAgICAgICAgIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgMDExMDEwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTVUJVSF9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBy ZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUp KTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1VCVUguUUIgJXMsICVzLCAlcyIs IHJkLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBTVUJVSF9SLlFCIHJk LCBycywgcnQgLSBTdWJ0cmFjdCBVbnNpZ25lZCBCeXRlcyBBbmQgUmlnaHQgU2hpZnQgdG8gSGFs dmUNCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzdWx0cyAocm91bmRpbmcpDQo+ ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDExMTAxMDAx MTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAg ICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1VCVUhf Ul9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJk X3ZhbHVlID0gZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZv cm1hdCgiU1VCVUhfUi5RQiAlcywgJXMsICVzIiwgcmQsIHJzLCBydCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29y ZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAg ICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEw DQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAt LS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0t LS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTV18xNl8odWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydHozX3ZhbHVlID0gZXh0cmFjdF9ydHozXzlfOF83KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJfdWlsMGlsMmJzNEZtc2I1 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnMzX3ZhbHVlID0gZXh0cmFjdF9yczNfNl81 XzQoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcnR6MyA9IEdQUihlbmNv ZGVfZ3ByM19zdG9yZShydHozX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVE SUFURShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyByczMgPSBHUFIoZW5jb2Rl X2dwcjMocnMzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNXICVz LCAlcyglcykiLCBydHozLCB1LCByczMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBB RERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdo dCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDEN Cj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAg ICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAg ICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6U1dfNFg0Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IHJzNF92YWx1ZSA9IGV4dHJhY3RfcnM0XzRfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBydHo0X3ZhbHVlID0gZXh0cmFjdF9ydHo0XzlfN182XzUoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cl91aWwzaWwzYnMxX2lsOGlsMmJzMUZtc2Iz KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ejQgPSBHUFIoZW5jb2Rl X2dwcjRfemVybyhydHo0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFU RShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyByczQgPSBHUFIoZW5jb2RlX2dw cjQocnM0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNXICVzLCAl cyglcykiLCBydHo0LCB1LCByczQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERR SF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0 byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6U1dfR1AxNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVp bnQ2NCBydHozX3ZhbHVlID0gZXh0cmFjdF9ydHozXzlfOF83KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgdV92YWx1ZSA9IGV4dHJfdWlsMGlsMmJzN0Ztc2I4KGluc3RydWN0aW9uKTsNCj4g Kw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ejMgPSBHUFIoZW5jb2RlX2dwcjNfc3RvcmUocnR6M192 YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7 DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNXICVzLCAlcygkJWQpIiwgcnR6Mywg dSwgMjgpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBy cyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRz DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEw MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1df R1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92 YWx1ZSA9IGV4dHJfdWlsMmlsMmJzMTlGbXNiMjAoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIlNXICVzLCAlcygkJWQpIiwgcnQsIHUsIDI4KTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQg U2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNXX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgaW50NjQgc192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4 YnMxVG1zYjgoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElB VEUoY29weShzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTVyAlcywgJXMoJXMpIiwg cnQsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBy dCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVz dWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAw MDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OlNXX1NQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF85XzhfN182XzUoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3Zh bHVlID0gZXh0cl91aWwwaWwyYnM1Rm1zYjYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3Rk OjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUg PSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3Jt YXQoIlNXICVzLCAlcygkJWQpIiwgcnQsIHUsIDI5KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hp ZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAg ICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAw MDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsg KiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICov DQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlNXX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZf NV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJh Y3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1F RElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShy c192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTVyAlcywgJXMoJXMp IiwgcnQsIHUsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJk LCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUg UmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OlNXQzFfR1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgZnRf dmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgdV92YWx1ZSA9IGV4dHJfdWlsMmlsMmJzMTZGbXNiMTcoaW5zdHJ1Y3Rpb24pOw0KPiAr DQo+ICsgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiArICAgIHN0 ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIlNXQzEgJXMsICVzKCQlZCkiLCBmdCwgdSwgMjgpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFs IFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1dDMV9TOV8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwx NWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRy YWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1dD MSAlcywgJXMoJXMpIiwgZnQsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICog QUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmln aHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OlNXQzFfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsg ICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRf M18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBm dCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFU RShjb3B5KHVfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNXQzEgJXMsICVzKCVzKSIs IGZ0LCB1LCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwg cnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJl c3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3 NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAg MDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0N Cj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1E OjpTV0MxWCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6 OmZvcm1hdCgiU1dDMVggJXMsICVzKCVzKSIsIGZ0LCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRz IEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1dDMVhTKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1 ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTV0MxWFMgJXMsICVzKCVzKSIs IGZ0LCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQs IHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBS ZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAg IDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0t DQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5N RDo6U1dDMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGNzX3ZhbHVl ID0gZXh0cmFjdF9jc18yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgaW50NjQg c192YWx1ZSA9IGV4dHJfc2lsMGlsMGJzOF9pbDE1aWw4YnMxVG1zYjgoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgY3MgPSBDUFIoY29weShjc192YWx1ZSkp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0 dXJuIGltZzo6Zm9ybWF0KCJTV0MyICVzLCAlcyglcykiLCBjcywgcywgcnMpOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFs IFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAz ICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAg cnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJk IC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1dFKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwwYnM4 X2lsMTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9 IElNTUVESUFURShjb3B5KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNXRSAlcywg JXMoJXMpIiwgcnQsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhf Ui5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8g SGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OlNXTSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGNvdW50M192YWx1ZSA9IGV4dHJhY3RfY291bnQzXzE0XzEzXzEyKGluc3RydWN0aW9u KTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9zaWwwaWwwYnM4X2lsMTVpbDhiczFUbXNi OChpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IElNTUVESUFURShjb3B5 KHNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgY291bnQzID0gSU1NRURJQVRFKGVuY29kZV9jb3VudDNfZnJv bV9jb3VudChjb3VudDNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgi U1dNICVzLCAlcyglcyksICVzIiwgcnQsIHMsIHJzLCBjb3VudDMpOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRz IEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAg ICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0K PiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0t LS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0t DQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1dQQ180OF8odWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfNDFfNDBfMzlfMzhf MzcoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDE2YnMx Nl9pbDE2aWwwYnMxNlRtc2IzMShpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcyA9IEFERFJF U1MoZW5jb2RlX3NfZnJvbV9hZGRyZXNzKHNfdmFsdWUpLCA2KTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiU1dQQyAlcywgJXMiLCBydCwgcyk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5k IFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTV1godWludDY0IGluc3RydWN0aW9uKQ0KPiArew0K PiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgcmQgPSBH UFIoY29weShyZF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlNXWCAlcywgJXMoJXMpIiwgcmQsIHJzLCBy dCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0g QWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4g KyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4 NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDEx MDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAg ICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTV1hTKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJT V1hTICVzLCAlcyglcykiLCByZCwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiAr ICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQg UmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAg ICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEw MDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAg ICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ ICtzdGQ6OnN0cmluZyBOTUQ6OlNZTkModWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAg IHVpbnQ2NCBzdHlwZV92YWx1ZSA9IGV4dHJhY3Rfc3R5cGVfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgc3R5cGUgPSBJTU1FRElBVEUoY29weShz dHlwZV92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTWU5DICVzIiwg c3R5cGUpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBy cyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRz DQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMy MTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEw MDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsg KiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6U1lO Q0kodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRy X3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0K PiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJu IGltZzo6Zm9ybWF0KCJTWU5DSSAlcyglcykiLCBzLCBycyk7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5k IFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpTWU5DSUUodWludDY0IGluc3RydWN0aW9uKQ0KPiAr ew0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHMgPSBJTU1F RElBVEUoY29weShzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShy c192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJTWU5DSUUgJXMoJXMp IiwgcywgcnMpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0 LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1 bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAw MDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6 U1lTQ0FMTF8xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBjb2Rl X3ZhbHVlID0gZXh0cmFjdF9jb2RlXzFfMChpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBjb2RlID0gSU1NRURJQVRFKGNvcHkoY29kZV92YWx1ZSkpOw0KPiArDQo+ICsgICAg cmV0dXJuIGltZzo6Zm9ybWF0KCJTWVNDQUxMICVzIiwgY29kZSk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqIFNZU0NBTEwgY29kZSAtIFN5c3RlbSBDYWxsLiBDYXVzZSBhIFN5c3RlbSBD YWxsIEV4Y2VwdGlvbg0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDAwMDAwMDAwMDAx MA0KPiArICogICAgICAgICAgIGNvZGUgLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsgKi8NCj4gK3N0 ZDo6c3RyaW5nIE5NRDo6U1lTQ0FMTF8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiAr ICAgIHVpbnQ2NCBjb2RlX3ZhbHVlID0gZXh0cmFjdF9jb2RlXzE3X3RvXzAoaW5zdHJ1Y3Rpb24p Ow0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgY29kZSA9IElNTUVESUFURShjb3B5KGNvZGVfdmFs dWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiU1lTQ0FMTCAlcyIsIGNvZGUp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFk ZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6VEVRKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0 XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9 IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpmb3JtYXQoIlRF USAlcywgJXMiLCBycywgcnQpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9S LlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBI YWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJz IC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3Ry aW5nIE5NRDo6VExCR0lOVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgKHZvaWQp aW5zdHJ1Y3Rpb247DQo+ICsNCj4gKyAgICByZXR1cm4gIlRMQkdJTlYgIjsNCj4gK30NCj4gKw0K PiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBX b3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAg ICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMy MTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0 IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAt LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlRMQkdJTlZGKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gK3sNCj4gKyAgICAodm9pZClpbnN0cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVy biAiVExCR0lOVkYgIjsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJk LCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUg UmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5 ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAg ICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0t LQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBO TUQ6OlRMQkdQKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICAodm9pZClpbnN0cnVj dGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiVExCR1AgIjsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQg U2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlRMQkdSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICAodm9pZClpbnN0cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiVExCR1IgIjsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQg RnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoN Cj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0 MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0K PiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAg ICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlRMQkdXSSh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgKHZvaWQpaW5zdHJ1Y3Rpb247DQo+ICsNCj4g KyAgICByZXR1cm4gIlRMQkdXSSAiOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERR SF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0 byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4g KyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAg ICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAg IHJzIC0tLS0tDQo+ICsgKiAgICAgICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6 c3RyaW5nIE5NRDo6VExCR1dSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICAodm9p ZClpbnN0cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiVExCR1dSICI7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwg V29yZHMgQW5kIFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMg ICAgICAgICAyICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQz MjEwDQo+ICsgKiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBy dCAtLS0tLQ0KPiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQg LS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpUTEJJTlYodWludDY0IGluc3RydWN0 aW9uKQ0KPiArew0KPiArICAgICh2b2lkKWluc3RydWN0aW9uOw0KPiArDQo+ICsgICAgcmV0dXJu ICJUTEJJTlYgIjsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBy dCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVz dWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAw MDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0K PiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6 OlRMQklOVkYodWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgICh2b2lkKWluc3RydWN0 aW9uOw0KPiArDQo+ICsgICAgcmV0dXJuICJUTEJJTlZGICI7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoNCj4gKyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5k IFNoaWZ0IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAy ICAgICAgICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsg KiAgMDAxMDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0K PiArICogICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4g KyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpUTEJQKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sN Cj4gKyAgICAodm9pZClpbnN0cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiVExCUCAiOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFkZCBG cmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsgKg0K PiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQz MjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAgICAg ICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6VExCUih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgKHZvaWQpaW5zdHJ1Y3Rpb247DQo+ICsNCj4gKyAg ICByZXR1cm4gIlRMQlIgIjsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5X IHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFs dmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OlRMQldJKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICAodm9pZClpbnN0 cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiVExCV0kgIjsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBB bmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAg IDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4g KyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0t DQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0K PiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlRMQldSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g K3sNCj4gKyAgICAodm9pZClpbnN0cnVjdGlvbjsNCj4gKw0KPiArICAgIHJldHVybiAiVExCV1Ig IjsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBB ZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlRORSh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQg PSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJU TkUgJXMsICVzIiwgcnMsIHJ0KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhf Ui5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8g SGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsg KiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAg ICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBy cyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0 cmluZyBOTUQ6OlRSVU5DX0xfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7 DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ICsg ICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJUUlVOQy5MLkQgJXMsICVzIiwgZnQsIGZzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rp b25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAq ICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4 NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICog ICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAg ICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlRSVU5DX0xfUyh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18x NV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0 cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0 cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBG UFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJUUlVO Qy5MLlMgJXMsICVzIiwgZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQURE UUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQg dG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAg ICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAg ICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6 OnN0cmluZyBOTUQ6OlRSVU5DX1dfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVl KSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJUUlVOQy5XLkQgJXMsICVzIiwgZnQsIGZzKTsNCj4g K30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJh Y3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4g KyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIx MDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiAr ICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAg ICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlRSVU5DX1dfUyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZ0X3ZhbHVlID0g ZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6 OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgZnMg PSBGUFIoY29weShmc192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJU UlVOQy5XLlMgJXMsICVzIiwgZnQsIGZzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICog QUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmln aHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OlVBTERNKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgY291bnQzX3ZhbHVlID0gZXh0cmFjdF9jb3VudDNfMTRfMTNfMTIoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWls OGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJ QVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBjb3VudDMgPSBJTU1FRElBVEUoZW5jb2RlX2Nv dW50M19mcm9tX2NvdW50KGNvdW50M192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJVQUxETSAlcywgJXMoJXMpLCAlcyIsIHJ0LCBzLCBycywgY291bnQzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rp b25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAq ICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4 NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICog ICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAg ICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlVBTEgodWludDY0IGluc3Ry dWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBp bDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1hdCgiVUFM SCAlcywgJXMoJXMpIiwgcnQsIHMsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICog QUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmln aHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAx DQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAg ICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAg ICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtz dGQ6OnN0cmluZyBOTUQ6OlVBTFdNKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgY291bnQzX3ZhbHVlID0gZXh0cmFjdF9jb3VudDNfMTRfMTNfMTIoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWls OGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJ QVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBjb3VudDMgPSBJTU1FRElBVEUoZW5jb2RlX2Nv dW50M19mcm9tX2NvdW50KGNvdW50M192YWx1ZSkpOw0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6 Zm9ybWF0KCJVQUxXTSAlcywgJXMoJXMpLCAlcyIsIHJ0LCBzLCBycywgY291bnQzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rp b25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAq ICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4 NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICog ICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAg ICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlVBU0RNKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgY291bnQzX3ZhbHVlID0gZXh0 cmFjdF9jb3VudDNfMTRfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUg PSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBjb3Vu dDMgPSBJTU1FRElBVEUoZW5jb2RlX2NvdW50M19mcm9tX2NvdW50KGNvdW50M192YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJVQVNETSAlcywgJXMoJXMpLCAlcyIsIHJ0 LCBzLCBycywgY291bnQzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5X IHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFs dmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OlVBU0godWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGlu dDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFs dWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0K PiArICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAg IHJldHVybiBpbWc6OmZvcm1hdCgiVUFTSCAlcywgJXMoJXMpIiwgcnQsIHMsIHJzKTsNCj4gK30N Cj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rp b25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAq ICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4 NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICog ICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAg ICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlVBU1dNKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gK3sNCj4gKyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgY291bnQzX3ZhbHVlID0gZXh0 cmFjdF9jb3VudDNfMTRfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IHNfdmFsdWUg PSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBzID0gSU1NRURJQVRFKGNvcHkoc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6 c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBjb3Vu dDMgPSBJTU1FRElBVEUoZW5jb2RlX2NvdW50M19mcm9tX2NvdW50KGNvdW50M192YWx1ZSkpOw0K PiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJVQVNXTSAlcywgJXMoJXMpLCAlcyIsIHJ0 LCBzLCBycywgY291bnQzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5X IHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFs dmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAg MTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAg ICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAt LS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmlu ZyBOTUQ6OlVESSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IG9wX3Zh bHVlID0gZXh0cmFjdF9vcF8yNV90b18zKGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6 c3RyaW5nIG9wID0gSU1NRURJQVRFKGNvcHkob3BfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVy biBpbWc6OmZvcm1hdCgiVURJICVzIiwgb3ApOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsg KiBXQUlUIGNvZGUgLSBFbnRlciBXYWl0IFN0YXRlDQo+ICsgKg0KPiArICogICAzICAgICAgICAg MiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiAr ICogIDAwMTAwMCAgICAgICAgICAxMTAwMDAxMTAxMTExMTExDQo+ICsgKiAgIGNvZGUgLS0tLS0t LS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OldBSVQodWludDY0IGluc3RydWN0aW9u KQ0KPiArew0KPiArICAgIHVpbnQ2NCBjb2RlX3ZhbHVlID0gZXh0cmFjdF9jb2RlXzI1XzI0XzIz XzIyXzIxXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3Ry aW5nIGNvZGUgPSBJTU1FRElBVEUoY29weShjb2RlX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1 cm4gaW1nOjpmb3JtYXQoIldBSVQgJXMiLCBjb2RlKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0K PiArICogV1JEU1AgcnQsIG1hc2sgLSBXcml0ZSBGaWVsZHMgdG8gRFNQQ29udHJvbCBSZWdpc3Rl ciBmcm9tIGEgR1BSDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAq ICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAg ICAgIDAxMDExMDAxMTExMTExDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICBtYXNr IC0tLS0tLS0NCj4gKyAqLw0KPiArc3RkOjpzdHJpbmcgTk1EOjpXUkRTUCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IG1hc2tfdmFsdWUgPSBleHRyYWN0 X21hc2tfMjBfMTlfMThfMTdfMTZfMTVfMTQoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAgc3Rk OjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5nIG1h c2sgPSBJTU1FRElBVEUoY29weShtYXNrX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIldSRFNQICVzLCAlcyIsIHJ0LCBtYXNrKTsNCj4gK30NCj4gKw0KPiArDQo+ICsv Kg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBBZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQg U2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiArICoNCj4gKyAqICAgMyAgICAgICAgIDIg ICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAq ICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEwMQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAgICAgICAgICAgICByZCAtLS0tLQ0KPiAr ICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OldSUEdQUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7 DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJXUlBHUFIgJXMsICVzIiwgcnQsIHJz KTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKg0KPiArICogQUREUUhfUi5XIHJkLCBydCwgcnMgLSBB ZGQgRnJhY3Rpb25hbCBXb3JkcyBBbmQgU2hpZnQgUmlnaHQgdG8gSGFsdmUgUmVzdWx0cw0KPiAr ICoNCj4gKyAqICAgMyAgICAgICAgIDIgICAgICAgICAxDQo+ICsgKiAgMTA5ODc2NTQzMjEwOTg3 NjU0MzIxMDk4NzY1NDMyMTANCj4gKyAqICAwMDEwMDAgICAgICAgICAgICAgICAwMDAxMDAwMTEw MQ0KPiArICogICAgIHJ0IC0tLS0tDQo+ICsgKiAgICAgICAgICBycyAtLS0tLQ0KPiArICogICAg ICAgICAgICAgICByZCAtLS0tLQ0KPiArICovDQo+ICtzdGQ6OnN0cmluZyBOTUQ6OlhPUl8xNl8o dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydDNfdmFsdWUgPSBleHRy YWN0X3J0M185XzhfNyhpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJzM192YWx1ZSA9IGV4 dHJhY3RfcnMzXzZfNV80KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJz MyA9IEdQUihlbmNvZGVfZ3ByMyhyczNfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBydDMg PSBHUFIoZW5jb2RlX2dwcjMocnQzX3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1nOjpm b3JtYXQoIlhPUiAlcywgJXMiLCByczMsIHJ0Myk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoNCj4g KyAqIEFERFFIX1IuVyByZCwgcnQsIHJzIC0gQWRkIEZyYWN0aW9uYWwgV29yZHMgQW5kIFNoaWZ0 IFJpZ2h0IHRvIEhhbHZlIFJlc3VsdHMNCj4gKyAqDQo+ICsgKiAgIDMgICAgICAgICAyICAgICAg ICAgMQ0KPiArICogIDEwOTg3NjU0MzIxMDk4NzY1NDMyMTA5ODc2NTQzMjEwDQo+ICsgKiAgMDAx MDAwICAgICAgICAgICAgICAgMDAwMTAwMDExMDENCj4gKyAqICAgICBydCAtLS0tLQ0KPiArICog ICAgICAgICAgcnMgLS0tLS0NCj4gKyAqICAgICAgICAgICAgICAgcmQgLS0tLS0NCj4gKyAqLw0K PiArc3RkOjpzdHJpbmcgTk1EOjpYT1JfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gK3sNCj4g KyAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BS KGNvcHkocmRfdmFsdWUpKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+ICsgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAr DQo+ICsgICAgcmV0dXJuIGltZzo6Zm9ybWF0KCJYT1IgJXMsICVzLCAlcyIsIHJkLCBycywgcnQp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qDQo+ICsgKiBBRERRSF9SLlcgcmQsIHJ0LCBycyAtIEFk ZCBGcmFjdGlvbmFsIFdvcmRzIEFuZCBTaGlmdCBSaWdodCB0byBIYWx2ZSBSZXN1bHRzDQo+ICsg Kg0KPiArICogICAzICAgICAgICAgMiAgICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2 NTQzMjEwOTg3NjU0MzIxMA0KPiArICogIDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAx DQo+ICsgKiAgICAgcnQgLS0tLS0NCj4gKyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKiAgICAg ICAgICAgICAgIHJkIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6WE9SSSh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICt7DQo+ICsgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBl eHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICsg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3Ry aW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ICsNCj4gKyAgICByZXR1cm4gaW1n Ojpmb3JtYXQoIlhPUkkgJXMsICVzLCAlcyIsIHJ0LCBycywgdSk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoNCj4gKyAqIFlJRUxEIHJ0LCBycyAtDQo+ICsgKg0KPiArICogICAzICAgICAgICAgMiAg ICAgICAgIDENCj4gKyAqICAxMDk4NzY1NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMA0KPiArICog IDAwMTAwMCAgICAgICAgICAgICAgIDAwMDEwMDAxMTAxDQo+ICsgKiAgICAgcnQgLS0tLS0NCj4g KyAqICAgICAgICAgIHJzIC0tLS0tDQo+ICsgKi8NCj4gK3N0ZDo6c3RyaW5nIE5NRDo6WUlFTEQo dWludDY0IGluc3RydWN0aW9uKQ0KPiArew0KPiArICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArDQo+ICsgICAg c3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiArICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gKw0KPiArICAgIHJldHVybiBpbWc6OmZvcm1h dCgiWUlFTEQgJXMsICVzIiwgcnQsIHJzKTsNCj4gK30NCj4gKw0KPiArDQo+ICsNCj4gK05NRDo6 UG9vbCBOTUQ6OlBfU1lTQ0FMTFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmZmZjMDAwMCwg MHgwMDA4MDAwMCwgJk5NRDo6U1lTQ0FMTF8zMl8gICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1lTQ0FMTFszMl0gKi8NCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmZmZjMDAwMCwgMHgwMDBjMDAwMCwgJk5NRDo6SFlQQ0FMTCAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AwXyB8IFZaXyAgICAgICAgICB9LCAgICAgICAgLyogSFlQQ0FMTCAqLw0KPiAr fTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX1JJWzRdID0gew0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZmZjgwMDAwLCAweDAwMDAwMDAwLCAmTk1EOjpTSUdSSUUgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTSUdSSUUgKi8NCj4g KyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX1NZU0NBTEwgICAgICAgICAgICwgMiAgICwg MzIsDQo+ICsgICAgICAgMHhmZmY4MDAwMCwgMHgwMDA4MDAwMCwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5T WVNDQUxMICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmZmODAwMDAsIDB4MDAxMDAwMDAsICZOTUQ6 OkJSRUFLXzMyXyAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIEJSRUFLWzMyXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZmZjgwMDAwLCAweDAw MTgwMDAwLCAmTk1EOjpTREJCUF8zMl8gICAgICAgICwgMCwNCj4gKyAgICAgICBFSlRBR18gICAg ICAgICAgICAgIH0sICAgICAgICAvKiBTREJCUFszMl0gKi8NCj4gK307DQo+ICsNCj4gKw0KPiAr Tk1EOjpQb29sIE5NRDo6UF9BRERJVVsyXSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAg ICAgLCBQX1JJICAgICAgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmZmUwMDAw MCwgMHgwMDAwMDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5SSSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwMDAwLCAweDAwMDAwMDAwLCAmTk1EOjpBRERJVV8zMl8gICAgICAgICwgJk5NRDo6QURE SVVfMzJfX2NvbmQgICAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogQURESVVbMzJdICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfVFJB UFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDAwMCwgJk5NRDo6 VEVRICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAg ICAgICAgLyogVEVRICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDA0MDAs ICZOTUQ6OlRORSAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIFhNTVNfICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFRORSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1E OjpQX0NNT1ZFWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwMjEw LCAmTk1EOjpNT1ZaICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBNT1ZaICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4 MjAwMDA2MTAsICZOTUQ6Ok1PVk4gICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIE1PVk4gKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1E OjpQb29sIE5NRDo6UF9EX01UX1ZQRVsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFmM2Zm ZiwgMHgyMDAxMGFiMCwgJk5NRDo6RE1UICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTVRf ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRE1UICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMxZjNmZmYsIDB4MjAwMDBhYjAsICZOTUQ6OkRWUEUgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIE1UXyAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIERWUEUgKi8NCj4gK307DQo+ICsN Cj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9FX01UX1ZQRVsyXSA9IHsNCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzFmM2ZmZiwgMHgyMDAxMGViMCwgJk5NRDo6RU1UICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgTVRfICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRU1UICovDQo+ICsgICAg eyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMxZjNmZmYsIDB4MjAwMDBlYjAsICZOTUQ6OkVWUEUgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIE1UXyAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVWUEUgKi8N Cj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6X1BfTVRfVlBFWzJdID0gew0KPiAr ICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfRF9NVF9WUEUgICAgICAgICAgLCAyICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAwYWIwLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkRf TVRfVlBFICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUF9FX01UX1ZQRSAgICAg ICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDBlYjAsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFAuRV9NVF9WUEUgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5N RDo6UF9NVF9WUEVbOF0gPSB7DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNiZmYsIDB4MjAwMDAy YjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFAuTVRfVlBFfiooMCkgKi8NCj4gKyAgICB7IHBvb2wgICAgICAg ICAgICAgICAgLCBfUF9NVF9WUEUgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwM2JmZiwgMHgyMDAwMGFiMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1AuTVRfVlBFICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDNiZmYsIDB4MjAwMDEyYjAsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuTVRfVlBF fiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2JmZiwgMHgyMDAwMWFiMCwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUC5NVF9WUEV+KigzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzYmZmLCAw eDIwMDAyMmIwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLk1UX1ZQRX4qKDQpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDNiZmYsIDB4MjAwMDJhYjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuTVRfVlBFfiooNSkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2JmZiwgMHgyMDAwMzJiMCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUC5NVF9WUEV+Kig2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzYmZmLCAweDIwMDAz YWIwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQLk1UX1ZQRX4qKDcpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6OlBfRFZQWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweDIwMDAwMzkwLCAmTk1EOjpEVlAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBEVlAgKi8NCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmZmZiwgMHgyMDAwMDc5MCwgJk5NRDo6RVZQICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRVZQICovDQo+ICt9Ow0KPiArDQo+ ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfU0xUVVsyXSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAg ICAgICAgICAgLCBQX0RWUCAgICAgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmJmZiwgMHgyMDAwMDM5MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5EVlAgKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDM5MCwgJk5NRDo6U0xUVSAgICAgICAgICAgICAsICZO TUQ6OlNMVFVfY29uZCAgICAgICAgLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFNMVFUgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6X1BP T0wzMkEwWzEyOF0gPSB7DQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUF9UUkFQICAg ICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwMDAs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFAuVFJBUCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eDIwMDAwMDA4LCAmTk1EOjpTRUIgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBYTU1TXyAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBTRUIgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDNmZiwgMHgyMDAwMDAxMCwgJk5NRDo6U0xMViAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0xMViAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweDIwMDAwMDE4LCAmTk1EOjpNVUxfMzJfICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUxbMzJdICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwMjAsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09M MzJBMH4qKDQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwMjgsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDUpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAz ZmYsIDB4MjAwMDAwMzAsICZOTUQ6Ok1GQzAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1GQzAgKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDNmZiwgMHgyMDAwMDAzOCwgJk5NRDo6TUZIQzAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AwXyB8IE1WSF8gICAgICAgICB9LCAgICAgICAgLyogTUZIQzAgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDA0MCwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEw fiooOCkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDA0OCwgJk5NRDo6 U0VIICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogU0VIICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwNTAs ICZOTUQ6OlNSTFYgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFNSTFYgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDA1OCwgJk5NRDo6TVVIICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogTVVIICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAz ZmYsIDB4MjAwMDAwNjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDEyKSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMDY4LCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMy QTB+KigxMykgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDA3MCwgJk5N RDo6TVRDMCAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogTVRDMCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAw MDc4LCAmTk1EOjpNVEhDMCAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgTVZIXyAg ICAgICAgIH0sICAgICAgICAvKiBNVEhDMCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2Zm LCAweDIwMDAwMDgwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigxNikgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDA4OCwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEw fiooMTcpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwOTAsICZOTUQ6 OlNSQVYgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFNSQVYgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDA5 OCwgJk5NRDo6TVVMVSAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogTVVMVSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eDIwMDAwMGEwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigyMCkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDBhOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfioo MjEpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwYjAsICZOTUQ6Ok1G R0MwICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMF8gfCBWWl8gICAgICAgICAgfSwgICAg ICAgIC8qIE1GR0MwICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwYjgs ICZOTUQ6Ok1GSEdDMCAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMF8gfCBWWl8gfCBNVkhf ICAgfSwgICAgICAgIC8qIE1GSEdDMCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eDIwMDAwMGMwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigyNCkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDBjOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfioo MjUpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwZDAsICZOTUQ6OlJP VFJWICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFJPVFJWICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwZDgs ICZOTUQ6Ok1VSFUgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIE1VSFUgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDBlMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooMjgpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwZTgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDI5 KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMGYwLCAmTk1EOjpNVEdD MCAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgVlpfICAgICAgICAgIH0sICAgICAg ICAvKiBNVEdDMCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMGY4LCAm Tk1EOjpNVEhHQzAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgVlpfIHwgTVZIXyAg IH0sICAgICAgICAvKiBNVEhHQzAgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDEwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooMzIpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxMDgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDMz KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMTEwLCAmTk1EOjpBREQg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBYTU1TXyAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBBREQgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDExOCwgJk5N RDo6RElWICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogRElWICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAx MjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDM2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwM2ZmLCAweDIwMDAwMTI4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigzNykgKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDEzMCwgJk5NRDo6RE1GQzAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8IE1JUFM2NF8gICAgICB9LCAgICAgICAgLyog RE1GQzAgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDEzOCwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogX1BPT0wzMkEwfiooMzkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYs IDB4MjAwMDAxNDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDQwKSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMTQ4LCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+ Kig0MSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDE1MCwgJk5NRDo6 QUREVV8zMl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQUREVVszMl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAw MDE1OCwgJk5NRDo6TU9EICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogTU9EICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYs IDB4MjAwMDAxNjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDQ0KSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMTY4LCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+ Kig0NSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDE3MCwgJk5NRDo6 RE1UQzAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8IE1JUFM2NF8gICAgICB9LCAg ICAgICAgLyogRE1UQzAgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDE3 OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooNDcpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDAzZmYsIDB4MjAwMDAxODAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDQ4KSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMTg4LCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBf UE9PTDMyQTB+Kig0OSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDE5 MCwgJk5NRDo6U1VCICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAg ICAgICB9LCAgICAgICAgLyogU1VCICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAxOTgsICZOTUQ6OkRJVlUgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIERJVlUgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDNmZiwgMHgyMDAwMDFhMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooNTIpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxYTgsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09M MzJBMH4qKDUzKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMWIwLCAm Tk1EOjpETUZHQzAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgTUlQUzY0XyB8IFZa X30sICAgICAgICAvKiBETUZHQzAgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDFiOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooNTUpICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxYzAsICZOTUQ6OlJESFdSICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIFhNTVNfICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFJESFdSICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxYzgsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09M MzJBMH4qKDU3KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMWQwLCAm Tk1EOjpTVUJVXzMyXyAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBTVUJVWzMyXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eDIwMDAwMWQ4LCAmTk1EOjpNT0RVICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBNT0RVICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAzZmYsIDB4MjAwMDAxZTAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDYwKSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMWU4LCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9P TDMyQTB+Kig2MSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDFmMCwg Jk5NRDo6RE1UR0MwICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8IE1JUFM2NF8gfCBW Wl99LCAgICAgICAgLyogRE1UR0MwICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAxZjgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDYzKSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMjAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+Kig2 NCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDIwOCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogX1BPT0wzMkEwfiooNjUpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwg UF9DTU9WRSAgICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAyMTAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQ01PVkUgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMDNmZiwgMHgyMDAwMDIxOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooNjcpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyMjAsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9Q T09MMzJBMH4qKDY4KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMjI4 LCAmTk1EOjpGT1JLICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNVF8gICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBGT1JLICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAyMzAsICZOTUQ6Ok1GVFIgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1UXyAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIE1GVFIgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDNmZiwgMHgyMDAwMDIzOCwgJk5NRDo6TUZIVFIgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg TVRfICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUZIVFIgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDNmZiwgMHgyMDAwMDI0MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooNzIp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyNDgsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIF9QT09MMzJBMH4qKDczKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIw MDAwMjUwLCAmTk1EOjpBTkRfMzJfICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBBTkRbMzJdICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAzZmYsIDB4MjAwMDAyNTgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDc1KSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMjYwLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9P TDMyQTB+Kig3NikgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDI2OCwg Jk5NRDo6WUlFTEQgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTVRfICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogWUlFTEQgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDI3MCwgJk5NRDo6TVRUUiAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTVRfICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogTVRUUiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMjc4LCAmTk1EOjpNVEhUUiAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBN VF8gICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVEhUUiAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweDIwMDAwMjgwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+Kig4MCkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDI4OCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogX1BPT0wzMkEwfiooODEpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAw MDAyOTAsICZOTUQ6Ok9SXzMyXyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIE9SWzMyXSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMjk4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+Kig4MykgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDJhMCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkEwfiooODQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyYTgsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDg1KSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAg ICAgICAsIFBfTVRfVlBFICAgICAgICAgICAgLCA4ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMmIwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLk1UX1ZQRSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMmI4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+Kig4 NykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDJjMCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogX1BPT0wzMkEwfiooODgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAyYzgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDg5KSAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMmQwLCAmTk1EOjpOT1IgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBOT1IgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDJkOCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkEwfiooOTEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyZTAsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDkyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMmU4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+Kig5MykgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDJmMCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkEwfiooOTQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyZjgsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDk1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMzAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+Kig5NikgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDMwOCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkEwfiooOTcpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzMTAsICZO TUQ6OlhPUl8zMl8gICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFhPUlszMl0gKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDMxOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooOTkpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzMjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDEw MCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDMyOCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogX1BPT0wzMkEwfiooMTAxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eDIwMDAwMzMwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigxMDIpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzMzgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4q KDEwMykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDM0MCwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogX1BPT0wzMkEwfiooMTA0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2Zm LCAweDIwMDAwMzQ4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigxMDUpICovDQo+ICsgICAg eyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzNTAsICZOTUQ6OlNMVCAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNMVCAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMzU4LCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBf UE9PTDMyQTB+KigxMDcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAz NjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDEwOCkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDNmZiwgMHgyMDAwMDM2OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooMTA5KSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMzcwLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBfUE9PTDMyQTB+KigxMTApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAw MDAzNzgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDExMSkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDNmZiwgMHgyMDAwMDM4MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooMTEy KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMzg4LCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBfUE9PTDMyQTB+KigxMTMpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwg UF9TTFRVICAgICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAzOTAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU0xUVSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAwM2ZmLCAweDIwMDAwMzk4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigxMTUpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzYTAsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9Q T09MMzJBMH4qKDExNikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDNh OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooMTE3KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwM2ZmLCAweDIwMDAwM2IwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigxMTgpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzYjgsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IF9QT09MMzJBMH4qKDExOSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAw MDNjMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkEwfiooMTIwKSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweDIwMDAwM2M4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigxMjEp ICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzZDAsICZOTUQ6OlNPViAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFNPViAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwM2Q4LCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBfUE9PTDMyQTB+KigxMjMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAz ZmYsIDB4MjAwMDAzZTAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDEyNCkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDNlOCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkEwfiooMTI1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwM2YwLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBfUE9PTDMyQTB+KigxMjYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAzZmYsIDB4MjAwMDAzZjgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBMH4qKDEyNykgKi8NCj4g K307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6QUREUV9fU19fUEhbMl0gPSB7DQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAwMGQsICZOTUQ6OkFERFFfUEggICAgICAg ICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFERFEu UEggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDQwZCwgJk5NRDo6QURE UV9TX1BIICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogQUREUV9TLlBIICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ok1V TF9fU19fUEhbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAwMmQs ICZOTUQ6Ok1VTF9QSCAgICAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIE1VTC5QSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAw eDIwMDAwNDJkLCAmTk1EOjpNVUxfU19QSCAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUxfUy5QSCAqLw0KPiArfTsNCj4gKw0KPiArDQo+ ICtOTUQ6OlBvb2wgTk1EOjpBRERRSF9fUl9fUEhbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDA3ZmYsIDB4MjAwMDAwNGQsICZOTUQ6OkFERFFIX1BIICAgICAgICAgLCAwLA0KPiArICAg ICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFERFFILlBIICovDQo+ICsgICAg eyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDA0NGQsICZOTUQ6OkFERFFIX1JfUEggICAgICAg LCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFERFFIX1Iu UEggKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6QUREUUhfX1JfX1dbMl0g PSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAwOGQsICZOTUQ6OkFERFFI X1cgICAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIEFERFFILlcgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDQ4ZCwg Jk5NRDo6QUREUUhfUl9XICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogQUREUUhfUi5XICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9v bCBOTUQ6OkFERFVfX1NfX1FCWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAw eDIwMDAwMGNkLCAmTk1EOjpBRERVX1FCICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERVLlFCICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDA3ZmYsIDB4MjAwMDA0Y2QsICZOTUQ6OkFERFVfU19RQiAgICAgICAgLCAwLA0KPiArICAg ICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFERFVfUy5RQiAqLw0KPiArfTsN Cj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpBRERVX19TX19QSFsyXSA9IHsNCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDEwZCwgJk5NRDo6QUREVV9QSCAgICAgICAgICAs IDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUREVS5QSCAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwNTBkLCAmTk1EOjpBRERVX1Nf UEggICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBBRERVX1MuUEggKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6QUREVUhf X1JfX1FCWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwMTRkLCAm Tk1EOjpBRERVSF9RQiAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBBRERVSC5RQiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAw eDIwMDAwNTRkLCAmTk1EOjpBRERVSF9SX1FCICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERVSF9SLlFCICovDQo+ICt9Ow0KPiArDQo+ICsN Cj4gK05NRDo6UG9vbCBOTUQ6OlNIUkFWX19SX19QSFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDdmZiwgMHgyMDAwMDE4ZCwgJk5NRDo6U0hSQVZfUEggICAgICAgICAsIDAsDQo+ICsg ICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hSQVYuUEggKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDU4ZCwgJk5NRDo6U0hSQVZfUl9QSCAgICAg ICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hSQVZf Ui5QSCAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpTSFJBVl9fUl9fUUJb Ml0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAxY2QsICZOTUQ6OlNI UkFWX1FCICAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFNIUkFWLlFCICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDA1 Y2QsICZOTUQ6OlNIUkFWX1JfUUIgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFNIUkFWX1IuUUIgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1E OjpQb29sIE5NRDo6U1VCUV9fU19fUEhbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3 ZmYsIDB4MjAwMDAyMGQsICZOTUQ6OlNVQlFfUEggICAgICAgICAgLCAwLA0KPiArICAgICAgIERT UF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNVQlEuUEggKi8NCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDdmZiwgMHgyMDAwMDYwZCwgJk5NRDo6U1VCUV9TX1BIICAgICAgICAsIDAsDQo+ ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1VCUV9TLlBIICovDQo+ ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlNVQlFIX19SX19QSFsyXSA9IHsNCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDI0ZCwgJk5NRDo6U1VCUUhfUEggICAg ICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1VC UUguUEggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDY0ZCwgJk5NRDo6 U1VCUUhfUl9QSCAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogU1VCUUhfUi5QSCAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1E OjpTVUJRSF9fUl9fV1syXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAw MDI4ZCwgJk5NRDo6U1VCUUhfVyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogU1VCUUguVyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw N2ZmLCAweDIwMDAwNjhkLCAmTk1EOjpTVUJRSF9SX1cgICAgICAgICwgMCwNCj4gKyAgICAgICBE U1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTVUJRSF9SLlcgKi8NCj4gK307DQo+ICsN Cj4gKw0KPiArTk1EOjpQb29sIE5NRDo6U1VCVV9fU19fUUJbMl0gPSB7DQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAyY2QsICZOTUQ6OlNVQlVfUUIgICAgICAgICAgLCAwLA0K PiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNVQlUuUUIgKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDZjZCwgJk5NRDo6U1VCVV9TX1FCICAg ICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1VC VV9TLlFCICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlNVQlVfX1NfX1BI WzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwMzBkLCAmTk1EOjpT VUJVX1BIICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBTVUJVLlBIICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDA3 MGQsICZOTUQ6OlNVQlVfU19QSCAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFNVQlVfUy5QSCAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6 OlBvb2wgTk1EOjpTSFJBX19SX19QSFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdm ZiwgMHgyMDAwMDMzNSwgJk5NRDo6U0hSQV9QSCAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQ XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hSQS5QSCAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwN2ZmLCAweDIwMDAwNzM1LCAmTk1EOjpTSFJBX1JfUEggICAgICAgICwgMCwNCj4g KyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTSFJBX1IuUEggKi8NCj4g K307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6U1VCVUhfX1JfX1FCWzJdID0gew0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwMzRkLCAmTk1EOjpTVUJVSF9RQiAgICAg ICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTVUJV SC5RQiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwNzRkLCAmTk1EOjpT VUJVSF9SX1FCICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBTVUJVSF9SLlFCICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6 OlNITExWX19TX19QSFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAw MDM4ZCwgJk5NRDo6U0hMTFZfUEggICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogU0hMTFYuUEggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDdmZiwgMHgyMDAwMDc4ZCwgJk5NRDo6U0hMTFZfU19QSCAgICAgICAsIDAsDQo+ICsgICAgICAg RFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hMTFZfUy5QSCAqLw0KPiArfTsNCj4g Kw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpTSExMX19TX19QSFs0XSA9IHsNCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMGZmZiwgMHgyMDAwMDNiNSwgJk5NRDo6U0hMTF9QSCAgICAgICAgICAsIDAs DQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hMTC5QSCAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwZmZmLCAweDIwMDAwN2I1LCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBT SExMW19TXS5QSH4qKDEpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDBmZmYsIDB4MjAwMDBi YjUsICZOTUQ6OlNITExfU19QSCAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFNITExfUy5QSCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw ZmZmLCAweDIwMDAwZmI1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTSExMW19TXS5QSH4qKDMpICovDQo+ICt9 Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBSRUNSX1NSQV9fUl9fUEhfV1syXSA9IHsN Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDNjZCwgJk5NRDo6UFJFQ1JfU1JB X1BIX1cgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UFJFQ1JfU1JBLlBILlcgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDdj ZCwgJk5NRDo6UFJFQ1JfU1JBX1JfUEhfVyAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUFJFQ1JfU1JBX1IuUEguVyAqLw0KPiArfTsNCj4gKw0KPiArDQo+ ICtOTUQ6OlBvb2wgTk1EOjpfUE9PTDMyQTVbMTI4XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMDNmZiwgMHgyMDAwMDAwNSwgJk5NRDo6Q01QX0VRX1BIICAgICAgICAsIDAsDQo+ICsgICAg ICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLkVRLlBIICovDQo+ICsgICAg eyBwb29sICAgICAgICAgICAgICAgICwgQUREUV9fU19fUEggICAgICAgICAsIDIgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwMGQsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFERFFbX1Nd LlBIICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwMTUsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIF9QT09MMzJBNX4qKDIpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAwMWQsICZOTUQ6OlNISUxPICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFNISUxPICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAzZmYsIDB4MjAwMDAwMjUsICZOTUQ6Ok1VTEVRX1NfV19QSEwgICAgLCAwLA0KPiArICAgICAg IERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1VTEVRX1MuVy5QSEwgKi8NCj4gKyAg ICB7IHBvb2wgICAgICAgICAgICAgICAgLCBNVUxfX1NfX1BIICAgICAgICAgICwgMiAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDAyZCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTVVMW19T XS5QSCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMDM1LCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBfUE9PTDMyQTV+Kig2KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eDIwMDAwMDNkLCAmTk1EOjpSRVBMX1BIICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBSRVBMLlBIICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDAzZmYsIDB4MjAwMDAwNDUsICZOTUQ6OkNNUF9MVF9QSCAgICAgICAgLCAwLA0KPiArICAg ICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5MVC5QSCAqLw0KPiArICAg IHsgcG9vbCAgICAgICAgICAgICAgICAsIEFERFFIX19SX19QSCAgICAgICAgLCAyICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMDRkLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERRSFtf Ul0uUEggKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDA1NSwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogX1BPT0wzMkE1fiooMTApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYs IDB4MjAwMDAwNWQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDExKSAqLw0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMDY1LCAmTk1EOjpNVUxFUV9TX1dfUEhSICAgICwg MCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUxFUV9TLlcu UEhSICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwNmQsICZOTUQ6OlBS RUNSX1FCX1BIICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBSRUNSLlFCLlBIICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAw MDAwNzUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDE0KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweDIwMDAwMDdkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+KigxNSkg Ki8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDA4NSwgJk5NRDo6Q01QX0xF X1BIICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogQ01QLkxFLlBIICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgQUREUUhfX1Jf X1cgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwOGQs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIEFERFFIW19SXS5XICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAz ZmYsIDB4MjAwMDAwOTUsICZOTUQ6Ok1VTEVVX1NfUEhfUUJMICAgLCAwLA0KPiArICAgICAgIERT UF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1VTEVVX1MuUEguUUJMICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwOWQsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJB NX4qKDE5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMGE1LCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBfUE9PTDMyQTV+KigyMCkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNm ZiwgMHgyMDAwMDBhZCwgJk5NRDo6UFJFQ1JRX1FCX1BIICAgICAsIDAsDQo+ICsgICAgICAgRFNQ XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUFJFQ1JRLlFCLlBIICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAwYjUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4q KDIyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMGJkLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBfUE9PTDMyQTV+KigyMykgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwg MHgyMDAwMDBjNSwgJk5NRDo6Q01QR1VfRVFfUUIgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QR1UuRVEuUUIgKi8NCj4gKyAgICB7IHBvb2wg ICAgICAgICAgICAgICAgLCBBRERVX19TX19RQiAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDNmZiwgMHgyMDAwMDBjZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUREVVtfU10uUUIgKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDBkNSwgJk5NRDo6TVVMRVVfU19Q SF9RQlIgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog TVVMRVVfUy5QSC5RQlIgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDBk ZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooMjcpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDAzZmYsIDB4MjAwMDAwZTUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDI4KSAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMGVkLCAmTk1EOjpQUkVDUlFfUEhf VyAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ UkVDUlEuUEguVyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMGY1LCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBfUE9PTDMyQTV+KigzMCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDNmZiwgMHgyMDAwMDBmZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooMzEpICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxMDUsICZOTUQ6OkNNUEdVX0xUX1FCICAg ICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUEdV LkxULlFCICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgQUREVV9fU19fUEggICAg ICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxMGQsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIEFERFVbX1NdLlBIICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAxMTUsICZOTUQ6Ok1VTFFfUlNfUEggICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIE1VTFFfUlMuUEggKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDNmZiwgMHgyMDAwMDExZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooMzUpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxMjUsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IF9QT09MMzJBNX4qKDM2KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAw MTJkLCAmTk1EOjpQUkVDUlFfUlNfUEhfVyAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQUkVDUlFfUlMuUEguVyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwM2ZmLCAweDIwMDAwMTM1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+KigzOCkgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDEzZCwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog X1BPT0wzMkE1fiooMzkpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAx NDUsICZOTUQ6OkNNUEdVX0xFX1FCICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIENNUEdVLkxFLlFCICovDQo+ICsgICAgeyBwb29sICAgICAgICAg ICAgICAgICwgQUREVUhfX1JfX1FCICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAzZmYsIDB4MjAwMDAxNGQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFERFVIW19SXS5RQiAqLw0KPiArICAg IHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMTU1LCAmTk1EOjpNVUxRX1NfUEggICAgICAg ICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUxRX1Mu UEggKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDE1ZCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogX1BPT0wzMkE1fiooNDMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAxNjUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDQ0KSAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMTZkLCAmTk1EOjpQUkVDUlFVX1NfUUJfUEggICwgMCwN Cj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQUkVDUlFVX1MuUUIu UEggKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDE3NSwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogX1BPT0wzMkE1fiooNDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAxN2QsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDQ3KSAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMTg1LCAmTk1EOjpDTVBHRFVfRVFfUUIgICAgICwgMCwN Cj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVBHRFUuRVEuUUIg Ki8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBTSFJBVl9fUl9fUEggICAgICAgICwg MiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDE4ZCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogU0hSQVZbX1JdLlBIICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAx OTUsICZOTUQ6Ok1VTFFfUlNfVyAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIE1VTFFfUlMuVyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMTlkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+Kig1MSkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDFhNSwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkE1fiooNTIpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxYWQsICZO TUQ6OlBBQ0tSTF9QSCAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBBQ0tSTC5QSCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eDIwMDAwMWI1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+Kig1NCkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDFiZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fioo NTUpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxYzUsICZOTUQ6OkNN UEdEVV9MVF9RQiAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIENNUEdEVS5MVC5RQiAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFNI UkFWX19SX19RQiAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIw MDAwMWNkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBTSFJBVltfUl0uUUIgKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDNmZiwgMHgyMDAwMDFkNSwgJk5NRDo6TVVMUV9TX1cgICAgICAgICAsIDAsDQo+ICsg ICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTVVMUV9TLlcgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDFkZCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkE1fiooNTkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxZTUsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDYwKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMWVkLCAmTk1EOjpQSUNLX1FCICAgICAgICAgICwgMCwNCj4gKyAgICAgICBE U1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQSUNLLlFCICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAxZjUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDYy KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMWZkLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBfUE9PTDMyQTV+Kig2MykgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDIwNSwgJk5NRDo6Q01QR0RVX0xFX1FCICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogQ01QR0RVLkxFLlFCICovDQo+ICsgICAgeyBwb29sICAg ICAgICAgICAgICAgICwgU1VCUV9fU19fUEggICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDAzZmYsIDB4MjAwMDAyMGQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNVQlFbX1NdLlBIICovDQo+ ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyMTUsICZOTUQ6OkFQUEVORCAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFQ UEVORCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMjFkLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBfUE9PTDMyQTV+Kig2NykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwg MHgyMDAwMDIyNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooNjgpICovDQo+ICsgICAgeyBp bnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyMmQsICZOTUQ6OlBJQ0tfUEggICAgICAgICAgLCAw LA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBJQ0suUEggKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDIzNSwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog X1BPT0wzMkE1fiooNzApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAy M2QsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDcxKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwM2ZmLCAweDIwMDAwMjQ1LCAmTk1EOjpDTVBVX0VRX1FCICAgICAgICwgMCwNCj4gKyAg ICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVBVLkVRLlFCICovDQo+ICsg ICAgeyBwb29sICAgICAgICAgICAgICAgICwgU1VCUUhfX1JfX1BIICAgICAgICAsIDIgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyNGQsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNVQlFI W19SXS5QSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMjU1LCAmTk1E OjpQUkVQRU5EICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQUkVQRU5EICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAw MDAyNWQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDc1KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweDIwMDAwMjY1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+Kig3Nikg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDI2ZCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogX1BPT0wzMkE1fiooNzcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAw MDAyNzUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDc4KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweDIwMDAwMjdkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+Kig3OSkg Ki8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDI4NSwgJk5NRDo6Q01QVV9M VF9RQiAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogQ01QVS5MVC5RQiAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFNVQlFIX19S X19XICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMjhk LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBTVUJRSFtfUl0uVyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwMjk1LCAmTk1EOjpNT0RTVUIgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBE U1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNT0RTVUIgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDNmZiwgMHgyMDAwMDI5ZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooODMp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyYTUsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIF9QT09MMzJBNX4qKDg0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIw MDAwMmFkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+Kig4NSkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDNmZiwgMHgyMDAwMDJiNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooODYp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyYmQsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIF9QT09MMzJBNX4qKDg3KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIw MDAwMmM1LCAmTk1EOjpDTVBVX0xFX1FCICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBDTVBVLkxFLlFCICovDQo+ICsgICAgeyBwb29sICAgICAg ICAgICAgICAgICwgU1VCVV9fU19fUUIgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDAzZmYsIDB4MjAwMDAyY2QsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNVQlVbX1NdLlFCICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyZDUsICZOTUQ6OlNIUkFWX1JfVyAgICAg ICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNIUkFW X1IuVyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMmRkLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBfUE9PTDMyQTV+Kig5MSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwg MHgyMDAwMDJlNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooOTIpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAyZWQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4q KDkzKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMmY1LCAmTk1EOjpT SFJBX1JfVyAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBTSFJBX1IuVyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAw MmZkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+Kig5NSkgKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDNmZiwgMHgyMDAwMDMwNSwgJk5NRDo6QUREUV9TX1cgICAgICAgICAsIDAsDQo+ICsg ICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUREUV9TLlcgKi8NCj4gKyAg ICB7IHBvb2wgICAgICAgICAgICAgICAgLCBTVUJVX19TX19QSCAgICAgICAgICwgMiAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDMwZCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1VCVVtf U10uUEggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDMxNSwgJk5NRDo6 U0hSTFZfUEggICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogU0hSTFYuUEggKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAw MDMxZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooOTkpICovDQo+ICsgICAgeyByZXNlcnZl ZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDAzZmYsIDB4MjAwMDAzMjUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDEwMCkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDMyZCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogX1BPT0wzMkE1fiooMTAxKSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFNI UkFfX1JfX1BIICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweDIw MDAwMzM1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBTSFJBW19SXS5QSCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwM2ZmLCAweDIwMDAwMzNkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+KigxMDMpICov DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzNDUsICZOTUQ6OlNVQlFfU19X ICAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFNVQlFfUy5XICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgU1VCVUhfX1JfX1FC ICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzNGQsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFNVQlVIW19SXS5RQiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2Zm LCAweDIwMDAwMzU1LCAmTk1EOjpTSFJMVl9RQiAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1Bf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTSFJMVi5RQiAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweDIwMDAwMzVkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+KigxMDcp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzNjUsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIF9QT09MMzJBNX4qKDEwOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgy MDAwMDM2ZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooMTA5KSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwM2ZmLCAweDIwMDAwMzc1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+Kigx MTApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzN2QsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIF9QT09MMzJBNX4qKDExMSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwg MHgyMDAwMDM4NSwgJk5NRDo6QUREU0MgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUREU0MgKi8NCj4gKyAgICB7IHBvb2wgICAgICAg ICAgICAgICAgLCBTSExMVl9fU19fUEggICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMDNmZiwgMHgyMDAwMDM4ZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hMTFZbX1NdLlBIICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzOTUsICZOTUQ6OlNITExWX1FCICAgICAg ICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNITExW LlFCICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzOWQsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIF9QT09MMzJBNX4qKDExNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwg MHgyMDAwMDNhNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooMTE2KSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwM2FkLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+ KigxMTcpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgU0hMTF9fU19fUEggICAg ICAgICAsIDQgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzYjUsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFNITExbX1NdLlBIICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4 MjAwMDAzYmQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNX4qKDExOSkgKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDNjNSwgJk5NRDo6QUREV0MgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUREV0MgKi8NCj4g KyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQUkVDUl9TUkFfX1JfX1BIX1cgICwgMiAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDNjZCwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUFJF Q1JfU1JBW19SXS5QSC5XICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAz ZDUsICZOTUQ6OlNITExWX1NfVyAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFNITExWX1MuVyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweDIwMDAwM2RkLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+KigxMjMpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4MjAwMDAzZTUsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09M MzJBNX4qKDEyNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHgyMDAwMDNlZCwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogX1BPT0wzMkE1fiooMTI1KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAwM2ZmLCAweDIwMDAwM2Y1LCAmTk1EOjpTSExMX1NfVyAgICAgICAgICwgMCwNCj4gKyAgICAg ICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTSExMX1MuVyAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweDIwMDAwM2ZkLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMyQTV+ KigxMjcpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBQX0xTWFsxNl0g PSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAwMDcsICZOTUQ6OkxCWCAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIExCWCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwMDg3LCAmTk1E OjpTQlggICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBYTU1TXyAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBTQlggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDEw NywgJk5NRDo6TEJVWCAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogTEJVWCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAw eDIwMDAwMTg3LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQUC5MU1h+KigzKSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwN2ZmLCAweDIwMDAwMjA3LCAmTk1EOjpMSFggICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMSFggKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDI4NywgJk5NRDo6U0hYICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hYICovDQo+ ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAzMDcsICZOTUQ6OkxIVVggICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExI VVggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDM4NywgJk5NRDo6TFdV WCAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAg ICAgLyogTFdVWCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwNDA3LCAm Tk1EOjpMV1ggICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBMV1ggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAw MDQ4NywgJk5NRDo6U1dYICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAg ICAgICAgICB9LCAgICAgICAgLyogU1dYICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYs IDB4MjAwMDA1MDcsICZOTUQ6OkxXQzFYICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExXQzFYICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDA3ZmYsIDB4MjAwMDA1ODcsICZOTUQ6OlNXQzFYICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNXQzFYICovDQo+ICsgICAgeyBp bnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDA2MDcsICZOTUQ6OkxEWCAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIExEWCAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwNjg3LCAmTk1EOjpTRFggICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBTRFgg Ki8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDcwNywgJk5NRDo6TERDMVgg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogTERDMVggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDc4NywgJk5N RDo6U0RDMVggICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogU0RDMVggKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6 UFBfTFNYU1sxNl0gPSB7DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAwNDcs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBQLkxTWFN+KigwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw N2ZmLCAweDIwMDAwMGM3LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQUC5MU1hTfiooMSkgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDE0NywgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUFAuTFNYU34q KDIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4MjAwMDAxYzcsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBQLkxTWFN+KigzKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIw MDAwMjQ3LCAmTk1EOjpMSFhTICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBMSFhTICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3 ZmYsIDB4MjAwMDAyYzcsICZOTUQ6OlNIWFMgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIFhN TVNfICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNIWFMgKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDdmZiwgMHgyMDAwMDM0NywgJk5NRDo6TEhVWFMgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTEhVWFMgKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDNjNywgJk5NRDo6TFdVWFMgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAgICAgLyogTFdVWFMgKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDQ0NywgJk5NRDo6TFdYU18zMl8g ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog TFdYU1szMl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDRjNywgJk5N RDo6U1dYUyAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9 LCAgICAgICAgLyogU1dYUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAw NTQ3LCAmTk1EOjpMV0MxWFMgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBMV0MxWFMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdm ZiwgMHgyMDAwMDVjNywgJk5NRDo6U1dDMVhTICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1dDMVhTICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDA3ZmYsIDB4MjAwMDA2NDcsICZOTUQ6OkxEWFMgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIExEWFMgKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDZjNywgJk5NRDo6U0RYUyAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAgICAgLyogU0RYUyAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweDIwMDAwNzQ3LCAmTk1EOjpMREMxWFMgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBM REMxWFMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHgyMDAwMDdjNywgJk5NRDo6 U0RDMVhTICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogU0RDMVhTICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBf TFNYWzJdID0gew0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBQX0xTWCAgICAgICAg ICAgICAgLCAxNiAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDdmLCAweDIwMDAwMDA3LCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQUC5MU1ggKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQUF9M U1hTICAgICAgICAgICAgICwgMTYgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDA3ZiwgMHgyMDAw MDA0NywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUFAuTFNYUyAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6 OlBvb2wgTk1EOjpQT09MMzJBeGZfMV8wWzRdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAz ZmZmLCAweDIwMDAwMDdmLCAmTk1EOjpNRkhJX0RTUF8gICAgICAgICwgMCwNCj4gKyAgICAgICBE U1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNRkhJW0RTUF0gKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAwMTA3ZiwgJk5NRDo6TUZMT19EU1BfICAgICAgICAsIDAs DQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUZMT1tEU1BdICov DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDIwN2YsICZOTUQ6Ok1USElfRFNQ XyAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IE1USElbRFNQXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAzMDdmLCAm Tk1EOjpNVExPX0RTUF8gICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBNVExPW0RTUF0gKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29s IE5NRDo6UE9PTDMyQXhmXzFfMVs0XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwg MHgyMDAwMDI3ZiwgJk5NRDo6TVRITElQICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogTVRITElQICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDNmZmYsIDB4MjAwMDEyN2YsICZOTUQ6OlNISUxPViAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNISUxPViAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAyMjdmLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZf MV8xfiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAwMzI3ZiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyQXhmXzFfMX4qKDMpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05N RDo6UG9vbCBOTUQ6OlBPT0wzMkF4Zl8xXzNbNF0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDNmZmYsIDB4MjAwMDA2N2YsICZOTUQ6OlJERFNQICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFJERFNQICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDE2N2YsICZOTUQ6OldSRFNQICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFdSRFNQICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDI2N2YsICZOTUQ6OkVYVFAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVYVFAg Ki8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAwMzY3ZiwgJk5NRDo6RVhUUERQ ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogRVhUUERQICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBPT0wzMkF4 Zl8xXzRbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDFmZmYsIDB4MjAwMDA4N2YsICZO TUQ6OlNITExfUUIgICAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFNITEwuUUIgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHgy MDAwMTg3ZiwgJk5NRDo6U0hSTF9RQiAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogU0hSTC5RQiAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtO TUQ6OlBvb2wgTk1EOjpNQVFfU19BX19XX1BIUlsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwM2ZmZiwgMHgyMDAwMGE3ZiwgJk5NRDo6TUFRX1NfV19QSFIgICAgICAsIDAsDQo+ICsgICAg ICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUFRX1MuVy5QSFIgKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAwMmE3ZiwgJk5NRDo6TUFRX1NBX1dfUEhSICAg ICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUFRX1NB LlcuUEhSICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ok1BUV9TX0FfX1df UEhMWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAxYTdmLCAmTk1E OjpNQVFfU19XX1BITCAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBNQVFfUy5XLlBITCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAw eDIwMDAzYTdmLCAmTk1EOjpNQVFfU0FfV19QSEwgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBNQVFfU0EuVy5QSEwgKi8NCj4gK307DQo+ICsNCj4g Kw0KPiArTk1EOjpQb29sIE5NRDo6UE9PTDMyQXhmXzFfNVsyXSA9IHsNCj4gKyAgICB7IHBvb2wg ICAgICAgICAgICAgICAgLCBNQVFfU19BX19XX1BIUiAgICAgICwgMiAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMWZmZiwgMHgyMDAwMGE3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUFRX1NbQV0uVy5QSFIg Ki8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBNQVFfU19BX19XX1BITCAgICAgICwg MiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHgyMDAwMWE3ZiwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogTUFRX1NbQV0uVy5QSEwgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6 UE9PTDMyQXhmXzFfN1s0XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAw MGU3ZiwgJk5NRDo6RVhUUl9XICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogRVhUUi5XICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNm ZmYsIDB4MjAwMDFlN2YsICZOTUQ6OkVYVFJfUl9XICAgICAgICAgLCAwLA0KPiArICAgICAgIERT UF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVYVFJfUi5XICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDJlN2YsICZOTUQ6OkVYVFJfUlNfVyAgICAgICAgLCAwLA0K PiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVYVFJfUlMuVyAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAzZTdmLCAmTk1EOjpFWFRSX1NfSCAg ICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBF WFRSX1MuSCAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQT09MMzJBeGZf MVs4XSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJBeGZfMV8wICAg ICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMGZmZiwgMHgyMDAwMDA3ZiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyQXhmXzFfMCAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAs IFBPT0wzMkF4Zl8xXzEgICAgICAgLCA0ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwZmZmLCAw eDIwMDAwMjdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfMV8xICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDBmZmYsIDB4MjAwMDA0N2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl8xfioo MikgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJBeGZfMV8zICAgICAg ICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMGZmZiwgMHgyMDAwMDY3ZiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyQXhmXzFfMyAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBP T0wzMkF4Zl8xXzQgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwZmZmLCAweDIw MDAwODdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfMV80ICovDQo+ICsgICAgeyBwb29sICAg ICAgICAgICAgICAgICwgUE9PTDMyQXhmXzFfNSAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDBmZmYsIDB4MjAwMDBhN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl8xXzUgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMGZmZiwgMHgyMDAwMGM3ZiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyQXhmXzF+Kig2KSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBPT0wz MkF4Zl8xXzcgICAgICAgLCA0ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwZmZmLCAweDIwMDAw ZTdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfMV83ICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6OlBPT0wzMkF4Zl8yX0RTUF9fMF83WzhdID0gew0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAzZmZmLCAweDIwMDAwMGJmLCAmTk1EOjpEUEFfV19QSCAgICAgICAgICwgMCwN Cj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBEUEEuVy5QSCAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAwMmJmLCAmTk1EOjpEUEFRX1NfV19Q SCAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBE UEFRX1MuVy5QSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAwNGJmLCAm Tk1EOjpEUFNfV19QSCAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBEUFMuVy5QSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAw eDIwMDAwNmJmLCAmTk1EOjpEUFNRX1NfV19QSCAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBEUFNRX1MuVy5QSCAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAzZmZmLCAweDIwMDAwOGJmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfMihEU1Ap XzBfN34qKDQpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDBhYmYsICZO TUQ6Ok1BRERfRFNQXyAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIE1BRERbRFNQXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAw eDIwMDAwY2JmLCAmTk1EOjpNVUxUX0RTUF8gICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUxUW0RTUF0gKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwM2ZmZiwgMHgyMDAwMGViZiwgJk5NRDo6RVhUUlZfVyAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRVhUUlYuVyAqLw0KPiArfTsN Cj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQT09MMzJBeGZfMl9EU1BfXzhfMTVbOF0gPSB7 DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDEwYmYsICZOTUQ6OkRQQVhfV19Q SCAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IERQQVguVy5QSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAxMmJmLCAm Tk1EOjpEUEFRX1NBX0xfVyAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBEUEFRX1NBLkwuVyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZm LCAweDIwMDAxNGJmLCAmTk1EOjpEUFNYX1dfUEggICAgICAgICwgMCwNCj4gKyAgICAgICBEU1Bf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBEUFNYLlcuUEggKi8NCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwM2ZmZiwgMHgyMDAwMTZiZiwgJk5NRDo6RFBTUV9TQV9MX1cgICAgICAsIDAsDQo+ ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRFBTUV9TQS5MLlcgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAwMThiZiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyQXhmXzIoRFNQKV84XzE1fiooNCkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2Zm ZiwgMHgyMDAwMWFiZiwgJk5NRDo6TUFERFVfRFNQXyAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQ XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUFERFVbRFNQXSAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAzZmZmLCAweDIwMDAxY2JmLCAmTk1EOjpNVUxUVV9EU1BfICAgICAgICwgMCwN Cj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUxUVVtEU1BdICov DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDFlYmYsICZOTUQ6OkVYVFJWX1Jf VyAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IEVYVFJWX1IuVyAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQT09MMzJB eGZfMl9EU1BfXzE2XzIzWzhdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIw MDAyMGJmLCAmTk1EOjpEUEFVX0hfUUJMICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBEUEFVLkguUUJMICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDNmZmYsIDB4MjAwMDIyYmYsICZOTUQ6OkRQQVFYX1NfV19QSCAgICAgLCAwLA0KPiArICAg ICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIERQQVFYX1MuVy5QSCAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAyNGJmLCAmTk1EOjpEUFNVX0hfUUJMICAg ICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBEUFNV LkguUUJMICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDI2YmYsICZOTUQ6 OkRQU1FYX1NfV19QSCAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIERQU1FYX1MuVy5QSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAw eDIwMDAyOGJmLCAmTk1EOjpFWFRQViAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBFWFRQViAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAzZmZmLCAweDIwMDAyYWJmLCAmTk1EOjpNU1VCX0RTUF8gICAgICAgICwgMCwNCj4gKyAgICAg ICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNU1VCW0RTUF0gKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAwMmNiZiwgJk5NRDo6TVVMU0FfV19QSCAgICAgICAs IDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTVVMU0EuVy5Q SCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAyZWJmLCAmTk1EOjpFWFRS Vl9SU19XICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBFWFRSVl9SUy5XICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBP T0wzMkF4Zl8yX0RTUF9fMjRfMzFbOF0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYs IDB4MjAwMDMwYmYsICZOTUQ6OkRQQVVfSF9RQlIgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIERQQVUuSC5RQlIgKi8NCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwM2ZmZiwgMHgyMDAwMzJiZiwgJk5NRDo6RFBBUVhfU0FfV19QSCAgICAsIDAsDQo+ ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRFBBUVhfU0EuVy5QSCAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweDIwMDAzNGJmLCAmTk1EOjpEUFNVX0hf UUJSICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBEUFNVLkguUUJSICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDM2YmYs ICZOTUQ6OkRQU1FYX1NBX1dfUEggICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIERQU1FYX1NBLlcuUEggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw M2ZmZiwgMHgyMDAwMzhiZiwgJk5NRDo6RVhUUERQViAgICAgICAgICAsIDAsDQo+ICsgICAgICAg RFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRVhUUERQViAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAzZmZmLCAweDIwMDAzYWJmLCAmTk1EOjpNU1VCVV9EU1BfICAgICAgICwgMCwN Cj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNU1VCVVtEU1BdICov DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4MjAwMDNjYmYsICZOTUQ6Ok1VTFNBUV9T X1dfUEggICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IE1VTFNBUV9TLlcuUEggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHgyMDAwM2Vi ZiwgJk5NRDo6RVhUUlZfU19IICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogRVhUUlZfUy5IICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6 UG9vbCBOTUQ6OlBPT0wzMkF4Zl8yWzRdID0gew0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAg ICAsIFBPT0wzMkF4Zl8yX0RTUF9fMF83LCA4ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzMWZm LCAweDIwMDAwMGJmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfMihEU1ApXzBfNyAqLw0KPiAr ICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBPT0wzMkF4Zl8yX0RTUF9fOF8xNSwgOCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMzFmZiwgMHgyMDAwMTBiZiwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyQXhmXzIoRFNQKV84XzE1ICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUE9P TDMyQXhmXzJfRFNQX18xNl8yMywgOCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMzFmZiwgMHgy MDAwMjBiZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzIoRFNQKV8xNl8yMyAqLw0KPiArICAg IHsgcG9vbCAgICAgICAgICAgICAgICAsIFBPT0wzMkF4Zl8yX0RTUF9fMjRfMzEsIDggICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDMxZmYsIDB4MjAwMDMwYmYsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wz MkF4Zl8yKERTUClfMjRfMzEgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6 UE9PTDMyQXhmXzRbMTI4XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAw MDEzZiwgJk5NRDo6QUJTUV9TX1FCICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogQUJTUV9TLlFCICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4MjAwMDAzM2YsICZOTUQ6OlJFUExWX1BIICAgICAgICAgLCAwLA0KPiArICAgICAg IERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFJFUExWLlBIICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDA1M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80 fiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMDczZiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyQXhmXzR+KigzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweDIwMDAwOTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDQpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDBiM2YsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4 Zl80fiooNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMGQzZiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyQXhmXzR+Kig2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDAwZjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDcpICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDExM2YsICZOTUQ6OkFCU1FfU19QSCAgICAg ICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFCU1Ff Uy5QSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAxMzNmLCAmTk1EOjpS RVBMVl9RQiAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBSRVBMVi5RQiAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAx NTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDEwKSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmZmZmLCAweDIwMDAxNzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDEx KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAxOTNmLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJBeGZfNH4qKDEyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAw eDIwMDAxYjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDEzKSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAxZDNmLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZf NH4qKDE0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAxZjNmLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDE1KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDAyMTNmLCAmTk1EOjpBQlNRX1NfVyAgICAgICAgICwgMCwNCj4gKyAgICAgICBE U1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBQlNRX1MuVyAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweDIwMDAyMzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4q KDE3KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAyNTNmLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJBeGZfNH4qKDE4KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweDIwMDAyNzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDE5KSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAyOTNmLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJB eGZfNH4qKDIwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAyYjNmLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDIxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDBmZmZmLCAweDIwMDAyZDNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDIyKSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAyZjNmLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MMzJBeGZfNH4qKDIzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAz MTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDI0KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmZmZmLCAweDIwMDAzMzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDI1 KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAzNTNmLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJBeGZfNH4qKDI2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAw eDIwMDAzNzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDI3KSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAzOTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZf NH4qKDI4KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAzYjNmLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDI5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDAzZDNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDMwKSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAzZjNmLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJBeGZfNH4qKDMxKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA0MTNm LCAmTk1EOjpJTlNWICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBJTlNWICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4 MjAwMDQzM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMzMpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDQ1M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80 fiooMzQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDQ3M2YsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMzUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZm ZmYsIDB4MjAwMDQ5M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMzYpICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDRiM2YsICZOTUQ6OkNMTyAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIFhNTVNfICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENMTyAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA0ZDNmLCAmTk1EOjpNRkMyICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDJfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBNRkMyICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDRmM2YsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMzkpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZm ZmYsIDB4MjAwMDUxM2YsICZOTUQ6OlBSRUNFUV9XX1BITCAgICAgLCAwLA0KPiArICAgICAgIERT UF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBSRUNFUS5XLlBITCAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA1MzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZf NH4qKDQxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA1NTNmLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDQyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDA1NzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDQzKSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA1OTNmLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJBeGZfNH4qKDQ0KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA1YjNm LCAmTk1EOjpDTFogICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBYTU1TXyAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBDTFogKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgy MDAwNWQzZiwgJk5NRDo6TVRDMiAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AyXyAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogTVRDMiAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDA1ZjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDQ3KSAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA2MTNmLCAmTk1EOjpQUkVDRVFfV19QSFIg ICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQUkVD RVEuVy5QSFIgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNjMzZiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyQXhmXzR+Kig0OSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHgyMDAwNjUzZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzR+Kig1MCkgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNjczZiwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyQXhmXzR+Kig1MSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNjkz ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzR+Kig1MikgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwZmZmZiwgMHgyMDAwNmIzZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzR+Kig1Mykg Ki8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNmQzZiwgJk5NRDo6RE1GQzIg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AyXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogRE1GQzIgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNmYzZiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyQXhmXzR+Kig1NSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHgyMDAwNzEzZiwgJk5NRDo6UFJFQ0VRVV9QSF9RQkwgICAsIDAsDQo+ICsgICAgICAg RFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUFJFQ0VRVS5QSC5RQkwgKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNzMzZiwgJk5NRDo6UFJFQ0VRVV9QSF9RQkxB ICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUFJFQ0VR VS5QSC5RQkxBICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDc1M2YsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNTgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4MjAwMDc3M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNTkpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDc5M2YsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkF4Zl80fiooNjApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDdi M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNjEpICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMGZmZmYsIDB4MjAwMDdkM2YsICZOTUQ6OkRNVEMyICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMl8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIERNVEMyICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDdmM2YsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4 Zl80fiooNjMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDgxM2YsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNjQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4MjAwMDgzM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNjUpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDg1M2YsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkF4Zl80fiooNjYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDg3 M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNjcpICovDQo+ICsgICAgeyByZXNlcnZl ZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMGZmZmYsIDB4MjAwMDg5M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNjgp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDhiM2YsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFBPT0wzMkF4Zl80fiooNjkpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4 MjAwMDhkM2YsICZOTUQ6Ok1GSEMyICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMl8gICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIE1GSEMyICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4MjAwMDhmM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooNzEpICovDQo+ ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDkxM2YsICZOTUQ6OlBSRUNFUVVfUEhf UUJSICAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBS RUNFUVUuUEguUUJSICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDkzM2Ys ICZOTUQ6OlBSRUNFUVVfUEhfUUJSQSAgLCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBSRUNFUVUuUEguUUJSQSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDBmZmZmLCAweDIwMDA5NTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDc0KSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA5NzNmLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MMzJBeGZfNH4qKDc1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA5 OTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDc2KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmZmZmLCAweDIwMDA5YjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDc3 KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA5ZDNmLCAmTk1EOjpNVEhD MiAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDJfICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBNVEhDMiAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA5ZjNmLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDc5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDBmZmZmLCAweDIwMDBhMTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDgwKSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBhMzNmLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MMzJBeGZfNH4qKDgxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBh NTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDgyKSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmZmZmLCAweDIwMDBhNzNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDgz KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBhOTNmLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJBeGZfNH4qKDg0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAw eDIwMDBhYjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDg1KSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBhZDNmLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZf NH4qKDg2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBhZjNmLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDg3KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDBiMTNmLCAmTk1EOjpQUkVDRVVfUEhfUUJMICAgICwgMCwNCj4gKyAgICAgICBE U1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQUkVDRVUuUEguUUJMICovDQo+ICsgICAg eyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGIzM2YsICZOTUQ6OlBSRUNFVV9QSF9RQkxBICAg LCAwLA0KPiArICAgICAgIERTUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBSRUNFVS5Q SC5RQkxBICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGI1M2YsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMkF4Zl80fiooOTApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZm ZmYsIDB4MjAwMGI3M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooOTEpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGI5M2YsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wz MkF4Zl80fiooOTIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGJiM2Ys IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooOTMpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMGZmZmYsIDB4MjAwMGJkM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooOTQpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGJmM2YsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMkF4Zl80fiooOTUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAw MGMxM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooOTYpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGMzM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fioo OTcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGM1M2YsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBPT0wzMkF4Zl80fiooOTgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYs IDB4MjAwMGM3M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooOTkpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGM5M2YsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4 Zl80fiooMTAwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBjYjNmLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDEwMSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmZmZiwgMHgyMDAwY2QzZiwgJk5NRDo6Q0ZDMiAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgQ1AyXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ0ZDMiAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweDIwMDBjZjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4q KDEwMykgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZDEzZiwgJk5NRDo6 UFJFQ0VVX1BIX1FCUiAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUFJFQ0VVLlBILlFCUiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAw eDIwMDBkMzNmLCAmTk1EOjpQUkVDRVVfUEhfUUJSQSAgICwgMCwNCj4gKyAgICAgICBEU1BfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQUkVDRVUuUEguUUJSQSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweDIwMDBkNTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4q KDEwNikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZDczZiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyQXhmXzR+KigxMDcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZm ZmYsIDB4MjAwMGQ5M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMTA4KSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBkYjNmLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJBeGZfNH4qKDEwOSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZGQz ZiwgJk5NRDo6Q1RDMiAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AyXyAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogQ1RDMiAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAw eDIwMDBkZjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDExMSkgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZTEzZiwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhm XzR+KigxMTIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGUzM2YsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMTEzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDBmZmZmLCAweDIwMDBlNTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDExNCkgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZTczZiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyQXhmXzR+KigxMTUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAw MGU5M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMTE2KSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweDIwMDBlYjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4q KDExNykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZWQzZiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyQXhmXzR+KigxMTgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZm ZmYsIDB4MjAwMGVmM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMTE5KSAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBmMTNmLCAmTk1EOjpSQUREVV9XX1FCICAg ICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBSQURE VS5XLlFCICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGYzM2YsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMTIxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDBmNTNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDEyMikgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZjczZiwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyQXhmXzR+KigxMjMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGY5 M2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMTI0KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmZmZmLCAweDIwMDBmYjNmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNH4qKDEy NSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZmQzZiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyQXhmXzR+KigxMjYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYs IDB4MjAwMGZmM2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl80fiooMTI3KSAqLw0KPiArfTsN Cj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQT09MMzJBeGZfNV9ncm91cDBbMzJdID0gew0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAwMTdmLCAmTk1EOjpUTEJHUCAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgVlpfIHwgVExCXyAgIH0sICAgICAgICAvKiBU TEJHUCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAwMzdmLCAmTk1EOjpU TEJQICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgVExCXyAgICAgICAgIH0sICAg ICAgICAvKiBUTEJQICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDA1N2Ys ICZOTUQ6OlRMQkdJTlYgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMF8gfCBWWl8gfCBUTEJf IHwgVExCSU5WX30sICAgICAgICAvKiBUTEJHSU5WICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4MjAwMDA3N2YsICZOTUQ6OlRMQklOViAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMF8gfCBUTEJfIHwgVExCSU5WX30sICAgICAgICAvKiBUTEJJTlYgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMDk3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVf Z3JvdXAwfiooNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMGI3Ziwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAwfiooNSkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwZmZmZiwgMHgyMDAwMGQ3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3Jv dXAwfiooNikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMGY3ZiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAwfiooNykgKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwZmZmZiwgMHgyMDAwMTE3ZiwgJk5NRDo6VExCR1IgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AwXyB8IFZaXyB8IFRMQl8gICB9LCAgICAgICAgLyogVExCR1IgKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMTM3ZiwgJk5NRDo6VExCUiAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AwXyB8IFRMQl8gICAgICAgICB9LCAgICAgICAgLyogVExCUiAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAxNTdmLCAmTk1EOjpUTEJHSU5WRiAg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgVlpfIHwgVExCXyB8IFRMQklOVl99LCAgICAg ICAgLyogVExCR0lOVkYgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMTc3 ZiwgJk5NRDo6VExCSU5WRiAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8IFRMQl8gfCBU TEJJTlZffSwgICAgICAgIC8qIFRMQklOVkYgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHgyMDAwMTk3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAwfiooMTIpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDFiN2YsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMkF4Zl81X2dyb3VwMH4qKDEzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweDIwMDAxZDdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDB+KigxNCkgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMWY3ZiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyQXhmXzVfZ3JvdXAwfiooMTUpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYs IDB4MjAwMDIxN2YsICZOTUQ6OlRMQkdXSSAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMF8g fCBWWl8gfCBUTEJfICAgfSwgICAgICAgIC8qIFRMQkdXSSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDBmZmZmLCAweDIwMDAyMzdmLCAmTk1EOjpUTEJXSSAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICBDUDBfIHwgVExCXyAgICAgICAgIH0sICAgICAgICAvKiBUTEJXSSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAyNTdmLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZf NV9ncm91cDB+KigxOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMjc3 ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAwfiooMTkpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDI5N2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81 X2dyb3VwMH4qKDIwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAyYjdm LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDB+KigyMSkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMmQ3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVf Z3JvdXAwfiooMjIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDJmN2Ys IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwMH4qKDIzKSAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweDIwMDAzMTdmLCAmTk1EOjpUTEJHV1IgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBDUDBfIHwgVlpfIHwgVExCXyAgIH0sICAgICAgICAvKiBUTEJHV1IgKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMzM3ZiwgJk5NRDo6VExCV1IgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8IFRMQl8gICAgICAgICB9LCAgICAgICAgLyogVExC V1IgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwMzU3ZiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAwfiooMjYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4MjAwMDM3N2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwMH4qKDI3 KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDAzOTdmLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJBeGZfNV9ncm91cDB+KigyOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHgyMDAwM2I3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAwfiooMjkp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDNkN2YsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFBPT0wzMkF4Zl81X2dyb3VwMH4qKDMwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDAzZjdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDB+KigzMSkg Ki8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UE9PTDMyQXhmXzVfZ3JvdXAx WzMyXSA9IHsNCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNDE3ZiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmZmZiwgMHgyMDAwNDM3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfioo MSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNDU3ZiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMikgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHgyMDAwNDc3ZiwgJk5NRDo6REkgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogREkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwZmZmZiwgMHgyMDAwNDk3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAx fiooNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNGI3ZiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmZmZiwgMHgyMDAwNGQ3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfioo NikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNGY3ZiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooNykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHgyMDAwNTE3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooOCkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNTM3ZiwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooOSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHgyMDAwNTU3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMTApICov DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDU3N2YsICZOTUQ6OkVJICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IEVJICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDU5N2YsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwMX4qKDEyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDBmZmZmLCAweDIwMDA1YjdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDF+Kigx MykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNWQ3ZiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMTQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4MjAwMDVmN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwMX4qKDE1 KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA2MTdmLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJBeGZfNV9ncm91cDF+KigxNikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHgyMDAwNjM3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMTcp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDY1N2YsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFBPT0wzMkF4Zl81X2dyb3VwMX4qKDE4KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDA2NzdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDF+KigxOSkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNjk3ZiwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMjApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZm ZmYsIDB4MjAwMDZiN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwMX4qKDIxKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA2ZDdmLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQT09MMzJBeGZfNV9ncm91cDF+KigyMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHgyMDAwNmY3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMjMpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDcxN2YsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMkF4Zl81X2dyb3VwMX4qKDI0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweDIwMDA3MzdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDF+KigyNSkgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwNzU3ZiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyQXhmXzVfZ3JvdXAxfiooMjYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYs IDB4MjAwMDc3N2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwMX4qKDI3KSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDA3OTdmLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MMzJBeGZfNV9ncm91cDF+KigyOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwg MHgyMDAwN2I3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxfiooMjkpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMDdkN2YsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkF4Zl81X2dyb3VwMX4qKDMwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAw eDIwMDA3ZjdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDF+KigzMSkgKi8NCj4g K307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6RVJFVHhbMl0gPSB7DQo+ICsgICAgeyBp bnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMWZmZmYsIDB4MjAwMGYzN2YsICZOTUQ6OkVSRVQgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVSRVQgKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAxZmZmZiwgMHgyMDAxZjM3ZiwgJk5NRDo6RVJFVE5DICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogRVJF VE5DICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBPT0wzMkF4Zl81X2dy b3VwM1szMl0gPSB7DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGMxN2YsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwM34qKDApICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMGZmZmYsIDB4MjAwMGMzN2YsICZOTUQ6OldBSVQgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFdBSVQgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwYzU3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhm XzVfZ3JvdXAzfiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwYzc3 ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAzfiooMykgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwYzk3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVf Z3JvdXAzfiooNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwY2I3Ziwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAzfiooNSkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwZmZmZiwgMHgyMDAwY2Q3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3Jv dXAzfiooNikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwY2Y3ZiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAzfiooNykgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwZmZmZiwgMHgyMDAwZDE3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAz fiooOCkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZDM3ZiwgJk5NRDo6 SVJFVCAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUNVXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogSVJFVCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBkNTdm LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDN+KigxMCkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZDc3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVf Z3JvdXAzfiooMTEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGQ5N2Ys IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwM34qKDEyKSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweDIwMDBkYjdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9n cm91cDN+KigxMykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZGQ3Ziwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAzfiooMTQpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGRmN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dy b3VwM34qKDE1KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBlMTdmLCAm Tk1EOjpSRFBHUFIgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBSRFBHUFIgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgy MDAwZTM3ZiwgJk5NRDo6REVSRVQgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgRUpUQUdfICAg ICAgICAgICAgICB9LCAgICAgICAgLyogREVSRVQgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHgyMDAwZTU3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAzfiooMTgp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGU3N2YsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFBPT0wzMkF4Zl81X2dyb3VwM34qKDE5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweDIwMDBlOTdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDN+KigyMCkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZWI3ZiwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyQXhmXzVfZ3JvdXAzfiooMjEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZm ZmYsIDB4MjAwMGVkN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwM34qKDIyKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBlZjdmLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQT09MMzJBeGZfNV9ncm91cDN+KigyMykgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHgyMDAwZjE3ZiwgJk5NRDo6V1JQR1BSICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Aw XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogV1JQR1BSICovDQo+ICsgICAgeyBwb29sICAg ICAgICAgICAgICAgICwgRVJFVHggICAgICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMGZmZmYsIDB4MjAwMGYzN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVSRVR4ICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGY1N2YsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4 Zl81X2dyb3VwM34qKDI2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBm NzdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9ncm91cDN+KigyNykgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZjk3ZiwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhm XzVfZ3JvdXAzfiooMjgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4MjAwMGZi N2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81X2dyb3VwM34qKDI5KSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweDIwMDBmZDdmLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZf NV9ncm91cDN+KigzMCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHgyMDAwZmY3 ZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAzfiooMzEpICovDQo+ICt9Ow0KPiAr DQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBPT0wzMkF4Zl81WzRdID0gew0KPiArICAgIHsgcG9v bCAgICAgICAgICAgICAgICAsIFBPT0wzMkF4Zl81X2dyb3VwMCAgLCAzMiAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBjMWZmLCAweDIwMDAwMTdmLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJBeGZfNV9n cm91cDAgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJBeGZfNV9ncm91 cDEgICwgMzIgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwYzFmZiwgMHgyMDAwNDE3ZiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyQXhmXzVfZ3JvdXAxICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGMx ZmYsIDB4MjAwMDgxN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81fiooMikgKi8NCj4gKyAg ICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJBeGZfNV9ncm91cDMgICwgMzIgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwYzFmZiwgMHgyMDAwYzE3ZiwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy QXhmXzVfZ3JvdXAzICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlNIUkFf X1JfX1FCWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAweDIwMDAwMWZmLCAm Tk1EOjpTSFJBX1FCICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBTSFJBLlFCICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDFmZmYsIDB4 MjAwMDExZmYsICZOTUQ6OlNIUkFfUl9RQiAgICAgICAgLCAwLA0KPiArICAgICAgIERTUF8gICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFNIUkFfUi5RQiAqLw0KPiArfTsNCj4gKw0KPiArDQo+ ICtOTUQ6OlBvb2wgTk1EOjpQT09MMzJBeGZfN1s4XSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAg ICAgICAgICAgLCBTSFJBX19SX19RQiAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMGZmZiwgMHgyMDAwMDFmZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hSQVtfUl0uUUIgKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMGZmZiwgMHgyMDAwMDNmZiwgJk5NRDo6U0hSTF9QSCAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hSTC5Q SCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwZmZmLCAweDIwMDAwNWZmLCAmTk1EOjpSRVBM X1FCICAgICAgICAgICwgMCwNCj4gKyAgICAgICBEU1BfICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBSRVBMLlFCICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDBmZmYsIDB4MjAwMDA3ZmYs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl83fiooMykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMGZmZiwgMHgyMDAwMDlmZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzd+Kig0KSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwZmZmLCAweDIwMDAwYmZmLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MMzJBeGZfN34qKDUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDBmZmYsIDB4MjAwMDBk ZmYsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl83fiooNikgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMGZmZiwgMHgyMDAwMGZmZiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhmXzd+Kig3KSAq Lw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQT09MMzJBeGZbOF0gPSB7DQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4MjAwMDAwM2YsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkF4Zn4qKDApICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUE9PTDMyQXhm XzEgICAgICAgICAsIDggICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4MjAwMDAwN2Ys IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl8xICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAg ICAgICwgUE9PTDMyQXhmXzIgICAgICAgICAsIDQgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAx ZmYsIDB4MjAwMDAwYmYsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl8yICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAxZmYsIDB4MjAwMDAwZmYsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zn4q KDMpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUE9PTDMyQXhmXzQgICAgICAg ICAsIDEyOCAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4MjAwMDAxM2YsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBPT0wzMkF4Zl80ICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUE9P TDMyQXhmXzUgICAgICAgICAsIDQgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4MjAw MDAxN2YsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zl81ICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDAxZmYsIDB4MjAwMDAxYmYsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkF4Zn4qKDYpICovDQo+ ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUE9PTDMyQXhmXzcgICAgICAgICAsIDggICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4MjAwMDAxZmYsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkF4Zl83ICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ol9QT09MMzJB N1s4XSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX0xTWCAgICAgICAgICAg ICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHgyMDAwMDAwNywgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUC5MU1ggKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHgyMDAwMDAw ZiwgJk5NRDo6TFNBICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogTFNBICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwM2YsIDB4 MjAwMDAwMTcsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBN34qKDIpICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAwM2YsIDB4MjAwMDAwMWYsICZOTUQ6OkVYVFcgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVYVFcgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHgyMDAwMDAyNywgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wz MkE3fiooNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHgyMDAwMDAyZiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogX1BPT0wzMkE3fiooNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAz ZiwgMHgyMDAwMDAzNywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogX1BPT0wzMkE3fiooNikgKi8NCj4gKyAgICB7 IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJBeGYgICAgICAgICAgICwgOCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDAzZiwgMHgyMDAwMDAzZiwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyQXhm ICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlAzMkFbOF0gPSB7DQo+ICsg ICAgeyBwb29sICAgICAgICAgICAgICAgICwgX1BPT0wzMkEwICAgICAgICAgICAsIDEyOCAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAwMDcsIDB4MjAwMDAwMDAsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIF9QT09M MzJBMCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDA3LCAweDIwMDAwMDAxLCAmTk1EOjpT UEVDSUFMMiAgICAgICAgICwgMCwNCj4gKyAgICAgICBVRElfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBTUEVDSUFMMiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDA3LCAweDIwMDAw MDAyLCAmTk1EOjpDT1AyXzEgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDJfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBDT1AyXzEgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAw NywgMHgyMDAwMDAwMywgJk5NRDo6VURJICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgVURJ XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogVURJICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDAwMDcsIDB4MjAwMDAwMDQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAzMkF+Kig0KSAqLw0KPiArICAg IHsgcG9vbCAgICAgICAgICAgICAgICAsIF9QT09MMzJBNSAgICAgICAgICAgLCAxMjggLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwMDA3LCAweDIwMDAwMDA1LCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBfUE9PTDMy QTUgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwNywgMHgyMDAwMDAwNiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUDMyQX4qKDYpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgX1BPT0wz MkE3ICAgICAgICAgICAsIDggICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDcsIDB4MjAwMDAw MDcsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIF9QT09MMzJBNyAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6 OlBvb2wgTk1EOjpQX0dQX0RbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDcsIDB4 NDAwMDAwMDEsICZOTUQ6OkxEX0dQXyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8g ICAgICAgICAgICAgfSwgICAgICAgIC8qIExEW0dQXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAwMDA3LCAweDQwMDAwMDA1LCAmTk1EOjpTRF9HUF8gICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBTRFtHUF0gKi8NCj4gK307DQo+ICsN Cj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9HUF9XWzRdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwMDAzLCAweDQwMDAwMDAwLCAmTk1EOjpBRERJVV9HUF9XXyAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERJVVtHUC5XXSAqLw0KPiAr ICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfR1BfRCAgICAgICAgICAgICAgLCAyICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwMDAzLCAweDQwMDAwMDAxLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkdQ LkQgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwMywgMHg0MDAwMDAwMiwgJk5NRDo6TFdf R1BfICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogTFdbR1BdICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDMsIDB4NDAwMDAwMDMs ICZOTUQ6OlNXX0dQXyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFNXW0dQXSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wg Tk1EOjpQT09MNDhJWzMyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAwMDAwMDB1bGws IDB4NjAwMDAwMDAwMDAwdWxsLCAmTk1EOjpMSV80OF8gICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBYTU1TXyAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMSVs0OF0gKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsg ICAgICAgMHhmYzFmMDAwMDAwMDB1bGwsIDB4NjAwMTAwMDAwMDAwdWxsLCAmTk1EOjpBRERJVV80 OF8gICAgICAgICwgMCwNCj4gKyAgICAgICBYTU1TXyAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBBRERJVVs0OF0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAwMDAwMDB1bGwsIDB4NjAw MjAwMDAwMDAwdWxsLCAmTk1EOjpBRERJVV9HUDQ4XyAgICAgICwgMCwNCj4gKyAgICAgICBYTU1T XyAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERJVVtHUDQ4XSAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCA0OCwNCj4gKyAg ICAgICAweGZjMWYwMDAwMDAwMHVsbCwgMHg2MDAzMDAwMDAwMDB1bGwsICZOTUQ6OkFERElVUENf NDhfICAgICAgLCAwLA0KPiArICAgICAgIFhNTVNfICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IEFERElVUENbNDhdICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYw MDQwMDAwMDAwMHVsbCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDQ4SX4qKDQpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiAr ICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYwMDUwMDAwMDAwMHVsbCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDQ4SX4qKDUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAw eDYwMDYwMDAwMDAwMHVsbCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDQ4SX4qKDYpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0K PiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYwMDcwMDAwMDAwMHVsbCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDQ4SX4qKDcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxs LCAweDYwMDgwMDAwMDAwMHVsbCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDQ4SX4qKDgpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4 LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYwMDkwMDAwMDAwMHVsbCwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDQ4SX4qKDkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAw dWxsLCAweDYwMGEwMDAwMDAwMHVsbCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDQ4SX4qKDEwKSAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCA0OCwNCj4gKyAgICAgICAweGZjMWYwMDAwMDAwMHVsbCwgMHg2MDBiMDAwMDAwMDB1bGwsICZO TUQ6OkxXUENfNDhfICAgICAgICAgLCAwLA0KPiArICAgICAgIFhNTVNfICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIExXUENbNDhdICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAw dWxsLCAweDYwMGMwMDAwMDAwMHVsbCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDQ4SX4qKDEyKSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCA0OCwNCj4gKyAgICAgICAweGZjMWYwMDAwMDAwMHVsbCwgMHg2MDBkMDAwMDAwMDB1bGwsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0w0OEl+KigxMykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAw MDAwMDB1bGwsIDB4NjAwZTAwMDAwMDAwdWxsLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MNDhJfiooMTQp ICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYwMGYwMDAwMDAwMHVs bCwgJk5NRDo6U1dQQ180OF8gICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAg ICAgICB9LCAgICAgICAgLyogU1dQQ1s0OF0gKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAw MDAwMDB1bGwsIDB4NjAxMDAwMDAwMDAwdWxsLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MNDhJfiooMTYp ICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYwMTEwMDAwMDAwMHVs bCwgJk5NRDo6REFERElVXzQ4XyAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAg ICAgICB9LCAgICAgICAgLyogREFERElVWzQ4XSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCA0OCwNCj4gKyAgICAgICAweGZjMWYw MDAwMDAwMHVsbCwgMHg2MDEyMDAwMDAwMDB1bGwsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0w0OEl+Kigx OCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAwMDAwMDB1bGwsIDB4NjAxMzAwMDAwMDAw dWxsLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MNDhJfiooMTkpICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4 ZmMxZjAwMDAwMDAwdWxsLCAweDYwMTQwMDAwMDAwMHVsbCwgJk5NRDo6RExVSV80OF8gICAgICAg ICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAgICAgLyogRExVSVs0 OF0gKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAwMDAwMDB1bGwsIDB4NjAxNTAwMDAwMDAw dWxsLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MNDhJfiooMjEpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4 ZmMxZjAwMDAwMDAwdWxsLCAweDYwMTYwMDAwMDAwMHVsbCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDQ4 SX4qKDIyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCA0OCwNCj4gKyAgICAgICAweGZjMWYwMDAwMDAwMHVsbCwgMHg2MDE3MDAw MDAwMDB1bGwsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0w0OEl+KigyMykgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsgICAg ICAgMHhmYzFmMDAwMDAwMDB1bGwsIDB4NjAxODAwMDAwMDAwdWxsLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MNDhJfiooMjQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDQ4LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYw MTkwMDAwMDAwMHVsbCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDQ4SX4qKDI1KSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCA0OCwNCj4g KyAgICAgICAweGZjMWYwMDAwMDAwMHVsbCwgMHg2MDFhMDAwMDAwMDB1bGwsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFBPT0w0OEl+KigyNikgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAwMDAwMDB1bGws IDB4NjAxYjAwMDAwMDAwdWxsLCAmTk1EOjpMRFBDXzQ4XyAgICAgICAgICwgMCwNCj4gKyAgICAg ICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBMRFBDWzQ4XSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCA0OCwNCj4g KyAgICAgICAweGZjMWYwMDAwMDAwMHVsbCwgMHg2MDFjMDAwMDAwMDB1bGwsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFBPT0w0OEl+KigyOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgNDgsDQo+ICsgICAgICAgMHhmYzFmMDAwMDAwMDB1bGws IDB4NjAxZDAwMDAwMDAwdWxsLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MNDhJfiooMjkpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDQ4 LA0KPiArICAgICAgIDB4ZmMxZjAwMDAwMDAwdWxsLCAweDYwMWUwMDAwMDAwMHVsbCwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDQ4SX4qKDMwKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCA0OCwNCj4gKyAgICAgICAweGZjMWYwMDAwMDAw MHVsbCwgMHg2MDFmMDAwMDAwMDB1bGwsICZOTUQ6OlNEUENfNDhfICAgICAgICAgLCAwLA0KPiAr ICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIFNEUENbNDhdICovDQo+ICt9 Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBQX1NSWzRdID0gew0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMTBmMDAzLCAweDgwMDAzMDAwLCAmTk1EOjpTQVZFXzMyXyAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTQVZFWzMyXSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMTBmMDAzLCAweDgwMDAzMDAxLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ UC5TUn4qKDEpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxMGYwMDMsIDB4ODAwMDMwMDIsICZO TUQ6OlJFU1RPUkVfMzJfICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFJFU1RPUkVbMzJdICovDQo+ICsgICAgeyByZXR1cm5faW5zdHJ1Y3Rpb24g ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxMGYwMDMs IDB4ODAwMDMwMDMsICZOTUQ6OlJFU1RPUkVfSlJDXzMyXyAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFJFU1RPUkUuSlJDWzMyXSAqLw0KPiArfTsNCj4g Kw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX1NSX0ZbOF0gPSB7DQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMxMGYwMDcsIDB4ODAxMDMwMDAsICZOTUQ6OlNBVkVGICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNBVkVGICovDQo+ICsgICAg eyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMxMGYwMDcsIDB4ODAxMDMwMDEsICZOTUQ6OlJFU1RPUkVGICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFJFU1RPUkVG ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxMGYwMDcsIDB4ODAxMDMwMDIsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFAuU1IuRn4qKDIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxMGYwMDcsIDB4ODAxMDMw MDMsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFAuU1IuRn4qKDMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMx MGYwMDcsIDB4ODAxMDMwMDQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU1IuRn4qKDQpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMxMGYwMDcsIDB4ODAxMDMwMDUsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU1IuRn4q KDUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxMGYwMDcsIDB4ODAxMDMwMDYsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFAuU1IuRn4qKDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxMGYwMDcsIDB4ODAx MDMwMDcsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFAuU1IuRn4qKDcpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6OlBfU1JbMl0gPSB7DQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAg ICwgUFBfU1IgICAgICAgICAgICAgICAsIDQgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxMGYwMDAs IDB4ODAwMDMwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBQLlNSICovDQo+ICsgICAgeyBwb29sICAgICAg ICAgICAgICAgICwgUF9TUl9GICAgICAgICAgICAgICAsIDggICAsIDMyLA0KPiArICAgICAgIDB4 ZmMxMGYwMDAsIDB4ODAxMDMwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU1IuRiAqLw0KPiArfTsNCj4g Kw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX1NMTFs1XSA9IHsNCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmZmUwZjFmZiwgMHg4MDAwYzAwMCwgJk5NRDo6Tk9QXzMyXyAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTk9QWzMyXSAqLw0KPiArICAg IHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZmZTBmMWZmLCAweDgwMDBjMDAzLCAmTk1EOjpFSEIgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBFSEIgKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmZmUwZjFmZiwgMHg4MDAwYzAwNSwgJk5NRDo6UEFVU0UgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UEFVU0UgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmZmUwZjFmZiwgMHg4MDAwYzAwNiwgJk5NRDo6 U1lOQyAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogU1lOQyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMWUwLCAweDgwMDBjMDAw LCAmTk1EOjpTTExfMzJfICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBTTExbMzJdICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9v bCBOTUQ6OlBfU0hJRlRbMTZdID0gew0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBf U0xMICAgICAgICAgICAgICAgLCA1ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMWUwLCAweDgw MDBjMDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQLlNMTCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm MWUwLCAweDgwMDBjMDIwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLlNISUZUfiooMSkgKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZjFlMCwgMHg4MDAwYzA0MCwgJk5NRDo6U1JMXzMyXyAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1JMWzMyXSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMWUwLCAweDgwMDBjMDYwLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQLlNISUZUfiooMykgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjFlMCwgMHg4MDAwYzA4 MCwgJk5NRDo6U1JBICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogU1JBICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYxZTAsIDB4 ODAwMGMwYTAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU0hJRlR+Kig1KSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmMWUwLCAweDgwMDBjMGMwLCAmTk1EOjpST1RSICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBST1RSICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGYxZTAsIDB4ODAwMGMwZTAsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU0hJRlR+ Kig3KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMWUwLCAweDgwMDBjMTAwLCAmTk1EOjpE U0xMICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAg ICAgICAvKiBEU0xMICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYxZTAsIDB4ODAwMGMxMjAs ICZOTUQ6OkRTTEwzMiAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAg ICAgfSwgICAgICAgIC8qIERTTEwzMiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMWUwLCAw eDgwMDBjMTQwLCAmTk1EOjpEU1JMICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRf ICAgICAgICAgICAgIH0sICAgICAgICAvKiBEU1JMICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGYxZTAsIDB4ODAwMGMxNjAsICZOTUQ6OkRTUkwzMiAgICAgICAgICAgLCAwLA0KPiArICAgICAg IE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERTUkwzMiAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmMWUwLCAweDgwMDBjMTgwLCAmTk1EOjpEU1JBICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBEU1JBICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGYxZTAsIDB4ODAwMGMxYTAsICZOTUQ6OkRTUkEzMiAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERTUkEz MiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMWUwLCAweDgwMDBjMWMwLCAmTk1EOjpEUk9U UiAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAg ICAvKiBEUk9UUiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMWUwLCAweDgwMDBjMWUwLCAm Tk1EOjpEUk9UUjMyICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAg IH0sICAgICAgICAvKiBEUk9UUjMyICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBO TUQ6OlBfUk9UWFs0XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjgyMCwgMHg4MDAwZDAw MCwgJk5NRDo6Uk9UWCAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUk9UWCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmODIwLCAw eDgwMDBkMDIwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLlJPVFh+KigxKSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmODIwLCAweDgwMDBkODAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLlJPVFh+KigyKSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmODIwLCAweDgwMDBkODIwLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ LlJPVFh+KigzKSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0lOU1s0 XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjgyMCwgMHg4MDAwZTAwMCwgJk5NRDo6SU5T ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAg ICAgLyogSU5TICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGY4MjAsIDB4ODAwMGUwMjAsICZO TUQ6OkRJTlNVICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAg fSwgICAgICAgIC8qIERJTlNVICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGY4MjAsIDB4ODAw MGU4MDAsICZOTUQ6OkRJTlNNICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAg ICAgICAgICAgfSwgICAgICAgIC8qIERJTlNNICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGY4 MjAsIDB4ODAwMGU4MjAsICZOTUQ6OkRJTlMgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1J UFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERJTlMgKi8NCj4gK307DQo+ICsNCj4gKw0K PiArTk1EOjpQb29sIE5NRDo6UF9FWFRbNF0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGY4 MjAsIDB4ODAwMGYwMDAsICZOTUQ6OkVYVCAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIFhN TVNfICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEVYVCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDBmODIwLCAweDgwMDBmMDIwLCAmTk1EOjpERVhUVSAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBERVhUVSAqLw0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmODIwLCAweDgwMDBmODAwLCAmTk1EOjpERVhUTSAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBERVhUTSAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmODIwLCAweDgwMDBmODIwLCAmTk1EOjpERVhUICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBE RVhUICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfVTEyWzE2XSA9IHsN Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4MDAwMDAwMCwgJk5NRDo6T1JJICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog T1JJICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4ODAwMDEwMDAsICZOTUQ6OlhP UkkgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFhPUkkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4MDAwMjAwMCwg Jk5NRDo6QU5ESV8zMl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogQU5ESVszMl0gKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAg LCBQX1NSICAgICAgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwg MHg4MDAwMzAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5TUiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDBmMDAwLCAweDgwMDA0MDAwLCAmTk1EOjpTTFRJICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTTFRJICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMGYwMDAsIDB4ODAwMDUwMDAsICZOTUQ6OlNMVElVICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNMVElVICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4ODAwMDYwMDAsICZOTUQ6OlNFUUkgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNFUUkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4MDAwNzAwMCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUC5VMTJ+Kig3KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMDAwLCAweDgwMDA4MDAw LCAmTk1EOjpBRERJVV9ORUdfICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBBRERJVVtORUddICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYw MDAsIDB4ODAwMDkwMDAsICZOTUQ6OkRBRERJVV9VMTJfICAgICAgLCAwLA0KPiArICAgICAgIE1J UFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERBRERJVVtVMTJdICovDQo+ICsgICAgeyBp bnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMGYwMDAsIDB4ODAwMGEwMDAsICZOTUQ6OkRBRERJVV9ORUdfICAgICAgLCAw LA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERBRERJVVtORUdd ICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4ODAwMGIwMDAsICZOTUQ6OkRST1RY ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAg IC8qIERST1RYICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUF9TSElGVCAgICAg ICAgICAgICAsIDE2ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4ODAwMGMwMDAsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFAuU0hJRlQgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQ X1JPVFggICAgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4 MDAwZDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUC5ST1RYICovDQo+ICsgICAgeyBwb29sICAgICAgICAg ICAgICAgICwgUF9JTlMgICAgICAgICAgICAgICAsIDQgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGYwMDAsIDB4ODAwMGUwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSU5TICovDQo+ICsgICAgeyBwb29s ICAgICAgICAgICAgICAgICwgUF9FWFQgICAgICAgICAgICAgICAsIDQgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMGYwMDAsIDB4ODAwMGYwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuRVhUICovDQo+ICt9 Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlJJTlRfZm10WzJdID0gew0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMDIwLCAmTk1EOjpSSU5UX1MgICAgICAgICAgICwg MCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBSSU5ULlMgKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHhhMDAwMDIyMCwgJk5NRDo6UklOVF9EICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UklOVC5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkFERF9mbXQwWzJd ID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMDMwLCAmTk1EOjpBRERf UyAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBBREQuUyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMjMwLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBBREQuZm10MH4qKDEpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6 UG9vbCBOTUQ6OlNFTEVRWl9mbXRbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYs IDB4YTAwMDAwMzgsICZOTUQ6OlNFTEVRWl9TICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNFTEVRWi5TICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDAzZmYsIDB4YTAwMDAyMzgsICZOTUQ6OlNFTEVRWl9EICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNFTEVRWi5EICovDQo+ICt9 Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkNMQVNTX2ZtdFsyXSA9IHsNCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDNmZiwgMHhhMDAwMDA2MCwgJk5NRDo6Q0xBU1NfUyAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ0xBU1MuUyAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMjYwLCAmTk1EOjpDTEFTU19E ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBDTEFTUy5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlNVQl9mbXQw WzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMDcwLCAmTk1EOjpT VUJfUyAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBTVUIuUyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMjcw LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBTVUIuZm10MH4qKDEpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05N RDo6UG9vbCBOTUQ6OlNFTE5FWl9mbXRbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAz ZmYsIDB4YTAwMDAwNzgsICZOTUQ6OlNFTE5FWl9TICAgICAgICAgLCAwLA0KPiArICAgICAgIENQ MV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNFTE5FWi5TICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAzZmYsIDB4YTAwMDAyNzgsICZOTUQ6OlNFTE5FWl9EICAgICAgICAgLCAwLA0K PiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNFTE5FWi5EICovDQo+ ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ok1VTF9mbXQwWzJdID0gew0KPiArICAg IHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMGIwLCAmTk1EOjpNVUxfUyAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUwuUyAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMmIwLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBNVUwuZm10MH4qKDEpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlNF TF9mbXRbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4YTAwMDAwYjgsICZO TUQ6OlNFTF9TICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFNFTC5TICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAzZmYsIDB4YTAw MDAyYjgsICZOTUQ6OlNFTF9EICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFNFTC5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6 UG9vbCBOTUQ6OkRJVl9mbXQwWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAw eGEwMDAwMGYwLCAmTk1EOjpESVZfUyAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBESVYuUyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAwM2ZmLCAweGEwMDAwMmYwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBESVYuZm10MH4qKDEpICovDQo+ICt9 Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkFERF9mbXQxWzJdID0gew0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMTMwLCAmTk1EOjpBRERfRCAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBREQuRCAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMzMwLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBB REQuZm10MX4qKDEpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlNVQl9m bXQxWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMTcwLCAmTk1E OjpTVUJfRCAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBTVUIuRCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAw MzcwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBTVUIuZm10MX4qKDEpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6Ok1VTF9mbXQxWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw M2ZmLCAweGEwMDAwMWIwLCAmTk1EOjpNVUxfRCAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUwuRCAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwM2ZmLCAweGEwMDAwM2IwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUwuZm10MX4qKDEpICov DQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ok1BRERGX2ZtdFsyXSA9IHsNCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDNmZiwgMHhhMDAwMDFiOCwgJk5NRDo6TUFEREZfUyAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUFE REYuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwM2I4LCAmTk1EOjpN QURERl9EICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBNQURERi5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkRJ Vl9mbXQxWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwMWYwLCAm Tk1EOjpESVZfRCAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBESVYuRCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwM2ZmLCAweGEw MDAwM2YwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBESVYuZm10MX4qKDEpICovDQo+ICt9Ow0KPiArDQo+ICsN Cj4gK05NRDo6UG9vbCBOTUQ6Ok1TVUJGX2ZtdFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMDNmZiwgMHhhMDAwMDFmOCwgJk5NRDo6TVNVQkZfUyAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTVNVQkYuUyAqLw0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwM2ZmLCAweGEwMDAwM2Y4LCAmTk1EOjpNU1VCRl9EICAgICAgICAgICwg MCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNU1VCRi5EICov DQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBPT0wzMkZfMFs2NF0gPSB7DQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwMDAsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkZfMH4qKDApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwMDgs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAxZmYsIDB4YTAwMDAwMTAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDIpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwMTgsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wz MkZfMH4qKDMpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUklOVF9mbXQgICAg ICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwMjAsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFJJTlQuZm10ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4 YTAwMDAwMjgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDUpICovDQo+ICsgICAgeyBwb29s ICAgICAgICAgICAgICAgICwgQUREX2ZtdDAgICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwMzAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFERC5mbXQwICovDQo+ ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgU0VMRVFaX2ZtdCAgICAgICAgICAsIDIgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwMzgsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNF TEVRWi5mbXQgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDA0MCwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyRl8wfiooOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFm ZiwgMHhhMDAwMDA0OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooOSkgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDA1MCwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8w fiooMTApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwNTgsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMkZfMH4qKDExKSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAg ICAsIENMQVNTX2ZtdCAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZm LCAweGEwMDAwMDYwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTEFTUy5mbXQgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDFmZiwgMHhhMDAwMDA2OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMTMp ICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgU1VCX2ZtdDAgICAgICAgICAgICAs IDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwNzAsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFNVQi5mbXQwICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgU0VMTkVaX2Zt dCAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwNzgs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFNFTE5FWi5mbXQgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFm ZiwgMHhhMDAwMDA4MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMTYpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwODgsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZf MH4qKDE3KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMDkwLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJGXzB+KigxOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFm ZiwgMHhhMDAwMDA5OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMTkpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAwYTAsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZf MH4qKDIwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMGE4LCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJGXzB+KigyMSkgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAg ICAgLCBNVUxfZm10MCAgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFm ZiwgMHhhMDAwMDBiMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTVVMLmZtdDAgKi8NCj4gKyAgICB7IHBvb2wg ICAgICAgICAgICAgICAgLCBTRUxfZm10ICAgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDFmZiwgMHhhMDAwMDBiOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0VMLmZtdCAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMGMwLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJGXzB+KigyNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDBjOCwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMjUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAxZmYsIDB4YTAwMDAwZDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDI2KSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMGQ4LCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJGXzB+KigyNykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDBlMCwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMjgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDAxZmYsIDB4YTAwMDAwZTgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDI5KSAqLw0KPiAr ICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIERJVl9mbXQwICAgICAgICAgICAgLCAyICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMGYwLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBESVYu Zm10MCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMGY4LCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJGXzB+KigzMSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwg MHhhMDAwMDEwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMzIpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxMDgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4q KDMzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMTEwLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJGXzB+KigzNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwg MHhhMDAwMDExOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMzUpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxMjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4q KDM2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAwMTI4LCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJGXzB+KigzNykgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAg LCBBRERfZm10MSAgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwg MHhhMDAwMDEzMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogQURELmZtdDEgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDFmZiwgMHhhMDAwMDEzOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooMzkpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxNDAsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMkZfMH4qKDQwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAw MTQ4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGXzB+Kig0MSkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDFmZiwgMHhhMDAwMDE1MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooNDIpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxNTgsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMkZfMH4qKDQzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGEwMDAw MTYwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGXzB+Kig0NCkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDFmZiwgMHhhMDAwMDE2OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8wfiooNDUpICov DQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgU1VCX2ZtdDEgICAgICAgICAgICAsIDIg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxNzAsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFNVQi5mbXQxICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxNzgsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDQ3KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGEwMDAwMTgwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGXzB+Kig0OCkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDE4OCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy Rl8wfiooNDkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxOTAsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDUwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGEwMDAwMTk4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGXzB+Kig1MSkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDFhMCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy Rl8wfiooNTIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAxYTgsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDUzKSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAg ICAgICAsIE1VTF9mbXQxICAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGEwMDAwMWIwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVUwuZm10MSAqLw0KPiArICAgIHsgcG9v bCAgICAgICAgICAgICAgICAsIE1BRERGX2ZtdCAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMWZmLCAweGEwMDAwMWI4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNQURERi5mbXQgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDFjMCwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyRl8wfiooNTYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAx YzgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDU3KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwMWZmLCAweGEwMDAwMWQwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGXzB+Kig1OCkgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDFkOCwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyRl8wfiooNTkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YTAwMDAx ZTAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZfMH4qKDYwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwMWZmLCAweGEwMDAwMWU4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGXzB+Kig2MSkgKi8N Cj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBESVZfZm10MSAgICAgICAgICAgICwgMiAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDFmMCwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog RElWLmZtdDEgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBNU1VCRl9mbXQgICAg ICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhhMDAwMDFmOCwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogTVNVQkYuZm10ICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBO TUQ6Ok1JTl9mbXRbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAyM2YsIDB4YTAwMDAw MDMsICZOTUQ6Ok1JTl9TICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIE1JTi5TICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAyM2Ys IDB4YTAwMDAyMDMsICZOTUQ6Ok1JTl9EICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1JTi5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6Ok1BWF9mbXRbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAy M2YsIDB4YTAwMDAwMGIsICZOTUQ6Ok1BWF9TICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQ MV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1BWC5TICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDAyM2YsIDB4YTAwMDAyMGIsICZOTUQ6Ok1BWF9EICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1BWC5EICovDQo+ICt9Ow0K PiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ok1JTkFfZm10WzJdID0gew0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMjNmLCAweGEwMDAwMDIzLCAmTk1EOjpNSU5BX1MgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNSU5BLlMgKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDIzZiwgMHhhMDAwMDIyMywgJk5NRDo6TUlOQV9EICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUlO QS5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ok1BWEFfZm10WzJdID0g ew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMjNmLCAweGEwMDAwMDJiLCAmTk1EOjpNQVhBX1Mg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBNQVhBLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDIzZiwgMHhhMDAwMDIyYiwgJk5N RDo6TUFYQV9EICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogTUFYQS5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6 OkNWVF9MX2ZtdFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwMDEz YiwgJk5NRDo6Q1ZUX0xfUyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogQ1ZULkwuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZm LCAweGEwMDA0MTNiLCAmTk1EOjpDVlRfTF9EICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDVlQuTC5EICovDQo+ICt9Ow0KPiArDQo+ICsN Cj4gK05NRDo6UG9vbCBOTUQ6OlJTUVJUX2ZtdFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwN2ZmZiwgMHhhMDAwMDIzYiwgJk5NRDo6UlNRUlRfUyAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUlNRUlQuUyAqLw0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDA3ZmZmLCAweGEwMDA0MjNiLCAmTk1EOjpSU1FSVF9EICAgICAgICAgICwg MCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBSU1FSVC5EICov DQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkZMT09SX0xfZm10WzJdID0gew0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAweGEwMDAwMzNiLCAmTk1EOjpGTE9PUl9MX1Mg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBG TE9PUi5MLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwNDMzYiwgJk5N RDo6RkxPT1JfTF9EICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogRkxPT1IuTC5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBO TUQ6OkNWVF9XX2ZtdFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAw MDkzYiwgJk5NRDo6Q1ZUX1dfUyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogQ1ZULlcuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3 ZmZmLCAweGEwMDA0OTNiLCAmTk1EOjpDVlRfV19EICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDVlQuVy5EICovDQo+ICt9Ow0KPiArDQo+ ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlNRUlRfZm10WzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDA3ZmZmLCAweGEwMDAwYTNiLCAmTk1EOjpTUVJUX1MgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTUVJULlMgKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwNGEzYiwgJk5NRDo6U1FSVF9EICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1FSVC5EICov DQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkZMT09SX1dfZm10WzJdID0gew0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAweGEwMDAwYjNiLCAmTk1EOjpGTE9PUl9XX1Mg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBG TE9PUi5XLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwNGIzYiwgJk5N RDo6RkxPT1JfV19EICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogRkxPT1IuVy5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBO TUQ6OlJFQ0lQX2ZtdFsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAw MTIzYiwgJk5NRDo6UkVDSVBfUyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUkVDSVAuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3 ZmZmLCAweGEwMDA1MjNiLCAmTk1EOjpSRUNJUF9EICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBSRUNJUC5EICovDQo+ICt9Ow0KPiArDQo+ ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkNFSUxfTF9mbXRbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDdmZmYsIDB4YTAwMDEzM2IsICZOTUQ6OkNFSUxfTF9TICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENFSUwuTC5TICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDUzM2IsICZOTUQ6OkNFSUxfTF9EICAgICAg ICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENFSUwu TC5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkNFSUxfV19mbXRbMl0g PSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDFiM2IsICZOTUQ6OkNFSUxf V19TICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIENFSUwuVy5TICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDViM2Is ICZOTUQ6OkNFSUxfV19EICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIENFSUwuVy5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9v bCBOTUQ6OlRSVU5DX0xfZm10WzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAw eGEwMDAyMzNiLCAmTk1EOjpUUlVOQ19MX1MgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBUUlVOQy5MLlMgKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwN2ZmZiwgMHhhMDAwNjMzYiwgJk5NRDo6VFJVTkNfTF9EICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogVFJVTkMuTC5EICovDQo+ICt9 Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlRSVU5DX1dfZm10WzJdID0gew0KPiArICAg IHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDA3ZmZmLCAweGEwMDAyYjNiLCAmTk1EOjpUUlVOQ19XX1MgICAgICAg ICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBUUlVOQy5X LlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwNmIzYiwgJk5NRDo6VFJV TkNfV19EICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogVFJVTkMuVy5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlJP VU5EX0xfZm10WzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAweGEwMDAzMzNi LCAmTk1EOjpST1VORF9MX1MgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBST1VORC5MLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2Zm ZiwgMHhhMDAwNzMzYiwgJk5NRDo6Uk9VTkRfTF9EICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUk9VTkQuTC5EICovDQo+ICt9Ow0KPiArDQo+ ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlJPVU5EX1dfZm10WzJdID0gew0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDA3ZmZmLCAweGEwMDAzYjNiLCAmTk1EOjpST1VORF9XX1MgICAgICAgICwgMCwNCj4g KyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBST1VORC5XLlMgKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwN2IzYiwgJk5NRDo6Uk9VTkRfV19EICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUk9V TkQuVy5EICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBPT0wzMkZ4Zl8w WzY0XSA9IHsNCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMDAzYiwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyRnhmXzB+KigwKSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAg ICAsIENWVF9MX2ZtdCAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZm LCAweGEwMDAwMTNiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDVlQuTC5mbXQgKi8NCj4gKyAgICB7IHBvb2wg ICAgICAgICAgICAgICAgLCBSU1FSVF9mbXQgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwM2ZmZiwgMHhhMDAwMDIzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUlNRUlQuZm10ICovDQo+ ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgRkxPT1JfTF9mbXQgICAgICAgICAsIDIgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDAzM2IsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEZM T09SLkwuZm10ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDA0M2IsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw M2ZmZiwgMHhhMDAwMDUzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg Q1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzB+Kig1KSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAwNjNiLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJGeGZfMH4qKDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDA3M2Is IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwM2ZmZiwgMHhhMDAwMDgzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzB+Kig4KSAqLw0K PiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIENWVF9XX2ZtdCAgICAgICAgICAgLCAyICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAwOTNiLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBD VlQuVy5mbXQgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBTUVJUX2ZtdCAgICAg ICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMGEzYiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogU1FSVC5mbXQgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBG TE9PUl9XX2ZtdCAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhh MDAwMGIzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogRkxPT1IuVy5mbXQgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwM2ZmZiwgMHhhMDAwMGMzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzB+KigxMikg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMGQzYiwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyRnhmXzB+KigxMykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhh MDAwMGUzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzB+KigxNCkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMGYzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzB+ KigxNSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMTAzYiwgJk5NRDo6 Q0ZDMSAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQ0ZDMSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAxMTNi LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMH4qKDE3KSAqLw0KPiArICAgIHsgcG9vbCAgICAg ICAgICAgICAgICAsIFJFQ0lQX2ZtdCAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAzZmZmLCAweGEwMDAxMjNiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBSRUNJUC5mbXQgKi8NCj4gKyAg ICB7IHBvb2wgICAgICAgICAgICAgICAgLCBDRUlMX0xfZm10ICAgICAgICAgICwgMiAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMTMzYiwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ0VJTC5M LmZtdCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAxNDNiLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJGeGZfMH4qKDIwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZm LCAweGEwMDAxNTNiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMH4qKDIxKSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAxNjNiLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJG eGZfMH4qKDIyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAxNzNiLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQT09MMzJGeGZfMH4qKDIzKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAzZmZmLCAweGEwMDAxODNiLCAmTk1EOjpDVEMxICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDVEMxICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDE5M2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfioo MjUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDFhM2IsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBPT0wzMkZ4Zl8wfiooMjYpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAg ICwgQ0VJTF9XX2ZtdCAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYs IDB4YTAwMDFiM2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENFSUwuVy5mbXQgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwM2ZmZiwgMHhhMDAwMWMzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzB+Kigy OCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMWQzYiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyRnhmXzB+KigyOSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwg MHhhMDAwMWUzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzB+KigzMCkgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMWYzYiwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhm XzB+KigzMSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwM2ZmZiwgMHhhMDAwMjAzYiwgJk5N RDo6TUZDMSAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogTUZDMSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAy MTNiLCAmTk1EOjpDVlRfU19QTCAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBDVlQuUy5QTCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAz ZmZmLCAweGEwMDAyMjNiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMH4qKDM0KSAqLw0KPiAr ICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFRSVU5DX0xfZm10ICAgICAgICAgLCAyICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAyMzNiLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBUUlVO Qy5MLmZtdCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAyNDNiLCAmTk1E OjpETUZDMSAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfIHwgTUlQUzY0XyAgICAgIH0s ICAgICAgICAvKiBETUZDMSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAy NTNiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMH4qKDM3KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAzZmZmLCAweGEwMDAyNjNiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMH4qKDM4 KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAweGEwMDAyNzNiLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJGeGZfMH4qKDM5KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAzZmZmLCAw eGEwMDAyODNiLCAmTk1EOjpNVEMxICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBNVEMxICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDNmZmYsIDB4YTAwMDI5M2IsICZOTUQ6OkNWVF9TX1BVICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENWVC5TLlBVICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDJhM2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8w fiooNDIpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgVFJVTkNfV19mbXQgICAg ICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDJiM2IsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFRSVU5DLlcuZm10ICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4 YTAwMDJjM2IsICZOTUQ6OkRNVEMxICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gfCBN SVBTNjRfICAgICAgfSwgICAgICAgIC8qIERNVEMxICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDNmZmYsIDB4YTAwMDJkM2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNDUpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDJlM2IsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkZ4Zl8wfiooNDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDJm M2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNDcpICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDNmZmYsIDB4YTAwMDMwM2IsICZOTUQ6Ok1GSEMxICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1GSEMxICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDMxM2IsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4 Zl8wfiooNDkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDMyM2IsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNTApICovDQo+ICsgICAgeyBwb29sICAgICAgICAg ICAgICAgICwgUk9VTkRfTF9mbXQgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDNmZmYsIDB4YTAwMDMzM2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFJPVU5ELkwuZm10ICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDM0M2IsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4 Zl8wfiooNTIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDM1M2IsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNTMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDNmZmYsIDB4YTAwMDM2M2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNTQpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDM3M2IsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMkZ4Zl8wfiooNTUpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDM4 M2IsICZOTUQ6Ok1USEMxICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIE1USEMxICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYs IDB4YTAwMDM5M2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNTcpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDNhM2IsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4 Zl8wfiooNTgpICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUk9VTkRfV19mbXQg ICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDNiM2IsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFJPVU5ELlcuZm10ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYs IDB4YTAwMDNjM2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNjApICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDNkM2IsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4 Zl8wfiooNjEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDNmZmYsIDB4YTAwMDNlM2IsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNjIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDNmZmYsIDB4YTAwMDNmM2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8wfiooNjMpICovDQo+ ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6Ok1PVl9mbXRbNF0gPSB7DQo+ICsgICAg eyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDAwN2IsICZOTUQ6Ok1PVl9TICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1PVi5TICov DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDIwN2IsICZOTUQ6Ok1PVl9EICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IE1PVi5EICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDQwN2IsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIE1PVi5mbXR+KigyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAw eGEwMDA2MDdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBNT1YuZm10fiooMykgKi8NCj4gK307DQo+ICsNCj4g Kw0KPiArTk1EOjpQb29sIE5NRDo6QUJTX2ZtdFs0XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwN2ZmZiwgMHhhMDAwMDM3YiwgJk5NRDo6QUJTX1MgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUJTLlMgKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwMjM3YiwgJk5NRDo6QUJTX0QgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUJTLkQgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwNDM3YiwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQUJT LmZtdH4qKDIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDYzN2IsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIEFCUy5mbXR+KigzKSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBv b2wgTk1EOjpORUdfZm10WzRdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAweGEw MDAwYjdiLCAmTk1EOjpORUdfUyAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBORUcuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3 ZmZmLCAweGEwMDAyYjdiLCAmTk1EOjpORUdfRCAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBORUcuRCAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDA3ZmZmLCAweGEwMDA0YjdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBORUcuZm10fiooMikgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwNmI3YiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog TkVHLmZtdH4qKDMpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkNWVF9E X2ZtdFs0XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwMTM3YiwgJk5N RDo6Q1ZUX0RfUyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogQ1ZULkQuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAweGEw MDAzMzdiLCAmTk1EOjpDVlRfRF9XICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBDVlQuRC5XICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDdmZmYsIDB4YTAwMDUzN2IsICZOTUQ6OkNWVF9EX0wgICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENWVC5ELkwgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwN2ZmZiwgMHhhMDAwNzM3YiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ1ZULkQuZm10fioo MykgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6Q1ZUX1NfZm10WzRdID0g ew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZmZmLCAweGEwMDAxYjdiLCAmTk1EOjpDVlRfU19E ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBDVlQuUy5EICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmZmYsIDB4YTAwMDNiN2IsICZO TUQ6OkNWVF9TX1cgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIENWVC5TLlcgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2ZmZiwgMHhh MDAwNWI3YiwgJk5NRDo6Q1ZUX1NfTCAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogQ1ZULlMuTCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDA3ZmZmLCAweGEwMDA3YjdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDVlQuUy5mbXR+KigzKSAqLw0KPiAr fTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQT09MMzJGeGZfMVszMl0gPSB7DQo+ICsg ICAgeyBwb29sICAgICAgICAgICAgICAgICwgTU9WX2ZtdCAgICAgICAgICAgICAsIDQgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDFmZmYsIDB4YTAwMDAwN2IsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1PVi5m bXQgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMDE3YiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyRnhmXzF+KigxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAw eGEwMDAwMjdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMX4qKDIpICovDQo+ICsgICAgeyBw b29sICAgICAgICAgICAgICAgICwgQUJTX2ZtdCAgICAgICAgICAgICAsIDQgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDFmZmYsIDB4YTAwMDAzN2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFCUy5mbXQgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMDQ3YiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyRnhmXzF+Kig0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAweGEwMDAw NTdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMX4qKDUpICovDQo+ICsgICAgeyByZXNlcnZl ZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDFmZmYsIDB4YTAwMDA2N2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8xfiooNikg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMDc3YiwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyRnhmXzF+Kig3KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAweGEw MDAwODdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMX4qKDgpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDFmZmYsIDB4YTAwMDA5N2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8xfioo OSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMGE3YiwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyRnhmXzF+KigxMCkgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAg LCBORUdfZm10ICAgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwg MHhhMDAwMGI3YiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogTkVHLmZtdCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAxZmZmLCAweGEwMDAwYzdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMX4qKDEyKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAweGEwMDAwZDdiLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQT09MMzJGeGZfMX4qKDEzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAweGEw MDAwZTdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMX4qKDE0KSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAxZmZmLCAweGEwMDAwZjdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMX4q KDE1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAweGEwMDAxMDdiLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJGeGZfMX4qKDE2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZm LCAweGEwMDAxMTdiLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGeGZfMX4qKDE3KSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAxZmZmLCAweGEwMDAxMjdiLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJG eGZfMX4qKDE4KSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIENWVF9EX2ZtdCAg ICAgICAgICAgLCA0ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAxZmZmLCAweGEwMDAxMzdiLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBDVlQuRC5mbXQgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwg MHhhMDAwMTQ3YiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzF+KigyMCkgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMTU3YiwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhm XzF+KigyMSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMTY3YiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyRnhmXzF+KigyMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MWZmZiwgMHhhMDAwMTc3YiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg Q1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzF+KigyMykgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMTg3YiwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyRnhmXzF+KigyNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMTk3 YiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzF+KigyNSkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMWZmZiwgMHhhMDAwMWE3YiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzF+KigyNikg Ki8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBDVlRfU19mbXQgICAgICAgICAgICwg NCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMWZmZiwgMHhhMDAwMWI3YiwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogQ1ZULlMuZm10ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDFmZmYsIDB4YTAwMDFjN2Is IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8xfiooMjgpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDFmZmYsIDB4YTAwMDFkN2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8xfiooMjkpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDFmZmYsIDB4YTAwMDFlN2IsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMkZ4Zl8xfiooMzApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDFmZmYsIDB4YTAw MDFmN2IsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ4Zl8xfiooMzEpICovDQo+ICt9Ow0KPiArDQo+ ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBPT0wzMkZ4Zls0XSA9IHsNCj4gKyAgICB7IHBvb2wgICAg ICAgICAgICAgICAgLCBQT09MMzJGeGZfMCAgICAgICAgICwgNjQgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDBmZiwgMHhhMDAwMDAzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmXzAgKi8NCj4g KyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJGeGZfMSAgICAgICAgICwgMzIgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDBmZiwgMHhhMDAwMDA3YiwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyRnhmXzEgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDBmZiwgMHhhMDAwMDBiYiwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyRnhmfiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDBm ZiwgMHhhMDAwMDBmYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmfiooMykgKi8NCj4gK307DQo+ ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UE9PTDMyRl8zWzhdID0gew0KPiArICAgIHsgcG9v bCAgICAgICAgICAgICAgICAsIE1JTl9mbXQgICAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMDNmLCAweGEwMDAwMDAzLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBNSU4uZm10ICovDQo+ ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgTUFYX2ZtdCAgICAgICAgICAgICAsIDIgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDAwM2YsIDB4YTAwMDAwMGIsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1B WC5mbXQgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAxMywgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyRl8zfiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwg MHhhMDAwMDAxYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl8zfiooMykgKi8NCj4gKyAgICB7IHBv b2wgICAgICAgICAgICAgICAgLCBNSU5BX2ZtdCAgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAyMywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTUlOQS5mbXQgKi8N Cj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBNQVhBX2ZtdCAgICAgICAgICAgICwgMiAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAyYiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog TUFYQS5mbXQgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAzMywgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyRl8zfiooNikgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAg ICAgLCBQT09MMzJGeGYgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAz ZiwgMHhhMDAwMDAzYiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRnhmICovDQo+ICt9Ow0KPiArDQo+ ICsNCj4gK05NRDo6UG9vbCBOTUQ6OkNNUF9jb25kbl9TWzMyXSA9IHsNCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDdmZiwgMHhhMDAwMDAwNSwgJk5NRDo6Q01QX0FGX1MgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLkFGLlMgKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDA0NSwgJk5NRDo6Q01QX1VOX1MgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01Q LlVOLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDA4NSwgJk5NRDo6 Q01QX0VRX1MgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQ01QLkVRLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAw MDBjNSwgJk5NRDo6Q01QX1VFUV9TICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogQ01QLlVFUS5TICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDA3ZmYsIDB4YTAwMDAxMDUsICZOTUQ6OkNNUF9MVF9TICAgICAgICAgLCAwLA0KPiArICAgICAg IENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5MVC5TICovDQo+ICsgICAgeyBp bnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDAxNDUsICZOTUQ6OkNNUF9VTFRfUyAgICAgICAgLCAw LA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5VTFQuUyAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwMTg1LCAmTk1EOjpDTVBfTEVf UyAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBDTVAuTEUuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwMWM1LCAm Tk1EOjpDTVBfVUxFX1MgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBDTVAuVUxFLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwg MHhhMDAwMDIwNSwgJk5NRDo6Q01QX1NBRl9TICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLlNBRi5TICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDA3ZmYsIDB4YTAwMDAyNDUsICZOTUQ6OkNNUF9TVU5fUyAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5TVU4uUyAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwMjg1LCAmTk1EOjpDTVBfU0VRX1MgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAu U0VRLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDJjNSwgJk5NRDo6 Q01QX1NVRVFfUyAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQ01QLlNVRVEuUyAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEw MDAwMzA1LCAmTk1EOjpDTVBfU0xUX1MgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuU0xULlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9u ICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMDdmZiwgMHhhMDAwMDM0NSwgJk5NRDo6Q01QX1NVTFRfUyAgICAgICAsIDAsDQo+ICsgICAg ICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLlNVTFQuUyAqLw0KPiArICAg IHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwMzg1LCAmTk1EOjpDTVBfU0xFX1MgICAgICAg ICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuU0xF LlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDNjNSwgJk5NRDo6Q01Q X1NVTEVfUyAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogQ01QLlNVTEUuUyAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAw NDA1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBDTVAuY29uZG4uU34qKDE2KSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwN2ZmLCAweGEwMDAwNDQ1LCAmTk1EOjpDTVBfT1JfUyAgICAgICAgICwgMCwNCj4g KyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuT1IuUyAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwNDg1LCAmTk1EOjpDTVBfVU5FX1MgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAu VU5FLlMgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDRjNSwgJk5NRDo6 Q01QX05FX1MgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQ01QLk5FLlMgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAw MDUwNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRuLlN+KigyMCkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDdmZiwgMHhhMDAwMDU0NSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRuLlN+Kigy MSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDU4NSwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogQ01QLmNvbmRuLlN+KigyMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwg MHhhMDAwMDVjNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRuLlN+KigyMykgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDYwNSwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRu LlN+KigyNCkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDY0NSwgJk5N RDo6Q01QX1NPUl9TICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogQ01QLlNPUi5TICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4 YTAwMDA2ODUsICZOTUQ6OkNNUF9TVU5FX1MgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5TVU5FLlMgKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDdmZiwgMHhhMDAwMDZjNSwgJk5NRDo6Q01QX1NORV9TICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLlNORS5TICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDA3MDUsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5j b25kbi5TfiooMjgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDA3NDUs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIENNUC5jb25kbi5TfiooMjkpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDA3ZmYsIDB4YTAwMDA3ODUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5jb25kbi5TfiooMzApICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDA3YzUsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IENNUC5jb25kbi5TfiooMzEpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6 OkNNUF9jb25kbl9EWzMyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAw MDAxNSwgJk5NRDo6Q01QX0FGX0QgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogQ01QLkFGLkQgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDdmZiwgMHhhMDAwMDA1NSwgJk5NRDo6Q01QX1VOX0QgICAgICAgICAsIDAsDQo+ICsgICAgICAg Q1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLlVOLkQgKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDA5NSwgJk5NRDo6Q01QX0VRX0QgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLkVRLkQgKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDBkNSwgJk5NRDo6Q01QX1VFUV9E ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog Q01QLlVFUS5EICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDAxMTUsICZO TUQ6OkNNUF9MVF9EICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIENNUC5MVC5EICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4 YTAwMDAxNTUsICZOTUQ6OkNNUF9VTFRfRCAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5VTFQuRCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwN2ZmLCAweGEwMDAwMTk1LCAmTk1EOjpDTVBfTEVfRCAgICAgICAgICwgMCwNCj4gKyAg ICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuTEUuRCAqLw0KPiArICAg IHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwMWQ1LCAmTk1EOjpDTVBfVUxFX0QgICAgICAg ICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuVUxF LkQgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDIxNSwgJk5NRDo6Q01Q X1NBRl9EICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogQ01QLlNBRi5EICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDAy NTUsICZOTUQ6OkNNUF9TVU5fRCAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIENNUC5TVU4uRCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw N2ZmLCAweGEwMDAwMjk1LCAmTk1EOjpDTVBfU0VRX0QgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuU0VRLkQgKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDJkNSwgJk5NRDo6Q01QX1NVRVFfRCAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLlNVRVEuRCAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwMzE1LCAmTk1EOjpDTVBfU0xU X0QgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBDTVAuU0xULkQgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDM1NSwg Jk5NRDo6Q01QX1NVTFRfRCAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogQ01QLlNVTFQuRCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2Zm LCAweGEwMDAwMzk1LCAmTk1EOjpDTVBfU0xFX0QgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFf ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuU0xFLkQgKi8NCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDdmZiwgMHhhMDAwMDNkNSwgJk5NRDo6Q01QX1NVTEVfRCAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLlNVTEUuRCAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAwNDE1LCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBD TVAuY29uZG4uRH4qKDE2KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwN2ZmLCAweGEwMDAw NDU1LCAmTk1EOjpDTVBfT1JfRCAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBDTVAuT1IuRCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw N2ZmLCAweGEwMDAwNDk1LCAmTk1EOjpDTVBfVU5FX0QgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDTVAuVU5FLkQgKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDRkNSwgJk5NRDo6Q01QX05FX0QgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLk5FLkQgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDUxNSwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog Q01QLmNvbmRuLkR+KigyMCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAw MDU1NSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRuLkR+KigyMSkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDdmZiwgMHhhMDAwMDU5NSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRuLkR+Kigy MikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDVkNSwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogQ01QLmNvbmRuLkR+KigyMykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwg MHhhMDAwMDYxNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRuLkR+KigyNCkgKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDY1NSwgJk5NRDo6Q01QX1NPUl9EICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLlNPUi5E ICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDA2OTUsICZOTUQ6OkNNUF9T VU5FX0QgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIENNUC5TVU5FLkQgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDdmZiwgMHhhMDAwMDZk NSwgJk5NRDo6Q01QX1NORV9EICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogQ01QLlNORS5EICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3 ZmYsIDB4YTAwMDA3MTUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQ MV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5jb25kbi5EfiooMjgpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDA3NTUsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5j b25kbi5EfiooMjkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3ZmYsIDB4YTAwMDA3OTUs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIENNUC5jb25kbi5EfiooMzApICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDA3ZmYsIDB4YTAwMDA3ZDUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIENNUC5jb25kbi5EfiooMzEpICov DQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBPT0wzMkZfNVs4XSA9IHsNCj4g KyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBDTVBfY29uZG5fUyAgICAgICAgICwgMzIgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAwNSwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01Q LmNvbmRuLlMgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAwZCwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyRl81fiooMSkgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAg ICAgLCBDTVBfY29uZG5fRCAgICAgICAgICwgMzIgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAz ZiwgMHhhMDAwMDAxNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1Ax XyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQ01QLmNvbmRuLkQgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAxZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl81fioo MykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAyNSwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyRl81fiooNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhh MDAwMDAyZCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl81fiooNSkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAzNSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRl81fiooNikg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAzZiwgMHhhMDAwMDAzZCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyRl81fiooNykgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6 UE9PTDMyRls4XSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJGXzAg ICAgICAgICAgICwgNjQgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwNywgMHhhMDAwMDAwMCwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyRl8wICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDcs IDB4YTAwMDAwMDEsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8g ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMkZ+KigxKSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMDA3LCAweGEwMDAwMDAyLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGfiooMikg Ki8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09MMzJGXzMgICAgICAgICAgICwg OCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwNywgMHhhMDAwMDAwMywgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyRl8zICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDcsIDB4YTAwMDAwMDQs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMkZ+Kig0KSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAg ICAgICAsIFBPT0wzMkZfNSAgICAgICAgICAgLCA4ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MDA3LCAweGEwMDAwMDA1LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBD UDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJGXzUgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDAwNywgMHhhMDAwMDAwNiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyRn4qKDYp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDcsIDB4YTAwMDAwMDcsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFBPT0wzMkZ+Kig3KSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQ T09MMzJTXzBbNjRdID0gew0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMDAw LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+KigwKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAwMWZmLCAweGMwMDAwMDA4LCAmTk1EOjpETFNBICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBETFNBICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAwMTAsICZOTUQ6OkRTTExWICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERTTExWICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAwMTgsICZOTUQ6OkRNVUwgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERNVUwg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDAyMCwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyU18wfiooNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAw MDAyOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooNSkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDFmZiwgMHhjMDAwMDAzMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooNikgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDAzOCwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyU18wfiooNykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDA0 MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMDFmZiwgMHhjMDAwMDA0OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooOSkgKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDA1MCwgJk5NRDo6RFNSTFYgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAgICAgLyogRFNS TFYgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDA1OCwgJk5NRDo6RE1V SCAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAg ICAgLyogRE1VSCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMDYwLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQT09MMzJTXzB+KigxMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDFmZiwgMHhjMDAwMDA2OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooMTMpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAwNzAsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wz MlNfMH4qKDE0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMDc4LCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQT09MMzJTXzB+KigxNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDFmZiwgMHhjMDAwMDA4MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooMTYpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAwODgsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wz MlNfMH4qKDE3KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMDkwLCAm Tk1EOjpEU1JBViAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAg IH0sICAgICAgICAvKiBEU1JBViAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMw MDAwMDk4LCAmTk1EOjpETVVMVSAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAg ICAgICAgICAgIH0sICAgICAgICAvKiBETVVMVSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGMwMDAwMGEwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+KigyMCkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDBhOCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U18wfiooMjEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAwYjAsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMlNfMH4qKDIyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGMwMDAwMGI4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+KigyMykgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDBjMCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U18wfiooMjQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAwYzgsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMlNfMH4qKDI1KSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGMwMDAwMGQwLCAmTk1EOjpEUk9UUlYgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBN SVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBEUk9UUlYgKi8NCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwMDFmZiwgMHhjMDAwMDBkOCwgJk5NRDo6RE1VSFUgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAgICAgLyogRE1VSFUgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDBlMCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U18wfiooMjgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAwZTgsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMlNfMH4qKDI5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGMwMDAwMGYwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+KigzMCkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDBmOCwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U18wfiooMzEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAxMDAsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMlNfMH4qKDMyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MWZmLCAweGMwMDAwMTA4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+KigzMykgKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDExMCwgJk5NRDo6REFERCAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAgICAgLyogREFERCAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMTE4LCAmTk1EOjpERElWICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAv KiBERElWICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAxMjAsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMlNfMH4qKDM2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZm LCAweGMwMDAwMTI4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+KigzNykgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDEzMCwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18w fiooMzgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAxMzgsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMlNfMH4qKDM5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZm LCAweGMwMDAwMTQwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+Kig0MCkgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDE0OCwgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18w fiooNDEpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAxNTAsICZOTUQ6 OkRBRERVICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwg ICAgICAgIC8qIERBRERVICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAx NTgsICZOTUQ6OkRNT0QgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAg ICAgICAgfSwgICAgICAgIC8qIERNT0QgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwg MHhjMDAwMDE2MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooNDQpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAxNjgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlNfMH4q KDQ1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMTcwLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJTXzB+Kig0NikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwg MHhjMDAwMDE3OCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooNDcpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAxODAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlNfMH4q KDQ4KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMTg4LCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJTXzB+Kig0OSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwg MHhjMDAwMDE5MCwgJk5NRDo6RFNVQiAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0 XyAgICAgICAgICAgICB9LCAgICAgICAgLyogRFNVQiAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAwMWZmLCAweGMwMDAwMTk4LCAmTk1EOjpERElWVSAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBERElWVSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMWZmLCAweGMwMDAwMWEwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+Kig1 MikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDFhOCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyU18wfiooNTMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4 YzAwMDAxYjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlNfMH4qKDU0KSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMWZmLCAweGMwMDAwMWI4LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzB+Kig1 NSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDFjMCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyU18wfiooNTYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAxZmYsIDB4 YzAwMDAxYzgsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlNfMH4qKDU3KSAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMWZmLCAweGMwMDAwMWQwLCAmTk1EOjpEU1VCVSAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBEU1VCVSAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMWQ4LCAmTk1EOjpETU9EVSAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBETU9E VSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMWUwLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJTXzB+Kig2MCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhj MDAwMDFlOCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wfiooNjEpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMDAxZmYsIDB4YzAwMDAxZjAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlNfMH4qKDYy KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMWZmLCAweGMwMDAwMWY4LCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJTXzB+Kig2MykgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5N RDo6UE9PTDMyU3hmXzRbMTI4XSA9IHsNCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhj MDAwMDEzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+KigwKSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweGMwMDAwMzNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4q KDEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDA1M2MsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBPT0wzMlN4Zl80fiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwg MHhjMDAwMDczYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+KigzKSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAwOTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZf NH4qKDQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDBiM2MsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMlN4Zl80fiooNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHhjMDAwMGQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig2KSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAwZjNjLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJT eGZfNH4qKDcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDExM2MsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooOCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHhjMDAwMTMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig5KSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAxNTNjLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJTeGZfNH4qKDEwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAxNzNj LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDExKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDBmZmZmLCAweGMwMDAxOTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDEyKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAxYjNjLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQT09MMzJTeGZfNH4qKDEzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMw MDAxZDNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDE0KSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweGMwMDAxZjNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4q KDE1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAyMTNjLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJTeGZfNH4qKDE2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweGMwMDAyMzNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDE3KSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAyNTNjLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJT eGZfNH4qKDE4KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAyNzNjLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDE5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxv Y2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDBmZmZmLCAweGMwMDAyOTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDIwKSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAyYjNjLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MMzJTeGZfNH4qKDIxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAy ZDNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDIyKSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmZmZmLCAweGMwMDAyZjNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDIz KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAzMTNjLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJTeGZfNH4qKDI0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAw eGMwMDAzMzNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDI1KSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAzNTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZf NH4qKDI2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAzNzNjLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDI3KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweGMwMDAzOTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDI4KSAqLw0KPiAr ICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAzYjNjLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09M MzJTeGZfNH4qKDI5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDAzZDNj LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDMwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDBmZmZmLCAweGMwMDAzZjNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDMxKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDA0MTNjLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQT09MMzJTeGZfNH4qKDMyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMw MDA0MzNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDMzKSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDBmZmZmLCAweGMwMDA0NTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4q KDM0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDA0NzNjLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQT09MMzJTeGZfNH4qKDM1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweGMwMDA0OTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDM2KSAqLw0KPiArICAg IHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDA0YjNjLCAmTk1EOjpEQ0xPICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBEQ0xPICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDRkM2MsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMlN4Zl80fiooMzgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAw MDRmM2MsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooMzkpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDUxM2MsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fioo NDApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDUzM2MsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBPT0wzMlN4Zl80fiooNDEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYs IDB4YzAwMDU1M2MsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooNDIpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDU3M2MsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4 Zl80fiooNDMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMDU5M2MsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooNDQpICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGZmZmYsIDB4YzAwMDViM2MsICZOTUQ6OkRDTFogICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIERDTFogKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwZmZmZiwgMHhjMDAwNWQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig0 NikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNWYzYywgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyU3hmXzR+Kig0NykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwg MHhjMDAwNjEzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig0OCkgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNjMzYywgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hm XzR+Kig0OSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNjUzYywgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig1MCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHhjMDAwNjczYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig1MSkgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNjkzYywgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyU3hmXzR+Kig1MikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNmIz YywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig1MykgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwZmZmZiwgMHhjMDAwNmQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig1NCkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNmYzYywgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyU3hmXzR+Kig1NSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhj MDAwNzEzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig1NikgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNzMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+ Kig1NykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNzUzYywgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyU3hmXzR+Kig1OCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHhjMDAwNzczYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig1OSkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwNzkzYywgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U3hmXzR+Kig2MCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwN2IzYywg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig2MSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmZmZiwgMHhjMDAwN2QzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig2MikgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwN2YzYywgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyU3hmXzR+Kig2MykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAw ODEzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig2NCkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwZmZmZiwgMHhjMDAwODMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig2 NSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwODUzYywgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyU3hmXzR+Kig2NikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwg MHhjMDAwODczYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig2NykgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwODkzYywgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hm XzR+Kig2OCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwOGIzYywgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig2OSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHhjMDAwOGQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig3MCkgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwOGYzYywgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyU3hmXzR+Kig3MSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwOTEz YywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig3MikgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwZmZmZiwgMHhjMDAwOTMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig3Mykg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwOTUzYywgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyU3hmXzR+Kig3NCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhj MDAwOTczYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig3NSkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwOTkzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+ Kig3NikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwOWIzYywgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyU3hmXzR+Kig3NykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHhjMDAwOWQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig3OCkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwOWYzYywgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U3hmXzR+Kig3OSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYTEzYywg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig4MCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmZmZiwgMHhjMDAwYTMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig4MSkgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYTUzYywgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyU3hmXzR+Kig4MikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAw YTczYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig4MykgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwZmZmZiwgMHhjMDAwYTkzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig4 NCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYWIzYywgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyU3hmXzR+Kig4NSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwg MHhjMDAwYWQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig4NikgKi8NCj4gKyAgICB7 IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYWYzYywgMCAgICAgICAgICAgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hm XzR+Kig4NykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYjEzYywgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig4OCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHhjMDAwYjMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig4OSkgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYjUzYywgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyU3hmXzR+Kig5MCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYjcz YywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig5MSkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwZmZmZiwgMHhjMDAwYjkzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig5Mikg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYmIzYywgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyU3hmXzR+Kig5MykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhj MDAwYmQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig5NCkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYmYzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+ Kig5NSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYzEzYywgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUE9PTDMyU3hmXzR+Kig5NikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZm ZiwgMHhjMDAwYzMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig5NykgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYzUzYywgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U3hmXzR+Kig5OCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwYzczYywg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kig5OSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwZmZmZiwgMHhjMDAwYzkzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+KigxMDApICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMGNiM2MsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMlN4Zl80fiooMTAxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMw MDBjZDNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDEwMikgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwY2YzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+ KigxMDMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMGQxM2MsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMlN4Zl80fiooMTA0KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm ZmZmLCAweGMwMDBkMzNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDEwNSkgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwZDUzYywgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9P TDMyU3hmXzR+KigxMDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMGQ3 M2MsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooMTA3KSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmZmZmLCAweGMwMDBkOTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDEw OCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwZGIzYywgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUE9PTDMyU3hmXzR+KigxMDkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYs IDB4YzAwMGRkM2MsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooMTEwKSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDBkZjNjLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJT eGZfNH4qKDExMSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwZTEzYywg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+KigxMTIpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMGZmZmYsIDB4YzAwMGUzM2MsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooMTEzKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDBlNTNjLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQT09MMzJTeGZfNH4qKDExNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhj MDAwZTczYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+KigxMTUpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMGU5M2MsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80 fiooMTE2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDBlYjNjLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDExNykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZmZmZiwgMHhjMDAwZWQzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+KigxMTgpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMGVmM2MsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBP T0wzMlN4Zl80fiooMTE5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZmLCAweGMwMDBm MTNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDEyMCkgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwZmZmZiwgMHhjMDAwZjMzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzR+Kigx MjEpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMGY1M2MsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFBPT0wzMlN4Zl80fiooMTIyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmZmZm LCAweGMwMDBmNzNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDEyMykgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwZjkzYywgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U3hmXzR+KigxMjQpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGZmZmYsIDB4YzAwMGZiM2Ms IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFBPT0wzMlN4Zl80fiooMTI1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDBmZmZmLCAweGMwMDBmZDNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGZfNH4qKDEyNikg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZmZmZiwgMHhjMDAwZmYzYywgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUE9PTDMyU3hmXzR+KigxMjcpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBO TUQ6OlBPT0wzMlN4Zls4XSA9IHsNCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAw MDAzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmfiooMCkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDFmZiwgMHhjMDAwMDA3YywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmfiooMSkgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDBiYywgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UE9PTDMyU3hmfiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDBm YywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmfiooMykgKi8NCj4gKyAgICB7IHBvb2wgICAgICAg ICAgICAgICAgLCBQT09MMzJTeGZfNCAgICAgICAgICwgMTI4ICwgMzIsDQo+ICsgICAgICAgMHhm YzAwMDFmZiwgMHhjMDAwMDEzYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmXzQgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDE3YywgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMy U3hmfiooNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFmZiwgMHhjMDAwMDFiYywgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUE9PTDMyU3hmfiooNikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDFm ZiwgMHhjMDAwMDFmYywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU3hmfiooNykgKi8NCj4gK307DQo+ ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UE9PTDMyU180WzhdID0gew0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDAwMDNmLCAweGMwMDAwMDA0LCAmTk1EOjpFWFREICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBFWFREICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAwM2YsIDB4YzAwMDAwMGMsICZOTUQ6OkVYVEQzMiAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIEVYVEQz MiAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDNmLCAweGMwMDAwMDE0LCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJTXzR+KigyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDNmLCAweGMw MDAwMDFjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzR+KigzKSAqLw0KPiArICAgIHsgcmVzZXJ2 ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwMDNmLCAweGMwMDAwMDI0LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzR+Kig0KSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDNmLCAweGMwMDAwMDJjLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQT09MMzJTXzR+Kig1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDNmLCAweGMwMDAw MDM0LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTXzR+Kig2KSAqLw0KPiArICAgIHsgcG9vbCAgICAg ICAgICAgICAgICAsIFBPT0wzMlN4ZiAgICAgICAgICAgLCA4ICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMDAwMDNmLCAweGMwMDAwMDNjLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMzJTeGYgKi8NCj4gK307 DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UE9PTDMyU1s4XSA9IHsNCj4gKyAgICB7IHBv b2wgICAgICAgICAgICAgICAgLCBQT09MMzJTXzAgICAgICAgICAgICwgNjQgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDAwNywgMHhjMDAwMDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU18wICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDcsIDB4YzAwMDAwMDEsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFBPT0wzMlN+KigxKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDA3LCAweGMwMDAwMDAy LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQT09MMzJTfiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw MDAwNywgMHhjMDAwMDAwMywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU34qKDMpICovDQo+ICsgICAg eyBwb29sICAgICAgICAgICAgICAgICwgUE9PTDMyU180ICAgICAgICAgICAsIDggICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDAwMDcsIDB4YzAwMDAwMDQsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlNf NCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDA3LCAweGMwMDAwMDA1LCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQT09MMzJTfiooNSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwNywgMHhjMDAw MDAwNiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyU34qKDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDAwMDcsIDB4YzAwMDAwMDcsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBPT0wzMlN+Kig3KSAqLw0KPiAr fTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0xVSVsyXSA9IHsNCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDAwMiwgMHhlMDAwMDAwMCwgJk5NRDo6TFVJICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTFVJICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAwMDIsIDB4ZTAwMDAwMDIsICZOTUQ6OkFMVUlQQyAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFMVUlQ QyAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0dQX0xIWzJdID0gew0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMWMwMDAxLCAweDQ0MTAwMDAwLCAmTk1EOjpMSF9HUF8gICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBM SFtHUF0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAwMSwgMHg0NDEwMDAwMSwgJk5NRDo6 TEhVX0dQXyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogTEhVW0dQXSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQ X0dQX1NIWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWMwMDAxLCAweDQ0MTQwMDAwLCAm Tk1EOjpTSF9HUF8gICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBTSFtHUF0gKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAwMSwgMHg0 NDE0MDAwMSwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUC5HUC5TSH4qKDEpICovDQo+ICt9Ow0KPiArDQo+ICsN Cj4gK05NRDo6UG9vbCBOTUQ6OlBfR1BfQ1AxWzRdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MWMwMDAzLCAweDQ0MTgwMDAwLCAmTk1EOjpMV0MxX0dQXyAgICAgICAgICwgMCwNCj4gKyAgICAg ICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMV0MxW0dQXSAqLw0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMWMwMDAzLCAweDQ0MTgwMDAxLCAmTk1EOjpTV0MxX0dQXyAgICAgICAgICwg MCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTV0MxW0dQXSAq Lw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWMwMDAzLCAweDQ0MTgwMDAyLCAmTk1EOjpMREMxX0dQ XyAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBMREMxW0dQXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWMwMDAzLCAweDQ0MTgwMDAzLCAm Tk1EOjpTREMxX0dQXyAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBTREMxW0dQXSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wg Tk1EOjpQX0dQX002NFs0XSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAwMywgMHg0NDFj MDAwMCwgJk5NRDo6TFdVX0dQXyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAg ICAgICAgICB9LCAgICAgICAgLyogTFdVW0dQXSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWMw MDAzLCAweDQ0MWMwMDAxLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkdQLk02NH4qKDEpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMxYzAwMDMsIDB4NDQxYzAwMDIsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuR1AuTTY0 fiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAwMywgMHg0NDFjMDAwMywgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUC5HUC5NNjR+KigzKSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wg Tk1EOjpQX0dQX0JIWzhdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWMwMDAwLCAweDQ0MDAw MDAwLCAmTk1EOjpMQl9HUF8gICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBMQltHUF0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAw MCwgMHg0NDA0MDAwMCwgJk5NRDo6U0JfR1BfICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0JbR1BdICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMxYzAwMDAsIDB4NDQwODAwMDAsICZOTUQ6OkxCVV9HUF8gICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExCVVtHUF0gKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzFjMDAwMCwgMHg0NDBjMDAwMCwgJk5NRDo6QURESVVfR1BfQl8gICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQURESVVb R1AuQl0gKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX0dQX0xIICAgICAgICAg ICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAwMCwgMHg0NDEwMDAwMCwgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUC5HUC5MSCAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfR1Bf U0ggICAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWMwMDAwLCAweDQ0MTQw MDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQLkdQLlNIICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAg ICAgICwgUF9HUF9DUDEgICAgICAgICAgICAsIDQgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxYzAw MDAsIDB4NDQxODAwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuR1AuQ1AxICovDQo+ICsgICAgeyBwb29s ICAgICAgICAgICAgICAgICwgUF9HUF9NNjQgICAgICAgICAgICAsIDQgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMxYzAwMDAsIDB4NDQxYzAwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuR1AuTTY0ICovDQo+ ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfTFNfVTEyWzE2XSA9IHsNCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4NDAwMDAwMCwgJk5NRDo6TEJfVTEyXyAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTEJbVTEy XSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMDAwLCAweDg0MDAxMDAwLCAmTk1EOjpTQl9V MTJfICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBTQltVMTJdICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4ODQwMDIwMDAs ICZOTUQ6OkxCVV9VMTJfICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIExCVVtVMTJdICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAs IDB4ODQwMDMwMDAsICZOTUQ6OlBSRUZfVTEyXyAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBSRUZbVTEyXSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmMDAwLCAweDg0MDA0MDAwLCAmTk1EOjpMSF9VMTJfICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMSFtVMTJdICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4ODQwMDUwMDAsICZOTUQ6OlNIX1UxMl8gICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNIW1Ux Ml0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4NDAwNjAwMCwgJk5NRDo6TEhV X1UxMl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogTEhVW1UxMl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4NDAwNzAw MCwgJk5NRDo6TFdVX1UxMl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAg ICAgICB9LCAgICAgICAgLyogTFdVW1UxMl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAw MCwgMHg4NDAwODAwMCwgJk5NRDo6TFdfVTEyXyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTFdbVTEyXSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDBmMDAwLCAweDg0MDA5MDAwLCAmTk1EOjpTV19VMTJfICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTV1tVMTJdICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4ODQwMGEwMDAsICZOTUQ6OkxXQzFfVTEyXyAgICAg ICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExXQzFb VTEyXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMDAwLCAweDg0MDBiMDAwLCAmTk1EOjpT V0MxX1UxMl8gICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBTV0MxW1UxMl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg4NDAw YzAwMCwgJk5NRDo6TERfVTEyXyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAg ICAgICAgICB9LCAgICAgICAgLyogTERbVTEyXSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBm MDAwLCAweDg0MDBkMDAwLCAmTk1EOjpTRF9VMTJfICAgICAgICAgICwgMCwNCj4gKyAgICAgICBN SVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBTRFtVMTJdICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMwMGYwMDAsIDB4ODQwMGUwMDAsICZOTUQ6OkxEQzFfVTEyXyAgICAgICAgLCAwLA0K PiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExEQzFbVTEyXSAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDBmMDAwLCAweDg0MDBmMDAwLCAmTk1EOjpTREMxX1UxMl8g ICAgICAgICwgMCwNCj4gKyAgICAgICBDUDFfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBT REMxW1UxMl0gKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9QUkVGX1M5 X1syXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmZmUwN2YwMCwgMHhhN2UwMTgwMCwgJk5NRDo6 U1lOQ0kgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogU1lOQ0kgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwMTgw MCwgJk5NRDo6UFJFRl9TOV8gICAgICAgICAsICZOTUQ6OlBSRUZfUzlfX2NvbmQgICAgLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFBSRUZbUzldICovDQo+ICt9 Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfTFNfUzBbMTZdID0gew0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDAwMDAwLCAmTk1EOjpMQl9TOV8gICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMQltTOV0gKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwMDgwMCwgJk5NRDo6U0JfUzlfICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog U0JbUzldICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDEwMDAsICZOTUQ6 OkxCVV9TOV8gICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIExCVVtTOV0gKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX1BS RUZfUzlfICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAw MTgwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUC5QUkVGW1M5XSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDA3ZjAwLCAweGE0MDAyMDAwLCAmTk1EOjpMSF9TOV8gICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMSFtTOV0gKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwMjgwMCwgJk5NRDo6U0hfUzlfICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0hbUzldICovDQo+ ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDMwMDAsICZOTUQ6OkxIVV9TOV8gICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExI VVtTOV0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwMzgwMCwgJk5NRDo6 TFdVX1M5XyAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAg ICAgICAgLyogTFdVW1M5XSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDA0 MDAwLCAmTk1EOjpMV19TOV8gICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBMV1tTOV0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2Yw MCwgMHhhNDAwNDgwMCwgJk5NRDo6U1dfUzlfICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1dbUzldICovDQo+ICsgICAgeyBpbnN0cnVj dGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDdmMDAsIDB4YTQwMDUwMDAsICZOTUQ6OkxXQzFfUzlfICAgICAgICAgLCAwLA0KPiAr ICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExXQzFbUzldICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDU4MDAsICZOTUQ6OlNXQzFfUzlfICAgICAg ICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNXQzFb UzldICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDYwMDAsICZOTUQ6OkxE X1M5XyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAg ICAgIC8qIExEW1M5XSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDA2ODAw LCAmTk1EOjpTRF9TOV8gICAgICAgICAgICwgMCwNCj4gKyAgICAgICBNSVBTNjRfICAgICAgICAg ICAgIH0sICAgICAgICAvKiBTRFtTOV0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwg MHhhNDAwNzAwMCwgJk5NRDo6TERDMV9TOV8gICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AxXyAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogTERDMVtTOV0gKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwN2YwMCwgMHhhNDAwNzgwMCwgJk5NRDo6U0RDMV9TOV8gICAgICAgICAsIDAsDQo+ICsg ICAgICAgQ1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0RDMVtTOV0gKi8NCj4gK307 DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6QVNFVF9BQ0xSWzJdID0gew0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZlMDA3ZjAwLCAweGE0MDAxMTAwLCAmTk1EOjpBU0VUICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICBNQ1VfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBU0VUICovDQo+ ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmUwMDdmMDAsIDB4YTYwMDExMDAsICZOTUQ6OkFDTFIgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIE1DVV8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFD TFIgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9MTFs0XSA9IHsNCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMywgMHhhNDAwNTEwMCwgJk5NRDo6TEwgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTEwg Ki8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMywgMHhhNDAwNTEwMSwgJk5NRDo6TExXUCAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE5QXyAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogTExXUCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAzLCAweGE0MDA1MTAyLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQLkxMfiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAw ICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMywgMHhh NDAwNTEwMywgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUC5MTH4qKDMpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6OlBfU0NbNF0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDMs IDB4YTQwMDU5MDAsICZOTUQ6OlNDICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNDICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDdmMDMsIDB4YTQwMDU5MDEsICZOTUQ6OlNDV1AgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IFhOUF8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNDV1AgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwN2YwMywgMHhhNDAwNTkwMiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5TQ34qKDIpICovDQo+ ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDMsIDB4YTQwMDU5MDMsIDAgICAgICAgICAgICAgICAg ICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAu U0N+KigzKSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0xMRFs4XSA9 IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwNywgMHhhNDAwNzEwMCwgJk5NRDo6TExEICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9LCAgICAgICAg LyogTExEICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDcsIDB4YTQwMDcxMDEsICZOTUQ6 OkxMRFAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwg ICAgICAgIC8qIExMRFAgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwNywgMHhhNDAwNzEw MiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUC5MTER+KigyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3 ZjA3LCAweGE0MDA3MTAzLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkxMRH4qKDMpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMDdmMDcsIDB4YTQwMDcxMDQsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuTExEfiooNCkg Ki8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwNywgMHhhNDAwNzEwNSwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUC5MTER+Kig1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjA3LCAweGE0MDA3MTA2 LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQLkxMRH4qKDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdm MDcsIDB4YTQwMDcxMDcsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuTExEfiooNykgKi8NCj4gK307DQo+ICsN Cj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9TQ0RbOF0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDdmMDcsIDB4YTQwMDc5MDAsICZOTUQ6OlNDRCAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIE1JUFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIFNDRCAqLw0KPiArICAgIHsgaW5z dHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMDA3ZjA3LCAweGE0MDA3OTAxLCAmTk1EOjpTQ0RQICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBNSVBTNjRfICAgICAgICAgICAgIH0sICAgICAgICAvKiBTQ0RQICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDdmMDcsIDB4YTQwMDc5MDIsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU0NE fiooMikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwNywgMHhhNDAwNzkwMywgMCAgICAg ICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUC5TQ0R+KigzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjA3LCAweGE0 MDA3OTA0LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQLlNDRH4qKDQpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDdmMDcsIDB4YTQwMDc5MDUsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuU0NEfiooNSkgKi8NCj4gKyAg ICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzAwN2YwNywgMHhhNDAwNzkwNiwgMCAgICAgICAgICAgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5TQ0R+ Kig2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjA3LCAweGE0MDA3OTA3LCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQLlNDRH4qKDcpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6 OlBfTFNfUzFbMTZdID0gew0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDAwMTAw LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQLkxTLlMxfiooMCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw N2YwMCwgMHhhNDAwMDkwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5MUy5TMX4qKDEpICovDQo+ICsgICAg eyBwb29sICAgICAgICAgICAgICAgICwgQVNFVF9BQ0xSICAgICAgICAgICAsIDIgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDExMDAsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEFTRVRfQUNM UiAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDAxOTAwLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQLkxTLlMxfiooMykgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAw MjEwMCwgJk5NRDo6VUFMSCAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAg ICAgICAgICB9LCAgICAgICAgLyogVUFMSCAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAw LCAweGE0MDAyOTAwLCAmTk1EOjpVQVNIICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBYTU1T XyAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBVQVNIICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDdmMDAsIDB4YTQwMDMxMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuTFMuUzF+Kig2KSAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDAzOTAwLCAmTk1EOjpDQUNIRSAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBDUDBfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBDQUNI RSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDA0MTAwLCAmTk1EOjpMV0My ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDJfICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBMV0MyICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDQ5MDAsICZO TUQ6OlNXQzIgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMl8gICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFNXQzIgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX0xM ICAgICAgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAw NTEwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUC5MTCAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAg ICAsIFBfU0MgICAgICAgICAgICAgICAgLCA0ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAw LCAweGE0MDA1OTAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLlNDICovDQo+ICsgICAgeyBpbnN0cnVjdGlv biAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDdmMDAsIDB4YTQwMDYxMDAsICZOTUQ6OkxEQzIgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIENQMl8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExEQzIgKi8NCj4gKyAgICB7IGlu c3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwNjkwMCwgJk5NRDo6U0RDMiAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgQ1AyXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogU0RDMiAqLw0KPiAr ICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfTExEICAgICAgICAgICAgICAgLCA4ICAgLCAz MiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDA3MTAwLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkxM RCAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfU0NEICAgICAgICAgICAgICAg LCA4ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDA3OTAwLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQLlNDRCAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX1BSRUZF WzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAg ICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZmZTA3ZjAwLCAweGE3ZTAxYTAwLCAmTk1EOjpT WU5DSUUgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgRVZBXyAgICAgICAgIH0sICAg ICAgICAvKiBTWU5DSUUgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwMWEw MCwgJk5NRDo6UFJFRkUgICAgICAgICAgICAsICZOTUQ6OlBSRUZFX2NvbmQgICAgICAgLA0KPiAr ICAgICAgIENQMF8gfCBFVkFfICAgICAgICAgfSwgICAgICAgIC8qIFBSRUZFICovDQo+ICt9Ow0K PiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfTExFWzRdID0gew0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDA3ZjAzLCAweGE0MDA1MjAwLCAmTk1EOjpMTEUgICAgICAgICAgICAgICwgMCwNCj4g KyAgICAgICBDUDBfIHwgRVZBXyAgICAgICAgIH0sICAgICAgICAvKiBMTEUgKi8NCj4gKyAgICB7 IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ ICsgICAgICAgMHhmYzAwN2YwMywgMHhhNDAwNTIwMSwgJk5NRDo6TExXUEUgICAgICAgICAgICAs IDAsDQo+ICsgICAgICAgQ1AwXyB8IEVWQV8gICAgICAgICB9LCAgICAgICAgLyogTExXUEUgKi8N Cj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMywgMHhhNDAwNTIwMiwgMCAgICAgICAgICAgICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog UC5MTEV+KigyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAzLCAweGE0MDA1MjAzLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQLkxMRX4qKDMpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9v bCBOTUQ6OlBfU0NFWzRdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAzLCAweGE0MDA1 YTAwLCAmTk1EOjpTQ0UgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgRVZBXyAg ICAgICAgIH0sICAgICAgICAvKiBTQ0UgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMywg MHhhNDAwNWEwMSwgJk5NRDo6U0NXUEUgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8 IEVWQV8gICAgICAgICB9LCAgICAgICAgLyogU0NXUEUgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwN2YwMywgMHhhNDAwNWEwMiwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5TQ0V+KigyKSAqLw0KPiArICAg IHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDA3ZjAzLCAweGE0MDA1YTAzLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLlNDRX4q KDMpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfTFNfRTBbMTZdID0g ew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDAwMjAwLCAmTk1EOjpMQkUgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgRVZBXyAgICAgICAgIH0sICAgICAgICAv KiBMQkUgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwMGEwMCwgJk5NRDo6 U0JFICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8IEVWQV8gICAgICAgICB9LCAg ICAgICAgLyogU0JFICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDEyMDAs ICZOTUQ6OkxCVUUgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMF8gfCBFVkFfICAgICAg ICAgfSwgICAgICAgIC8qIExCVUUgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQ X1BSRUZFICAgICAgICAgICAgICwgMiAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhh NDAwMWEwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUC5QUkVGRSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24g ICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZj MDA3ZjAwLCAweGE0MDAyMjAwLCAmTk1EOjpMSEUgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICBDUDBfIHwgRVZBXyAgICAgICAgIH0sICAgICAgICAvKiBMSEUgKi8NCj4gKyAgICB7IGluc3Ry dWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwN2YwMCwgMHhhNDAwMmEwMCwgJk5NRDo6U0hFICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgQ1AwXyB8IEVWQV8gICAgICAgICB9LCAgICAgICAgLyogU0hFICovDQo+ICsgICAg eyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDMyMDAsICZOTUQ6OkxIVUUgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIENQMF8gfCBFVkFfICAgICAgICAgfSwgICAgICAgIC8qIExIVUUgKi8N Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhhNDAwM2EwMCwgJk5NRDo6Q0FDSEVFICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgQ1AwXyB8IEVWQV8gICAgICAgICB9LCAgICAgICAgLyog Q0FDSEVFICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDQyMDAsICZOTUQ6 OkxXRSAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMF8gfCBFVkFfICAgICAgICAgfSwg ICAgICAgIC8qIExXRSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDA0YTAw LCAmTk1EOjpTV0UgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgRVZBXyAgICAg ICAgIH0sICAgICAgICAvKiBTV0UgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQ X0xMRSAgICAgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwN2YwMCwgMHhh NDAwNTIwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUC5MTEUgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAg ICAgICAgLCBQX1NDRSAgICAgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw N2YwMCwgMHhhNDAwNWEwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5TQ0UgKi8NCj4gKyAgICB7IHJlc2Vy dmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwN2YwMCwgMHhhNDAwNjIwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5MUy5FMH4qKDEyKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDA3ZjAwLCAweGE0MDA2YTAwLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQLkxTLkUwfiooMTMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDdmMDAsIDB4YTQwMDcy MDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFAuTFMuRTB+KigxNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzAwN2YwMCwgMHhhNDAwN2EwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5MUy5FMH4qKDE1KSAqLw0KPiAr fTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0xTX1dNWzJdID0gew0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwZjAwLCAweGE0MDAwNDAwLCAmTk1EOjpMV00gICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICBYTU1TXyAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMV00gKi8NCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwMGYwMCwgMHhhNDAwMGMwMCwgJk5NRDo6U1dNICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1dN ICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlBfTFNfVUFXTVsyXSA9IHsN Cj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMGYwMCwgMHhhNDAwMDUwMCwgJk5NRDo6VUFMV00gICAg ICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAgICAgLyog VUFMV00gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMGYwMCwgMHhhNDAwMGQwMCwgJk5NRDo6 VUFTV00gICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAg ICAgICAgLyogVUFTV00gKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9M U19ETVsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMGYwMCwgMHhhNDAwMDYwMCwgJk5N RDo6TERNICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgTUlQUzY0XyAgICAgICAgICAgICB9 LCAgICAgICAgLyogTERNICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDBmMDAsIDB4YTQwMDBl MDAsICZOTUQ6OlNETSAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAgICAg ICAgICAgfSwgICAgICAgIC8qIFNETSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wg Tk1EOjpQX0xTX1VBRE1bMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDBmMDAsIDB4YTQw MDA3MDAsICZOTUQ6OlVBTERNICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1JUFM2NF8gICAg ICAgICAgICAgfSwgICAgICAgIC8qIFVBTERNICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDBm MDAsIDB4YTQwMDBmMDAsICZOTUQ6OlVBU0RNICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIE1J UFM2NF8gICAgICAgICAgICAgfSwgICAgICAgIC8qIFVBU0RNICovDQo+ICt9Ow0KPiArDQo+ICsN Cj4gK05NRDo6UG9vbCBOTUQ6OlBfTFNfUzlbOF0gPSB7DQo+ICsgICAgeyBwb29sICAgICAgICAg ICAgICAgICwgUF9MU19TMCAgICAgICAgICAgICAsIDE2ICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MDA3MDAsIDB4YTQwMDAwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuTFMuUzAgKi8NCj4gKyAgICB7IHBv b2wgICAgICAgICAgICAgICAgLCBQX0xTX1MxICAgICAgICAgICAgICwgMTYgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDcwMCwgMHhhNDAwMDEwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5MUy5TMSAqLw0K PiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfTFNfRTAgICAgICAgICAgICAgLCAxNiAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwNzAwLCAweGE0MDAwMjAwLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ LkxTLkUwICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3MDAsIDB4YTQwMDAzMDAsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFAuTFMuUzl+KigzKSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAs IFBfTFNfV00gICAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwNzAwLCAw eGE0MDAwNDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkxTLldNICovDQo+ICsgICAgeyBwb29sICAgICAg ICAgICAgICAgICwgUF9MU19VQVdNICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMDA3MDAsIDB4YTQwMDA1MDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuTFMuVUFXTSAqLw0KPiArICAg IHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfTFNfRE0gICAgICAgICAgICAgLCAyICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDAwNzAwLCAweGE0MDAwNjAwLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkxTLkRN ICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUF9MU19VQURNICAgICAgICAgICAs IDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDA3MDAsIDB4YTQwMDA3MDAsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFAuTFMuVUFETSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0JB TFsyXSA9IHsNCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmZTAwMDAwMCwgMHgyODAwMDAwMCwgJk5NRDo6 QkNfMzJfICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQkNbMzJdICovDQo+ICsgICAgeyBjYWxsX2luc3RydWN0aW9uICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmUwMDAwMDAsIDB4MmEwMDAw MDAsICZOTUQ6OkJBTENfMzJfICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIEJBTENbMzJdICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6 UG9vbCBOTUQ6OlBfQkFMUlNDWzJdID0gew0KPiArICAgIHsgYnJhbmNoX2luc3RydWN0aW9uICAs IDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZmZTBmMDAwLCAw eDQ4MDA4MDAwLCAmTk1EOjpCUlNDICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAg ICAgICAgICAgICAgIH0sICAgICAgICAvKiBCUlNDICovDQo+ICsgICAgeyBjYWxsX2luc3RydWN0 aW9uICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMw MGYwMDAsIDB4NDgwMDgwMDAsICZOTUQ6OkJBTFJTQyAgICAgICAgICAgLCAmTk1EOjpCQUxSU0Nf Y29uZCAgICAgICwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBC QUxSU0MgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9KWzE2XSA9IHsN Cj4gKyAgICB7IGNhbGxfaW5zdHJ1Y3Rpb24gICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAg ICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg0ODAwMDAwMCwgJk5NRDo6SkFMUkNfMzJf ICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyog SkFMUkNbMzJdICovDQo+ICsgICAgeyBjYWxsX2luc3RydWN0aW9uICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4NDgwMDEwMDAsICZO TUQ6OkpBTFJDX0hCICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIEpBTFJDLkhCICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4 NDgwMDIwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSn4qKDIpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMwMGYwMDAsIDB4NDgwMDMwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSn4qKDMpICovDQo+ICsgICAg eyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMGYwMDAsIDB4NDgwMDQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSn4qKDQp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4NDgwMDUwMDAsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFAuSn4qKDUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4NDgwMDYwMDAs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFAuSn4qKDYpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAs IDB4NDgwMDcwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSn4qKDcpICovDQo+ICsgICAgeyBwb29sICAg ICAgICAgICAgICAgICwgUF9CQUxSU0MgICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMGYwMDAsIDB4NDgwMDgwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQkFMUlNDICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4NDgwMDkwMDAsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSn4q KDkpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGYwMDAsIDB4NDgwMGEwMDAsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFAuSn4qKDEwKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMDAwLCAweDQ4MDBi MDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQLkp+KigxMSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2Nr ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAw ZjAwMCwgMHg0ODAwYzAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5KfiooMTIpICovDQo+ICsgICAgeyBy ZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiAr ICAgICAgIDB4ZmMwMGYwMDAsIDB4NDgwMGQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAw LA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSn4qKDEzKSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDBmMDAwLCAweDQ4MDBlMDAwLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQLkp+KigxNCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwZjAwMCwgMHg0ODAwZjAwMCwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUC5KfiooMTUpICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9v bCBOTUQ6OlBfQlIzQVszMl0gPSB7DQo+ICsgICAgeyBicmFuY2hfaW5zdHJ1Y3Rpb24gICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgw MDQwMDAsICZOTUQ6OkJDMUVRWkMgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIEJDMUVRWkMgKi8NCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVj dGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFm YzAwMCwgMHg4ODAxNDAwMCwgJk5NRDo6QkMxTkVaQyAgICAgICAgICAsIDAsDQo+ICsgICAgICAg Q1AxXyAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQkMxTkVaQyAqLw0KPiArICAgIHsgYnJh bmNoX2luc3RydWN0aW9uICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAg ICAgICAweGZjMWZjMDAwLCAweDg4MDI0MDAwLCAmTk1EOjpCQzJFUVpDICAgICAgICAgICwgMCwN Cj4gKyAgICAgICBDUDJfICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBCQzJFUVpDICovDQo+ ICsgICAgeyBicmFuY2hfaW5zdHJ1Y3Rpb24gICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAs IDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgwMzQwMDAsICZOTUQ6OkJDMk5FWkMgICAg ICAgICAgLCAwLA0KPiArICAgICAgIENQMl8gICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEJD Mk5FWkMgKi8NCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFmYzAwMCwgMHg4ODA0NDAwMCwgJk5NRDo6 QlBPU0dFMzJDICAgICAgICAsIDAsDQo+ICsgICAgICAgRFNQXyAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQlBPU0dFMzJDICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgw NTQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDUpICovDQo+ICsgICAgeyByZXNlcnZlZF9i bG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4 ZmMxZmMwMDAsIDB4ODgwNjQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAg ICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDYpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgwNzQwMDAsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIz QX4qKDcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAg ICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgwODQwMDAsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFAuQlIzQX4qKDgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4 ODgwOTQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDkpICovDQo+ICsgICAgeyByZXNlcnZl ZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAg IDB4ZmMxZmMwMDAsIDB4ODgwYTQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDEwKSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMWZjMDAwLCAweDg4MGI0MDAwLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ LkJSM0F+KigxMSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFmYzAwMCwgMHg4ODBjNDAwMCwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUC5CUjNBfiooMTIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMw MDAsIDB4ODgwZDQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDEzKSAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4g KyAgICAgICAweGZjMWZjMDAwLCAweDg4MGU0MDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkJSM0F+Kigx NCkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFmYzAwMCwgMHg4ODBmNDAwMCwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUC5CUjNBfiooMTUpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgx MDQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDE2KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRf YmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAw eGZjMWZjMDAwLCAweDg4MTE0MDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkJSM0F+KigxNykgKi8NCj4g KyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MzIsDQo+ICsgICAgICAgMHhmYzFmYzAwMCwgMHg4ODEyNDAwMCwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5C UjNBfiooMTgpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgxMzQwMDAsIDAg ICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFAuQlIzQX4qKDE5KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAg ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWZjMDAw LCAweDg4MTQ0MDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAg ICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkJSM0F+KigyMCkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzFmYzAwMCwgMHg4ODE1NDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5CUjNBfiooMjEp ICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgxNjQwMDAsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFAuQlIzQX4qKDIyKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWZjMDAwLCAweDg4MTc0 MDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQLkJSM0F+KigyMykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Js b2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhm YzFmYzAwMCwgMHg4ODE4NDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAg ICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5CUjNBfiooMjQpICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMxZmMwMDAsIDB4ODgxOTQwMDAsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIz QX4qKDI1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAg ICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWZjMDAwLCAweDg4MWE0MDAwLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQLkJSM0F+KigyNikgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFmYzAwMCwg MHg4ODFiNDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5CUjNBfiooMjcpICovDQo+ICsgICAgeyByZXNl cnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAg ICAgIDB4ZmMxZmMwMDAsIDB4ODgxYzQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDI4KSAq Lw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAw ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWZjMDAwLCAweDg4MWQ0MDAwLCAwICAgICAgICAgICAg ICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAv KiBQLkJSM0F+KigyOSkgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAg ICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFmYzAwMCwgMHg4ODFlNDAw MCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAg ICAgICB9LCAgICAgICAgLyogUC5CUjNBfiooMzApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9j ayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMx ZmMwMDAsIDB4ODgxZjQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIzQX4qKDMxKSAqLw0KPiArfTsN Cj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0JSMVs0XSA9IHsNCj4gKyAgICB7IGJyYW5j aF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwYzAwMCwgMHg4ODAwMDAwMCwgJk5NRDo6QkVRQ18zMl8gICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQkVRQ1szMl0gKi8NCj4g KyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX0JSM0EgICAgICAgICAgICAgICwgMzIgICwg MzIsDQo+ICsgICAgICAgMHhmYzAwYzAwMCwgMHg4ODAwNDAwMCwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5C UjNBICovDQo+ICsgICAgeyBicmFuY2hfaW5zdHJ1Y3Rpb24gICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGMwMDAsIDB4ODgwMDgwMDAsICZOTUQ6OkJH RUMgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIEJHRUMgKi8NCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwYzAwMCwgMHg4ODAwYzAwMCwg Jk5NRDo6QkdFVUMgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogQkdFVUMgKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5N RDo6UF9CUjJbNF0gPSB7DQo+ICsgICAgeyBicmFuY2hfaW5zdHJ1Y3Rpb24gICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGMwMDAsIDB4YTgwMDAwMDAs ICZOTUQ6OkJORUNfMzJfICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIEJORUNbMzJdICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMGMwMDAs IDB4YTgwMDQwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQlIyfiooMSkgKi8NCj4gKyAgICB7IGJyYW5j aF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAg ICAgMHhmYzAwYzAwMCwgMHhhODAwODAwMCwgJk5NRDo6QkxUQyAgICAgICAgICAgICAsIDAsDQo+ ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQkxUQyAqLw0KPiArICAg IHsgYnJhbmNoX2luc3RydWN0aW9uICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwN Cj4gKyAgICAgICAweGZjMDBjMDAwLCAweGE4MDBjMDAwLCAmTk1EOjpCTFRVQyAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBCTFRVQyAq Lw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQX0JSSVs4XSA9IHsNCj4gKyAg ICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzFjMDAwMCwgMHhjODAwMDAwMCwgJk5NRDo6QkVRSUMgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQkVRSUMg Ki8NCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAwMCwgMHhjODA0MDAwMCwgJk5NRDo6QkJFUVpD ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAgICAg LyogQkJFUVpDICovDQo+ICsgICAgeyBicmFuY2hfaW5zdHJ1Y3Rpb24gICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxYzAwMDAsIDB4YzgwODAwMDAsICZO TUQ6OkJHRUlDICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIEJHRUlDICovDQo+ICsgICAgeyBicmFuY2hfaW5zdHJ1Y3Rpb24gICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMxYzAwMDAsIDB4Yzgw YzAwMDAsICZOTUQ6OkJHRUlVQyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIEJHRUlVQyAqLw0KPiArICAgIHsgYnJhbmNoX2luc3RydWN0 aW9uICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMWMw MDAwLCAweGM4MTAwMDAwLCAmTk1EOjpCTkVJQyAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBCTkVJQyAqLw0KPiArICAgIHsgYnJhbmNo X2luc3RydWN0aW9uICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMWMwMDAwLCAweGM4MTQwMDAwLCAmTk1EOjpCQk5FWkMgICAgICAgICAgICwgMCwNCj4g KyAgICAgICBYTU1TXyAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBCQk5FWkMgKi8NCj4gKyAg ICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIs DQo+ICsgICAgICAgMHhmYzFjMDAwMCwgMHhjODE4MDAwMCwgJk5NRDo6QkxUSUMgICAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQkxUSUMg Ki8NCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzFjMDAwMCwgMHhjODFjMDAwMCwgJk5NRDo6QkxUSVVD ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogQkxUSVVDICovDQo+ICt9Ow0KPiArDQo+ICsNCj4gK05NRDo6UG9vbCBOTUQ6OlAzMlszMl0g PSB7DQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUF9BRERJVSAgICAgICAgICAgICAs IDIgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4MDAwMDAwMDAsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFAuQURESVUgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQMzJBICAgICAg ICAgICAgICAgICwgOCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwMCwgMHgyMDAwMDAwMCwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUDMyQSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBf R1BfVyAgICAgICAgICAgICAgLCA0ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDAwLCAweDQw MDAwMDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBQLkdQLlcgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAg ICAgICAgLCBQT09MNDhJICAgICAgICAgICAgICwgMzIgICwgNDgsDQo+ICsgICAgICAgMHhmYzAw MDAwMDAwMDB1bGwsIDB4NjAwMDAwMDAwMDAwdWxsLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MNDhJICov DQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUF9VMTIgICAgICAgICAgICAgICAsIDE2 ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4ODAwMDAwMDAsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFAuVTEyICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUE9PTDMyRiAgICAgICAg ICAgICAsIDggICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4YTAwMDAwMDAsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIENQMV8gICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFBPT0wzMkYgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQT09M MzJTICAgICAgICAgICAgICwgOCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwMCwgMHhjMDAw MDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUE9PTDMyUyAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAg ICAgICAsIFBfTFVJICAgICAgICAgICAgICAgLCAyICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MDAwLCAweGUwMDAwMDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkxVSSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAg ICAweGZjMDAwMDAwLCAweDA0MDAwMDAwLCAmTk1EOjpBRERJVVBDXzMyXyAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERJVVBDWzMyXSAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDAwLCAweDI0MDAwMDAwLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ MzJ+Kig1KSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBfR1BfQkggICAgICAg ICAgICAgLCA4ICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDAwLCAweDQ0MDAwMDAwLCAwICAg ICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0s ICAgICAgICAvKiBQLkdQLkJIICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4NjQw MDAwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFAzMn4qKDEzKSAqLw0KPiArICAgIHsgcG9vbCAgICAgICAg ICAgICAgICAsIFBfTFNfVTEyICAgICAgICAgICAgLCAxNiAgLCAzMiwNCj4gKyAgICAgICAweGZj MDAwMDAwLCAweDg0MDAwMDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAg ICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkxTLlUxMiAqLw0KPiArICAgIHsg cG9vbCAgICAgICAgICAgICAgICAsIFBfTFNfUzkgICAgICAgICAgICAgLCA4ICAgLCAzMiwNCj4g KyAgICAgICAweGZjMDAwMDAwLCAweGE0MDAwMDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQLkxTLlM5ICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4YzQwMDAwMDAsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFAzMn4qKDI1KSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDAwLCAweGU0MDAwMDAwLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQMzJ+KigyOSkgKi8NCj4gKyAgICB7IGNhbGxfaW5zdHJ1Y3Rpb24gICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwMCwg MHgwODAwMDAwMCwgJk5NRDo6TU9WRV9CQUxDICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1NU18g ICAgICAgICAgICAgICB9LCAgICAgICAgLyogTU9WRS5CQUxDICovDQo+ICsgICAgeyBwb29sICAg ICAgICAgICAgICAgICwgUF9CQUwgICAgICAgICAgICAgICAsIDIgICAsIDMyLA0KPiArICAgICAg IDB4ZmMwMDAwMDAsIDB4MjgwMDAwMDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiAr ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQkFMICovDQo+ICsgICAg eyBwb29sICAgICAgICAgICAgICAgICwgUF9KICAgICAgICAgICAgICAgICAsIDE2ICAsIDMyLA0K PiArICAgICAgIDB4ZmMwMDAwMDAsIDB4NDgwMDAwMDAsIDAgICAgICAgICAgICAgICAgICAgICAg LCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuSiAqLw0K PiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDAwLCAweDY4MDAwMDAwLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ MzJ+KigxNCkgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX0JSMSAgICAgICAg ICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwMCwgMHg4ODAwMDAwMCwgMCAg ICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogUC5CUjEgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQX0JS MiAgICAgICAgICAgICAgICwgNCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwMCwgMHhhODAw MDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogUC5CUjIgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAg ICAgLCBQX0JSSSAgICAgICAgICAgICAgICwgOCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAw MCwgMHhjODAwMDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUC5CUkkgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAg MHhmYzAwMDAwMCwgMHhlODAwMDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUDMyfiooMzApICovDQo+ICsg ICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDMy LA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4MGMwMDAwMDAsIDAgICAgICAgICAgICAgICAgICAg ICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAzMn4q KDMpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4MmMwMDAwMDAsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFAzMn4qKDcpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAg ICAgICAgICAgICAgICAsIDAgICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4NGMwMDAw MDAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFAzMn4qKDExKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAw MDAwLCAweDZjMDAwMDAwLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQMzJ+KigxNSkgKi8NCj4gKyAgICB7IHJl c2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsg ICAgICAgMHhmYzAwMDAwMCwgMHg4YzAwMDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAs DQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUDMyfiooMTkpICov DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDMyLA0KPiArICAgICAgIDB4ZmMwMDAwMDAsIDB4YWMwMDAwMDAsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFAzMn4qKDIzKSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAg ICAgICAgICAgLCAwICAgLCAzMiwNCj4gKyAgICAgICAweGZjMDAwMDAwLCAweGNjMDAwMDAwLCAw ICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAg IH0sICAgICAgICAvKiBQMzJ+KigyNykgKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMzIsDQo+ICsgICAgICAgMHhmYzAwMDAwMCwg MHhlYzAwMDAwMCwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogUDMyfiooMzEpICovDQo+ICt9Ow0KPiArDQo+ICsN Cj4gK05NRDo6UG9vbCBOTUQ6OlAxNl9TWVNDQUxMWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAw eGZmZmMgICAgLCAweDEwMDggICAgLCAmTk1EOjpTWVNDQUxMXzE2XyAgICAgICwgMCwNCj4gKyAg ICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTWVNDQUxMWzE2XSAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAx NiwNCj4gKyAgICAgICAweGZmZmMgICAgLCAweDEwMGMgICAgLCAmTk1EOjpIWVBDQUxMXzE2XyAg ICAgICwgMCwNCj4gKyAgICAgICBDUDBfIHwgVlpfICAgICAgICAgIH0sICAgICAgICAvKiBIWVBD QUxMWzE2XSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQMTZfUklbNF0g PSB7DQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAgICAgICAgICAgICAgICAgICAs IDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmZmOCAgICAsIDB4MTAwMCAgICAsIDAgICAgICAgICAg ICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAg IC8qIFAxNi5SSX4qKDApICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUDE2X1NZ U0NBTEwgICAgICAgICAsIDIgICAsIDE2LA0KPiArICAgICAgIDB4ZmZmOCAgICAsIDB4MTAwOCAg ICAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAg ICAgICAgfSwgICAgICAgIC8qIFAxNi5TWVNDQUxMICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAg ICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmZm OCAgICAsIDB4MTAxMCAgICAsICZOTUQ6OkJSRUFLXzE2XyAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEJSRUFLWzE2XSAqLw0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4g KyAgICAgICAweGZmZjggICAgLCAweDEwMTggICAgLCAmTk1EOjpTREJCUF8xNl8gICAgICAgICwg MCwNCj4gKyAgICAgICBFSlRBR18gICAgICAgICAgICAgIH0sICAgICAgICAvKiBTREJCUFsxNl0g Ki8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UDE2X01WWzJdID0gew0KPiAr ICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFAxNl9SSSAgICAgICAgICAgICAgLCA0ICAgLCAx NiwNCj4gKyAgICAgICAweGZmZTAgICAgLCAweDEwMDAgICAgLCAwICAgICAgICAgICAgICAgICAg ICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQMTYu UkkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHgxMDAwICAgICwgJk5NRDo6TU9W RSAgICAgICAgICAgICAsICZOTUQ6Ok1PVkVfY29uZCAgICAgICAgLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1PVkUgKi8NCj4gK307DQo+ICsNCj4gKw0KPiAr Tk1EOjpQb29sIE5NRDo6UDE2X1NISUZUWzJdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMDgg ICAgLCAweDMwMDAgICAgLCAmTk1EOjpTTExfMTZfICAgICAgICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTTExbMTZdICovDQo+ICsgICAgeyBpbnN0 cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAg ICAgIDB4ZmMwOCAgICAsIDB4MzAwOCAgICAsICZOTUQ6OlNSTF8xNl8gICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFNSTFsxNl0gKi8NCj4g K307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UE9PTDE2Q18wMFs0XSA9IHsNCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYs DQo+ICsgICAgICAgMHhmYzBmICAgICwgMHg1MDAwICAgICwgJk5NRDo6Tk9UXzE2XyAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTk9UWzE2 XSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMGYgICAgLCAweDUwMDQgICAgLCAmTk1EOjpYT1Jf MTZfICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBYT1JbMTZdICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAg ICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwZiAgICAsIDB4NTAwOCAgICAs ICZOTUQ6OkFORF8xNl8gICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIEFORFsxNl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzBmICAgICwg MHg1MDBjICAgICwgJk5NRDo6T1JfMTZfICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogT1JbMTZdICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6OlBPT0wxNkNfMFsyXSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAgICAg ICAgICAgLCBQT09MMTZDXzAwICAgICAgICAgICwgNCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAz ICAgICwgMHg1MDAwICAgICwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUE9PTDE2Q18wMCAqLw0KPiArICAgIHsg cmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4g KyAgICAgICAweGZjMDMgICAgLCAweDUwMDIgICAgLCAwICAgICAgICAgICAgICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQT09MMTZDXzB+ KigxKSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQMTZDWzJdID0gew0K PiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFBPT0wxNkNfMCAgICAgICAgICAgLCAyICAg LCAxNiwNCj4gKyAgICAgICAweGZjMDEgICAgLCAweDUwMDAgICAgLCAwICAgICAgICAgICAgICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQ T09MMTZDXzAgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAg ICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAxICAgICwgMHg1MDAxICAgICwgJk5N RDo6TFdYU18xNl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9 LCAgICAgICAgLyogTFdYU1sxNl0gKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5N RDo6UDE2X0ExWzJdID0gew0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjNDAgICAgLCAweDcwMDAgICAg LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQMTYuQTF+KigwKSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAg ICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjNDAg ICAgLCAweDcwNDAgICAgLCAmTk1EOjpBRERJVV9SMV9TUF8gICAgICwgMCwNCj4gKyAgICAgICAw eDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERJVVtSMS5TUF0gKi8NCj4gK307DQo+ ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6UF9BRERJVV9SUzVfWzJdID0gew0KPiArICAgIHsg aW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4g KyAgICAgICAweGZmZTggICAgLCAweDkwMDggICAgLCAmTk1EOjpOT1BfMTZfICAgICAgICAgICwg MCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBOT1BbMTZdICov DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAg ICAsIDE2LA0KPiArICAgICAgIDB4ZmMwOCAgICAsIDB4OTAwOCAgICAsICZOTUQ6OkFERElVX1JT NV8gICAgICAgLCAmTk1EOjpBRERJVV9SUzVfX2NvbmQgICwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBBRERJVVtSUzVdICovDQo+ICt9Ow0KPiArDQo+ICsNCj4g K05NRDo6UG9vbCBOTUQ6OlAxNl9BMlsyXSA9IHsNCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzA4ICAg ICwgMHg5MDAwICAgICwgJk5NRDo6QURESVVfUjJfICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgw ICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQURESVVbUjJdICovDQo+ICsgICAgeyBwb29s ICAgICAgICAgICAgICAgICwgUF9BRERJVV9SUzVfICAgICAgICAsIDIgICAsIDE2LA0KPiArICAg ICAgIDB4ZmMwOCAgICAsIDB4OTAwOCAgICAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAuQURESVVbUlM1XSAq Lw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQMTZfQUREVVsyXSA9IHsNCj4g KyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MTYsDQo+ICsgICAgICAgMHhmYzAxICAgICwgMHhiMDAwICAgICwgJk5NRDo6QUREVV8xNl8gICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQURE VVsxNl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAxICAgICwgMHhiMDAxICAgICwgJk5NRDo6 U1VCVV8xNl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogU1VCVVsxNl0gKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6 UDE2X0pSQ1syXSA9IHsNCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzFmICAgICwgMHhkODAwICAgICwg Jk5NRDo6SlJDICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogSlJDICovDQo+ICsgICAgeyBjYWxsX2luc3RydWN0aW9uICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmMxZiAgICAsIDB4ZDgx MCAgICAsICZOTUQ6OkpBTFJDXzE2XyAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIEpBTFJDWzE2XSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtO TUQ6OlBvb2wgTk1EOjpQMTZfQlIxWzJdID0gew0KPiArICAgIHsgYnJhbmNoX2luc3RydWN0aW9u ICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMDAgICAg LCAweGQ4MDAgICAgLCAmTk1EOjpCRVFDXzE2XyAgICAgICAgICwgJk5NRDo6QkVRQ18xNl9fY29u ZCAgICAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAgICAgLyogQkVRQ1sx Nl0gKi8NCj4gKyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHhkODAwICAgICwgJk5NRDo6Qk5F Q18xNl8gICAgICAgICAsICZOTUQ6OkJORUNfMTZfX2NvbmQgICAgLA0KPiArICAgICAgIFhNTVNf ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIEJORUNbMTZdICovDQo+ICt9Ow0KPiArDQo+ICsN Cj4gK05NRDo6UG9vbCBOTUQ6OlAxNl9CUlsyXSA9IHsNCj4gKyAgICB7IHBvb2wgICAgICAgICAg ICAgICAgLCBQMTZfSlJDICAgICAgICAgICAgICwgMiAgICwgMTYsDQo+ICsgICAgICAgMHhmYzBm ICAgICwgMHhkODAwICAgICwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUDE2LkpSQyAqLw0KPiArICAgIHsgcG9v bCAgICAgICAgICAgICAgICAsIFAxNl9CUjEgICAgICAgICAgICAgLCAyICAgLCAxNiwNCj4gKyAg ICAgICAweGZjMDAgICAgLCAweGQ4MDAgICAgLCAwICAgICAgICAgICAgICAgICAgICAgICwgJk5N RDo6UDE2X0JSMV9jb25kICAgICAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogUDE2LkJSMSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQ MTZfU1JbMl0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmQwMCAgICAsIDB4MWMwMCAgICAsICZO TUQ6OlNBVkVfMTZfICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIFNBVkVbMTZdICovDQo+ICsgICAgeyByZXR1cm5faW5zdHJ1Y3Rpb24gICwg MCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmQwMCAgICAsIDB4 MWQwMCAgICAsICZOTUQ6OlJFU1RPUkVfSlJDXzE2XyAgLCAwLA0KPiArICAgICAgIDB4MCAgICAg ICAgICAgICAgICAgfSwgICAgICAgIC8qIFJFU1RPUkUuSlJDWzE2XSAqLw0KPiArfTsNCj4gKw0K PiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQMTZfNFg0WzRdID0gew0KPiArICAgIHsgaW5zdHJ1Y3Rp b24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAw eGZkMDggICAgLCAweDNjMDAgICAgLCAmTk1EOjpBRERVXzRYNF8gICAgICAgICwgMCwNCj4gKyAg ICAgICBYTU1TXyAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBBRERVWzRYNF0gKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYs DQo+ICsgICAgICAgMHhmZDA4ICAgICwgMHgzYzA4ICAgICwgJk5NRDo6TVVMXzRYNF8gICAgICAg ICAsIDAsDQo+ICsgICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAgICAgLyogTVVMWzRY NF0gKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAg ICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmZDA4ICAgICwgMHgzZDAwICAgICwgMCAgICAgICAg ICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAg ICAgLyogUDE2LjRYNH4qKDIpICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAgICwgMCAg ICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmQwOCAgICAsIDB4M2Qw OCAgICAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAg ICAgICAgICAgfSwgICAgICAgIC8qIFAxNi40WDR+KigzKSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ ICtOTUQ6OlBvb2wgTk1EOjpQMTZfTEJbNF0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwYyAg ICAsIDB4NWMwMCAgICAsICZOTUQ6OkxCXzE2XyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExCWzE2XSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAg ICAweGZjMGMgICAgLCAweDVjMDQgICAgLCAmTk1EOjpTQl8xNl8gICAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBTQlsxNl0gKi8NCj4gKyAg ICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYs DQo+ICsgICAgICAgMHhmYzBjICAgICwgMHg1YzA4ICAgICwgJk5NRDo6TEJVXzE2XyAgICAgICAg ICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTEJVWzE2 XSAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAg LCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMGMgICAgLCAweDVjMGMgICAgLCAwICAgICAgICAg ICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAg ICAvKiBQMTYuTEJ+KigzKSAqLw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQ MTZfTEhbNF0gPSB7DQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAg ICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwOSAgICAsIDB4N2MwMCAgICAsICZO TUQ6OkxIXzE2XyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAg fSwgICAgICAgIC8qIExIWzE2XSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAg ICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMDkgICAgLCAweDdj MDEgICAgLCAmTk1EOjpTSF8xNl8gICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAg ICAgICAgICAgIH0sICAgICAgICAvKiBTSFsxNl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAg ICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzA5 ICAgICwgMHg3YzA4ICAgICwgJk5NRDo6TEhVXzE2XyAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogTEhVWzE2XSAqLw0KPiArICAgIHsgcmVz ZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAg ICAgICAweGZjMDkgICAgLCAweDdjMDkgICAgLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQMTYuTEh+KigzKSAq Lw0KPiArfTsNCj4gKw0KPiArDQo+ICtOTUQ6OlBvb2wgTk1EOjpQMTZbMzJdID0gew0KPiArICAg IHsgcG9vbCAgICAgICAgICAgICAgICAsIFAxNl9NViAgICAgICAgICAgICAgLCAyICAgLCAxNiwN Cj4gKyAgICAgICAweGZjMDAgICAgLCAweDEwMDAgICAgLCAwICAgICAgICAgICAgICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQMTYuTVYg Ki8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQMTZfU0hJRlQgICAgICAgICAgICwg MiAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHgzMDAwICAgICwgMCAgICAgICAgICAg ICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogUDE2LlNISUZUICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUDE2QyAgICAg ICAgICAgICAgICAsIDIgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwMCAgICAsIDB4NTAwMCAgICAs IDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAg ICAgfSwgICAgICAgIC8qIFAxNkMgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQ MTZfQTEgICAgICAgICAgICAgICwgMiAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHg3 MDAwICAgICwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAg ICAgICAgICAgICB9LCAgICAgICAgLyogUDE2LkExICovDQo+ICsgICAgeyBwb29sICAgICAgICAg ICAgICAgICwgUDE2X0EyICAgICAgICAgICAgICAsIDIgICAsIDE2LA0KPiArICAgICAgIDB4ZmMw MCAgICAsIDB4OTAwMCAgICAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAg IDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAxNi5BMiAqLw0KPiArICAgIHsgcG9v bCAgICAgICAgICAgICAgICAsIFAxNl9BRERVICAgICAgICAgICAgLCAyICAgLCAxNiwNCj4gKyAg ICAgICAweGZjMDAgICAgLCAweGIwMDAgICAgLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwN Cj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBQMTYuQUREVSAqLw0K PiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAg LCAxNiwNCj4gKyAgICAgICAweGZjMDAgICAgLCAweGQwMDAgICAgLCAmTk1EOjpMSV8xNl8gICAg ICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBM SVsxNl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAg ICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHhmMDAwICAgICwgJk5NRDo6 QU5ESV8xNl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAg ICAgICAgLyogQU5ESVsxNl0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAgLCAwICAg ICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHgxNDAw ICAgICwgJk5NRDo6TFdfMTZfICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAg ICAgICAgICB9LCAgICAgICAgLyogTFdbMTZdICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAg ICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwMCAg ICAsIDB4MzQwMCAgICAsICZOTUQ6OkxXX1NQXyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4 MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIExXW1NQXSAqLw0KPiArICAgIHsgaW5zdHJ1 Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAg ICAweGZjMDAgICAgLCAweDU0MDAgICAgLCAmTk1EOjpMV19HUDE2XyAgICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMV1tHUDE2XSAqLw0KPiAr ICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAx NiwNCj4gKyAgICAgICAweGZjMDAgICAgLCAweDc0MDAgICAgLCAmTk1EOjpMV180WDRfICAgICAg ICAgICwgMCwNCj4gKyAgICAgICBYTU1TXyAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBMV1s0 WDRdICovDQo+ICsgICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAg ICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwMCAgICAsIDB4OTQwMCAgICAsICZOTUQ6OlNX XzE2XyAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFNXWzE2XSAqLw0KPiArICAgIHsgaW5zdHJ1Y3Rpb24gICAgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMDAgICAgLCAweGI0MDAgICAg LCAmTk1EOjpTV19TUF8gICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBTV1tTUF0gKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAgICAg LCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwg MHhkNDAwICAgICwgJk5NRDo6U1dfR1AxNl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAg ICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1dbR1AxNl0gKi8NCj4gKyAgICB7IGluc3RydWN0 aW9uICAgICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAg MHhmYzAwICAgICwgMHhmNDAwICAgICwgJk5NRDo6U1dfNFg0XyAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgWE1NU18gICAgICAgICAgICAgICB9LCAgICAgICAgLyogU1dbNFg0XSAqLw0KPiArICAg IHsgYnJhbmNoX2luc3RydWN0aW9uICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwN Cj4gKyAgICAgICAweGZjMDAgICAgLCAweDE4MDAgICAgLCAmTk1EOjpCQ18xNl8gICAgICAgICAg ICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBCQ1sxNl0g Ki8NCj4gKyAgICB7IGNhbGxfaW5zdHJ1Y3Rpb24gICAgLCAwICAgICAgICAgICAgICAgICAgICwg MCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHgzODAwICAgICwgJk5NRDo6QkFMQ18x Nl8gICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAg LyogQkFMQ1sxNl0gKi8NCj4gKyAgICB7IHJlc2VydmVkX2Jsb2NrICAgICAgLCAwICAgICAgICAg ICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHg1ODAwICAgICwg MCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAg ICB9LCAgICAgICAgLyogUDE2fiooMTApICovDQo+ICsgICAgeyByZXNlcnZlZF9ibG9jayAgICAg ICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwMCAgICAs IDB4NzgwMCAgICAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAxNn4qKDE0KSAqLw0KPiArICAgIHsgYnJhbmNo X2luc3RydWN0aW9uICAsIDAgICAgICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAg ICAweGZjMDAgICAgLCAweDk4MDAgICAgLCAmTk1EOjpCRVFaQ18xNl8gICAgICAgICwgMCwNCj4g KyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAgICAgICAvKiBCRVFaQ1sxNl0gKi8NCj4g KyAgICB7IGJyYW5jaF9pbnN0cnVjdGlvbiAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwg MTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHhiODAwICAgICwgJk5NRDo6Qk5FWkNfMTZfICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogQk5F WkNbMTZdICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUDE2X0JSICAgICAgICAg ICAgICAsIDIgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwMCAgICAsIDB4ZDgwMCAgICAsIDAgICAg ICAgICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwg ICAgICAgIC8qIFAxNi5CUiAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAg ICAgICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMDAgICAgLCAweGY4MDAg ICAgLCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAg ICAgICAgIH0sICAgICAgICAvKiBQMTZ+KigzMCkgKi8NCj4gKyAgICB7IHBvb2wgICAgICAgICAg ICAgICAgLCBQMTZfU1IgICAgICAgICAgICAgICwgMiAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAw ICAgICwgMHgxYzAwICAgICwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAg MHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUDE2LlNSICovDQo+ICsgICAgeyBwb29s ICAgICAgICAgICAgICAgICwgUDE2XzRYNCAgICAgICAgICAgICAsIDQgICAsIDE2LA0KPiArICAg ICAgIDB4ZmMwMCAgICAsIDB4M2MwMCAgICAsIDAgICAgICAgICAgICAgICAgICAgICAgLCAwLA0K PiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIFAxNi40WDQgKi8NCj4g KyAgICB7IHBvb2wgICAgICAgICAgICAgICAgLCBQMTZfTEIgICAgICAgICAgICAgICwgNCAgICwg MTYsDQo+ICsgICAgICAgMHhmYzAwICAgICwgMHg1YzAwICAgICwgMCAgICAgICAgICAgICAgICAg ICAgICAsIDAsDQo+ICsgICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUDE2 LkxCICovDQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUDE2X0xIICAgICAgICAgICAg ICAsIDQgICAsIDE2LA0KPiArICAgICAgIDB4ZmMwMCAgICAsIDB4N2MwMCAgICAsIDAgICAgICAg ICAgICAgICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAg ICAgIC8qIFAxNi5MSCAqLw0KPiArICAgIHsgcmVzZXJ2ZWRfYmxvY2sgICAgICAsIDAgICAgICAg ICAgICAgICAgICAgLCAwICAgLCAxNiwNCj4gKyAgICAgICAweGZjMDAgICAgLCAweDljMDAgICAg LCAwICAgICAgICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAg ICAgIH0sICAgICAgICAvKiBQMTZ+KigxOSkgKi8NCj4gKyAgICB7IGluc3RydWN0aW9uICAgICAg ICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAgMHhmYzAwICAg ICwgMHhiYzAwICAgICwgJk5NRDo6TU9WRVAgICAgICAgICAgICAsIDAsDQo+ICsgICAgICAgWE1N U18gICAgICAgICAgICAgICB9LCAgICAgICAgLyogTU9WRVAgKi8NCj4gKyAgICB7IHJlc2VydmVk X2Jsb2NrICAgICAgLCAwICAgICAgICAgICAgICAgICAgICwgMCAgICwgMTYsDQo+ICsgICAgICAg MHhmYzAwICAgICwgMHhkYzAwICAgICwgMCAgICAgICAgICAgICAgICAgICAgICAsIDAsDQo+ICsg ICAgICAgMHgwICAgICAgICAgICAgICAgICB9LCAgICAgICAgLyogUDE2fiooMjcpICovDQo+ICsg ICAgeyBpbnN0cnVjdGlvbiAgICAgICAgICwgMCAgICAgICAgICAgICAgICAgICAsIDAgICAsIDE2 LA0KPiArICAgICAgIDB4ZmMwMCAgICAsIDB4ZmMwMCAgICAsICZOTUQ6Ok1PVkVQX1JFVl8gICAg ICAgLCAwLA0KPiArICAgICAgIFhNTVNfICAgICAgICAgICAgICAgfSwgICAgICAgIC8qIE1PVkVQ W1JFVl0gKi8NCj4gK307DQo+ICsNCj4gKw0KPiArTk1EOjpQb29sIE5NRDo6TUFKT1JbMl0gPSB7 DQo+ICsgICAgeyBwb29sICAgICAgICAgICAgICAgICwgUDMyICAgICAgICAgICAgICAgICAsIDMy ICAsIDMyLA0KPiArICAgICAgIDB4MTAwMDAwMDAsIDB4MDAwMDAwMDAsIDAgICAgICAgICAgICAg ICAgICAgICAgLCAwLA0KPiArICAgICAgIDB4MCAgICAgICAgICAgICAgICAgfSwgICAgICAgIC8q IFAzMiAqLw0KPiArICAgIHsgcG9vbCAgICAgICAgICAgICAgICAsIFAxNiAgICAgICAgICAgICAg ICAgLCAzMiAgLCAxNiwNCj4gKyAgICAgICAweDEwMDAgICAgLCAweDEwMDAgICAgLCAwICAgICAg ICAgICAgICAgICAgICAgICwgMCwNCj4gKyAgICAgICAweDAgICAgICAgICAgICAgICAgIH0sICAg ICAgICAvKiBQMTYgKi8NCj4gK307DQo+IGRpZmYgLS1naXQgYS9kaXNhcy9uYW5vbWlwcy5oIGIv ZGlzYXMvbmFub21pcHMuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw Li44NGNjOWE2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZGlzYXMvbmFub21pcHMuaA0KPiBA QCAtMCwwICsxLDEwOTkgQEANCj4gKy8qDQo+ICsgKiAgSGVhZGVyIGZpbGUgZm9yIG5hbm9NSVBT IGRpc2Fzc2VtYmxlciBjb21wb25lbnQgb2YgUUVNVQ0KPiArICoNCj4gKyAqICBDb3B5cmlnaHQg KEMpIDIwMTggIFdhdmUgQ29tcHV0aW5nDQo+ICsgKiAgQ29weXJpZ2h0IChDKSAyMDE4ICBNYXR0 aGV3IEZvcnR1bmUgPG1hdHRoZXcuZm9ydHVuZUBtaXBzLmNvbT4NCj4gKyAqICBDb3B5cmlnaHQg KEMpIDIwMTggIEFsZWtzYW5kYXIgTWFya292aWMgPGFsZWtzYW5kYXIubWFya292aWNAd2F2ZWNv bXAuY29tPg0KPiArICoNCj4gKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KPiArICogIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQo+ ICsgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3INCj4gKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u Lg0KPiArICoNCj4gKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCj4gKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiArICogIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCj4gKyAq ICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPiArICoNCj4g KyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQ0KPiArICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCj4gKyAqLw0KPiArDQo+ICsjaWZu ZGVmIE5BTk9NSVBTX0RJU0FTU0VNQkxFUl9IDQo+ICsjZGVmaW5lIE5BTk9NSVBTX0RJU0FTU0VN QkxFUl9IDQo+ICsNCj4gKyNpbmNsdWRlIDxzdHJpbmc+DQo+ICsNCj4gK3R5cGVkZWYgdW5zaWdu ZWQgc2hvcnQgdWludDE2Ow0KPiArdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyOw0KPiArdHlw ZWRlZiBsb25nIGxvbmcgaW50NjQ7DQo+ICt0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1aW50 NjQ7DQo+ICsNCj4gK25hbWVzcGFjZSBpbWcNCj4gK3sNCj4gKyAgICB0eXBlZGVmIHVuc2lnbmVk IGxvbmcgbG9uZyBhZGRyZXNzOw0KPiArfQ0KPiArDQo+ICsNCj4gK2NsYXNzIE5NRA0KPiArew0K PiArcHVibGljOg0KPiArDQo+ICsgICAgZW51bSBUQUJMRV9FTlRSWV9UWVBFIHsNCj4gKyAgICAg ICAgaW5zdHJ1Y3Rpb24sDQo+ICsgICAgICAgIGNhbGxfaW5zdHJ1Y3Rpb24sDQo+ICsgICAgICAg IGJyYW5jaF9pbnN0cnVjdGlvbiwNCj4gKyAgICAgICAgcmV0dXJuX2luc3RydWN0aW9uLA0KPiAr ICAgICAgICByZXNlcnZlZF9ibG9jaywNCj4gKyAgICAgICAgcG9vbCwNCj4gKyAgICB9Ow0KPiAr DQo+ICsgICAgZW51bSBUQUJMRV9BVFRSSUJVVEVfVFlQRSB7DQo+ICsgICAgICAgIE1JUFM2NF8g ICAgPSAweDAwMDAwMDAxLA0KPiArICAgICAgICBYTlBfICAgICAgID0gMHgwMDAwMDAwMiwNCj4g KyAgICAgICAgWE1NU18gICAgICA9IDB4MDAwMDAwMDQsDQo+ICsgICAgICAgIEVWQV8gICAgICAg PSAweDAwMDAwMDA4LA0KPiArICAgICAgICBEU1BfICAgICAgID0gMHgwMDAwMDAxMCwNCj4gKyAg ICAgICAgTVRfICAgICAgICA9IDB4MDAwMDAwMjAsDQo+ICsgICAgICAgIEVKVEFHXyAgICAgPSAw eDAwMDAwMDQwLA0KPiArICAgICAgICBUTEJJTlZfICAgID0gMHgwMDAwMDA4MCwNCj4gKyAgICAg ICAgQ1AwXyAgICAgICA9IDB4MDAwMDAxMDAsDQo+ICsgICAgICAgIENQMV8gICAgICAgPSAweDAw MDAwMjAwLA0KPiArICAgICAgICBDUDJfICAgICAgID0gMHgwMDAwMDQwMCwNCj4gKyAgICAgICAg VURJXyAgICAgICA9IDB4MDAwMDA4MDAsDQo+ICsgICAgICAgIE1DVV8gICAgICAgPSAweDAwMDAx MDAwLA0KPiArICAgICAgICBWWl8gICAgICAgID0gMHgwMDAwMjAwMCwNCj4gKyAgICAgICAgVExC XyAgICAgICA9IDB4MDAwMDQwMDAsDQo+ICsgICAgICAgIE1WSF8gICAgICAgPSAweDAwMDA4MDAw LA0KPiArICAgICAgICBBTExfQVRUUklCVVRFUyA9IDB4ZmZmZmZmZmZ1bGwsDQo+ICsgICAgfTsN Cj4gKw0KPiArDQo+ICsgICAgTk1EKGltZzo6YWRkcmVzcyBwYywgVEFCTEVfQVRUUklCVVRFX1RZ UEUgcmVxdWVzdGVkX2luc3RydWN0aW9uX2NhdGVnb3JpZXMpDQo+ICsgICAgICAgIDogbV9wYyhw YykNCj4gKyAgICAgICAgLCBtX3JlcXVlc3RlZF9pbnN0cnVjdGlvbl9jYXRlZ29yaWVzKHJlcXVl c3RlZF9pbnN0cnVjdGlvbl9jYXRlZ29yaWVzKQ0KPiArICAgIHsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICBpbnQgRGlzYXNzZW1ibGUoY29uc3QgdWludDE2ICpkYXRhLCBzdGQ6OnN0cmluZyAmIGRp cywNCj4gKyAgICAgICAgICAgICAgICAgICAgVEFCTEVfRU5UUllfVFlQRSAmIHR5cGUpOw0KPiAr DQo+ICtwcml2YXRlOg0KPiArDQo+ICsgICAgaW1nOjphZGRyZXNzICAgICAgICAgICBtX3BjOw0K PiArICAgIFRBQkxFX0FUVFJJQlVURV9UWVBFICAgbV9yZXF1ZXN0ZWRfaW5zdHJ1Y3Rpb25fY2F0 ZWdvcmllczsNCj4gKw0KPiArICAgIHR5cGVkZWYgc3RkOjpzdHJpbmcoTk1EOjogKmRpc2Fzc2Vt Ymx5X2Z1bmN0aW9uKSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHR5cGVkZWYgYm9vbChO TUQ6OiAqY29uZGl0aW9uYWxfZnVuY3Rpb24pKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsNCj4g KyAgICBzdHJ1Y3QgUG9vbCB7DQo+ICsgICAgICAgIFRBQkxFX0VOVFJZX1RZUEUgICAgIHR5cGU7 DQo+ICsgICAgICAgIHN0cnVjdCBQb29sICAgICAgICAgICpuZXh0X3RhYmxlOw0KPiArICAgICAg ICBpbnQgICAgICAgICAgICAgICAgICBuZXh0X3RhYmxlX3NpemU7DQo+ICsgICAgICAgIGludCAg ICAgICAgICAgICAgICAgIGluc3RydWN0aW9uc19zaXplOw0KPiArICAgICAgICB1aW50NjQgICAg ICAgICAgICAgICBtYXNrOw0KPiArICAgICAgICB1aW50NjQgICAgICAgICAgICAgICB2YWx1ZTsN Cj4gKyAgICAgICAgZGlzYXNzZW1ibHlfZnVuY3Rpb24gZGlzYXNzZW1ibHk7DQo+ICsgICAgICAg IGNvbmRpdGlvbmFsX2Z1bmN0aW9uIGNvbmRpdGlvbjsNCj4gKyAgICAgICAgdWludDY0ICAgICAg ICAgICAgICAgYXR0cmlidXRlczsNCj4gKyAgICB9Ow0KPiArDQo+ICsgICAgdWludDY0IGV4dHJh Y3Rfb3BfY29kZV92YWx1ZShjb25zdCB1aW50MTYgKmRhdGEsIGludCBzaXplKTsNCj4gKyAgICBp bnQgRGlzYXNzZW1ibGUoY29uc3QgdWludDE2ICpkYXRhLCBzdGQ6OnN0cmluZyAmIGRpcywNCj4g KyAgICAgICAgICAgICAgICAgICAgVEFCTEVfRU5UUllfVFlQRSAmIHR5cGUsIGNvbnN0IFBvb2wg KnRhYmxlLCBpbnQgdGFibGVfc2l6ZSk7DQo+ICsNCj4gKyAgICB1aW50NjQgcmVudW1iZXJfcmVn aXN0ZXJzKHVpbnQ2NCBpbmRleCwgdWludDY0ICpyZWdpc3Rlcl9saXN0LA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHJlZ2lzdGVyX2xpc3Rfc2l6ZSk7DQo+ICsgICAg dWludDY0IGVuY29kZV9ncHIzKHVpbnQ2NCBkKTsNCj4gKyAgICB1aW50NjQgZW5jb2RlX2dwcjNf c3RvcmUodWludDY0IGQpOw0KPiArICAgIHVpbnQ2NCBlbmNvZGVfcmQxX2Zyb21fcmQodWludDY0 IGQpOw0KPiArICAgIHVpbnQ2NCBlbmNvZGVfZ3ByNF96ZXJvKHVpbnQ2NCBkKTsNCj4gKyAgICB1 aW50NjQgZW5jb2RlX2dwcjQodWludDY0IGQpOw0KPiArICAgIHVpbnQ2NCBlbmNvZGVfcmQyX3Jl ZzEodWludDY0IGQpOw0KPiArICAgIHVpbnQ2NCBlbmNvZGVfcmQyX3JlZzIodWludDY0IGQpOw0K PiArDQo+ICsgICAgdWludDY0IGNvcHkodWludDY0IGQpOw0KPiArICAgIGludDY0IGNvcHkoaW50 NjQgZCk7DQo+ICsgICAgaW50NjQgbmVnX2NvcHkodWludDY0IGQpOw0KPiArICAgIGludDY0IG5l Z19jb3B5KGludDY0IGQpOw0KPiArICAgIHVpbnQ2NCBlbmNvZGVfcnMzX2FuZF9jaGVja19yczNf Z2VfcnQzKHVpbnQ2NCBkKTsNCj4gKyAgICB1aW50NjQgZW5jb2RlX3JzM19hbmRfY2hlY2tfcnMz X2x0X3J0Myh1aW50NjQgZCk7DQo+ICsgICAgdWludDY0IGVuY29kZV9zX2Zyb21fYWRkcmVzcyh1 aW50NjQgZCk7DQo+ICsgICAgdWludDY0IGVuY29kZV91X2Zyb21fYWRkcmVzcyh1aW50NjQgZCk7 DQo+ICsgICAgdWludDY0IGVuY29kZV9zX2Zyb21fc19oaSh1aW50NjQgZCk7DQo+ICsgICAgdWlu dDY0IGVuY29kZV9jb3VudDNfZnJvbV9jb3VudCh1aW50NjQgZCk7DQo+ICsgICAgdWludDY0IGVu Y29kZV9zaGlmdDNfZnJvbV9zaGlmdCh1aW50NjQgZCk7DQo+ICsgICAgaW50NjQgZW5jb2RlX2V1 X2Zyb21fc19saTE2KHVpbnQ2NCBkKTsNCj4gKyAgICB1aW50NjQgZW5jb2RlX21zYmRfZnJvbV9z aXplKHVpbnQ2NCBkKTsNCj4gKyAgICB1aW50NjQgZW5jb2RlX2V1X2Zyb21fdV9hbmRpMTYodWlu dDY0IGQpOw0KPiArDQo+ICsgICAgdWludDY0IGVuY29kZV9tc2JkX2Zyb21fcG9zX2FuZF9zaXpl KHVpbnQ2NCBkKTsNCj4gKw0KPiArICAgIHVpbnQ2NCBlbmNvZGVfcnQxX2Zyb21fcnQodWludDY0 IGQpOw0KPiArICAgIHVpbnQ2NCBlbmNvZGVfbHNiX2Zyb21fcG9zX2FuZF9zaXplKHVpbnQ2NCBk KTsNCj4gKw0KPiArICAgIHN0ZDo6c3RyaW5nIHNhdmVfcmVzdG9yZV9saXN0KHVpbnQ2NCBydCwg dWludDY0IGNvdW50LCB1aW50NjQgZ3ApOw0KPiArDQo+ICsgICAgc3RkOjpzdHJpbmcgR1BSKHVp bnQ2NCByZWcpOw0KPiArICAgIHN0ZDo6c3RyaW5nIEZQUih1aW50NjQgcmVnKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBBQyh1aW50NjQgcmVnKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBJTU1FRElBVEUo dWludDY0IHZhbHVlKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBJTU1FRElBVEUoaW50NjQgdmFsdWUp Ow0KPiArICAgIHN0ZDo6c3RyaW5nIENQUih1aW50NjQgcmVnKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBBRERSRVNTKHVpbnQ2NCB2YWx1ZSwgaW50IGluc3RydWN0aW9uX3NpemUpOw0KPiArDQo+ICsg ICAgaW50NjQgZXh0cmFjdF9zXzRfMl8xXzAodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBp bnQ2NCBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgaW50NjQgZXh0cl9zaWwwaWwxMGJzMV9pbDFpbDFiczlUbXNiMTAodWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBleHRyX3NpbDBpbDExYnMxX2lsMWlsMWJzMTBUbXNi MTEodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBleHRyX3NpbDBpbDE0YnMxX2ls MWlsMWJzMTNUbXNiMTQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBleHRyX3Np bDBpbDE2YnMxNl9pbDE2aWwwYnMxNlRtc2IzMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAg IGludDY0IGV4dHJfc2lsMGlsMjFiczFfaWwxaWwxYnMyMFRtc2IyMSh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIGludDY0IGV4dHJfc2lsMGlsMjViczFfaWwxaWwxYnMyNFRtc2IyNSh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGludDY0IGV4dHJfc2lsMGlsMzFiczFfaWwyaWwyMWJz MTBfaWwxMmlsMTJiczlUbXNiMzEodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBl eHRyX3NpbDBpbDdiczFfaWwxaWwxYnM2VG1zYjcodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBpbnQ2NCBleHRyX3NpbDExaWwwYnMxMFRtc2I5KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgaW50NjQgZXh0cmFjdF9zaGlmdF8yMV8yMF8xOV8xOF8xN18xNih1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIGludDY0IGV4dHJfc2lsMmlsMmJzNl9pbDE1aWw4YnMxVG1zYjgodWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBleHRyX3NpbDNpbDNiczVfaWwxNWlsOGJzMVRt c2I4KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9hY18x M18xMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X2JpdF8xNl8x NV8xNF8xM18xMl8xMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0 X2JpdF8yM18yMl8yMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0 X2Mwc18yMF8xOV8xOF8xN18xNih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBl eHRyYWN0X2NvZGVfMTdfdG9fMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBl eHRyYWN0X2NvZGVfMThfdG9fMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBl eHRyYWN0X2NvZGVfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJh Y3RfY29kZV8yXzFfMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0 X2NvZGVfMjVfMjRfMjNfMjJfMjFfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZXh0cmFjdF9jb2Z1bl8yNV8yNF8yMyh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBleHRyYWN0X2NvdW50M18xNF8xM18xMih1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X2NvdW50XzNfMl8xXzAodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9jb3VudF8xOV8xOF8xN18xNih1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X2NzXzIwXzE5XzE4XzE3XzE2KHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3RfY3NfMjVfMjRfMjNfMjJfMjEo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9jdF8yNV8yNF8yM18y Ml8yMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X2V1XzNfMl8x XzAodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9ldV82XzVfNF8z XzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3RfZmRfMTBf OV84XzdfNih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3Rf ZnRfMTVfMTRfMTNfMTJfMTEodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0 cmFjdF9mdF8yMF8xOV8xOF8xN18xNih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBleHRyYWN0X2dwXzIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFj dF9oaW50XzI1XzI0XzIzXzIyXzIxKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGV4dHJhY3RfaHNfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZXh0cmFjdF9sc2JfNF8zXzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGV4dHJhY3RfbWFza18yMF8xOV8xOF8xN18xNl8xNV8xNCh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X21zYnRfMTBfOV84XzdfNih1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X29wXzI1XzI0XzIzXzIyXzIxKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3Rfb3BfMjVfdG9fMyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3JkbF8yNV8yNCh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3JkMl8zXzgodWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9yZDNfM18yXzEodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZXh0cmFjdF9yZF8yMF8xOV8xOF8xN18xNih1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3JzM182XzVfNCh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3JzNF80XzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGV4dHJhY3RfcnNfNF8zXzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9yc3o0XzRfMl8xXzAodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9ydGxfMTEodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZXh0cmFjdF9ydDNfOV84XzcodWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZXh0cmFjdF9ydDRfOV83XzZfNSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGV4dHJhY3RfcnRfNDFfNDBfMzlfMzhfMzcodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9ydF85XzhfN182XzUodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9ydHozXzlfOF83KHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IGV4dHJhY3RfcnR6NF8yN18yNl8yNV8yM18yMl8yMSh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3J0ejRfOV83XzZfNSh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3J1XzdfNl81XzRfMyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3NhXzE1XzE0XzEzXzEyXzExKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3Rfc2FfMTVfMTRfMTNfMTIo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9zYV8xNV8xNF8xMyh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3NlbF8xM18xMl8xMSh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3NlbF8xNV8xNF8xM18x Ml8xMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3NoaWZ0M18y XzFfMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3NoaWZ0XzRf M18yXzFfMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3NoaWZ0 XzVfNF8zXzJfMV8wKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3Rf c2hpZnRfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZXh0cmFjdF9zaGlmdF8xMF85XzhfN182KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGV4dHJhY3Rfc2hpZnR4XzExXzEwXzlfOF83XzYodWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZXh0cl9zaGlmdHhpbDdpbDFiczRGbXNiNCh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3NpemVfMjBfMTlfMThfMTdfMTYodWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF9zdHJpcGVfNih1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3N0eXBlXzIwXzE5XzE4XzE3XzE2KHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3RfdTJfMTBfOSh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFf MCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3VfMTVfdG9fMCh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3VfMTdfdG9fMCh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3VfMV8wKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMGlsMWJzNEZtc2I0KHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMGlsMmJzM0Ztc2I0KHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMGlsMmJzNEZtc2I1KHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMGlsMmJzNUZtc2I2KHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMGlsMmJzNkZtc2I3KHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMGlsMmJzN0Ztc2I4KHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMGlsMzJiczMyRm1zYjYzKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJhY3RfdV8xMCh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBleHRyYWN0X3VfMTdfMTZfMTVfMTRfMTNfMTJfMTEodWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cmFjdF91XzIwXzE5XzE4XzE3XzE2XzE1 XzE0XzEzKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWlsMWlsMWJz MTdGbXNiMTcodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl91aWwxaWwx YnMyRm1zYjIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl91aWwyaWwy YnMxNkZtc2IxNyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyX3VpbDJp bDJiczE5Rm1zYjIwKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfdWls M2lsM2JzMThGbXNiMjAodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl91 aWwzaWwzYnMxX2lsOGlsMmJzMUZtc2IzKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGV4dHJfdWlsM2lsM2JzOUZtc2IxMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBleHRyX3VpbDRpbDRiczRGbXNiNyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBleHRyX3hpbDBpbDBiczEyRm1zYjExKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGV4dHJfeGlsMGlsMGJzM19pbDRpbDBiczFGbXNiMih1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBleHRyX3hpbDEwaWwwYnMxRm1zYjAodWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZXh0cl94aWwxMGlsMGJzMV9pbDExaWwwYnM1Rm1zYjQodWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl94aWwxMGlsMGJzMV9pbDE0aWwwYnMy Rm1zYjEodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl94aWwxMGlsMGJz NF9pbDIyaWwwYnM0Rm1zYjModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0 cl94aWwxMGlsMGJzNkZtc2I1KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGV4 dHJfeGlsMTFpbDBiczFGbXNiMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBl eHRyX3hpbDExaWwwYnM1Rm1zYjQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZXh0cl94aWwxMmlsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGV4dHJfeGlsMTRpbDBiczFfaWwxNWlsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGV4dHJfeGlsMTRpbDBiczJGbXNiMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBleHRyX3hpbDE1aWwwYnMxRm1zYjAodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZXh0cl94aWwxNmlsMGJzMTBGbXNiOSh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBleHRyX3hpbDE2aWwwYnM1Rm1zYjQodWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZXh0cl94aWwxN2lsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IGV4dHJfeGlsMTdpbDBiczlGbXNiOCh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBleHRyX3hpbDIxaWwwYnM1Rm1zYjQodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl94aWwyNGlsMGJzMUZtc2IwKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGV4dHJfeGlsMmlsMGJzMV9pbDE1aWwwYnMxRm1zYjAodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl94aWw2aWwwYnMzRm1zYjIodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZXh0cl94aWw2aWwwYnMzX2lsMTBpbDBi czFGbXNiMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyX3hpbDlpbDBi czJGbXNiMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyX3hpbDlpbDBi czNGbXNiMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBleHRyX3hpbDlpbDBi czNfaWwxNmlsMGJzNUZtc2I0KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBib29s IEFERElVXzMyX19jb25kKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgYm9vbCBBRERJVV9S UzVfX2NvbmQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBib29sIEJBTFJTQ19jb25kKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgYm9vbCBCRVFDXzE2X19jb25kKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgYm9vbCBCTkVDXzE2X19jb25kKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgYm9vbCBNT1ZFX2NvbmQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBib29s IFAxNl9CUjFfY29uZCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGJvb2wgUFJFRl9TOV9f Y29uZCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIGJvb2wgUFJFRkVfY29uZCh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIGJvb2wgU0xUVV9jb25kKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsNCj4gKyAgICBzdGQ6OnN0cmluZyBBQlNfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIEFCU19TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgQUJTUV9TX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg QUJTUV9TX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQUJTUV9T X1codWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBQ0xSKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQUREKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgQUREX0QodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBBRERfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IEFERElVXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFERElV XzQ4Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFERElVX0dQNDhf KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQURESVVfR1BfQl8odWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBRERJVV9HUF9XXyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFERElVX05FR18odWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBRERJVV9SMV9TUF8odWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBRERJVV9SMl8odWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBBRERJVV9SUzVfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgc3RkOjpzdHJpbmcgQURESVVQQ18zMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBBRERJVVBDXzQ4Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIEFERFFfUEgodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBB RERRX1NfUEgodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBRERRX1Nf Vyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFERFFIX1BIKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQUREUUhfUl9QSCh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFERFFIX1JfVyh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFERFFIX1codWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBBRERTQyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIEFERFVfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg QUREVV8zMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBRERVXzRY NF8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBRERVX1BIKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQUREVV9RQih1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFERFVfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIEFERFVfU19RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIEFERFVIX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgQUREVUhfUl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIEFERFdDKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQUxVSVBD KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQU5EXzE2Xyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEFORF8zMl8odWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBBTkRJXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIEFORElfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgQVBQRU5EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgQVNFVCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJBTENfMTZf KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQkFMQ18zMl8odWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBCQUxSU0ModWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBCQkVRWkModWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBCQk5FWkModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBCQ18xNl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBC Q18zMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBCQzFFUVpDKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQkMxTkVaQyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJDMkVRWkModWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBCQzJORVpDKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgc3RkOjpzdHJpbmcgQkVRQ18xNl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBCRVFDXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IEJFUUlDKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQkVRWkNfMTZf KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQkdFQyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJHRUlDKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgQkdFSVVDKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgQkdFVUModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBCTFRDKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQkxUSUModWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBCTFRJVUModWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBCTFRVQyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIEJORUNfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgQk5FQ18zMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBCTkVJQyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJORVpD XzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJQT1NHRTMyQyh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJSRUFLXzE2Xyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJSRUFLXzMyXyh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEJSU0ModWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBDQUNIRSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIENBQ0hFRSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENF SUxfTF9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ0VJTF9MX1Mo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDRUlMX1dfRCh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENFSUxfV19TKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ0ZDMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIENGQzIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBDTEFTU19EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ0xB U1NfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENMTyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENMWih1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9BRl9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgc3RkOjpzdHJpbmcgQ01QX0FGX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBDTVBfRVFfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IENNUF9FUV9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9F UV9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ01QX0xFX0QodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDTVBfTEVfUEgodWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDTVBfTEVfUyh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9MVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgc3RkOjpzdHJpbmcgQ01QX0xUX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgQ01QX0xUX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBDTVBfTkVfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENN UF9ORV9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ01QX09SX0Qo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDTVBfT1JfUyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TQUZfRCh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TQUZfUyh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TRVFfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIENNUF9TRVFfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIENNUF9TTEVfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIENNUF9TTEVfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENN UF9TTFRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TTFRf Uyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TTkVfRCh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TTkVfUyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TT1JfRCh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TT1JfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIENNUF9TVUVRX0QodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBDTVBfU1VFUV9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgQ01QX1NVTEVfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIENNUF9TVUxFX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBD TVBfU1VMVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ01QX1NV TFRfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TVU5fRCh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TVU5fUyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9TVU5FX0QodWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDTVBfU1VORV9TKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ01QX1VFUV9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgc3RkOjpzdHJpbmcgQ01QX1VFUV9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgQ01QX1VMRV9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgQ01QX1VMRV9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg Q01QX1VMVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ01QX1VM VF9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ01QX1VOX0QodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDTVBfVU5fUyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9VTkVfRCh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENNUF9VTkVfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIENNUEdEVV9FUV9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIENNUEdEVV9MRV9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHN0ZDo6c3RyaW5nIENNUEdEVV9MVF9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIENNUEdVX0VRX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgQ01QR1VfTEVfUUIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBDTVBHVV9MVF9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENN UFVfRVFfUUIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDTVBVX0xF X1FCKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ01QVV9MVF9RQih1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENPUDJfMSh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENUQzEodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBDVEMyKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgQ1ZUX0RfTCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IENWVF9EX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDVlRfRF9X KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ1ZUX0xfRCh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENWVF9MX1ModWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDVlRfU19EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgc3RkOjpzdHJpbmcgQ1ZUX1NfTCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIENWVF9TX1BMKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgQ1ZUX1NfUFUodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBDVlRf U19XKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgQ1ZUX1dfRCh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIENWVF9XX1ModWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBEQURESVVfNDhfKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgREFERElVX05FR18odWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBEQURESVVfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIERBREQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBEQUREVSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERDTE8o dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBEQ0xaKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRERJVih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIERESVZVKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgREVSRVQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBE RVhUTSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERFWFQodWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBERVhUVSh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERJTlNNKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgc3RkOjpzdHJpbmcgRElOUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIERJTlNVKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgREkodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBESVYodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBESVZfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIERJVl9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgRElWVSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERMU0Eo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBETFVJXzQ4Xyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERNRkMwKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRE1GQzEodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBETUZDMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIERNRkdDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERNT0Qo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBETU9EVSh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERNVEMwKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgRE1UQzEodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBETVRDMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IERNVEdDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERNVCh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERNVUgodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBETVVIVSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIERNVUwodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBETVVMVSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERQQVFf U19XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFBBUV9TQV9M X1codWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBEUEFRWF9TX1dfUEgo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBEUEFRWF9TQV9XX1BIKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFBBVV9IX1FCTCh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERQQVVfSF9RQlIodWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBEUEFfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIERQQVhfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIERQU19XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgRFBTUV9TQV9MX1codWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBEUFNRX1NfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IERQU1FYX1NBX1dfUEgodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBE UFNRWF9TX1dfUEgodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBEUFNV X0hfUUJMKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFBTVV9IX1FC Uih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERQU1hfV19QSCh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERST1RSKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFJPVFIzMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIERST1RSVih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIERST1RYKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg RFNMTCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERTTEwzMih1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERTTExWKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFNSQSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIERTUkEzMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIERTUkFWKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFNS TDMyKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFNSTCh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIERTUkxWKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFNVQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHN0ZDo6c3RyaW5nIERTVUJVKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgRFZQKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRFZQRSh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEVIQih1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEVJKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgRU1UKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg RVJFVCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEVSRVROQyh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEVWUCh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEVWUEUodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBFWFQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBFWFREKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRVhURDMyKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRVhUUCh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEVYVFBEUCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIEVYVFBEUFYodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBFWFRQVih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IEVYVFJfUlNfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIEVYVFJf Ul9XKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgRVhUUl9TX0godWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBFWFRSX1codWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBFWFRSVl9SX1codWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBFWFRSVl9SU19XKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgc3RkOjpzdHJpbmcgRVhUUlZfU19IKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgRVhUUlZfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIEVYVFcodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBGTE9PUl9M X0QodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBGTE9PUl9MX1ModWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBGTE9PUl9XX0QodWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBGTE9PUl9XX1ModWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBGT1JLKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgc3RkOjpzdHJpbmcgSFlQQ0FMTCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIEhZUENBTExfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgSU5TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgSU5TVih1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIElSRVQodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBKQUxSQ18xNl8odWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBKQUxSQ18zMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBKQUxSQ19IQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIEpSQyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExCXzE2 Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExCX0dQXyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExCX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExCX1UxMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBMQkUodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBMQlVfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTEJV X0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExCVV9TOV8odWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMQlVfVTEyXyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExCVUUodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBMQlVYKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgTEJYKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTERf R1BfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTERfUzlfKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTERfVTEyXyh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExEQzFfR1BfKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgTERDMV9TOV8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBMREMxX1UxMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBMREMxWCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExE QzFYUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExEQzIodWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMRE0odWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMRFBDXzQ4Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIExEWCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIExEWFModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMSF8xNl8o dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMSF9HUF8odWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMSF9TOV8odWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMSF9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgc3RkOjpzdHJpbmcgTEhFKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgTEhVXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExIVV9H UF8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMSFVfUzlfKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTEhVX1UxMl8odWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMSFVFKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgc3RkOjpzdHJpbmcgTEhVWCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIExIVVhTKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTEhY KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTEhYUyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExJXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIExJXzQ4Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHN0ZDo6c3RyaW5nIExMKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg TExEKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTExEUCh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExMRSh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIExMV1AodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBMTFdQRSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IExTQSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExVSSh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExXXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExXXzRYNF8odWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBMV0MxX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIExXQzFfUzlfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgTFdDMV9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTFdD MVgodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMV0MxWFModWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMV0MyKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTFdFKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgTFdfR1BfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgTFdfR1AxNl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMV00o dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBMV1BDXzQ4Xyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExXX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExXX1NQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIExXX1UxMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBMV1VfR1BfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg TFdVX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExXVV9VMTJf KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTFdVWCh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIExXVVhTKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgTFdYKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgTFdYU18xNl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBMV1hTXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1BRERf RFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1BRERGX0QodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNQURERl9TKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTUFERFVfRFNQXyh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1BUV9TX1dfUEhMKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgTUFRX1NfV19QSFIodWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBNQVFfU0FfV19QSEwodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBNQVFfU0FfV19QSFIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBNQVhfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IE1BWF9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTUFYQV9EKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTUFYQV9TKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTUZDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIE1GQzEodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBNRkMyKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTUZH QzAodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNRkhDMCh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1GSEMxKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTUZIQzIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBNRkhHQzAodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBNRkhJX0RTUF8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBN RkhUUih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1GTE9fRFNQXyh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1GVFIodWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNSU5fRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIE1JTl9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgTUlOQV9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg TUlOQV9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTU9EKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTU9EU1VCKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTU9EVSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIE1PVl9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgTU9WX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNT1ZF X0JBTEModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNT1ZFUCh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1PVkVQX1JFVl8odWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNT1ZFKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgTU9WTih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIE1PVloodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBN U1VCX0RTUF8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNU1VCRl9E KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVNVQkZfUyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1TVUJVX0RTUF8odWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNVEMwKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgc3RkOjpzdHJpbmcgTVRDMSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIE1UQzIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNVEdD MCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1USEMwKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVRIQzEodWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNVEhDMih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHN0ZDo6c3RyaW5nIE1USEdDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIE1USElfRFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1U SExJUCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1USFRSKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVRMT19EU1BfKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVRUUih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIE1VSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIE1VSFUodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNVUxf MzJfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVVMXzRYNF8odWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNVUxfRCh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1VTF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIE1VTF9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgTVVMX1NfUEgodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBNVUxFUV9TX1dfUEhMKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg TVVMRVFfU19XX1BIUih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE1V TEVVX1NfUEhfUUJMKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVVM RVVfU19QSF9RQlIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNVUxR X1JTX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVVMUV9SU19X KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVVMUV9TX1BIKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVVMUV9TX1codWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBNVUxTQV9XX1BIKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgTVVMU0FRX1NfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIE1VTFRfRFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIE1VTFRVX0RTUF8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBNVUxVKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg TkVHX0QodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBORUdfUyh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE5PUF8xNl8odWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBOT1BfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgTk9SKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3Rk OjpzdHJpbmcgTk9UXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IE9SXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE9SXzMyXyh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIE9SSSh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBBQ0tSTF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIFBBVVNFKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgUElDS19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIFBJQ0tfUUIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBQUkVD RVFfV19QSEwodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBQUkVDRVFf V19QSFIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBQUkVDRVFVX1BI X1FCTCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBSRUNFUVVfUEhf UUJMQSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBSRUNFUVVfUEhf UUJSKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUFJFQ0VRVV9QSF9R QlJBKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUFJFQ0VVX1BIX1FC TCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBSRUNFVV9QSF9RQkxB KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUFJFQ0VVX1BIX1FCUih1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBSRUNFVV9QSF9RQlJBKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUFJFQ1JfUUJfUEgodWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBQUkVDUl9TUkFfUEhfVyh1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBSRUNSX1NSQV9SX1BIX1codWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBQUkVDUlFfUEhfVyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBSRUNSUV9RQl9QSCh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFBSRUNSUV9SU19QSF9XKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUFJFQ1JRVV9TX1FCX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUFJFRl9TOV8odWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBQUkVGX1UxMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBQUkVGRSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIFBSRVBFTkQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBSQURE VV9XX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUkREU1AodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBSREhXUih1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFJEUEdQUih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIFJFQ0lQX0QodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBSRUNJUF9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgUkVQTF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFJFUExf UUIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBSRVBMVl9QSCh1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFJFUExWX1FCKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUkVTVE9SRV8zMl8odWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBSRVNUT1JFX0pSQ18xNl8odWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBSRVNUT1JFX0pSQ18zMl8odWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBSRVNUT1JFRih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIFJJTlRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIFJJTlRfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IFJPVFIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBST1RSVih1aW50 NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFJPVFgodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBST1VORF9MX0QodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBST1VORF9MX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBST1VORF9XX0QodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBST1VORF9XX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBSU1FSVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgUlNRUlRf Uyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNBVkVfMTZfKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0FWRV8zMl8odWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTQVZFRih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIFNCXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIFNCX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IFNCX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNCX1UxMl8o dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTQkUodWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTQlgodWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBTQyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIFNDRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNDRFAodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTQ0UodWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTQ1dQKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsg ICAgc3RkOjpzdHJpbmcgU0NXUEUodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBTRF9HUF8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTRF9T OV8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTRF9VMTJfKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0RCQlBfMTZfKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0RCQlBfMzJfKHVpbnQ2NCBpbnN0cnVjdGlv bik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0RDMV9HUF8odWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBTREMxX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIFNEQzFfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3Ry aW5nIFNEQzFYKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0RDMVhT KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0RDMih1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNETSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIFNEUENfNDhfKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgU0RYKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg U0RYUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNFQih1aW50NjQg aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNFSCh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIFNFTF9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgU0VMX1ModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBTRUxFUVpfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNFTEVR Wl9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0VMTkVaX0QodWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTRUxORVpfUyh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNFUUkodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBTSF8xNl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBTSF9HUF8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBTSF9TOV8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTSF9VMTJf KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0hFKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0hJTE8odWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBTSElMT1YodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBTSExMX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgU0hMTF9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNITExf U19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNITExfU19XKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0hMTFZfUEgodWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTSExMVl9RQih1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNITExWX1NfUEgodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBTSExMVl9TX1codWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBTSFJBX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgU0hSQV9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNI UkFfUl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNIUkFfUl9R Qih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNIUkFfUl9XKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0hSQVZfUEgodWludDY0IGluc3Ry dWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTSFJBVl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIFNIUkFWX1JfUEgodWludDY0IGluc3RydWN0aW9uKTsNCj4g KyAgICBzdGQ6OnN0cmluZyBTSFJBVl9SX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgU0hSQVZfUl9XKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgU0hSTF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNI UkxfUUIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTSFJMVl9QSCh1 aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNIUkxWX1FCKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0hYKHVpbnQ2NCBpbnN0cnVjdGlvbik7 DQo+ICsgICAgc3RkOjpzdHJpbmcgU0hYUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIFNJR1JJRSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IFNMTF8xNl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTTExfMzJf KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU0xMVih1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNMVCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIFNMVEkodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6 OnN0cmluZyBTTFRJVSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNM VFUodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTT1YodWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTUEVDSUFMMih1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNRUlRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIFNRUlRfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIFNSQSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNSQVYo dWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTUkxfMTZfKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1JMXzMyXyh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNSTFYodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBTVUIodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBTVUJfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNVQl9TKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1VCUV9QSCh1aW50NjQgaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNVQlFfU19QSCh1aW50NjQgaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNVQlFfU19XKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ ICsgICAgc3RkOjpzdHJpbmcgU1VCUUhfUEgodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBTVUJRSF9SX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpz dHJpbmcgU1VCUUhfUl9XKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg U1VCUUhfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNVQlVfMTZf KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1VCVV8zMl8odWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTVUJVX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1VCVV9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIFNVQlVfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHN0ZDo6c3RyaW5nIFNVQlVfU19RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6 c3RyaW5nIFNVQlVIX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg U1VCVUhfUl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNXXzE2 Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNXXzRYNF8odWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTV19HUDE2Xyh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNXX0dQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHN0ZDo6c3RyaW5nIFNXX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIFNXX1NQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5n IFNXX1UxMl8odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTV0MxX0dQ Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNXQzFfUzlfKHVpbnQ2 NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1dDMV9VMTJfKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1dDMVgodWludDY0IGluc3RydWN0aW9uKTsN Cj4gKyAgICBzdGQ6OnN0cmluZyBTV0MxWFModWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBz dGQ6OnN0cmluZyBTV0MyKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg U1dFKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1dNKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1dQQ180OF8odWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTV1godWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBTV1hTKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJp bmcgU1lOQyh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFNZTkNJKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1lOQ0lFKHVpbnQ2NCBpbnN0 cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgU1lTQ0FMTF8xNl8odWludDY0IGluc3RydWN0 aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBTWVNDQUxMXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIFRFUSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0 ZDo6c3RyaW5nIFRMQkdJTlYodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBUTEJHSU5WRih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFRMQkdQ KHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgVExCR1IodWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBUTEJHV0kodWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBUTEJHV1IodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAg ICBzdGQ6OnN0cmluZyBUTEJJTlYodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBUTEJJTlZGKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgVExC UCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFRMQlIodWludDY0IGlu c3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBUTEJXSSh1aW50NjQgaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHN0ZDo6c3RyaW5nIFRMQldSKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgVE5FKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcg VFJVTkNfTF9EKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgVFJVTkNf TF9TKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgVFJVTkNfV19EKHVp bnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgVFJVTkNfV19TKHVpbnQ2NCBp bnN0cnVjdGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgVUFMRE0odWludDY0IGluc3RydWN0aW9u KTsNCj4gKyAgICBzdGQ6OnN0cmluZyBVQUxIKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsgICAg c3RkOjpzdHJpbmcgVUFMV00odWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmlu ZyBVQVNETSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFVBU0godWlu dDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBVQVNXTSh1aW50NjQgaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFVESSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIFdBSVQodWludDY0IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0 cmluZyBXUkRTUCh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFdSUEdQ Uih1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHN0ZDo6c3RyaW5nIFhPUl8xNl8odWludDY0 IGluc3RydWN0aW9uKTsNCj4gKyAgICBzdGQ6OnN0cmluZyBYT1JfMzJfKHVpbnQ2NCBpbnN0cnVj dGlvbik7DQo+ICsgICAgc3RkOjpzdHJpbmcgWE9SSSh1aW50NjQgaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHN0ZDo6c3RyaW5nIFlJRUxEKHVpbnQ2NCBpbnN0cnVjdGlvbik7DQo+ICsNCj4gKyAgICBz dGF0aWMgUG9vbCBQX1NZU0NBTExbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9SSVs0XTsNCj4g KyAgICBzdGF0aWMgUG9vbCBQX0FERElVWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBfVFJBUFsy XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX0NNT1ZFWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBf RF9NVF9WUEVbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9FX01UX1ZQRVsyXTsNCj4gKyAgICBz dGF0aWMgUG9vbCBfUF9NVF9WUEVbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9NVF9WUEVbOF07 DQo+ICsgICAgc3RhdGljIFBvb2wgUF9EVlBbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9TTFRV WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIF9QT09MMzJBMFsxMjhdOw0KPiArICAgIHN0YXRpYyBQ b29sIEFERFFfX1NfX1BIWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIE1VTF9fU19fUEhbMl07DQo+ ICsgICAgc3RhdGljIFBvb2wgQUREUUhfX1JfX1BIWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIEFE RFFIX19SX19XWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIEFERFVfX1NfX1FCWzJdOw0KPiArICAg IHN0YXRpYyBQb29sIEFERFVfX1NfX1BIWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIEFERFVIX19S X19RQlsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBTSFJBVl9fUl9fUEhbMl07DQo+ICsgICAgc3Rh dGljIFBvb2wgU0hSQVZfX1JfX1FCWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFNVQlFfX1NfX1BI WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFNVQlFIX19SX19QSFsyXTsNCj4gKyAgICBzdGF0aWMg UG9vbCBTVUJRSF9fUl9fV1syXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBTVUJVX19TX19RQlsyXTsN Cj4gKyAgICBzdGF0aWMgUG9vbCBTVUJVX19TX19QSFsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBT SFJBX19SX19QSFsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBTVUJVSF9fUl9fUUJbMl07DQo+ICsg ICAgc3RhdGljIFBvb2wgU0hMTFZfX1NfX1BIWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFNITExf X1NfX1BIWzRdOw0KPiArICAgIHN0YXRpYyBQb29sIFBSRUNSX1NSQV9fUl9fUEhfV1syXTsNCj4g KyAgICBzdGF0aWMgUG9vbCBfUE9PTDMyQTVbMTI4XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQUF9M U1hbMTZdOw0KPiArICAgIHN0YXRpYyBQb29sIFBQX0xTWFNbMTZdOw0KPiArICAgIHN0YXRpYyBQ b29sIFBfTFNYWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wzMkF4Zl8xXzBbNF07DQo+ICsg ICAgc3RhdGljIFBvb2wgUE9PTDMyQXhmXzFfMVs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQT09M MzJBeGZfMV8zWzRdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wzMkF4Zl8xXzRbMl07DQo+ICsg ICAgc3RhdGljIFBvb2wgTUFRX1NfQV9fV19QSFJbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgTUFR X1NfQV9fV19QSExbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUE9PTDMyQXhmXzFfNVsyXTsNCj4g KyAgICBzdGF0aWMgUG9vbCBQT09MMzJBeGZfMV83WzRdOw0KPiArICAgIHN0YXRpYyBQb29sIFBP T0wzMkF4Zl8xWzhdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wzMkF4Zl8yX0RTUF9fMF83Wzhd Ow0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wzMkF4Zl8yX0RTUF9fOF8xNVs4XTsNCj4gKyAgICBz dGF0aWMgUG9vbCBQT09MMzJBeGZfMl9EU1BfXzE2XzIzWzhdOw0KPiArICAgIHN0YXRpYyBQb29s IFBPT0wzMkF4Zl8yX0RTUF9fMjRfMzFbOF07DQo+ICsgICAgc3RhdGljIFBvb2wgUE9PTDMyQXhm XzJbNF07DQo+ICsgICAgc3RhdGljIFBvb2wgUE9PTDMyQXhmXzRbMTI4XTsNCj4gKyAgICBzdGF0 aWMgUG9vbCBQT09MMzJBeGZfNV9ncm91cDBbMzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wz MkF4Zl81X2dyb3VwMVszMl07DQo+ICsgICAgc3RhdGljIFBvb2wgRVJFVHhbMl07DQo+ICsgICAg c3RhdGljIFBvb2wgUE9PTDMyQXhmXzVfZ3JvdXAzWzMyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQ T09MMzJBeGZfNVs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBTSFJBX19SX19RQlsyXTsNCj4gKyAg ICBzdGF0aWMgUG9vbCBQT09MMzJBeGZfN1s4XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQT09MMzJB eGZbOF07DQo+ICsgICAgc3RhdGljIFBvb2wgX1BPT0wzMkE3WzhdOw0KPiArICAgIHN0YXRpYyBQ b29sIFAzMkFbOF07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9HUF9EWzJdOw0KPiArICAgIHN0YXRp YyBQb29sIFBfR1BfV1s0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQT09MNDhJWzMyXTsNCj4gKyAg ICBzdGF0aWMgUG9vbCBQUF9TUls0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX1NSX0ZbOF07DQo+ ICsgICAgc3RhdGljIFBvb2wgUF9TUlsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX1NMTFs1XTsN Cj4gKyAgICBzdGF0aWMgUG9vbCBQX1NISUZUWzE2XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX1JP VFhbNF07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9JTlNbNF07DQo+ICsgICAgc3RhdGljIFBvb2wg UF9FWFRbNF07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9VMTJbMTZdOw0KPiArICAgIHN0YXRpYyBQ b29sIFJJTlRfZm10WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIEFERF9mbXQwWzJdOw0KPiArICAg IHN0YXRpYyBQb29sIFNFTEVRWl9mbXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgQ0xBU1NfZm10 WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFNVQl9mbXQwWzJdOw0KPiArICAgIHN0YXRpYyBQb29s IFNFTE5FWl9mbXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgTVVMX2ZtdDBbMl07DQo+ICsgICAg c3RhdGljIFBvb2wgU0VMX2ZtdFsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBESVZfZm10MFsyXTsN Cj4gKyAgICBzdGF0aWMgUG9vbCBBRERfZm10MVsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBTVUJf Zm10MVsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBNVUxfZm10MVsyXTsNCj4gKyAgICBzdGF0aWMg UG9vbCBNQURERl9mbXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgRElWX2ZtdDFbMl07DQo+ICsg ICAgc3RhdGljIFBvb2wgTVNVQkZfZm10WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wzMkZf MFs2NF07DQo+ICsgICAgc3RhdGljIFBvb2wgTUlOX2ZtdFsyXTsNCj4gKyAgICBzdGF0aWMgUG9v bCBNQVhfZm10WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIE1JTkFfZm10WzJdOw0KPiArICAgIHN0 YXRpYyBQb29sIE1BWEFfZm10WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIENWVF9MX2ZtdFsyXTsN Cj4gKyAgICBzdGF0aWMgUG9vbCBSU1FSVF9mbXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgRkxP T1JfTF9mbXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgQ1ZUX1dfZm10WzJdOw0KPiArICAgIHN0 YXRpYyBQb29sIFNRUlRfZm10WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIEZMT09SX1dfZm10WzJd Ow0KPiArICAgIHN0YXRpYyBQb29sIFJFQ0lQX2ZtdFsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBD RUlMX0xfZm10WzJdOw0KPiArICAgIHN0YXRpYyBQb29sIENFSUxfV19mbXRbMl07DQo+ICsgICAg c3RhdGljIFBvb2wgVFJVTkNfTF9mbXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgVFJVTkNfV19m bXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUk9VTkRfTF9mbXRbMl07DQo+ICsgICAgc3RhdGlj IFBvb2wgUk9VTkRfV19mbXRbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUE9PTDMyRnhmXzBbNjRd Ow0KPiArICAgIHN0YXRpYyBQb29sIE1PVl9mbXRbNF07DQo+ICsgICAgc3RhdGljIFBvb2wgQUJT X2ZtdFs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBORUdfZm10WzRdOw0KPiArICAgIHN0YXRpYyBQ b29sIENWVF9EX2ZtdFs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBDVlRfU19mbXRbNF07DQo+ICsg ICAgc3RhdGljIFBvb2wgUE9PTDMyRnhmXzFbMzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wz MkZ4Zls0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQT09MMzJGXzNbOF07DQo+ICsgICAgc3RhdGlj IFBvb2wgQ01QX2NvbmRuX1NbMzJdOw0KPiArICAgIHN0YXRpYyBQb29sIENNUF9jb25kbl9EWzMy XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQT09MMzJGXzVbOF07DQo+ICsgICAgc3RhdGljIFBvb2wg UE9PTDMyRls4XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQT09MMzJTXzBbNjRdOw0KPiArICAgIHN0 YXRpYyBQb29sIFBPT0wzMlN4Zl80WzEyOF07DQo+ICsgICAgc3RhdGljIFBvb2wgUE9PTDMyU3hm WzhdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wzMlNfNFs4XTsNCj4gKyAgICBzdGF0aWMgUG9v bCBQT09MMzJTWzhdOw0KPiArICAgIHN0YXRpYyBQb29sIFBfTFVJWzJdOw0KPiArICAgIHN0YXRp YyBQb29sIFBfR1BfTEhbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9HUF9TSFsyXTsNCj4gKyAg ICBzdGF0aWMgUG9vbCBQX0dQX0NQMVs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX0dQX002NFs0 XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX0dQX0JIWzhdOw0KPiArICAgIHN0YXRpYyBQb29sIFBf TFNfVTEyWzE2XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX1BSRUZfUzlfWzJdOw0KPiArICAgIHN0 YXRpYyBQb29sIFBfTFNfUzBbMTZdOw0KPiArICAgIHN0YXRpYyBQb29sIEFTRVRfQUNMUlsyXTsN Cj4gKyAgICBzdGF0aWMgUG9vbCBQX0xMWzRdOw0KPiArICAgIHN0YXRpYyBQb29sIFBfU0NbNF07 DQo+ICsgICAgc3RhdGljIFBvb2wgUF9MTERbOF07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9TQ0Rb OF07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9MU19TMVsxNl07DQo+ICsgICAgc3RhdGljIFBvb2wg UF9QUkVGRVsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX0xMRVs0XTsNCj4gKyAgICBzdGF0aWMg UG9vbCBQX1NDRVs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX0xTX0UwWzE2XTsNCj4gKyAgICBz dGF0aWMgUG9vbCBQX0xTX1dNWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBfTFNfVUFXTVsyXTsN Cj4gKyAgICBzdGF0aWMgUG9vbCBQX0xTX0RNWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBfTFNf VUFETVsyXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX0xTX1M5WzhdOw0KPiArICAgIHN0YXRpYyBQ b29sIFBfQkFMWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBfQkFMUlNDWzJdOw0KPiArICAgIHN0 YXRpYyBQb29sIFBfSlsxNl07DQo+ICsgICAgc3RhdGljIFBvb2wgUF9CUjNBWzMyXTsNCj4gKyAg ICBzdGF0aWMgUG9vbCBQX0JSMVs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQX0JSMls0XTsNCj4g KyAgICBzdGF0aWMgUG9vbCBQX0JSSVs4XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQMzJbMzJdOw0K PiArICAgIHN0YXRpYyBQb29sIFAxNl9TWVNDQUxMWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFAx Nl9SSVs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQMTZfTVZbMl07DQo+ICsgICAgc3RhdGljIFBv b2wgUDE2X1NISUZUWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBPT0wxNkNfMDBbNF07DQo+ICsg ICAgc3RhdGljIFBvb2wgUE9PTDE2Q18wWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFAxNkNbMl07 DQo+ICsgICAgc3RhdGljIFBvb2wgUDE2X0ExWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFBfQURE SVVfUlM1X1syXTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQMTZfQTJbMl07DQo+ICsgICAgc3RhdGlj IFBvb2wgUDE2X0FERFVbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUDE2X0pSQ1syXTsNCj4gKyAg ICBzdGF0aWMgUG9vbCBQMTZfQlIxWzJdOw0KPiArICAgIHN0YXRpYyBQb29sIFAxNl9CUlsyXTsN Cj4gKyAgICBzdGF0aWMgUG9vbCBQMTZfU1JbMl07DQo+ICsgICAgc3RhdGljIFBvb2wgUDE2XzRY NFs0XTsNCj4gKyAgICBzdGF0aWMgUG9vbCBQMTZfTEJbNF07DQo+ICsgICAgc3RhdGljIFBvb2wg UDE2X0xIWzRdOw0KPiArICAgIHN0YXRpYyBQb29sIFAxNlszMl07DQo+ICsgICAgc3RhdGljIFBv b2wgTUFKT1JbMl07DQo+ICsNCj4gK307DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kaXNhcy9iZmQuaCBiL2luY2x1ZGUvZGlzYXMvYmZkLmgNCj4gaW5kZXggMWY2OWE2 ZS4uNDFiNjFjOCAxMDA2NDQNCj4gLS0tIGEvaW5jbHVkZS9kaXNhcy9iZmQuaA0KPiArKysgYi9p bmNsdWRlL2Rpc2FzL2JmZC5oDQo+IEBAIC0zODcsNiArMzg3LDcgQEAgdHlwZWRlZiBpbnQgKCpk aXNhc3NlbWJsZXJfZnR5cGUpIChiZmRfdm1hLCBkaXNhc3NlbWJsZV9pbmZvICopOw0KPiAgIGlu dCBwcmludF9pbnNuX3RjaShiZmRfdm1hLCBkaXNhc3NlbWJsZV9pbmZvKik7DQo+ICAgaW50IHBy aW50X2luc25fYmlnX21pcHMgICAgICAgICAoYmZkX3ZtYSwgZGlzYXNzZW1ibGVfaW5mbyopOw0K PiAgIGludCBwcmludF9pbnNuX2xpdHRsZV9taXBzICAgICAgKGJmZF92bWEsIGRpc2Fzc2VtYmxl X2luZm8qKTsNCj4gK2ludCBwcmludF9pbnNuX25hbm9taXBzICAgICAgICAgKGJmZF92bWEsIGRp c2Fzc2VtYmxlX2luZm8qKTsNCj4gICBpbnQgcHJpbnRfaW5zbl9pMzg2ICAgICAgICAgICAgIChi ZmRfdm1hLCBkaXNhc3NlbWJsZV9pbmZvKik7DQo+ICAgaW50IHByaW50X2luc25fbTY4ayAgICAg ICAgICAgICAoYmZkX3ZtYSwgZGlzYXNzZW1ibGVfaW5mbyopOw0KPiAgIGludCBwcmludF9pbnNu X3o4MDAxICAgICAgICAgICAgKGJmZF92bWEsIGRpc2Fzc2VtYmxlX2luZm8qKTsNCj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvZXhlYy9wb2lzb24uaCBiL2luY2x1ZGUvZXhlYy9wb2lzb24uaA0KPiBp bmRleCA5N2QzYjU2Li4zMmQ1Mzc4IDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL2V4ZWMvcG9pc29u LmgNCj4gKysrIGIvaW5jbHVkZS9leGVjL3BvaXNvbi5oDQo+IEBAIC03NSw2ICs3NSw3IEBADQo+ ICAgI3ByYWdtYSBHQ0MgcG9pc29uIENPTkZJR19NNjhLX0RJUw0KPiAgICNwcmFnbWEgR0NDIHBv aXNvbiBDT05GSUdfTUlDUk9CTEFaRV9ESVMNCj4gICAjcHJhZ21hIEdDQyBwb2lzb24gQ09ORklH X01JUFNfRElTDQo+ICsjcHJhZ21hIEdDQyBwb2lzb24gQ09ORklHX05BTk9NSVBTX0RJUw0KPiAg ICNwcmFnbWEgR0NDIHBvaXNvbiBDT05GSUdfTU9YSUVfRElTDQo+ICAgI3ByYWdtYSBHQ0MgcG9p c29uIENPTkZJR19OSU9TMl9ESVMNCj4gICAjcHJhZ21hIEdDQyBwb2lzb24gQ09ORklHX1BQQ19E SVMNCj4gZGlmZiAtLWdpdCBhL3RhcmdldC9taXBzL2NwdS5jIGIvdGFyZ2V0L21pcHMvY3B1LmMN Cj4gaW5kZXggNDk3NzA2Yi4uZTIxN2ZiMyAxMDA2NDQNCj4gLS0tIGEvdGFyZ2V0L21pcHMvY3B1 LmMNCj4gKysrIGIvdGFyZ2V0L21pcHMvY3B1LmMNCj4gQEAgLTExMywxMSArMTEzLDIwIEBAIHN0 YXRpYyB2b2lkIG1pcHNfY3B1X3Jlc2V0KENQVVN0YXRlICpzKQ0KPiAgIH0NCj4gICANCj4gICBz dGF0aWMgdm9pZCBtaXBzX2NwdV9kaXNhc19zZXRfaW5mbyhDUFVTdGF0ZSAqcywgZGlzYXNzZW1i bGVfaW5mbyAqaW5mbykgew0KPiArICAgIE1JUFNDUFUgKmNwdSA9IE1JUFNfQ1BVKHMpOw0KPiAr ICAgIENQVU1JUFNTdGF0ZSAqZW52ID0gJmNwdS0+ZW52Ow0KPiArDQo+ICsgICAgaWYgKCEoZW52 LT5pbnNuX2ZsYWdzICYgSVNBX05BTk9NSVBTMzIpKSB7DQo+ICAgI2lmZGVmIFRBUkdFVF9XT1JE U19CSUdFTkRJQU4NCj4gLSAgICBpbmZvLT5wcmludF9pbnNuID0gcHJpbnRfaW5zbl9iaWdfbWlw czsNCj4gKyAgICAgICAgaW5mby0+cHJpbnRfaW5zbiA9IHByaW50X2luc25fYmlnX21pcHM7DQo+ ICAgI2Vsc2UNCj4gLSAgICBpbmZvLT5wcmludF9pbnNuID0gcHJpbnRfaW5zbl9saXR0bGVfbWlw czsNCj4gKyAgICAgICAgaW5mby0+cHJpbnRfaW5zbiA9IHByaW50X2luc25fbGl0dGxlX21pcHM7 DQo+ICAgI2VuZGlmDQo+ICsgICAgfSBlbHNlIHsNCj4gKyNpZiBkZWZpbmVkKENPTkZJR19OQU5P TUlQU19ESVMpDQo+ICsgICAgICAgIGluZm8tPnByaW50X2luc24gPSBwcmludF9pbnNuX25hbm9t aXBzOw0KPiArI2VuZGlmDQo+ICsgICAgfQ0KPiAgIH0NCj4gICANCj4gICBzdGF0aWMgdm9pZCBt aXBzX2NwdV9yZWFsaXplZm4oRGV2aWNlU3RhdGUgKmRldiwgRXJyb3IgKiplcnJwKQ0K